国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于專家系統(tǒng)的個性化推薦系統(tǒng)的設(shè)計與實現(xiàn)

2016-05-14 08:11郭青孫健
軟件工程 2016年6期
關(guān)鍵詞:分布式計算協(xié)同過濾推薦系統(tǒng)

郭青 孫健

摘 要:隨著互聯(lián)網(wǎng)及物流運(yùn)輸行業(yè)的快速發(fā)展,越來越多的人選擇在網(wǎng)上挑選服飾類商品?;诜楊惿唐肪哂兄貜?fù)購買率低、搭配性強(qiáng)、受當(dāng)季流行因素影響大等特點(diǎn),提出了一種基于協(xié)同過濾與專家推薦的混合推薦策略,在為商品引入流行因子的基礎(chǔ)之上,為用戶提供了一種更為個性化、時尚化的推薦結(jié)果。由于業(yè)務(wù)系統(tǒng)涵蓋了海量的商品及用戶數(shù)據(jù),單機(jī)計算系統(tǒng)難以滿足推薦系統(tǒng)對計算資源的需求,在基于Hadoop平臺的基礎(chǔ)之上,構(gòu)建了一套離線分布式推薦系統(tǒng),為解決大數(shù)據(jù)應(yīng)用背景下的數(shù)據(jù)計算問題提供了可行性案例。

關(guān)鍵詞:推薦系統(tǒng);專家推薦;協(xié)同過濾;Hadoop;分布式計算

中圖分類號:TP311.5 文獻(xiàn)標(biāo)識碼:A

文章編號:2096-1472(2016)-06-22-06

Abstract:With the rapid development of the internet and the logistics industry,more and more people choose to buy clothes on the internet.Base on the features of apparel goods,such as the low repurchase rate,the high matching requirements,the high dependence on seasonal fashion,the paper proposes a mixed recommendation strategy based on collaborative filtering and expert recommending.The new strategy recommends users with more personalized and more fashionable results by introducing fashion elements in the system.Because of the massive data of goods and users covered in the system,stand-alone operating systems are apparently unable to meet the requirements.The paper constructs a distributed offline computing system based on the Hadoop platform,which provides a feasible case of computing in the application of big data.

Keywords:the recommendation system;experts recommending;collaborative filtering;distributed computing;Hadoop;the mixed recommendation strategy

1 引言(Introduction)

隨著互聯(lián)網(wǎng)的不斷發(fā)展,市面上出現(xiàn)了越來越多的垂直類服裝電子商務(wù)平臺,極大的豐富了人們購買服飾類商品的選擇。然而,隨著商品數(shù)量的逐漸增多,信息冗余給用戶帶來了極大的選擇困難。如何幫助用戶從海量的商品中,篩選出用戶喜歡且滿意的商品,以提高用戶的購買率,成為當(dāng)下服飾類電商平臺面臨的一大嚴(yán)峻考驗。

當(dāng)前,電商推薦系統(tǒng)的推薦策略,一般可分為以下幾類:協(xié)同過濾推薦、基于內(nèi)容的推薦[1,2]。前者又可分為基于商品的協(xié)同過濾推薦和基于用戶的協(xié)同過濾推薦,其本質(zhì)是在商品集中尋找相似的商品,為目標(biāo)用戶予以推薦,或?qū)ふ遗d趣、行為相似的用戶,根據(jù)相似用戶的購買行為,為目標(biāo)用戶做推薦。

上述的推薦策略在電影、圖書等商品類目應(yīng)用較為成熟,但是在服飾類電商中,效果不夠理想,原因如下:(1)對于用戶已經(jīng)購買過的服飾,與其相似的商品,用戶再次購買的概率極低;(2)服飾類商品,更注重商品間的搭配;(3)服飾類商品,除了受用戶興趣、品味影響外,更易受到時尚潮流的驅(qū)動。

