史明哲,吳國棟,2,張 倩,疏 晴
1(安徽農(nóng)業(yè)大學(xué) 信息與計(jì)算機(jī)學(xué)院,合肥 230036) 2(東華大學(xué) 旭日工商管理學(xué)院,上海 200051)
互聯(lián)網(wǎng)數(shù)據(jù)的研究發(fā)現(xiàn),物品往往呈長(zhǎng)尾分布[1].少部分物品吸引了大部分關(guān)注,網(wǎng)絡(luò)技術(shù)的發(fā)展使關(guān)注的成本大大降低,數(shù)量巨大的長(zhǎng)尾物品不僅滿足了人們的多樣化需求,而且冷門物品的購買總量已經(jīng)能與暢銷物品的銷售量相當(dāng).現(xiàn)有推薦系統(tǒng)的研究中,傾向于熱門物品的推薦,很少考慮挖掘那些真正的冷門物品.如協(xié)同過濾推薦通過用戶相似度或物品相似度尋找近鄰進(jìn)行推薦[2];基于內(nèi)容的推薦通過提取物品的特征進(jìn)行推薦[3];基于知識(shí)的推薦通過領(lǐng)域知識(shí)表示成知識(shí)庫進(jìn)行推薦[4];混合推薦方法依賴各種算法的組合進(jìn)行推薦等[5].由于很多長(zhǎng)尾物品只有很少的評(píng)分,在傳統(tǒng)的推薦系統(tǒng)中這些算法很難得到應(yīng)用,造成長(zhǎng)尾分布問題并未得到緩解.當(dāng)前,盡管針對(duì)長(zhǎng)尾物品的推薦有所研究,如基于約束關(guān)系的長(zhǎng)尾推薦方法[6],利用各種約束關(guān)系進(jìn)行推薦;基于聚類的長(zhǎng)尾物品推薦方法[7,8],將整個(gè)物品構(gòu)成的集合分為頭部和尾部?jī)蓚€(gè)部分,并只對(duì)尾部物品進(jìn)行聚類,根據(jù)聚類中的評(píng)分對(duì)尾部物品進(jìn)行推薦.但這些研究,一方面由于評(píng)分?jǐn)?shù)據(jù)的稀疏性問題,會(huì)嚴(yán)重造成推薦精度的下降;另一方面僅僅根據(jù)用戶的歷史偏好進(jìn)行推薦,很難對(duì)用戶的未來興趣趨勢(shì)進(jìn)行預(yù)測(cè)和引導(dǎo),而對(duì)用戶未來興趣進(jìn)行預(yù)測(cè)又至關(guān)重要.
目前,推薦系統(tǒng)的預(yù)測(cè)算法,常用的如基于評(píng)分的預(yù)測(cè)、基于領(lǐng)域的方法、隱語義模型與矩陣分解模型、加入時(shí)間信息、模型融合及基于受限玻爾茲曼機(jī)的方法等.其中受限玻爾茲曼機(jī)是由可視層和隱藏層相互連接的一個(gè)完全二分圖結(jié)構(gòu),每一個(gè)神經(jīng)元是一個(gè)二值單元,也就是每一個(gè)神經(jīng)元只能等于0或1[9].2007年Salakhutdinov等人首次將RBM模型應(yīng)用于解決推薦問題,但是該模型的缺陷是:需要將實(shí)值的評(píng)分?jǐn)?shù)據(jù)轉(zhuǎn)化為一個(gè)K維的0-1向量,如果訓(xùn)練數(shù)據(jù)是浮點(diǎn)型的就無法轉(zhuǎn)化[10].2013年Georgiev等人提出了可以直接處理實(shí)值數(shù)據(jù)的RBM模型并且改進(jìn)了模型的訓(xùn)練過程,使RBM的可見單元可以直接表示實(shí)值,模型的訓(xùn)練和預(yù)測(cè)過程得到了簡(jiǎn)化[11].針對(duì)當(dāng)前長(zhǎng)尾推薦在用戶偏好主題挖掘、熱門物品與冷門物品之間關(guān)聯(lián)度不強(qiáng)等方面的不足,本文提出一種基于多主題的改進(jìn)受限玻爾茲曼機(jī)長(zhǎng)尾分布推薦方法,通過挖掘商品信息的主題特征及用戶偏好主題,構(gòu)建用戶和物品之間的聯(lián)系,結(jié)合改進(jìn)受限玻爾茲曼機(jī)對(duì)用戶未知偏好主題進(jìn)行預(yù)測(cè),以提高長(zhǎng)尾物品的推薦性能.
長(zhǎng)尾理論最先由美國《連線》雜志主編克里斯·安德森于2004年10月提出,其思想是:如果存儲(chǔ)和流通的渠道能足夠大,需求或銷量不佳的產(chǎn)品共同占據(jù)市場(chǎng)份額就可以同那些數(shù)量不多的熱賣品所占據(jù)的市場(chǎng)份額相抗衡甚至更具有優(yōu)勢(shì),這就是長(zhǎng)尾理論[12].圖1、圖2分別展示了在MovieLens-1M數(shù)據(jù)集和Netflix數(shù)據(jù)集數(shù)據(jù)的長(zhǎng)尾分布,表明了長(zhǎng)尾分布的普遍存在性.
圖1 MovieLens數(shù)據(jù)集下的長(zhǎng)尾分布Fig.1 Long tailed distribution under movieLens
圖2 Netflix數(shù)據(jù)集下的長(zhǎng)尾分布Fig.2 Long tailed distribution under Netflix
基于多主題受限玻爾茲曼機(jī)的長(zhǎng)尾分布推薦的基本思路:根據(jù)長(zhǎng)尾分布的特點(diǎn),把物品分為頭部(即熱門物品集)和尾部(即冷門物品集)兩個(gè)物品集;利用主題模型分別對(duì)其提取主題,構(gòu)建兩集合之間的關(guān)系;將長(zhǎng)尾分布頭部提取的主題視為用戶已知的偏好領(lǐng)域,通過近鄰用戶,并結(jié)合改進(jìn)受限玻爾茲曼機(jī)對(duì)用戶未知偏好領(lǐng)域進(jìn)行預(yù)測(cè),發(fā)現(xiàn)用戶的未來偏好趨勢(shì),進(jìn)而對(duì)尾部商品推薦,具體研究流程如圖3所示.
圖3 長(zhǎng)尾物品推薦流程Fig.3 Long tail items recommended process
在圖3所示流程中,利用分詞工具,分別對(duì)頭部物品內(nèi)容信息及尾部物品內(nèi)容信息進(jìn)行分詞.針對(duì)某一用戶歷史行為信息(用戶有過行為的物品信息),利用主題模型提取出用戶A初始偏好主題,結(jié)合用戶A的近鄰用戶發(fā)現(xiàn)其未知偏好主題,通過改進(jìn)受限玻爾茲曼機(jī),對(duì)用戶A的未知偏好主題進(jìn)行預(yù)測(cè),得到用戶A的最終偏好主題.同時(shí)根據(jù)物品信息利用主題模型提取物品主題,根據(jù)用戶A的最終偏好主題詞和待推薦的每個(gè)物品的主題詞進(jìn)行相似度計(jì)算,并對(duì)相似度進(jìn)行排名,推薦相似度較高的N個(gè)物品,最后對(duì)推薦結(jié)果做出解釋,來增加用戶對(duì)推薦結(jié)果的信任度.
在推薦過程中,熱門物品和冷門物品的主要區(qū)別是被關(guān)注的程度不同,如果能找到它們的共性(主題),就可以對(duì)長(zhǎng)尾物品進(jìn)行有效的推薦.將用戶的偏好抽象為不同的主題,每個(gè)主題包含具有相似主題的熱門物品和冷門物品,而每個(gè)物品因其主題特征的多樣性,也可屬于不同的主題.
經(jīng)過分析,長(zhǎng)尾分布的頭部物品集和尾部物品集可以通過主題這一隱含變量,彌補(bǔ)尾部物品用戶行為數(shù)據(jù)較為稀疏和很難得到推薦的問題.本文基于LDA主題模型提取主題,其中LDA模型是一個(gè)三層概率模型,它由文檔、主題和詞組成[13].為提取主題[14],兩個(gè)重要的參數(shù)需要估計(jì):主題-詞語分布φk和文檔-主題分布θm,參數(shù)估計(jì)采用以下步驟:
Step1.首先要對(duì)物品內(nèi)容信息進(jìn)行分詞,去除停用詞造成的影響以生成文檔.
Step2.為文檔中的所有商品信息單詞采樣初始主題:
zm,n=k~I(xiàn)nfo(K)
(1)
Step3.每當(dāng)新觀察到一個(gè)詞語ωi=t,利用公式(2)計(jì)算當(dāng)前的主題.
(2)
Step4.重復(fù)執(zhí)行Step 2的抽樣過程,直至所有的主題分布達(dá)到收斂,此時(shí),每個(gè)單詞的主題標(biāo)號(hào)確定以后,兩個(gè)參數(shù)的計(jì)算公式如下:
(3)
(4)
在對(duì)海量商品信息數(shù)據(jù)的主題提取時(shí),根據(jù)提取的用戶偏好主題詞,利用加權(quán)平均的方法得到加權(quán)平均權(quán)重,其中加權(quán)平均權(quán)重較大的主題詞,從一定程度上反應(yīng)了用戶的歷史偏好特征,但是加權(quán)平均權(quán)重較小的主題詞不能簡(jiǎn)單地認(rèn)為用戶對(duì)這一主題不感興趣,因?yàn)殡S著時(shí)間的推移,用戶的興趣會(huì)發(fā)生改變,這就需要去挖掘用戶潛在興趣即對(duì)主題詞加權(quán)平均權(quán)重較小或沒有涉及到的主題進(jìn)行預(yù)測(cè).在推薦時(shí)不但可以根據(jù)歷史主題偏好發(fā)現(xiàn)長(zhǎng)尾商品,而且可以通過預(yù)測(cè)用戶未知偏好主題,提高用戶的驚喜度及長(zhǎng)尾商品的挖掘能力.
針對(duì)文獻(xiàn)[10,11]方面的不足,本文中每一個(gè)RBM對(duì)應(yīng)一個(gè)用戶,每個(gè)可視層單元對(duì)應(yīng)一個(gè)主題詞,相應(yīng)主題詞的權(quán)重通過計(jì)算各個(gè)主題中的主題詞的加權(quán)平均,把加權(quán)平均值作為相應(yīng)主題詞的權(quán)重(把加權(quán)平均值最大的幾個(gè)作為用戶的偏好主題,而改進(jìn)受限玻爾茲曼機(jī)的輸入為所有相應(yīng)主題詞加權(quán)平均值).由圖4可知,RBM由主題的可視單元、隱層單元及可視單元和隱層單元之間的RBM權(quán)重組成,其中RBM權(quán)重具有一定的隨機(jī)性,不同的RBM經(jīng)過訓(xùn)練達(dá)到收斂時(shí)會(huì)有不同的RBM權(quán)重值,為保證RBM能協(xié)同對(duì)每個(gè)主題權(quán)重預(yù)測(cè),則要求不同RBM的每個(gè)相同主題對(duì)應(yīng)的權(quán)重要有相同的權(quán)重和偏置.但是,在并行計(jì)算RBM時(shí),造成同一主題有不同的RBM權(quán)重值,無法保證對(duì)于同一主題有相同的RBM權(quán)重值,缺乏可解釋性.如果按線性方法計(jì)算每一個(gè)RBM,能達(dá)到相應(yīng)主題RBM權(quán)重相同.根據(jù)圖4的模型,可視層代表用戶的偏好傾向,RBM權(quán)重代表每個(gè)主題所固有的潛藏特征.然而我們并不能清楚的了解到哪個(gè)用戶RBM的訓(xùn)練權(quán)重能較好地描述主題所固有的潛藏特征.因此必須要找到一個(gè)代表用戶,但是在推薦系統(tǒng)中,單個(gè)用戶很難代表所有用戶,因此本文通過以下方法就RMB這一問題做以下改進(jìn):
Step1.模型結(jié)構(gòu):對(duì)于每一個(gè)用戶RBM模型,都是相互獨(dú)立的,且不共享同一隱層,但是,隱層單元個(gè)數(shù)相同.
Step2.訓(xùn)練方法:獨(dú)立訓(xùn)練每一個(gè)用戶RBM模型.
Step3.數(shù)學(xué)表達(dá):具體說明如下定義.
定義1.主題的向量表示:D=(T1,T2,…,Ti,…,Tn-1,Tn),其中Ti表示第i個(gè)主題;Ti=(t1,w1;t2,w2;…;ti,wi;…;tn-1,wn-1;tn,wn),其中ti表示主題詞,wi表示主題詞權(quán)重.
定義2.主題詞權(quán)值表示:W={I1,I2,I3,…,Ii,…,In},其中Ii表示相應(yīng)主題中第i個(gè)位置處主題詞相應(yīng)的權(quán)值.
用戶偏好主題中某一主題詞t的加權(quán)平均權(quán)重計(jì)算如公式(5)為:
(5)
根據(jù)定義3可知,改進(jìn)RBM訓(xùn)練結(jié)束后,經(jīng)過預(yù)測(cè)模型得到的用戶偏好未知主題的權(quán)重值是加權(quán)平均權(quán)重.但在實(shí)際中,我們需要的是沒有經(jīng)過加權(quán)的主題詞權(quán)重,因此需要去權(quán)值,去權(quán)值的關(guān)鍵是如何確定預(yù)測(cè)得到未知主題詞在相應(yīng)用戶偏好主題中的個(gè)數(shù)及位置,確定好這些就可以通過公式(5)得到去權(quán)值的主題詞權(quán)重.對(duì)于未知主題的個(gè)數(shù)確定,通過比較用戶近鄰用戶中相應(yīng)主題的主題詞與其他主題的主題詞的眾數(shù),如果在某主題中相應(yīng)主題詞在近鄰用戶相應(yīng)主題的眾數(shù)小于一定閾值,則該預(yù)測(cè)主題詞就不被分配到該主題中.由于對(duì)于所有近鄰用戶相應(yīng)主題的主題詞個(gè)數(shù)都相同,取這些近鄰用戶中相應(yīng)主題中主題詞的平均位置作為該主題詞在相應(yīng)主題中的位置.針對(duì)改進(jìn)RBM主題預(yù)測(cè)模型的預(yù)測(cè)過程如圖4所示,把用戶A近鄰用戶中具有相同主題A,其相應(yīng)的主題詞的RBM權(quán)重取平均,以獲得該主題詞的潛藏特征(平均RBM權(quán)重),根據(jù)用戶A的原有隱層和平均RBM權(quán)重,預(yù)測(cè)主題A的相應(yīng)主題的加權(quán)平均權(quán)重.針對(duì)圖4所示,改進(jìn)的實(shí)值受限玻爾茲曼機(jī)主題預(yù)測(cè)模型中標(biāo)注的主題,只有主題詞的加權(quán)平均權(quán)重較大的N個(gè)被視為用戶的偏好主題,其他主題詞的加權(quán)平均權(quán)重也稱為主題,但不是用戶偏好主題,只是為保證在挖掘用戶的潛在特征時(shí)信息不至于丟失,即參與模型的訓(xùn)練和預(yù)測(cè),輔助完成用戶偏好主題的挖掘過程.
圖4 改進(jìn)的實(shí)值受限玻爾茲曼機(jī)主題預(yù)測(cè)模型Fig.4 Topic prediction model based on improved real RBM
根據(jù)上述模型,由于RBM模型是一個(gè)基于能量的模型[9,15](Energy Based Model,EBM),對(duì)于一組給定的狀態(tài)(v,h),可定義如下能量函數(shù)
(6)
(7)
其中,vi,hj分別表示第i個(gè)可見單元與第j個(gè)隱單元的狀態(tài),wij則為第i個(gè)可見單元與第j個(gè)隱單元的鏈接權(quán)重,T表示主題的個(gè)數(shù),F表示隱藏層的個(gè)數(shù).
由式(6)(7),給定隱單元狀態(tài),可見單元的激活概率為:
(8)
其中,由于初值的影響需要加ζ為調(diào)節(jié)參數(shù),給定可見單元狀態(tài),隱單元的激活概率為,
(9)
(10)
其中,I表示具有近鄰用戶相應(yīng)同一主題的個(gè)數(shù).
當(dāng)訓(xùn)練結(jié)束,給定某個(gè)用戶的已知偏好主題V,該用戶對(duì)于未知主題q的預(yù)測(cè)的概率可直接計(jì)算,
(11)
主題相似度計(jì)算是一個(gè)復(fù)雜的過程,文本處理中最常用的相似性度量方式如余弦相似度、向量空間模型等[16].
根據(jù)定義1用戶某個(gè)偏好主題和物品某個(gè)主題相似度,通過向量的夾角余弦得出:
(12)
其中,Ti表示用戶偏好主題的第i個(gè)主題詞權(quán)重;Ii表示物品主題的第i個(gè)主題詞權(quán)重,同時(shí)要求用戶偏好主題詞和物品主題詞相同;n表示用戶某一偏好主題和物品某一偏好主題中具有相同主題詞的個(gè)數(shù).
用戶某個(gè)偏好主題Ti和相應(yīng)物品所有主題相似度計(jì)算:
(13)
用戶u對(duì)某一物品m的偏好度為:
(14)
其中,sim′(Ti)表示用戶某個(gè)偏好主題Ti和相應(yīng)所有物品主題相似度數(shù)值較高的N個(gè)相似度;N′表示取sim′(Ti)值的數(shù)量.
根據(jù)公式(12)(13)(14)用戶偏好主題和物品主題相似度計(jì)算及推薦偽代碼如下所示:
def getSim(persons,items):#用戶偏好主題和物品主題相似度計(jì)算
P1=[]#存放用戶某偏好主題和相應(yīng)所有物品主題相似度列表
for P in persons:#取出用戶偏好主題列表中某個(gè)主題
S=0
n=0
for T in items:#取出物品主題列表中某個(gè)主題
sim=sim(P,T)#用戶和物品某個(gè)主題相似度
S+=sim#求和
n++
sim1=S/n#用戶某個(gè)偏好主題物品的相似度
P1.append(sim1)
P1.sort()
P1.reverse()
sum=0
for t in P1[0:n]#取前n個(gè)數(shù)值
sum+=t
P′=sum/len(P1[0:n])
return P′
def getRecommendations(persons,items,I):#推薦
M={}
P=[]#用戶偏好列表
for i in I:
M[i]=getSim(persons,items)
for j in M
P.append((M[j],j))
P.sort()
P.reverse()
return P
為了驗(yàn)證算法的可行性及其性能,首先,就本試驗(yàn)用到的數(shù)據(jù)集和執(zhí)行方法進(jìn)行闡述;其次,給出試驗(yàn)的評(píng)價(jià)指標(biāo)并對(duì)結(jié)果進(jìn)行分析.
為了驗(yàn)證算法的性能,在Intel(R)Core(TM)i5-4460 CPU@3.20GHZ處理器、8GB內(nèi)存的臺(tái)式機(jī)上進(jìn)行試驗(yàn),使用Python程序設(shè)計(jì)語言對(duì)數(shù)據(jù)集進(jìn)行處理.數(shù)據(jù)源使用一個(gè)涉及電影評(píng)價(jià)的真實(shí)數(shù)據(jù)集——MovieLens,MovieLens是由明尼蘇達(dá)州立大學(xué)的GroupLens項(xiàng)目組開發(fā)的.可以從http://grouplens.org/datasets/movielens/處下載到數(shù)據(jù)集,本論文采用的是ml-1m.zip數(shù)據(jù)集.
對(duì)于長(zhǎng)尾物品,由于缺乏用戶評(píng)價(jià)數(shù)據(jù),導(dǎo)致長(zhǎng)尾物品很難被用戶發(fā)現(xiàn),因此需要找到所有物品的共性,提取用戶偏好主題就顯得十分重要.利用LDA主題模型提取主題時(shí),取主題數(shù)K=3,每類主題取經(jīng)過排序后的前5個(gè)主題詞,如表1所示為MovieLens數(shù)據(jù)集中某用戶所喜歡的53部電影風(fēng)格及通過主題模型提取得到的權(quán)重值.
表1 用戶偏好主題詞及權(quán)重值(概率)
Table 1 Subject and weighting (probability)of user preference
第0類第1類第2類電影風(fēng)格權(quán)重值電影風(fēng)格權(quán)重值電影風(fēng)格權(quán)重值Comedy0.3612Adventure0.3235Comedy0.3383Drama0.2119Action0.2988Adventure0.2262Sci?Fi0.1224Thriller0.1259Action0.2075Animation0.0925Horror0.0765Western0.1140Children′s0.0925Romance0.0765Romance0.0393
在得到用戶偏好主題類別后,需要選取3個(gè)主題詞作為主題,為改進(jìn)的受限玻爾茲曼機(jī)的主題預(yù)測(cè)做準(zhǔn)備.具體計(jì)算采用加權(quán)平均的方法,其中每類(主題)中有5個(gè)排好序的主題詞,從大到小給權(quán)值依次賦值為5、4、3、2、1.以“Comedy”為例,加權(quán)平均值為:(0.3612*5+0.3383*5)/2=1.74875,其他依次類推.在每類中選擇加權(quán)平均值最大且與其他類別不重復(fù)的主題詞作為該類別的主題,經(jīng)過計(jì)算,三個(gè)類別相應(yīng)的主題依次為“Comedy”“Adventure”“Action”.根據(jù)用戶信息可知,該用戶是一位小于18歲的女學(xué)生,提取的主題基本符合我們的認(rèn)知,后面權(quán)重值較小的主題詞可以確定為干擾因素,但也不排除用戶興趣發(fā)生改變,因此需要對(duì)主題詞進(jìn)行預(yù)測(cè),來最終確定用戶的偏好主題.
根據(jù)改進(jìn)的受限玻爾茲曼機(jī)對(duì)主題權(quán)重進(jìn)行訓(xùn)練時(shí),需要確定對(duì)比散度中Gibbs采樣步數(shù)為多少能使訓(xùn)練達(dá)到最優(yōu),其中學(xué)習(xí)率η=0.02.試驗(yàn)結(jié)果如圖5、圖6、圖7所示,在圖5中隨著橫坐標(biāo)Gibbs采樣步數(shù)的增加,相應(yīng)縱坐標(biāo)原始主題權(quán)重和經(jīng)過訓(xùn)練后的主題權(quán)重的誤差(取所有訓(xùn)練前后主題權(quán)重的最大值作為Error)趨于0,試驗(yàn)結(jié)果表明改進(jìn)的RBM能較好的處理實(shí)值數(shù)據(jù).
圖5 RBM吉布斯采樣步數(shù)優(yōu)化確定Fig.5 RBM Gibbs sampling step number optimization
圖6 經(jīng)過2步吉布斯RBM訓(xùn)練效果Fig.6 After 2 steps Gibbs RBM training effect
圖7 經(jīng)過3步吉布斯RBM訓(xùn)練效果Fig.7 After 3 steps Gibbs RBM training effect
(15)
MAE采用絕對(duì)值計(jì)算預(yù)測(cè)誤差,它的定義為:
(16)
在采用改進(jìn)RBM對(duì)主題權(quán)重預(yù)測(cè)時(shí),需找到與待預(yù)測(cè)主題的若干相同主題,來保證針對(duì)不同用戶對(duì)于相同主題得到不同的主題權(quán)重值.尋找這些相同主題可以通過近鄰用戶方法,但是近鄰用戶方法存在用戶偏好聚集,很難向其他偏好領(lǐng)域跨越.于是在采用近鄰用戶方法時(shí),不再僅僅取近鄰用戶中相似度較高的N個(gè)用戶,而是把近鄰用戶推薦列表按相似度大小分成3個(gè)部分,第一部分是和目標(biāo)用戶相似度最高的若干近鄰用戶,也就是在近鄰用戶方法中經(jīng)常采用的對(duì)象;第二部分相似度次之;第三部分較次之.試驗(yàn)的目標(biāo)是在第一部分?jǐn)?shù)據(jù)的基礎(chǔ)上,再從第二部分和第三部分?jǐn)?shù)據(jù)中按照1:2的比例隨機(jī)加入若干數(shù)據(jù),這種方法的特點(diǎn)是明顯增加了待選主題的多樣性,但需要確定對(duì)模型的預(yù)測(cè)精度影響是否較大.本文根據(jù)MAE作為衡量指標(biāo),MAE越小則表明模型的預(yù)測(cè)性能越強(qiáng).
其中,橫坐標(biāo)分為兩組試驗(yàn),第一組試驗(yàn)采用按三部分比例3:1:2取近鄰用戶,其中第一部分選擇最相似的若干用戶,第二、三部分按照比例隨機(jī)選取;第二組試驗(yàn)只選取第一組試驗(yàn)的第一部分?jǐn)?shù)據(jù),每組都通過3次試驗(yàn)得到MAE.第一組試驗(yàn)結(jié)果表明隨機(jī)加入的數(shù)據(jù)對(duì)模型預(yù)測(cè)造成一定的干擾,并且三次試驗(yàn)穩(wěn)定性明顯低于第二組.但是第一組絕對(duì)值誤差MAE的表現(xiàn)通過和6.2節(jié)得到的最小用戶偏好主題“Action”的加權(quán)平均值0.90885相比影響可以忽略.同時(shí)如若為增加待預(yù)測(cè)主題的多樣性,幫助用戶向未知領(lǐng)域引導(dǎo),第一組的表現(xiàn)效果要強(qiáng)于第二組.
圖8 第一組及第二組方法的MAE對(duì)比Fig.8 MAE comparison of the method for the first group and the two group
為驗(yàn)證本論文提出的L_RRBM算法的有效性,在推薦算法中以LFM(隱語義模型)就各自的準(zhǔn)確率、召回率和覆蓋率進(jìn)行了分析比較,分別如圖9、圖10和圖11所示.其中,橫坐標(biāo)ratio為用戶沒有過行為的物品/有過行為的物品,圖11能較好的反應(yīng)了本算法發(fā)掘長(zhǎng)尾商品的能力.
試驗(yàn)結(jié)果表明,與傳統(tǒng)的LFM推薦算法相比,本文所提出的L_RRBM算法,各項(xiàng)評(píng)測(cè)指標(biāo)有明顯的提高.
圖9 LFM算法和L_RRBM算法的準(zhǔn)確率試驗(yàn)對(duì)比結(jié)果Fig.9 Comparison results of LFM algorithm and L_RRBM algorithm for precision test
圖10 LFM算法和L_RRBM算法的召回率試驗(yàn)對(duì)比結(jié)果Fig.10 Comparison results of LFM algorithm and L_RRBM algorithm for recall test
圖11 LFM算法和L_RRBM算法的覆蓋率試驗(yàn)對(duì)比結(jié)果Fig.11 Comparison results of LFM algorithm and L_RRBM algorithm for coverage test
論文針對(duì)長(zhǎng)尾中冷門商品很難得到用戶的關(guān)注,造成評(píng)價(jià)數(shù)據(jù)稀疏的問題,提出L_RRBM算法,從商品的內(nèi)容信息著手,對(duì)商品信息進(jìn)行主題提取,并改進(jìn)RBM對(duì)提取主題中權(quán)重較小和未知主題權(quán)重進(jìn)行預(yù)測(cè),以增強(qiáng)因用戶偏好改變,而多主題模型難以提取到用戶偏好主題而造成的影響.
然而,我們的工作中還存在一些需要改進(jìn)的地方.比如在對(duì)改進(jìn)的實(shí)值RBM進(jìn)行訓(xùn)練時(shí)涉及到“加權(quán)”和“去權(quán)”的問題,參數(shù)的調(diào)整過于復(fù)雜.另外,在對(duì)主題進(jìn)行預(yù)測(cè)時(shí),通過引入近鄰用戶,經(jīng)過試驗(yàn)驗(yàn)證能較好的對(duì)主題進(jìn)行較好的進(jìn)行預(yù)測(cè),但是在一定程度上增加了算法的復(fù)雜度.在未來的工作中,我們會(huì)嘗試通過深度學(xué)習(xí)或深層受限玻爾茲曼機(jī)來解決這些問題.
[1] Xiang Liang.Recommendation system practice[M].Beijing:Posts and Telecom Press,2012.
[2] Goldberg D,Nichols D,Oki B M,et al.Using collaborative filtering to weave an information tapestry[J].Communications of the Acm,1992,35(12):61-70.
[3] Han P,Xie B,Yang F,et al.A scalable P2P recommender system based on distributed collaborative filtering[J].Expert Systems with Applications,2004,27(2):203-210.
[4] Xu Hai-ling,Wu Xiao,Li Xiao-dong,et al.Comparison study of Internet recommendation system[J].Journal of Software,2009,20(2):350-362.
[5] Jamali M,Ester M.TrustWalker:a random walk model for combining trust-based and item-based recommendation[C].Proceedings of the 15th Association for Computing Machinery Special Interest Group on Management of Data International Conference on Knowledge Discovery and Data Mining,Association for Computing Machinery,2009:397-406.
[6] Yin Gui-sheng,Zhang Ya-nan,Dong Hong-bin,et al.A long tail distribution constrained recommendation method[J].Journal of Computer Research and Development,2013,50(9):1814-1824.
[7] Feng Yuan-yuan,Wang Xiao-dong,Yao Yu.Long tail problem of recommender system in electronic commerce[J].Journal of Computer Applications,2015(s2):151-154.
[8] Park Y J,Tuzhilin A.The long tail of recommender systems and how to leverage it[C].Association for Computing Machinery Conference on Recommender Systems,Recsys 2008,Lausanne,Switzerland,2008:11-18.
[9] He Jie-yue,Ma Bei.Based on Real-valued conditional restricted boltzmann machine and social network for collaborative filtering[J].Chinese Journal of Computers,2016,(1):183-195.
[10] Salakhutdinov R,Mnih A,Hinton G.Restricted boltzmann machines for collaborative filtering[C].Machine Learning,Proceedings of the Twenty-Fourth International Conference.2007:791-798.
[11] Georgiev K,Nakov P.A non-IID framework for collaborative filtering with restricted boltzmann machines[C].International Conference on Machine Learning,2013:1148-1156.
[12] Chris Anderson.The long tail[M].Beijing:China Crtic Press,2006.
[13] Griffiths T L,Steyvers M.Finding scientific topics[J].Proceedings of the National Academy of Sciences of the United States of America,2004,101 Suppl 1(1):5228-5235.
[14] Zu Xian,Xie Fei.Review of the latent dirichlet allocation topic model[J].Journal of Hefei Normal University,2015,33(6):55-58.
[15] Luo Heng.Restricted boltzmann machines:a collaborative filtering perspective[D].Shanghai:Shanghai Jiao Tong University,2011.
[16] Chen Xiao-hai,Zhou Ya.A crawling algorithm based on topical similarity for guiding the web crawler though tunnels[J].Computer Engineering and Science,2009,31(10):126-128.
附中文參考文獻(xiàn):
[1] 項(xiàng) 亮.推薦系統(tǒng)實(shí)踐[M].北京:人民郵電出版社,2012.
[4] 許海玲,吳 瀟,李曉東,等.互聯(lián)網(wǎng)推薦系統(tǒng)比較研究[J].軟件學(xué)報(bào),2009,20(2):350-362.
[6] 印桂生,張亞楠,董紅斌,等.一種由長(zhǎng)尾分布約束的推薦方法[J].計(jì)算機(jī)研究與發(fā)展,2013,50(9):1814-1824.
[7] 馮媛媛,王曉東,姚 宇.電子商務(wù)中長(zhǎng)尾物品推薦方法[J].計(jì)算機(jī)應(yīng)用,2015(s2):151-154.
[9] 何潔月,馬 貝.利用社交關(guān)系的實(shí)值條件受限玻爾茲曼機(jī)協(xié)同過濾推薦算法[J].計(jì)算機(jī)學(xué)報(bào),2016,(1):183-195.
[12] 克里斯·安德森.長(zhǎng)尾理論[M].北京:中信出版社,2006.
[14] 祖 弦,謝 飛.LDA主題模型研究綜述[J].合肥師范學(xué)院學(xué)報(bào),2015,33(6):55-58.
[15] 羅 恒.基于協(xié)同過濾視角的受限玻爾茲曼機(jī)研究[D].上海:上海交通大學(xué),2011.
[16] 陳小海,周 婭.基于主題相似度指導(dǎo)網(wǎng)絡(luò)蜘蛛穿越隧道的爬行算法[J].計(jì)算機(jī)工程與科學(xué),2009,31(10):126-128.