王 秀,劉學(xué)軍,陳振春,邵 帥
(南京工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京 211816) E-mail: wangxiu@njtech.edu.cn
隨著現(xiàn)代化技術(shù)的逐漸普及,人們進(jìn)入了一個(gè)網(wǎng)絡(luò)信息時(shí)代,在享受網(wǎng)絡(luò)帶來便利的同時(shí)也陷進(jìn)了“信息過載”境遇,如何從海量的信息資源中準(zhǔn)確而快速地尋找到自己感興趣的事物是一件及其困難的事情.而推薦系統(tǒng)可以有效解決這一問題,其通過收集、挖掘相關(guān)信息主動向用戶推薦相關(guān)物品.常用的推薦算法可以大致分為如下幾類:協(xié)同過濾推薦算法(Collaborative Filtering,CF)、基于內(nèi)容的推薦算法(Content-based Recommendation,CB)以及混合推薦算法(Hybird Recommendation).
協(xié)同過濾是目前應(yīng)用最成熟的推薦算法之一,根據(jù)用戶之間的評分、瀏覽及購買歷史等歷史行為比較,為目標(biāo)用戶尋找興趣或特征相似的用戶作為鄰居,并為目標(biāo)用戶推薦其可能喜歡的項(xiàng)目.其又可以分為基于用戶(User-based CF)和基于項(xiàng)目(Item-based CF)的算法兩類.User-based CF算法根據(jù)用戶對物品的喜歡情況分析用戶之間的相似性,然后推薦相似用戶喜歡過的物品;Item-based CF算法同理,根據(jù)物品被用戶的喜歡情況分析物品的相似度,然后向其推薦相似物品.
傳統(tǒng)的協(xié)同過濾推薦算法主要通過余弦、Pearson等方法來計(jì)算用戶間的相似度[1],其核心思想是,將不同的項(xiàng)目視為不同的維度通過利用用戶-項(xiàng)目評分信息,然后根據(jù)用戶在相同維度上的評分來計(jì)算其相似度.然而用戶的評分?jǐn)?shù)據(jù)非常稀疏[2],用戶之間共同評分的項(xiàng)目因此也更少,使得當(dāng)根據(jù)余弦、Pearson方法來計(jì)算用戶間的相似度時(shí),不能準(zhǔn)確地得到結(jié)果,致使推薦系統(tǒng)的性能急劇下降.
因此,本文提出了一種嵌入項(xiàng)目元數(shù)據(jù)的跨項(xiàng)目協(xié)同過濾推薦算法(A Cross-Item Collaborative Filtering Recommendation Algorithm For Embedded Item Metadata),即CICF.將原來基于用戶共同評分項(xiàng)目計(jì)算相似性,通過嵌入項(xiàng)目元數(shù)據(jù)(即屬性信息),利用用戶與項(xiàng)目及其屬性的交互,實(shí)現(xiàn)了基于元數(shù)據(jù)表示的跨項(xiàng)目計(jì)算相似性.主要做法是,通過挖掘出用戶在有限的評分?jǐn)?shù)據(jù)上表現(xiàn)出來的項(xiàng)目偏好,利用貝葉斯概率將用戶對項(xiàng)目屬性的偏愛程度的差值作為項(xiàng)目的相似性度量,最后再利用推土機(jī)距離(EMD)代替常規(guī)距離實(shí)現(xiàn)跨項(xiàng)目的用戶相似度計(jì)算.緩解了推薦的數(shù)據(jù)稀疏以及冷啟動的問題,更好地支持了具有零或低同時(shí)出現(xiàn)的項(xiàng)目推薦.本文的工作也延伸了共現(xiàn)項(xiàng)目的內(nèi)涵,拓展了共現(xiàn)項(xiàng)目的范圍.
本文第2節(jié)主要闡述協(xié)同過濾推薦算法的相關(guān)工作并系統(tǒng)總結(jié)了其優(yōu)缺點(diǎn);第3節(jié)主要介紹嵌入項(xiàng)目元數(shù)據(jù)的跨項(xiàng)目協(xié)同過濾推薦算法;第4節(jié)進(jìn)行詳細(xì)的實(shí)驗(yàn)對比與分析;第5節(jié)對研究工作進(jìn)行了總結(jié)與歸納,同時(shí)提出了下一步要做的工作.
為了提高系統(tǒng)推薦精度,國內(nèi)外研究者展開了一系列的研究,提出了諸多改進(jìn)的推薦算法.
Zhang等人[3]利用異構(gòu)網(wǎng)絡(luò)嵌入和深度學(xué)習(xí)嵌入方法,從結(jié)構(gòu)知識、文本知識和視覺知識在知識庫中自動提取語義表示.Rafailidis等人[4]提出了融合信任關(guān)系的協(xié)同過濾算法,該算法綜合考慮了用戶之間的相似關(guān)系與信任關(guān)系這2方面因素,確保了推薦結(jié)果不受惡意推薦的影響.Sar等人[5]提出一個(gè)在現(xiàn)有CF算法上(第一層)的兩層框架來最優(yōu)化推薦給用戶的列表(第二層),該方法考慮了列表內(nèi)部項(xiàng)目的相互影響以及項(xiàng)目疲勞、趨勢、上下文信息等.郭磊等人[6]提出了一種結(jié)合推薦項(xiàng)目之間關(guān)聯(lián)關(guān)系的社會化推薦算法,重點(diǎn)研究具有關(guān)聯(lián)關(guān)系的推薦項(xiàng)目.Dong等人[7]研究的是異構(gòu)社交網(wǎng)絡(luò)中的鏈路預(yù)測和推薦算法,提出了RFG模型,借助用戶間交朋友的同一性原理,將RFG模型與網(wǎng)絡(luò)結(jié)構(gòu)信息相結(jié)合,從而向用戶推薦相關(guān)信息.高等人[8]通過將用戶在不同類型上下文中的認(rèn)知水平、認(rèn)知有用性、認(rèn)知風(fēng)險(xiǎn)、有效認(rèn)知行為等認(rèn)知領(lǐng)域概念引入到偏好獲取過程中,顯著提高了偏好獲取的準(zhǔn)確度.
一些推薦算法采用了不同的相似度度量方法來確定用戶之間的相似性[9,10].Vasile等人[11]使用產(chǎn)品嵌入,其將產(chǎn)品映射到一組潛在因素,并計(jì)算在該新表示上的相似性.Patra等人[12]提出利用Bhattacharrya相似性度量方法來尋找一對已經(jīng)被評價(jià)過的項(xiàng)目之間的相似性.Li等人[13]考慮了用戶的偏好相似性,推薦的信任度以及社會關(guān)系來建立新的社會度量公式,以提高推薦精度.Zhang等人[14]考慮到用戶在項(xiàng)目類別上的偏好,計(jì)算每個(gè)項(xiàng)目上不同類別的排名分?jǐn)?shù)來產(chǎn)生推薦.
但以上研究的用戶間相似性還是通過共同的評分?jǐn)?shù)據(jù)來計(jì)算的.本文通過嵌入項(xiàng)目元數(shù)據(jù),采用貝葉斯概率來計(jì)算項(xiàng)目特征的相似性,并結(jié)合EMD方法,將項(xiàng)目屬性信息融入到用戶的相似度計(jì)算中,這種方法改變了傳統(tǒng)方法中一對一(即只考慮用戶在相同項(xiàng)目上的評分)的相似度計(jì)算,實(shí)現(xiàn)多對多(即考慮用戶在不同項(xiàng)目上的評分)的相似度計(jì)算,在一定程度上緩解評分?jǐn)?shù)據(jù)稀疏對用戶相似度計(jì)算的影響.該算法能有效解決目前傳統(tǒng)的相似性度量方法存在的問題和不足,提高推薦的準(zhǔn)確性.
隨著信息網(wǎng)絡(luò)的不斷普及,互聯(lián)網(wǎng)中推薦系統(tǒng)的規(guī)模逐漸擴(kuò)大,用戶和商品的數(shù)量動輒千百萬計(jì),且兩個(gè)用戶間的交叉極少.例如我們研究最平常的MovieLens數(shù)據(jù)集和Netflix數(shù)據(jù)集的稀疏度分別是4.5%和1.2%,然而其實(shí)這些都是極其密的數(shù)據(jù)了.下面我們將分析在數(shù)據(jù)稀疏的情況下,余弦相似性、Jaccard相似性、度量方法相似性還有相關(guān)相似性度量方法存在的問題.
這樣做雖然提高了計(jì)算性能,但是在數(shù)據(jù)稀疏的情況下,用戶只對一小部分?jǐn)?shù)據(jù)有評分,而對未評分項(xiàng)目,用戶不一定不喜歡,對項(xiàng)目的評分也不一定為0.
在Jaccard相似性度量方法中,僅考慮了項(xiàng)目間的共同評分個(gè)數(shù)對相似度的影響,而沒有考慮項(xiàng)目間的評分差距.我們定義一個(gè)用戶集合U={uk|k∈M}和一個(gè)項(xiàng)目集合I={i|i∈N},N表示項(xiàng)目ID集合,M表示用戶ID集合.如果有10個(gè)用戶對項(xiàng)目i,j共同評分,但每個(gè)用戶對項(xiàng)目i,j的評分值相差很大,那么這兩個(gè)項(xiàng)目并不能認(rèn)為是相似的.只有當(dāng)兩個(gè)評分比較接近時(shí),我們才認(rèn)為這兩個(gè)項(xiàng)目具有相似性.
在相關(guān)相似性度量方法中,根據(jù)計(jì)算經(jīng)用戶u1與用戶u2評分的項(xiàng)目集合的交集來得到用戶之間的相似性.然而,用戶只有在比較多的項(xiàng)目上評分才比較相似.在用戶評分?jǐn)?shù)據(jù)極端稀疏的情況下,通常只存在一兩個(gè)共同評分的項(xiàng)目集合.在這樣小的項(xiàng)目集合上計(jì)算的兩個(gè)用戶的相似性,存在很大的誤差.因此,相關(guān)相似性度量方法在用戶評分?jǐn)?shù)據(jù)極端稀疏的情況下也存在一定的弊端.
項(xiàng)目元數(shù)據(jù)是指描述項(xiàng)目的一些基本信息、元素,這里指屬性.推薦系統(tǒng)中所涉及到項(xiàng)目的屬性信息,比如電影評價(jià)網(wǎng)站會將電影分為愛情片、喜劇片、科幻片、驚悚片等,一個(gè)項(xiàng)目可能同時(shí)具有多個(gè)屬性.我們通過分析用戶對這些項(xiàng)目屬性的偏愛程度,能夠進(jìn)一步提高推薦精度.我們將用戶的所有評分項(xiàng)目分為喜愛與不喜愛兩種,利用貝葉斯概率計(jì)算用戶喜愛的項(xiàng)目集合中出現(xiàn)某一特征的概率,以及用戶不喜愛的項(xiàng)目集合中出現(xiàn)這一特征的概率,以此來計(jì)算當(dāng)項(xiàng)目i出現(xiàn)這一特征時(shí),用戶喜愛項(xiàng)目i的概率,最后再將此概率用來計(jì)算項(xiàng)目i與項(xiàng)目j的相似度.
(1)
定義項(xiàng)目屬性集合A={ap|p∈L},L表示屬性ID集合,ap為兩個(gè)用戶所喜歡項(xiàng)目的共同屬性.根據(jù)貝葉斯概率,則項(xiàng)目集合具有屬性ap時(shí),用戶uk喜歡的概率為
(2)
由公式(1)可知,項(xiàng)目集合具有屬性ap時(shí),用戶u1喜歡的概率為
定義D={di,j|i,j∈N}表示用戶u2在項(xiàng)目i上的偏好與用戶u2在項(xiàng)目j上的偏好之間的距離,那么用戶u1在項(xiàng)目i上的偏好與用戶u2在項(xiàng)目j上的偏好之間的距離為
(3)
那么最終基于項(xiàng)目的相似度為
Si,j=1-di,j
(4)
di,j越小,說明用戶u1對項(xiàng)目i的偏好與用戶u2對項(xiàng)目j的偏好程度越一致,即項(xiàng)目i與項(xiàng)目j對于用戶u1與用戶u2來說相似性就越高.為了更好的理解公式(2)與公式(3),我們可以表示為用戶-項(xiàng)目-屬性三分圖,如圖1所示.
圖1 用戶-項(xiàng)目-屬性三分圖Fig.1 User-item-attribute tripartite graph
對任意的項(xiàng)目i,如果用戶對項(xiàng)目i沒有評分,我們使用如下方法預(yù)測用戶q對項(xiàng)目i的評分:
·利用公式(3)與公式(4)計(jì)算項(xiàng)目i與其他項(xiàng)目的相似性.
·將相似度最高的k個(gè)項(xiàng)目作為項(xiàng)目i的最近鄰居集合IiNB={inb1,inb2,…,inbk},使得i?IiNB,并且相似性逐漸遞減.
·預(yù)測用戶q對項(xiàng)目i的評分:
(5)
這里的rq,j表示用戶q對項(xiàng)目i相似項(xiàng)目j的評分,Si,j表示項(xiàng)目i與項(xiàng)目j的相似性.
通過上述方法處理后,對于任意的項(xiàng)目i,用戶q對項(xiàng)目i的評分為
(6)
然后,我們利用嵌入項(xiàng)目元數(shù)據(jù)來計(jì)算用戶的相似性.
用戶的相似性計(jì)算,這里我們使用推土機(jī)距離(earth mover′s distance,簡稱EMD)方法,這種方法主要用來衡量簽名(分布、特征量集合)之間的不相似性[15],和歐式距離一樣,它們都是一種距離量的定義,可以測量某兩個(gè)分布之間的距離.這里我們將EMD方法與推薦系統(tǒng)相結(jié)合,改變了傳統(tǒng)協(xié)同過濾推薦系統(tǒng)中只針對相同評分項(xiàng)目進(jìn)行用戶相似度計(jì)算.傳統(tǒng)的協(xié)同過濾推薦的用戶相似度計(jì)算利用余弦、Pearson 等用戶相似度計(jì)算方法基于用戶在相同評分項(xiàng)目上的偏好進(jìn)行計(jì)算,忽略了項(xiàng)目與項(xiàng)目之間的關(guān)聯(lián).在數(shù)據(jù)極其稀疏的情況下,用戶很可能沒有共同評分項(xiàng)目,便很難計(jì)算出用戶之間的相似度.在本文中,我們根據(jù)計(jì)算出的相似項(xiàng)目,用戶在相似項(xiàng)目上的評分也能表現(xiàn)出用戶之間的相似性.
我們首先定義一個(gè)偏好流量F={fi,j},其中fi,j表示用戶u1在項(xiàng)目i和用戶u2在項(xiàng)目j之間的偏好轉(zhuǎn)移量,這時(shí)候最小化總的轉(zhuǎn)移代價(jià)W:
W=∑i∈Iu1∑j∈Iu2fi,jdi,j→min
(7)
偏好轉(zhuǎn)移量必須滿足以下的線性約束:
fi,j≥0,i,j∈N
(8)
∑j∈Iu2fi,j≤ω(θu1,i),i∈Iu1
(9)
∑i∈Iu1fi,j≤ω(θu2,j),j∈Iu2
(10)
∑i∈Iu1∑j∈Iu2fi,j=min(wu1,wu2)
(11)
這里wu1、wu2分別表示用戶u1、u2對項(xiàng)目i、j的偏好總和,即wu1=∑i∈Iu1ω(θu1,i) ,wu2=∑j∈Iu2ω(θu2,j) ,其中ω(θu1,i)、ω(θu2,j)由公式(1)計(jì)算得到.Iu1、Iu2分別表示用戶u1、u2評分的項(xiàng)目集合.di,j表示為用戶u1在項(xiàng)目i上的偏好與用戶u2在項(xiàng)目j上的偏好之間的距離,由公式(3)計(jì)算得到.公式(8)表示用戶能夠選擇性的轉(zhuǎn)移偏好.公式(9)和公式(10)表示用戶u1(u2)在項(xiàng)目上i(j)能提供的偏好轉(zhuǎn)移總量不能超過用戶u1(u2)對項(xiàng)目上i(j)的偏好.公式(11)表示用戶u1與u2在所有項(xiàng)目上的偏好轉(zhuǎn)移總量.
(12)
如圖1中,用戶u1與用戶u2只有共同評分項(xiàng)目i2,使用余弦或者Person方法計(jì)算用戶相似度只能基于共同的評分項(xiàng)目i2上,并不能很好的反應(yīng)用戶的偏好.而EMD方法具有跨項(xiàng)目特性,能夠利用項(xiàng)目元數(shù)據(jù)將共同項(xiàng)目外的其他評分項(xiàng)目融入到相似度計(jì)算中.
由EMD定義及公式(12)可知,用戶u1與用戶u2的相似度為
sim(u1,u2)=1-EMD(u1,u2)
(13)
傳統(tǒng)的基于用戶的協(xié)同過濾算法通常使用閾值或top-N等方法來選擇最相似的用戶作為最近鄰居集合.本文通過提出的嵌入項(xiàng)目元數(shù)據(jù)的跨項(xiàng)目相似性度量方法,得到待預(yù)測用戶的最近鄰居集合,然后對用戶產(chǎn)生相應(yīng)的推薦列表.定義用戶u的最近鄰居集合為UuNB,則用戶u對項(xiàng)目i的預(yù)測評分Ru,i的計(jì)算方法如下:
(14)
綜合3.1~3.4節(jié)中的計(jì)算步驟,可以得到嵌入項(xiàng)目元數(shù)據(jù)的跨項(xiàng)目協(xié)同過濾推薦算法如下:
輸入:用戶-項(xiàng)目的評分矩陣以及項(xiàng)目-屬性列表.
輸出:用戶的推薦項(xiàng)目列表.
Begin
1)Foreach∈I
2)CalculateSi,j
4)Endfor
5)Foreach
6)Calculatesim(ua,uk)
7)Endfor
8)PredictRu,i
9)構(gòu)造推薦列表,根據(jù)用戶對未評價(jià)項(xiàng)目的預(yù)測評分Ru,i,選擇預(yù)測值的前top-N項(xiàng)目推薦給用戶
End
整個(gè)算法分為嵌入項(xiàng)目元數(shù)據(jù)相似度計(jì)算,基于跨項(xiàng)目的用戶相似性計(jì)算以及預(yù)測計(jì)算三個(gè)部分.假設(shè)用戶數(shù)目為M,項(xiàng)目集合數(shù)量為N.其中相似度計(jì)算的復(fù)雜度是O(MN),預(yù)測部分的計(jì)算復(fù)雜度是O(MN).EMD距離計(jì)算復(fù)雜度主要表現(xiàn)在求解優(yōu)化公式的Orlin算法上,算法復(fù)雜度為O(M3logM).在文獻(xiàn)[17]中,通過小波變換將EMD距離計(jì)算復(fù)雜度降為線性,可以通過得到近似EMD距離的值來進(jìn)一步降低復(fù)雜度.
本文的實(shí)驗(yàn)數(shù)據(jù)采用了Movie Lens數(shù)據(jù)集[18].該數(shù)據(jù)集被廣泛應(yīng)用于推薦系統(tǒng)的文獻(xiàn),包括四個(gè)增加大小的數(shù)據(jù)集.實(shí)驗(yàn)中選取了該數(shù)據(jù)集的約10萬條評分記錄,包括850個(gè)用戶關(guān)于1529部電影的打分記錄,大小為100k,稀疏度為93.7%.
為了驗(yàn)證推薦算法的準(zhǔn)確性,將實(shí)驗(yàn)數(shù)據(jù)的評分矩陣進(jìn)一步劃分為訓(xùn)練集和測試集,訓(xùn)練集數(shù)據(jù)用來學(xué)習(xí)或訓(xùn)練推薦方法中的相關(guān)參數(shù),測試集數(shù)據(jù)用來驗(yàn)證推薦算法的準(zhǔn)確性.為了保證實(shí)驗(yàn)的準(zhǔn)確性,我們采用交叉驗(yàn)證(Cross-Validation)進(jìn)行算法性能的評估.本文采用5折交叉驗(yàn)證,取5次結(jié)果的均值作為算法的性能度量.
本實(shí)驗(yàn)采用平均絕對誤差MAE(Mean Absolute Error)作為度量標(biāo)準(zhǔn).MAE衡量預(yù)測準(zhǔn)確性的標(biāo)準(zhǔn)是計(jì)算預(yù)測評分與實(shí)際評分之間的偏差值.MAE越小,算法的推薦結(jié)果越準(zhǔn)確.
現(xiàn)在給出如下定義:用戶預(yù)測評分集合為{p1,p2,…,pm},用戶實(shí)際評分集合為{q1,q2,…,qm},m表示預(yù)測的次數(shù),則MAE的計(jì)算公式如下:
本文設(shè)計(jì)了三組實(shí)驗(yàn),分別從與傳統(tǒng)相似度方法比較、基于相似項(xiàng)目的評分預(yù)測以及數(shù)據(jù)稀疏度比較這三個(gè)方面來探索CICF方法的推薦算法的性能.
實(shí)驗(yàn)1.不同相似度算法的比較
該實(shí)驗(yàn)主要比較本文提出的CICF方法與余弦、PMFUI[6]、BCF[12]方法的評分預(yù)測準(zhǔn)確度.PMFUI方法重點(diǎn)關(guān)注推薦項(xiàng)目間的關(guān)聯(lián)關(guān)系,其認(rèn)為用戶應(yīng)該更關(guān)注具有關(guān)聯(lián)關(guān)系的推薦項(xiàng)目,提出利用此關(guān)系提高推薦效果.BCF是一個(gè)基于鄰居的協(xié)同過濾方法,主要利用Bhattacharrya相似性度量來發(fā)現(xiàn)一個(gè)積極用戶的鄰居.實(shí)驗(yàn)結(jié)果如圖2所示.
圖2中,橫坐標(biāo)表示不同數(shù)量的最近鄰居,分別取K=10,15,20,25,30,縱坐標(biāo)表示MAE值.由圖可以看出,隨著最近鄰居數(shù)的增加,MAE值逐漸變小.與此同時(shí),我們可以發(fā)現(xiàn)本文提出的CICF方法的MAE值明顯小于余弦、BCF和PM-FUI方法,這意味著CICF方法的推薦精度優(yōu)于其它兩種方法.這是因?yàn)镃ICF方法在計(jì)算用戶相似度時(shí)充分考慮了項(xiàng)目之間的相似度,能夠通過項(xiàng)目屬性實(shí)現(xiàn)跨項(xiàng)目推薦,充分利用了共同評分項(xiàng)目以外的其它評分項(xiàng)目,可以更加準(zhǔn)確的計(jì)算出用戶之間的相似度,從而提高了預(yù)測的準(zhǔn)確度.
圖2 不同推薦算法計(jì)算的MAE比較Fig.2 MAE comparison of different recommendation algorithms
實(shí)驗(yàn)2.基于相似項(xiàng)目的評分預(yù)測
該實(shí)驗(yàn)將余弦、BCF、PMFUI方法使用本文提出的基于相似項(xiàng)目的評分預(yù)測公式與CICF方法做預(yù)測準(zhǔn)確度比較.選擇相似項(xiàng)目時(shí),我們將從鄰居用戶的評價(jià)項(xiàng)目中選擇與待預(yù)測項(xiàng)目的相似度不低于0.8的項(xiàng)目作為相似項(xiàng)目以確保相似項(xiàng)目與待預(yù)測項(xiàng)目的相關(guān)性.試驗(yàn)結(jié)果如圖3所示.此外,為了驗(yàn)證基于相似項(xiàng)目的評分預(yù)測公式與基于傳統(tǒng)的評分預(yù)測公式的準(zhǔn)確度,我們?nèi)=10做了圖4所示的對比.
圖3 不同相似度算法基于相似項(xiàng)目的MAE比較Fig.3 MAE comparison of different similarity algorithms based on similar items
圖4 兩種評分預(yù)測公式的對比Fig.4 Comparison of two different rating prediction
由圖3和圖4可以看出,不管是基于傳統(tǒng)的評分預(yù)測公式還是基于相似項(xiàng)目的評分預(yù)測公式,CICF方法總是優(yōu)于余弦、BCF和PMFUI方法.與此同時(shí),我們還可以發(fā)現(xiàn),基于相似項(xiàng)目的評分預(yù)測要優(yōu)于傳統(tǒng)的評分預(yù)測公式.這是因?yàn)榛谙嗨祈?xiàng)目的評分預(yù)測公式充分考慮了相似項(xiàng)目對評分預(yù)測的影響.當(dāng)最近鄰居集合中沒有對待預(yù)測項(xiàng)目進(jìn)行評分時(shí),傳統(tǒng)的評分預(yù)測公式則認(rèn)為該鄰居用戶對預(yù)測項(xiàng)目沒有影響,降低的預(yù)測的準(zhǔn)確度.因此,基于相似項(xiàng)目的評分預(yù)測更有效.
實(shí)驗(yàn)3.數(shù)據(jù)稀疏度對相似度算法的影響
該實(shí)驗(yàn)主要通過改變訓(xùn)練集與測試集數(shù)據(jù)占評分?jǐn)?shù)據(jù)的比例,觀察在不同稀疏性情況下的推薦精度.該實(shí)驗(yàn)分別選取20%、40%、60%以及80%的評分?jǐn)?shù)據(jù)作為訓(xùn)練集,相應(yīng)的80%、60%、40%以及20%的評分?jǐn)?shù)據(jù)作為測試集,最近鄰居數(shù)取K=10.實(shí)驗(yàn)結(jié)果如圖5所示.
圖5 不同稀疏性比較Fig.5 Comparison of different sparseness
圖5中,橫坐標(biāo)表示為訓(xùn)練數(shù)據(jù)所占的百分比,及不同稀疏度的數(shù)據(jù)集,縱坐標(biāo)表示MAE值.由圖可知,當(dāng)訓(xùn)練數(shù)據(jù)集所占比例不斷提高,這幾種算法的推薦效果也在不斷變好.圖中PMFUI方法的效果要比余弦方法好,而CICF方法比余弦和PMFUI方法更準(zhǔn)確.并且在評分預(yù)測公式中,使用基于相似項(xiàng)目的各個(gè)算法要比只使用傳統(tǒng)的評分預(yù)測公式更加準(zhǔn)確.另外,在評分?jǐn)?shù)據(jù)稀疏的情況下,基于相似項(xiàng)目的評分預(yù)測方法更加有效,并且CICF方法能夠達(dá)到較好的評分預(yù)測精度.這是因?yàn)椋谠u分?jǐn)?shù)據(jù)稀疏的情況下,用戶之間的共同評分項(xiàng)目減小,CICF方法在計(jì)算用戶相似度時(shí)充分考慮了項(xiàng)目之間的相似度,能夠通過項(xiàng)目屬性實(shí)現(xiàn)跨項(xiàng)目推薦,充分利用了共同評分項(xiàng)目以外的其它評分項(xiàng)目,可以更加準(zhǔn)確的計(jì)算出用戶之間的相似度,從而提高了預(yù)測的準(zhǔn)確度.
本文提出了一種嵌入項(xiàng)目元數(shù)據(jù)的跨項(xiàng)目協(xié)同過濾推薦算法.這是對傳統(tǒng)的協(xié)同過濾推薦算法中只能根據(jù)用戶在相同項(xiàng)目上的評分來進(jìn)行推薦的改進(jìn).本文通過嵌入項(xiàng)目元數(shù)據(jù),首先挖掘出用戶在有限的評分?jǐn)?shù)據(jù)上表現(xiàn)出來的項(xiàng)目偏好,利用貝葉斯概率將用戶對項(xiàng)目屬性的偏愛程度的差值作為項(xiàng)目的相似性度量,最后再利用推土機(jī)距離代替常規(guī)距離實(shí)現(xiàn)跨項(xiàng)目的用戶相似度計(jì)算.在進(jìn)行評分預(yù)測時(shí),將相似項(xiàng)目融入到評分預(yù)測公式中,能更有效的提高預(yù)測精度.一系列的實(shí)驗(yàn)證明,本文提出的算法與其它算法相比能進(jìn)一步提高推薦效果.在未來的工作中,我們將進(jìn)一步對算法優(yōu)化改進(jìn),考慮如何將文本內(nèi)容與視覺內(nèi)容融合到本文提出的算法中,以便進(jìn)一步改善推薦的效果.
[1] Wang L,Meng X,Zhang Y.A heuristic approach to social network-based and context-aware mobile services recommendation[J].Journal of Convergence Information Technology,2011,6(10):339-346.
[2] Abbas A,Zhang L,Khan S U.A survey on context-aware recommender systems based on computational intelligence techniques[J].Computing,2015,97(7):1-24.
[3] Zhang F,Yuan N J,Lian D,et al.Collaborative knowledge base embedding for recommender systems[C].ACM SIGKDD International Conference,ACM,2016:353-362.
[4] Rafailidis D,Crestani F.Collaborative ranking with social relationships for Top-N recommendations[C].ACM SIGIR Conference on Research and Development in Information Retrieval,ACM,2016:785-788.
[5] Sar Shalom O,Koenigstein N,Paquet U,et al.Beyond collaborative filtering: the list recommendation problem[C].International Conference on World Wide Web.International World Wide Web Conferences Steering Committee,2016:63-72.
[6] Guo Lei,Ma Jun,Chen Zhu-min,et al.Incorporating item relations for social recommendation[J].Chinese Journal of Computers,2014,37(1):219-228.
[7] Dong Y X,Tang J,Wu S,et al.Link prediction and recommendation across heterogeneous social networks[C].Proceedings of the ICMD.Washington: IEEE Computer Society,2012:181-190.
[8] Gao Quan-li,Gao Ling,Yang Jian-feng,et al.A preference elicitation method based on Users′ cognitive behavior for context-aware recommender system[J].Chinese Journal of Computers,2015,38(9):1767-1776.
[9] Bobadilla J,Ortega F,Hernando A.A collaborative filtering similarity measure based on singularities[J].Information Processing & Management,2012,48(2):204-217.
[10] Hu Y C.Recommendation using neighborhood methods with preference-relation-based similarity[J].Information Sciences,2014,284(6):18-30.
[11] Vasile F,Smirnova E,Conneau A.Meta-Prod2Vec:product embed
dings using side-information for recommendation[C].ACM Conference on Recommender Systems,ACM,2016:225-232.
[12] Patra B K,Launonen R,Ollikainen V,et al.A new similarity measure using Bhattacharyya coefficient for collaborative filtering in sparse data[J].Knowledge-Based Systems,2015,82(2):163-177.
[13] Li Y M,Wu C T,Lai C Y.A social recommender mechanism for e-commerce: Combining similarity,trust,and relationship[J].Decision Support Systems,2013,55(3):740-752.
[14] Zhang L,Xu J,Li C.A random-walk based recommendation algorithm considering item categories[J].Neurocomputing,2013,120(10):391-396.
[15] Pele O,Werman M.Fast and robust earth Mover′s distances[C].In:Proc.of the Int′l Conf.on Computer Vision,Piscataway: IEEE Computer Society,2009:460-467.
[16] Korte B H,Vygen J.Combinatorial optimization: theory and algorithms[M].Springer Publishing Company,2007.
[17] Applegate D,Dasu T,Krishnan S,et al.Unsupervised clustering of multidimensional distributions using earth mover distance[C].ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,San Diego,Ca,Usa,August.DBLP,2011:636-644.
[18] Harper F M,Konstan J A.The movie lens datasets: history and context[M].ACM,2015.
附中文參考文獻(xiàn):
[6] 郭 磊,馬 軍,陳竹敏,等.一種結(jié)合推薦對象間關(guān)聯(lián)關(guān)系的社會化推薦算法[J].計(jì)算機(jī)學(xué)報(bào),2014,37(1):219-228.
[8] 高全力,高 嶺,楊建鋒,等.上下文感知推薦系統(tǒng)中基于用戶認(rèn)知行為的偏好獲取方法[J].計(jì)算機(jī)學(xué)報(bào),2015,38(9):1767-1776.