為適應(yīng)服飾類電商的用戶消費(fèi)特點(diǎn),以及服飾搭配的時效性,本文提供了一種基于多種推薦方法的混合推薦策略。首先,提供了一種基于SVD分解的協(xié)同過濾推薦,該推薦方法能較快得尋找到與目標(biāo)用戶最為相似的用戶群,從該用戶群的歷史購買行為中,挖掘目標(biāo)用戶可能喜歡的商品,予以推薦。然后,根據(jù)時尚達(dá)人、一線設(shè)計師等領(lǐng)域內(nèi)專家提供的當(dāng)季時尚搭配數(shù)據(jù)集,結(jié)合用戶已經(jīng)存在的購買行為,為用戶提供當(dāng)季流行的潮流搭配。同時定義商品的流行因子,將專家推薦與商品的流行因子相結(jié)合,達(dá)成專家推薦結(jié)果。

將協(xié)同過濾推薦數(shù)據(jù)集,以及專家推薦數(shù)據(jù)集二者加權(quán)、排序、篩選,獲得最終的推薦結(jié)果。

本文為某服裝類電商設(shè)計了一套基于Hadoop技術(shù)的推薦系統(tǒng)。該系統(tǒng)通過對用戶的行為進(jìn)行分析,根據(jù)協(xié)同過濾以及專家推薦的計算,并將二者結(jié)果加權(quán)、排序、篩選等計算,獲得最終的推薦結(jié)果,并將最終的離線計算結(jié)果,存儲在分布式存儲系統(tǒng)文件中。業(yè)務(wù)系統(tǒng)通過接口訪問的形式,將推薦數(shù)據(jù)推送至指定頁面。

2 推薦系統(tǒng)的推薦策略(Strategy of the recommend system )

2.1 基于用戶的系統(tǒng)過濾推薦

基于用戶(User-based)的協(xié)同過濾就是利用用戶歷史行為數(shù)據(jù)集,根據(jù)用戶歷史購買行為數(shù)據(jù)、用戶歷史瀏覽行為數(shù)據(jù),挖掘出與目標(biāo)用戶的相似度最大的若干用戶,從該用戶群中,分析出用戶可能感興趣的商品[3-5]。

基于用戶的協(xié)同過濾推薦算法步驟如下:

第一步,建立用戶—商品評價矩陣。

根據(jù)用戶歷史購買行為,構(gòu)建用戶與商品之間購買關(guān)系的矩陣,該矩陣中,數(shù)字1代表某用戶曾購買過某商品,數(shù)字0代表某用戶未曾購買過該商品。該表示方法雖然較簡單,但并不能準(zhǔn)確的表示出用戶對于未購買的商品的興趣程度。用戶購買被標(biāo)記為0的商品,可能是用戶不感興趣的商品,也可能是用戶感興趣但并沒有看到的商品。所以,有必要在用戶購買矩陣中,引入負(fù)評分,即標(biāo)記出用戶不感興趣的商品。引入負(fù)評分的具體方法如下:

(1)在目標(biāo)用戶瀏覽商品集中,剔除用戶已購買的商品,得到瀏覽未購買商品集S。

(2)從商品集S中,隨機(jī)選擇和用戶已購買商品集N數(shù)量相等的商品,作為負(fù)評分商品。

(3)如果商品集S的數(shù)量小于商品集N的數(shù)量,則差額從系統(tǒng)商品庫中,剔除N和S集后隨機(jī)挑選。

(4)將負(fù)評分的商品評分置為數(shù)字“-1”,得到新的評分矩陣R。

在完成負(fù)評分的引入后,用戶—商品的評分矩陣變?yōu)橐粋€由“-1”“0”“1”組成的矩陣。

第二步,挖掘目標(biāo)用戶的相似用戶群。

系統(tǒng)以余弦相似性作為用戶與用戶之間相似度的計算方法。假設(shè)用戶i和j對商品的評分向量為I、J,則用戶i和j的余弦相似性為:

但由于在系統(tǒng)中,用戶有購買行為的商品,只占商品總數(shù)極小一部分,故整個用戶—商品的評分矩陣是一個以數(shù)字“0”為主的稀疏矩陣。絕大多數(shù)用戶之間的相似度為0,故需要將稀疏矩陣,進(jìn)行相似矩陣變換,以得到低稀疏度的關(guān)系矩陣,從而計算用戶之間的相似度。

本文采用奇異值分解(SVD)的方法[6,7],求得用戶—商品評分矩陣的相似矩陣。奇異值分解是一種求矩陣近似矩陣的方法,對于一個的矩陣R,通過SVD后可以分為三個矩陣:

利用奇異值分解,降低用戶—商品評分矩陣稀疏度的步驟如下:

(1)將矩陣R進(jìn)行奇異值分解,得到三個矩陣。

(2)將矩陣對角線上小于1的值置為0,并將值全為0的行或列刪去,得到一個m維的矩陣。

(3)近似后的矩陣

經(jīng)過奇異值分解之后,原用戶—商品評分矩陣的稀疏性大大降低。

由于系統(tǒng)內(nèi)用戶眾多,逐一計算用戶間相似度,將大大增加系統(tǒng)的運(yùn)算資源開銷,難以滿足實際系統(tǒng)對于運(yùn)算效率的要求。本系統(tǒng)采用常見的k-means聚類的方法[8,9],先將用戶聚為少數(shù)幾類,在聚類結(jié)果中,尋找目標(biāo)用戶的相似用戶群。

k-means聚類算法的實現(xiàn)步驟如下:

(1)先選取k個點(diǎn)作為所有用戶的聚類的中心。

(2)然后計算每個用戶到聚類中心的距離(歐氏距離),將每個用戶劃分到距離它最近的聚類中心所在的類。

(3)一次劃分結(jié)束后,以一個類中的點(diǎn)的平均值作為新的聚類中心。

(4)重復(fù)迭代,直至聚類中心不在改變?yōu)橹埂?/p>

完成用戶聚類之后,即可在目標(biāo)用戶所在的聚類群中,利用余弦相似性尋找與該用戶相似度最高的TOP-N用戶,將其作為目標(biāo)用戶的相似用戶群。

第三步,基于相似用戶的推薦商品集。

在獲得目標(biāo)用戶的相似用戶群TOP-N后,任意商品的推薦系數(shù)為:

其中,為用戶對商品的評分,為用戶和用戶之間的余弦相似度。

商品集中,剔除用戶已購買和瀏覽過的商品,在剩下的商品集中,取推薦系數(shù)最高的N見商品,作為基于用戶的協(xié)同過濾推薦商品集。具體流程如圖1所示。

2.2 基于專家推薦的推薦策略

由于服飾類商品具有不同于其他商品的一些特殊性質(zhì),例如受當(dāng)季潮流影響較大、搭配屬性強(qiáng)、重復(fù)購買率低等特點(diǎn),所以簡單的協(xié)同過濾,推薦效果可能并不顯著。為了適應(yīng)上述特點(diǎn),提高推薦結(jié)果的可解釋度,本系統(tǒng)引入了基于專家推薦的推薦策略。

專家推薦就是服飾搭配領(lǐng)域內(nèi)的專業(yè)人士例如設(shè)計師、明星、網(wǎng)絡(luò)紅人根據(jù)不同時期的流行趨勢,提供各類型的搭配案例,推薦系統(tǒng)根據(jù)目標(biāo)用戶已購買的商品,自動適配最相似的搭配案例,并將搭配案例中,用戶尚未購買的商品,推薦給用戶。同時,為商品引入流行因子,以提高熱門商品在系統(tǒng)內(nèi)的推薦強(qiáng)度。另外,專家可根據(jù)當(dāng)前潮流的變化,動態(tài)的修改搭配方案。

基于專家推薦的推薦策略,算法流程如圖2所示,實現(xiàn)步驟如下:

第一步,專家提供搭配案例。

領(lǐng)域內(nèi)專家,能把握和引導(dǎo)當(dāng)前的時尚潮流,從而影響用戶的選擇。將領(lǐng)域?qū)<业拇钆湟庖?,作為推薦結(jié)果,具有更強(qiáng)的可解釋性。本系統(tǒng)采集了包括設(shè)計師、時尚達(dá)人、網(wǎng)絡(luò)紅人、明星等在內(nèi)的上千位領(lǐng)域內(nèi)專家提供的針對不同群體的上萬套搭配方案。每套搭配方案內(nèi),包含了一整套不同類型的若干件商品,例如為校園男生提供一套搭配方案就包括V領(lǐng)毛衣、格子襯衫、呢子外套、長褲、大頭鞋等。搭配方案內(nèi)的每件商品,都是系統(tǒng)內(nèi)具有唯一ID。第n套搭配方案可表示為:

其中表示類別的推薦商品。由此,得到了專家搭配數(shù)據(jù)集:

第二步,計算商品間相似性。

商品信息可分為結(jié)構(gòu)化的信息和非結(jié)構(gòu)化的描述性信息。本系統(tǒng)將從結(jié)構(gòu)化和非結(jié)構(gòu)化信息兩個方面,來計算商品的相似性。

首先,利用商品的基本錄入信息,例如類別、適用人群等結(jié)構(gòu)化信息,將商品進(jìn)行分類。

然后,將商品的展示標(biāo)題按關(guān)鍵詞分詞,得到商品的描述詞向量,例如某款女士風(fēng)衣,關(guān)鍵詞分詞的結(jié)果為“2016春裝、新款、歐美、雙排扣、韓版、修身、中長款、女士、風(fēng)衣、外套、長袖”。建立商品的描述詞向量矩陣。

最后,在目標(biāo)商品的分類中,根據(jù)商品的描述詞向量,利用Jaccard系數(shù)[10],來表示兩件商品之間的相似性。

其中,表示商品i和j之間共有的描述詞,表示商品i和j中,所有出現(xiàn)的描述詞。由此,可得出商品的相似度矩陣。該矩陣是一個以“1”為對角線的對稱矩陣。

第三步,推斷目標(biāo)用戶的搭配方案。

將目標(biāo)用戶的歷史購買行為向量為:

其中,表示為用戶在商品類型中,購買的第件商品。將用戶的購買行為向量與專家搭配方案矩陣做比較,利用商品相似性矩陣,按類別逐一計算與之間的相似度,計算方法可表示為:

據(jù)此,可以得到與之間的相似度向量:

從向量中,取相似度值最大搭配方案作為用戶的推薦搭配方案。

第四步,根據(jù)用戶的搭配方案結(jié)果,給出推薦商品集。

在給出推薦集之前,需要引入流行因子,來體現(xiàn)商品的受歡迎程度。通過在一定時間段內(nèi)商品的被瀏覽次數(shù)以及被購買次數(shù)的加權(quán),為每一種商品定義了一種反應(yīng)熱度值的評價指標(biāo)。

根據(jù)用戶的潮流分類的結(jié)果內(nèi),取與每件商品相似度最高的N件商品,得到推薦集。在用戶未購買的品類中,從相似度最高的N件商品中,按照流行因子的大小,取流行因子最高的n(n

通過引入流行因子,可以根據(jù)用戶的衣著風(fēng)格,更好的推薦當(dāng)前流行的服裝款式。

2.3 推薦方案的選擇及處理

基于用戶的協(xié)同過濾可以挖掘用戶與用戶之間的相似性,利用用戶間相似性,給用戶提供個性化推薦,能夠較好的解決長尾效應(yīng)。用戶行為越豐富,購買的商品品類和數(shù)量越齊全,則該推薦策略的效果越好。

專家推薦則在挖掘用戶興趣愛好的基礎(chǔ)之上,引入流行因子,為用戶尋找最匹配的搭配風(fēng)格,并將搭配方案中,熱度最高的商品,推薦給用戶。該推薦策略在用戶只購買了部分品類商品時,能為用戶推薦未購買品類內(nèi)流行的商品,滿足用戶的搭配需要。專家推薦策略,在用戶購買商品品類不全的情況下,具有更好的推薦效果。

為了提高推薦效果,本系統(tǒng)將按照用戶的歷史購買行為,將用戶進(jìn)行分類。通過對用戶的分類,選擇合適的推薦策略,以提高推薦效果。

本系統(tǒng)將用戶分為三類,第一類為新注冊用戶。這類用戶的并沒有歷史行為數(shù)據(jù),因而也無法利用協(xié)同過濾或者專家推薦。因此,對此類用戶,將按照系統(tǒng)

內(nèi)流行因子最高的N種商品中,隨機(jī)挑選n(n

第二類用戶為低頻用戶,該用戶群的特點(diǎn)為,在系統(tǒng)內(nèi)有歷史行為數(shù)據(jù),但購買的商品品類并未包含全品類商品。對于此類用戶,將強(qiáng)化專家推薦的結(jié)果,以協(xié)同過濾推薦結(jié)果為輔。

第三類用戶為高頻用戶,這類用戶在系統(tǒng)內(nèi)購買的商品分布在全品類,歷史行為數(shù)據(jù)豐富,合適利用協(xié)同過濾的方法挖掘其可能的興趣,將專家推薦的結(jié)果作為次要推薦。

對于第二、三類用戶,本系統(tǒng)采用的加權(quán)因子的計算方法如下:

其中,為協(xié)同過濾推薦結(jié)果集,為專家推薦結(jié)果集,、為兩者的權(quán)重因子,其表示方法為:

式中,為目標(biāo)用戶已購買的商品品類,為商品的品類總數(shù)。

3 推薦系統(tǒng)的設(shè)計與實現(xiàn)(Design and implementation of the recommend system)

該系統(tǒng)設(shè)計之初,即包含了大量的用戶數(shù)據(jù)、商品數(shù)據(jù)以及專家搭配方案數(shù)據(jù)。且這些數(shù)據(jù)會隨著時間迅速的積累,呈現(xiàn)出爆發(fā)式增長。并且,該推薦系統(tǒng)的推薦算法,涉及眾多復(fù)雜數(shù)據(jù)運(yùn)算,運(yùn)算資源開銷大。因此,選擇一個合適的分布式系統(tǒng),是實現(xiàn)該系統(tǒng)的技術(shù)基礎(chǔ)。

Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)[10,11]。用戶可以通過分布式文件系統(tǒng)HDFS和并行數(shù)據(jù)處理模型MapReduce,能夠快速地搭建計算集群,實現(xiàn)數(shù)據(jù)的分布式存儲及分析,而無需考慮分布式底層的技術(shù)細(xì)節(jié)[12]。

由于Hadoop因其高效、可靠的性能,靈活的可拓展性,低廉的成本從而被廣泛的應(yīng)用于大規(guī)模數(shù)據(jù)的運(yùn)算。更因為其開源的商業(yè)模式,吸引了更多的項目開發(fā)者的關(guān)注。

3.1 系統(tǒng)的推薦流程設(shè)計

本推薦系統(tǒng)是服務(wù)于電商系統(tǒng)的一個子系統(tǒng),具有一個完整的軟件系統(tǒng)的結(jié)構(gòu)。

為了保證推薦結(jié)果的時效性和運(yùn)算速度的高效性,本系統(tǒng)可分為離線計算部分和在線計算部分。對于計算量較大的運(yùn)算部分,一次計算可能耗時較久,短則數(shù)分鐘,長則幾十小時,這樣的運(yùn)算速度,難以保證用戶的體驗。另外,還有一些中間數(shù)據(jù),短時間內(nèi),都維持在靜態(tài)不變的,例如用戶相似度矩陣、商品相似度矩陣、專家推薦搭配矩陣,這些矩陣,計算量大、耗時耗資源,且并非時時變動,只需要保持一定的更新頻率即可。故可以將這類數(shù)據(jù),離線計算,定時更新。

系統(tǒng)采用多方法混合的推薦策略。首先對業(yè)務(wù)系統(tǒng)的數(shù)據(jù)進(jìn)行讀取、轉(zhuǎn)換、清理、存儲等操作,從而獲得原始業(yè)務(wù)的可用信息,提取用戶行為數(shù)據(jù)、商品屬性數(shù)據(jù)以及專家搭配方案數(shù)據(jù)這三大基礎(chǔ)數(shù)據(jù)集。在獲取基礎(chǔ)數(shù)據(jù)集之后,利用這三大數(shù)據(jù)集,驅(qū)動包括協(xié)同過濾算法、專家推薦算法在內(nèi)的推薦引擎,并獲得對應(yīng)的推薦商品集。獲得推薦引擎對應(yīng)的商品推薦結(jié)果,根據(jù)加權(quán)排名,得到初始推薦結(jié)果集。

在推薦系統(tǒng)的推薦結(jié)果中,往往需要加入一些商業(yè)推廣,即向用戶推薦一些定向商品。這些商品組成人工補(bǔ)充推薦集,再與初始推薦集按照一定的加權(quán)與排名,得到最終的推薦結(jié)果。系統(tǒng)的推薦流程如圖3所示。

3.2 系統(tǒng)結(jié)構(gòu)設(shè)計

作為電商系統(tǒng)的一個重要組成部分,推薦系統(tǒng)需要保證高穩(wěn)定性、低耦合度、易擴(kuò)展等特點(diǎn)。系統(tǒng)基于Hadoop平臺構(gòu)建了多層次分布式系統(tǒng)架構(gòu),采用縱向分層、橫向模塊化、基礎(chǔ)功能組件化的設(shè)計模式,通過組合的形式,實現(xiàn)多種推薦策略的功能需求,極大地簡化了系統(tǒng)結(jié)構(gòu),增強(qiáng)了系統(tǒng)的可拓展性。系統(tǒng)的整體結(jié)構(gòu)如圖4所示。

數(shù)據(jù)訪問層:數(shù)據(jù)訪問層主要承擔(dān)從業(yè)務(wù)系統(tǒng)中,抽取相應(yīng)的業(yè)務(wù)數(shù)據(jù),如用戶購買記錄、瀏覽記錄、商品屬性數(shù)據(jù)、專家搭配方案數(shù)據(jù)等,經(jīng)過清理、加工等處理之后,提供給Hadoop計算集群做數(shù)據(jù)計算。在Hadoop我們此過程利用Mapreduce任務(wù)實現(xiàn),而該任務(wù),可分為兩個階段,Map和Reduce。首先,Mapper類實例化map函數(shù),將原始數(shù)據(jù)以key和value為鍵值的形式作為map函數(shù)的輸入值。相類似,使用Reducer來定義reduce函數(shù),并獲得對應(yīng)的以key和value為鍵值的輸出函數(shù)。同時,數(shù)據(jù)訪問層還負(fù)責(zé)對系統(tǒng)輸出結(jié)果做解析。

數(shù)據(jù)模型層:數(shù)據(jù)模型層是對業(yè)務(wù)數(shù)據(jù)進(jìn)行計算后得出的業(yè)務(wù)對象模型。數(shù)據(jù)模型可分為用戶數(shù)據(jù)模型和商品數(shù)據(jù)模型,其中用戶數(shù)據(jù)模型包含了用戶的購買行為數(shù)據(jù)、瀏覽行為數(shù)據(jù)等;商品數(shù)據(jù)模型包含了商品屬性數(shù)據(jù)、被購買和被瀏覽數(shù)據(jù)。利用數(shù)據(jù)模型,可以生成用戶特征向量和商品特征向量,從而得到相似用戶矩陣以及相似商品矩陣。

算法實現(xiàn)層:算法實現(xiàn)層是推薦策略層的基礎(chǔ)。在經(jīng)過算法實現(xiàn)層的計算后,得出一些中間數(shù)據(jù),這些數(shù)據(jù)是推薦策略所必需的數(shù)據(jù)集,例如相似用戶矩陣、相似商品矩陣、商品熱度向量等。綜合考慮系統(tǒng)的實際需求以及系統(tǒng)性能,算法層封裝的算法包括jaccard相似性算法、余弦相似性算法、k-means聚類、SVD分解、協(xié)同過濾算法、流行因子權(quán)重算子等常見的數(shù)據(jù)挖掘算法。

推薦策略層:推薦策略層是系統(tǒng)架構(gòu)中的核心。系統(tǒng)利用不同的推薦策略,驅(qū)動不同的算法組合,以實現(xiàn)不同的推薦方法。由于不用的推薦策略,具有不同的優(yōu)缺點(diǎn),故系統(tǒng)配備有系統(tǒng)過濾推薦及專家推薦兩種推薦策略。由于系統(tǒng)采用分層的模塊化設(shè)計,推薦策略層可采用不同的推薦策略及組合,具有很強(qiáng)的拓展性和靈活性。

在采用協(xié)同過濾推薦和專家推薦這兩類動態(tài)推薦策略之外,考慮到系統(tǒng)的商業(yè)推廣的需要,引入人工推薦作為補(bǔ)充,側(cè)重于推薦系統(tǒng)中重點(diǎn)推廣的商品。同時,人工推薦策略,能在一定程度上解決了系統(tǒng)冷啟動的問題,為新用戶或者新商品,做定向推薦。

應(yīng)用層:應(yīng)用層位于系統(tǒng)最頂層,為系統(tǒng)提供一整套的接口,供推薦系統(tǒng)與業(yè)務(wù)系統(tǒng)做數(shù)據(jù)交換;提供推薦方案的配置管理,方便靈活的調(diào)節(jié)方案的設(shè)置參數(shù);對數(shù)據(jù)的干預(yù)及管理,如熱門推薦商品標(biāo)注、專家推薦方案的錄入、編輯等功能。

3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計

系統(tǒng)所需的原始業(yè)務(wù)數(shù)據(jù),具有多樣性、非結(jié)構(gòu)化等特點(diǎn),且包含有大量的臟數(shù)據(jù)。HBase是一個分布式面向列的開源數(shù)據(jù)庫,HBase—Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用HBase技術(shù)可在廉價PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲集群[14]。

系統(tǒng)采用Native Java API訪問和操作HBase數(shù)據(jù)庫,適合Hadoop MapReduce Job并行批處理HBase表數(shù)據(jù)。

Sqoop為HBase提供了方便的RDBMS數(shù)據(jù)導(dǎo)入功能,將原始業(yè)務(wù)數(shù)據(jù),從業(yè)務(wù)系統(tǒng)遷移至HBase[15]。

HBase建有用戶購買行為記錄表、用戶瀏覽記錄表、商品屬性表、專家搭配方案表四個初始數(shù)據(jù)表,以及用戶相似度分布表、商品相似度分布表、商品流行因子表、用戶推薦結(jié)果表等。

對于協(xié)同過濾推薦集專家推薦的運(yùn)算,采用分布式離線計算的方式,定期更新數(shù)據(jù),并將計算結(jié)果存儲到用戶推薦結(jié)果表,供應(yīng)用接口查詢調(diào)用。

3.4 系統(tǒng)的配置及實現(xiàn)

本系統(tǒng)基于Hadoop平臺搭建,能夠靈活配置系統(tǒng)參數(shù)。初始狀態(tài)配置參數(shù)如下:Hadoop集群配置有七個節(jié)點(diǎn),包含一個Master節(jié)點(diǎn),六個Slave節(jié)點(diǎn),Hadoop版本為1.2.1,節(jié)點(diǎn)間使用網(wǎng)絡(luò)連接。

4 結(jié)論(Conclusion)

本文提出了一種基于專家推薦與協(xié)同過濾算法的混合推薦策略,此策略能較好的適應(yīng)服飾類商品其低重復(fù)購買率、強(qiáng)搭配性、受潮流影響較大等特點(diǎn)。同時,將上文的推薦策略,以基于Hadoop的分布式推薦系統(tǒng)予以實現(xiàn)。Hadoop平臺能夠靈活方便的配置分布式系統(tǒng)結(jié)構(gòu),從容應(yīng)對大數(shù)據(jù)計算對計算集群的要求,具有較強(qiáng)的穩(wěn)定性和可拓展性。在系統(tǒng)開發(fā)時,采用模塊化開的設(shè)計模式,縱向分層,橫向模塊化、相同功能組件化,極大地簡化了系統(tǒng)的結(jié)構(gòu),提高了系統(tǒng)的拓展的可能性、降低了系統(tǒng)的維護(hù)成本。該系統(tǒng)將為服飾類電商平臺在大數(shù)據(jù)應(yīng)用的背景下解決商品推薦問題,提供了一種可行的解決方案。

參考文獻(xiàn)(References)

[1] Ricci F,Shapira B.Recommender system handbook[M].Springer,2011.Pu P,Chen L,Kumar P.Evaluation search and recommender system for E-commerce environments[J].Electronic Commerce Reseach,2008,8(1-2):1-27.

[2] You Wen,Ye Shui-sheng.A survey of collaborative filtering algorithm applied in E-commerce recommender system[J].Computer Technology and development,2006,16(9):70-72.

[3] Arwar B,et al.Item-based collaborative filtering recommendation algorithms[C].In Proceedings of the 10th International World Wide Web Conference,2001:285-295.

[4] Kim B M,et al.A new approach for combining content-based and collaborative filters[J].Journal of Intelligent Information System,2006,27(1):79-91.

[5] Jung K Y.User preference through Bayesian categorization for recommendation[C].In Pricai 2006:Trends in Artificial Intelligence,Proceedings,2006,4099:112-119.

[6] Zhang S,et al.Using singular value decomposition approximation for collaborative filtering[C].In:Proceedings of 7th IEEE International Conference on Ecommerce Technology,2005:257-264.

[7] Vozalis M G,Margaritis K G.Applying SVD on item-based filtering[C].In:Proceedings of 5th International Conference on Intelligent Systems Design and Applications(ISDA'05) 2005:464-469.

[8] Kohrs A,Merialdo B.Cluster for collaborative filtering application[C].In:Proceedings of the International Conference on Computational Intelligence for Modelling Control and Automation. Amsterdam,Netherlands:IOS Press,1999:199-204.

[9] 夏培勇.個性化推薦技術(shù)中的協(xié)同過濾算法研究[D].青島:中國海洋大學(xué),2011:22-23.

[10] Dean J,Ghemawat S.MapReduce:Simplified data processing on large cluseters.Communications of the ACM,2005, 51(1):107-113.

[11] 林大云.基于Hadmp的微博信息挖掘叨.計算機(jī)光盤軟件與應(yīng)用,2012,0l:7-8.

[12] Tom Webite.Hadoop權(quán)威指南[M].北京:清華大學(xué)出版社,2015.

作者簡介:

郭 青(1970-),女,博士,副教授.研究領(lǐng)域:流程工業(yè)建 模,控制與優(yōu)化.

孫 ?。?989-),男,碩士生.研究領(lǐng)域:分布式計算應(yīng)用,計 算機(jī)仿真.

猜你喜歡
分布式計算協(xié)同過濾推薦系統(tǒng)
基于用戶偏好的信任網(wǎng)絡(luò)隨機(jī)游走推薦模型
基于云計算的移動學(xué)習(xí)平臺設(shè)計與實現(xiàn)
基于鏈?zhǔn)酱鎯Y(jié)構(gòu)的協(xié)同過濾推薦算法設(shè)計與實現(xiàn)
基于相似傳播和情景聚類的網(wǎng)絡(luò)協(xié)同過濾推薦算法研究
基于個性化的協(xié)同過濾圖書推薦算法研究
個性化推薦系統(tǒng)關(guān)鍵算法探討
基于協(xié)同過濾算法的個性化圖書推薦系統(tǒng)研究
混合推薦算法在電影推薦中的研究與評述
云計算中MapReduce分布式并行處理框架的研究與搭建
淺談Mahout在個性化推薦系統(tǒng)中的應(yīng)用