余永紅 高 陽 王 皓 孫栓柱
1(南京郵電大學通達學院 南京 210003)
2(計算機軟件新技術國家重點實驗室(南京大學) 南京 210023)
3(江蘇省軟件新技術與產(chǎn)業(yè)化協(xié)同創(chuàng)新中心(南京大學) 南京 210023)
4(江蘇方天電力技術有限公司 南京 211100)
(yuyh.nju@gmail.com)
隨著互聯(lián)網(wǎng)技術的不斷發(fā)展,從海量數(shù)據(jù)中找到有價值的相關信息變得越來越困難.推薦系統(tǒng)[1]通過分析用戶的歷史活動數(shù)據(jù),挖掘用戶的潛在偏好,為用戶提供個性化的推薦服務,成為解決信息過載問題的有效手段,近年來受到學術界和工業(yè)界的廣泛關注.推薦系統(tǒng)的典型應用包括Amazon和淘寶的商品推薦、Netflix的電影推薦、Last.fm的音樂推薦、LinkedIn的朋友推薦、Google News的新聞推薦等.這些互聯(lián)網(wǎng)應用或者電商平臺通過部署推薦系統(tǒng),一方面滿足了用戶的個性化需求,減輕了信息過載的問題;另一方面提高了用戶的忠誠度,增加了企業(yè)的營業(yè)收入.
在推薦系統(tǒng)的研究中,協(xié)同過濾算法是目前應用最廣泛的推薦技術.協(xié)同過濾算法通過分析用戶的歷史反饋信息,預測用戶未來的偏好.由于協(xié)同過濾算法僅需要用戶的反饋信息,不需要用戶的概要信息和項目的描述信息,因此協(xié)同過濾的方法獨立于具體的應用領域,可以泛化到不同的應用領域中.然而,協(xié)同過濾算法存在數(shù)據(jù)稀疏、冷啟動等問題.數(shù)據(jù)稀疏導致協(xié)同過濾算法不能準確地根據(jù)用戶的評分數(shù)據(jù)計算用戶或者項目之間的相似性,從而嚴重影響協(xié)同過濾推薦算法的準確性.冷啟動指由于與新注冊用戶和新加入系統(tǒng)項目相關的評分數(shù)據(jù)較少,協(xié)同過濾推薦算法不能準確地找到相似用戶或者項目,因而不能為新注冊用戶提供個性化推薦,或者將新加入系統(tǒng)的項目推薦給感興趣的用戶.
隨著社交網(wǎng)絡的出現(xiàn),越來越多的推薦算法利用社交網(wǎng)絡提供的豐富信息來改進傳統(tǒng)推薦算法的性能,特別是解決傳統(tǒng)協(xié)同過濾方法中的冷啟動問題.基于社交網(wǎng)絡的推薦算法一般假設社交網(wǎng)絡中用戶的偏好受到朋友的影響,并且朋友之間具有相似的偏好.典型的基于社交網(wǎng)絡的推薦算法如SoRec[2],RSTE[3],SocialMF[4],TrustMF[5],TrustSVD[6]等.然而,已有的基于社交網(wǎng)絡的推薦算法忽略了2個事實:1)在不同的領域中,用戶信任不同的朋友;2)用戶不僅在不同領域中受到不同朋友的影響,而且不同用戶受朋友影響的程度不同.例如在某個社交網(wǎng)絡中,用戶u信任用戶v,用戶v在餐飲方面是權威,但是在電子產(chǎn)品方面是入門者.用戶u往往會接受用戶v在餐飲方面的建議;相反,在電子產(chǎn)品方面則不會接受用戶v的推薦,而會轉向在電子產(chǎn)品領域的權威朋友征詢意見.另外,當用戶v向用戶u推薦餐飲方面的產(chǎn)品時,如果用戶u自身不精通餐飲方面的知識,或者說在餐飲方面具有較低的社會地位,那么用戶u受到用戶v的影響程度較大;相反,如果用戶u對餐飲方面的知識也非常精通,換句話說,用戶u在餐飲方面具有較高的社會地位,那么用戶u受到用戶v的影響程度則較小.因此,在推薦系統(tǒng)中,針對不同的領域,考慮用戶在不同領域的社會地位可以更加準確地反映實際的推薦過程,從而有效地改進推薦算法的性能.
為了解決以上的問題,本文提出了融合用戶社會地位的矩陣分解推薦算法.首先結合整體社交網(wǎng)絡和用戶的評分反饋信息,利用用戶評分和用戶信任關系共現(xiàn)的原則來推導特定領域的用戶社交網(wǎng)絡結構;然后利用PageRank[7]算法計算每個特定領域內用戶的社會地位;最后以用戶社會地位來約束矩陣分解過程.在真實數(shù)據(jù)集上的實驗結果表明,本文提出融合用戶社會地位的矩陣分解推薦算法的性能優(yōu)于傳統(tǒng)的基于社交網(wǎng)絡推薦算法.
本節(jié)主要介紹2類典型的推薦算法,包括協(xié)同過濾推薦算法和基于社交網(wǎng)絡的推薦算法.
協(xié)同過濾推薦算法僅需分析用戶的歷史活動記錄(一般為用戶-項目評分矩陣)來進行推薦,不需要分析用戶概要信息和項目描述信息,避免了復雜的自然語言處理過程,是目前應用最廣泛的推薦技術.協(xié)同過濾推薦算法主要分為基于內存的協(xié)同過濾推薦算法、基于模型的協(xié)同過濾算法和混合推薦算法三大類[1].
基于內存的協(xié)同過濾推薦算法使用整個用戶-項目評分矩陣進行推薦.它的基本假設為:與當前活動用戶(active user)愛好相似用戶喜歡的項目,當前活動用戶可能也喜歡;或者,與當前活動用戶喜歡的項目相似的項目,用戶也可能喜歡.協(xié)同過濾推薦算法首先通過某種相似度度量指標找到與當前活動用戶或者目標項目相似的用戶或者相似的項目;然后利用相似用戶對目標項目評分的權重平均或當前活動用戶對相似項目評分的權重平均來預測當前活動用戶對目標項目的評分.典型的基于內存協(xié)同過濾算法包括基于用戶的協(xié)同過濾算法[8]和基于項目的協(xié)同過濾算法[9-10].
與基于內存協(xié)同過濾算法不同,基于模型的協(xié)同過濾算法使用統(tǒng)計和機器學習技術從用戶-項目評分矩陣中學習一個預測模型,預測模型刻畫用戶的行為模式,然后利用預測模型進行推薦.典型的基于模型的協(xié)同過濾算法包括:基于貝葉斯網(wǎng)絡推薦算法[11]、基于聚類模型推薦算法[12-14]、基于潛在語義分析推薦算法[15-16]、基于關聯(lián)規(guī)則推薦算法[17]、基于深度學習推薦算法[18-20].
基于內存協(xié)同過濾算法雖然易于實現(xiàn)而且預測質量較高,但是存在嚴重的可擴展性問題.隨著用戶數(shù)量和項目數(shù)量的不斷增長,較差的在線預測性能使得基于內存協(xié)同過濾推薦算法越來越不適應大規(guī)模的電子商務平臺.基于模型的協(xié)同過濾算法的響應速度往往比基于內存的協(xié)同過濾算法快,但是使用的理論模型復雜,有時并不能準確地擬合實際的數(shù)據(jù),另外模型的線下學習和更新過程時間較長.
自Netflix競賽以來,由于在處理大規(guī)模數(shù)據(jù)方面良好的可擴展性和準確的預測能力,基于矩陣分解的推薦算法[21]受到學術界和工業(yè)界的廣泛關注.基于矩陣分解的推薦算法認為僅有少量的隱藏因子影響用戶的偏好和刻畫項目的特征.因此,基于矩陣分解的推薦算法將用戶和項目的特征向量同時映射到低維的隱藏因子空間中.在低維的隱藏因子空間中,由于用戶偏好和項目特征之間的相關性可以直接計算,矩陣分解的推薦算法利用用戶和項目的低維特征向量的內積來預測用戶對項目的評分.典型的基于矩陣分解的推薦算法包括SVD++[22],NMF[23],MMMF[24],PMF[25],NPCA[26]等.
由于用戶-項目評分矩陣極度稀疏,導致協(xié)同過濾算法存在嚴重的冷啟動問題.如,當活動用戶的評分信息較少時,基于用戶協(xié)同過濾推薦算法[8]很難根據(jù)評分信息找到偏好相似的用戶.類似地,基于項目的協(xié)同過濾推薦算法[9-10]也不能準確地找到與目標項目相似的其他項目;基于矩陣分解的推薦算法很難準確地學習新注冊用戶或者新加入系統(tǒng)的項目的隱藏特征向量.
傳統(tǒng)協(xié)同過濾算法認為用戶之間是獨立的,忽略了用戶的社會屬性,即用戶總是存在于一個社交圈子中,與社交圈子內的其他用戶相互影響.社交網(wǎng)絡的出現(xiàn)為解決協(xié)同過濾推薦算法中的數(shù)據(jù)稀疏和冷啟動問題帶了契機.基于社會學中的同質理論[27]和社交影響理論[28],研究人員提出了幾種典型的基于社交網(wǎng)絡的推薦算法,如SoRec[2],RSTE[3],SocialMF[4],TrustMF[5],TrustSVD[6]等.
Ma 等人[2]提出了基于概率矩陣分解模型的推薦算法 SoRec.SoRec集成了用戶的評分信息和用戶的社交網(wǎng)絡信息,并通過用戶評分信息和用戶社交網(wǎng)絡信息之間共享用戶隱藏特征矩陣的方式來融合2種不同類型的信息源.為了更加準確直觀地對推薦過程進行建模,Ma等人[3]進一步提出了基于社交網(wǎng)絡的推薦算法RSTE.RSTE推薦算法假設用戶的最終決策是用戶自身偏好和朋友偏好的折中權衡,并通過集成參數(shù)來融合用戶自身偏好和朋友的偏好.在文獻[4]中,Jamali 等人提出了SocialMF推薦算法.SocialMF推薦算法在矩陣分解模型中集成了信任的傳遞機制來改進推薦算法的準確性.在SocialMF中,信任傳遞機制對于處理推薦系統(tǒng)中的冷啟動問題特別有效,因為新注冊用戶的隱藏特征向量依賴于此用戶最相似鄰居們的特征向量,而鄰居們的特征向量可以從他們的評分信息中學習,所以,一定程度上確保了新注冊用戶的隱藏特征向量可以被學習到.在文獻[5]中,Yang等人集成用戶評分信息和用戶信任關系信息,提出了TrustMF推薦算法.TrustMF認為用戶一方面受到信任朋友的評分信息和評論的影響;另一方面,用戶自身的評分信息和評論也會影響其他用戶的決定.TrustMF通過在信任關系矩陣上執(zhí)行矩陣分解,將用戶映射到2個不同的隱藏特征空間:信任特征空間和被信任特征空間.因此,在TrustMF中,每個用戶同時由信任特征向量和被信任特征向量描述.在文獻[6]中,Guo等人提出了基于社交網(wǎng)絡的推薦算法TrustSVD.TrustSVD擴展了SVD++算法,在SVD++算法的基礎上,綜合考慮了評分和信任值的顯式和隱式影響,使用已評分項目的隱藏特征向量和信任朋友的隱藏特征向量來表示用戶的隱藏特征向量.在文獻[29]中,郭弘毅等人提出了融合社區(qū)結構和興趣聚類的協(xié)同過濾算法.上述提及推薦算法的實驗結果表明,社交網(wǎng)絡信息有助于改進傳統(tǒng)協(xié)同過濾推薦算法的性能,特別是減輕冷啟動問題.
另外,為了建模信任關系的多面性,Yang等人[30]提出基于社交網(wǎng)絡圈的推薦算法.基于社交網(wǎng)絡圈的推薦算法首先從評分數(shù)據(jù)和社交網(wǎng)絡數(shù)據(jù)中推導特定領域的社交信任關系;然后在每個領域內應用SocialMF算法學習用戶隱藏特征向量和項目隱藏特征向量.Tang等人[31]認為用戶可能向社交網(wǎng)絡中朋友或者全局具有較高聲譽的用戶尋求建議,他們同時利用局部和全局的社交關系,提出了LOCABAL推薦算法.不同于Yang等人[30]提出基于社交網(wǎng)絡圈的推薦算法,本文提出的方法不僅考慮了不同領域的社交網(wǎng)絡圈,還考慮了不同社交網(wǎng)絡圈內用戶的社會地位存在差異,不同社會地位的用戶受到同一個領域內朋友的影響程度不同.LOCABAL利用PageRank算法在整個社交網(wǎng)絡中計算用戶的信譽值,但是未考慮不同領域內,用戶的信譽值是不同的.在一個包含多個領域項目的推薦系統(tǒng)中,來自于多種領域的社交關系混合在一起,這種方法不符合實際情況.與LOCABAL不同點在于,本文提出的方法考慮了用戶的信譽值或者社會地位在不同領域是不同的.
基于社交網(wǎng)絡的推薦系統(tǒng)往往包含2種不同類型的數(shù)據(jù)源:用戶-項目評分矩陣和社交網(wǎng)絡信息.用戶-項目評分矩陣RN×M由2種實體集合組成:N個用戶集合U={u1,u2,…,uN}和M個項目集合I={i1,i2,…,iM}.RN×M中的每項ru i是用戶u對項目i的評分.原則上,評分數(shù)據(jù)ru i可以為任意的實數(shù),但通常情況下,評分數(shù)據(jù)為整數(shù),而且ru i∈{0,1,2,3,4,5},其中0值表示用戶未對此項目進行評分.評分值越高意味著用戶對當前項目越滿意.用戶u評過分的項目集合表示為Iu(Iu?I).由于用戶通常只對少量的項目進行評分,用戶-項目評分矩陣RN×M通常非常的稀疏.例如MovieLens100K 和 MovieLens1M數(shù)據(jù)集中分別有93%和95%的評分項缺失,Netflix數(shù)據(jù)集評分缺失項更高達99%.用戶-項目評分矩陣的稀疏性是影響推薦準確性的重要因素.
社交網(wǎng)絡信息通常表示為有向社會關系圖G=(U,E),其中U是用戶集合,邊集合E表示用戶之間的社交信任關系.Tu,v∈[0,1]表示用戶u和用戶v之間信任權重,Tu,v=0意味著用戶u和用戶v之間沒有建立信任關系.推薦系統(tǒng)中所有用戶之間的信任關系組成信任關系矩陣T.需要注意的是:由于用戶之間信任關系往往不是相互的,所以信任關系矩陣T通常是非對稱的.
由于在處理大規(guī)模用戶-項目評分矩陣R方面的有效性,矩陣分解技術在推薦系統(tǒng)中被廣泛采用.矩陣分解的目標是通過分析用戶-項目評分矩陣R,學習用戶的隱藏特征矩陣P和項目隱藏特征矩陣Q,然后利用P和Q預測R中的缺失項.形式化地,設用戶的隱藏特征矩陣和項目隱藏特征矩陣分別為P∈K×N和Q∈K×M(K?min(N,M)),其中K為隱藏特征向量的維數(shù),矩陣分解的方法將用戶-項目評分矩陣R分解為2個低維的隱藏特征矩陣P和Q,然后用P和Q的乘積來近似評分矩陣R,即:
(1)
(2)
矩陣分解通過最小化誤差平方和損失函數(shù)來學習隱藏特征矩陣P和Q,即:
(3)
一般使用梯度下降或者隨機梯度下降的算法求解式(3)定義的目標函數(shù)的局部最優(yōu)解.另外,從貝葉斯的角度出發(fā),上述描述的矩陣分解算法等價于概率矩陣分解算法(PMF)[25].
本文擴展了上述矩陣分解方法,特別是在其中融合了用戶社會地位信息.
本節(jié)詳細描述本文提出的融合用戶社會地位和矩陣分解的推薦算法.首先描述融合用戶社會地位和矩陣分解推薦算法的框架,然后詳細介紹此推薦算法的模型和參數(shù)學習過程.
融合用戶社會地位和矩陣分解的推薦算法框架如圖1所示:
Fig. 1 The framework of our proposed recommendation algorithm圖1 融合用戶社會地位和矩陣分解的推薦算法框架
融合用戶社會地位和矩陣分解的推薦算法主要由用戶-項目評分數(shù)據(jù)劃分和特定類別用戶社交網(wǎng)絡的推導、用戶社會地位的計算、用戶社會地位增強的矩陣分解和評分預測等部分組成.
(4)
2) 用戶社會地位的計算.在社交網(wǎng)絡中,社交網(wǎng)絡的結構一定程度上反映了用戶的社會地位.如社會地位高的用戶往往可以為其他用戶提供有價值的參考信息,因而擁有大量的in-link;社會地位低的用戶一般喜歡參考社會地位高的用戶的建議,因而具有較多的out-link、較少的in-link.目前有大量的算法根據(jù)社交網(wǎng)絡的結構計算用戶在社交網(wǎng)絡中的社會地位,如PageRank[7],HIST[32].本文在Tc基礎上,首先采用PageRank算法計算用戶在每個類別下的PageRank值.設PRc∈Nc表示所有用戶在社交關系矩陣Tc中的PageRank值,Nc表示Tc中用戶的數(shù)量.用戶u在類別c內的PageRank值PRc(u)可以表示為
(6)
4) 評分預測.預測缺失項的評分值:
(7)
在社交網(wǎng)絡中,不同的用戶往往具有不同的社會地位,社會地位低的用戶通常會向社會地位高的用戶征求意見;反之,社會地位高的用戶則較少考慮社會低的用戶的建議.換句話說,社會地位高的用戶往往受到其他用戶的影響?。簧鐣匚坏偷挠脩魟t由于缺乏相關領域的知識,受到其他用戶的影響大.因此,本文使用用戶社會地位衡量用戶評分的重要性,即:
(8)
加上防止過擬合的正則化項后,目標函數(shù)定義為
(9)
式(9)僅從社交網(wǎng)絡全局的角度考慮用戶社會地位對用戶評分的影響,但是未考慮用戶的行為同時受到朋友的影響,即式(9)未考慮局部的社會影響力.
為了在矩陣分解的過程考慮局部社會影響力對用戶行為的影響,本文在由式(9)定義的目標函數(shù)基礎上,加上正則化項:
(10)
使得用戶的隱藏特征向量依賴于其信任用戶的隱藏特征向量.這種方法對于處理推薦系統(tǒng)的冷啟動問題特別有效.對于新加入系統(tǒng)的用戶,由于其評分數(shù)據(jù)較少,矩陣分解的方法不能準確地根據(jù)評分數(shù)據(jù)學習用戶的隱藏特征向量.新用戶雖然評分數(shù)據(jù)較少,但是可能與其他用戶建立了信任關系,通過式(10)可以使新加入系統(tǒng)的用戶的隱藏特征向量與其信任朋友的隱藏特征向量盡可能地靠近,從而間接地學習新用戶的隱藏特征向量.
(11)
(12)
(13)
為了驗證融合用戶社會地位和矩陣分解推薦算法的性能,本文在真實的數(shù)據(jù)集上與其他流行的推薦算法進行了對比分析.
本文選擇Epinions數(shù)據(jù)集驗證本文提出推薦算法的性能.Epinions數(shù)據(jù)集中含有用戶評分、社交關系和項目類別等信息.在Epinions中,用戶可以瀏覽其他用戶對產(chǎn)品的評分和評論信息,同時用戶以評分和評論的方式發(fā)表自己的意見.Epinions中的產(chǎn)品按類別分類,如電影類、數(shù)字產(chǎn)品類和書籍類等.另外,Epinions中的每個用戶維護一個信任用戶列表.Epinions中信任關系是有向的,信任值是二值的.
本文使用的Epinions數(shù)據(jù)集是由文獻[27]的作者提供的.此數(shù)據(jù)集包含922 267條評分記錄、22 166個用戶和296 277個產(chǎn)品、355 813條信任關系.用戶-項目評分矩陣的稀疏度為99.986%,用戶評分記錄基本符合冪律分布,如圖2所示.從圖2可以觀察,Epinions數(shù)據(jù)集中大量用戶僅提供較少的評分記錄.
Fig. 2 The power-law distribution of users for Epinions dataset圖2 Epinions數(shù)據(jù)集的用戶評分冪律分布
Epinions中的產(chǎn)品分為27個類別,用戶涉及的類別數(shù)量分布如圖3所示.
Fig. 3 Distribution of users for different number of categories for Epinions dataset圖3 Epinions數(shù)據(jù)集的用戶涉及項目類別分布
從圖3可以觀察,用戶平均涉及到的項目類別數(shù)較少,僅21.7%的用戶涉及到的類別數(shù)超過10,也就是說,用戶并不是對所有的類別都感興趣,因而不能在所有類別上影響朋友的評分行為.這也表明了本文提出的推薦算法對用戶評分數(shù)據(jù)和社交關系按項目類別分類處理的必要性.本文選取“Movie”,“Home Garden”,“Education”這3個類別的子數(shù)據(jù)集來驗證本文提出的推薦算法.“Movie”,“Home Garden”,“Education”分別代表大、中、小規(guī)模的數(shù)據(jù)集.經(jīng)過評分數(shù)據(jù)劃分和特定類別的用戶社交網(wǎng)絡的推導后,3個類別數(shù)據(jù)集統(tǒng)計信息如表1所示:
Table 1 Statistics of Three Data Sets表1 數(shù)據(jù)集統(tǒng)計信息
目前,在推薦系統(tǒng)研究領域有很多不同的度量指標被用來度量推薦算法的性能.例如平均絕對值誤差(mean absolute error,MAE)、均方根誤差(root mean squared error,RMSE)和歸一化的平均絕對值誤差(normalized mean absolute error,NMAE)等.本文采用RMSE來評價推薦算法的性能.RMSE的定義為
(14)
為了驗證本文提出推薦算法的有效性,我們選取如下的推薦算法作為對比方法.
1) PMF.PMF是由Mnih和Salakhutdinov[25]提出,可以看作是 SVD模型的概率擴展,它僅利用用戶-項目評分矩陣來生成推薦項.
2) SoRec.SoRec[2]同時分解用戶評分矩陣和用戶信任關系矩陣,并以用戶評分矩陣和用戶信任關系矩陣共享用戶隱藏特征矩陣的方式來融合評分信息和社交網(wǎng)絡信息.不同于PMF,SoRec是一個基于社交網(wǎng)絡的推薦算法,它同時利用用戶評分信息和社交網(wǎng)絡信息來為用戶提供推薦服務.
3) RSTE.RSTE[3]在產(chǎn)生推薦項過程中考慮了用戶自身偏好和朋友偏好,并通過集成參數(shù)來融合用戶自身偏好和朋友偏好.RSTE是一種基于社交網(wǎng)絡的推薦算法.
4) SocialMF.SocialMF是由Jamali等人[4]提出的一種基于社交網(wǎng)絡的推薦算法.SocialMF在PMF中加入信任的傳遞機制來提高推薦算法的準確性.
5)TrustMF.TrustMF[5]認為用戶的行為既受到其他用戶評分和評論的影響,同時他的評分和評論也會影響其他用戶.TrustMF在用戶信任關系矩陣上執(zhí)行矩陣分解,將用戶映射到2個不同隱藏特征空間:信任特征空間和被信任特征空間.
我們隨機從用戶-項目評分矩陣中抽取80%的數(shù)據(jù)作為訓練集,剩余20%的數(shù)據(jù)作為測試數(shù)據(jù).這種隨機抽取獨立地執(zhí)行5次,以5次運行結果的平均值作為最后的運行結果.為了公平對比,我們參照對比算法的相應文獻或者實驗結果設置不同算法的參數(shù),在這些參數(shù)設置下,各對比算法取得最優(yōu)性能.在PMF中,λU=λV=0.03;在SoRec中,λU=λV=λZ=0.001,λC=1;在RSTE中,λU=λV=0.001,α=0.4;在SocialMF中,λU=λV=0.001,λT=1;在TrustMF中,λ=0.001,λT=1;對于本文提出的方法,λ1=λ2=0.001,λ3在3個數(shù)據(jù)集上分別設置為0.5,0.1,0.1.另外,我們設置PMF的學習率η=0.05,本文提出的推薦算法的學習率η=0.03,其他基于社交網(wǎng)絡推薦算法的學習率η=0.001.
另外,對于SoRec,RSTE,SocialMF,TrustMF,我們使用Epinions中所有的社交關系來訓練預測模型,對于本文提出的方法,使用3.1節(jié)中推導的特定領域的社交關系來訓練預測模型.
實驗運行環(huán)境為:4核Intel?Xeon?E3-1225 CPU,3.2 GHz主頻,8 GB內存,Window7操作系統(tǒng)和J2SE1.7.
在隱藏特征維度值K=10和K=20情況下,所有對比算法在3個數(shù)據(jù)集上的實驗結果如表2~4所示.
Table 2 Performance Comparison on Education 表2 在Education數(shù)據(jù)集上的性能對比
Table 3 Performance Comparison on Home Garden 表3 在Home Garden數(shù)據(jù)集上的性能對比
Table 4 Performance Comparison on Movie表4 在Movie數(shù)據(jù)集上的性能對比
從表2~4可以發(fā)現(xiàn):
1) 基于社交網(wǎng)絡的推薦算法的性能優(yōu)于僅利用用戶評分信息的推薦算法,再次驗證了社交網(wǎng)絡信息有助于改進推薦算法的性能.
2) 在3個數(shù)據(jù)集上,本文提出的融合用戶社會地位的矩陣分解推薦算法的推薦準確度高于其他對比算法,說明了本文提出算法的有效性.在Education,Home Garden,Movie數(shù)據(jù)集上,K=20時,與PMF,SoRec,RSTE,SocialMF,TrustMF中的最優(yōu)結果對比,本文提出算法的改進幅度分別為9.2%,1.4%,1.3%.
3) 在3個數(shù)據(jù)集上,隨著K的增加,所有對比算法的性能下降,說明增加隱藏特征向量的維數(shù)不能有效提高矩陣分解算法的準確性,這也驗證了矩陣分解算法的假設:僅有少量的隱藏因子影響用戶的偏好和刻畫項目的特征.
4) 在K=10時,對比PMF,SoRec,SocialMF,RSTE,TrustMF,RSTE在Education數(shù)據(jù)集上取得最優(yōu)性能,SocialMF 在 Home Garden和Movie數(shù)據(jù)集上取得最優(yōu)性能.這可能是由于Movie,Home Garden中的用戶平均信任關系數(shù)大于Education中的用戶平均信任關系數(shù),即在用戶平均信任關系數(shù)較大時SocialMF的推薦準確性較高,在用戶平均信任關系數(shù)較小時RSTE的推薦準確性高.
在本文提出的推薦算法中,參數(shù)λ3是一個影響推薦性能的重要參數(shù).較大的λ3值意味著我們在矩陣分解模型中更加依賴社交網(wǎng)絡關系.在極端的情況下,如λ3=∞,本文提出的推薦算法將完全依賴社交網(wǎng)絡關系來學習用戶和項目隱藏特征向量,而忽視用戶的評分信息;相反,較小的λ3值意味著我們賦予用戶評分信息更多的權重,如λ3=0表示推薦算法完全依賴用戶評分信息來學習用戶和項目隱藏特征向量.在本節(jié)中,我們設置λ3為0,0.01,0.1,0.5,1,5來檢驗λ3對本文提出推薦算法的影響.在本組實驗中,設置隱藏特征向量的維數(shù)K=10.實驗結果如圖4所示.
Fig. 4 The impact of λ3圖4 λ3的影響
從圖4可以看出,參數(shù)λ3確實影響本文提出推薦算法的性能.其次,在3個數(shù)據(jù)集上,RMSE的值呈現(xiàn)類似的變化趨勢:隨著λ3的增加,RMSE先降低,推薦準確性提高,到達最優(yōu)值后,RMSE隨λ3的增加而增加,推薦準確性降低.最后,在3個數(shù)據(jù)集上,本文提出的推薦算法并沒有在同一個λ3值下獲得最低RMSE,說明數(shù)據(jù)集不同則本文提出推薦算法對社交網(wǎng)絡信息的依賴程度不同.在Movie,Home Garden和 Education上,RMSE分別在λ3=0.5,0.1,0.1時取得最優(yōu)性能,表示本文提出的推薦算法在Movie數(shù)據(jù)集上更加依賴社交網(wǎng)絡信息.這是由于在Movie類別中,用戶平均信任關系數(shù)比Home Garden和 Education中的用戶平均信任關系數(shù)相對大.
隱藏特征向量的維數(shù)K是影響本文提出融合用戶社會地位和矩陣分解推薦算法性能的另一個重要參數(shù).在本節(jié)中,我們變化K的值,從5~50,遞增步長為5,觀察RMSE在3個數(shù)據(jù)集上的變化情況.參數(shù)λ3分別設置為0.5,0.1,0.1.實驗結果如圖5所示:
Fig. 5 The impact of K圖5 K的影響
從圖5可以觀察到,隨著K的遞增,RMSE的值先增加,后趨于穩(wěn)定,整體推薦性能下降.這個觀察結果表明:雖然K值增大使得矩陣分解模型可以表示較多的隱藏特征,但是同時會引入一些噪音,降低矩陣分解推薦算法的準確性.這個觀察結果再次驗證了矩陣分解模型的基本假設:僅有少量的隱藏因子影響用戶的偏好和刻畫項目的特征.
在本節(jié)中,我們對比不同推薦算法的模型訓練時間,以檢驗本文提出推薦算法的效率.在Movie,Home Garden,Education數(shù)據(jù)集上,參數(shù)λ3分別設置為0.5,0.1,0.1,K=10.其他對比推薦算法的參數(shù)設置同4.3節(jié).不同推薦算法在3個數(shù)據(jù)集上的模型訓練時間如表5所示:
Table 5 The Runtime of Model Training (min:sec)表5 模型訓練時間(分:秒)
從表5可以觀察到,PMF在3個數(shù)據(jù)集上的模型訓練時間最少.這是由于PMF在學習用戶和項目隱藏特征向量時,未考慮社交網(wǎng)絡關系對用戶隱藏特征向量的影響.在基于社交網(wǎng)絡的推薦算法中,SoRec和TrustMF在效率方面勝過SocialMF,RSTE和本文提出的推薦算法.就模型訓練時間而言,這說明在用戶評分矩陣和用戶社交關系矩陣中共享用戶隱藏特征向量的推薦模型(即SoRec和TrustMF)優(yōu)于通過社交關系約束用戶隱藏特征向量的模型(即SocialMF和RSTE).本文提出的推薦算法在Movie和 Home Garden數(shù)據(jù)集上,效率高于SocialMF和RSTE算法,在Education數(shù)據(jù)集上效率優(yōu)于SoRec,RSTE,SocialMF,TrustMF.
綜上所述,從實驗結果看出:本文提出的融合用戶社會地位和矩陣分解的推薦算法在3個數(shù)據(jù)集上的推薦準確性優(yōu)于對比算法,在模型學習的效率方面,與目前主流的基于社交網(wǎng)絡推薦算法相當.
基于社交網(wǎng)絡的推薦算法一般假設社交網(wǎng)絡中用戶的偏好受到朋友的影響,并且朋友之間具有類似的偏好.然而,在現(xiàn)實生活中,用戶在不同的領域往往信任不同的朋友;另外,用戶在不同領域具有不同的社會地位,因此,用戶在不同的領域內,受朋友的影響程度各不相同.為了解決傳統(tǒng)基于社交網(wǎng)絡推薦算法中存在的上述問題,本文提出了融合用戶社會地位和矩陣分解的推薦算法.首先利用用戶評分和社交信任關系共現(xiàn)的原則來推導特定領域內的用戶社交網(wǎng)絡結構;然后利用PageRank算法計算每個特定領域內用戶的社會地位;最后以用戶社會地位來約束矩陣分解過程.在真實數(shù)據(jù)集上的實驗結果表明,本文提出融合用戶地位信息的矩陣分解推薦算法的性能優(yōu)于傳統(tǒng)的基于社交網(wǎng)絡推薦算法.
本文僅考慮以社交網(wǎng)絡結構信息來衡量用戶的社會地位,而用戶的評分信息以及用戶的評論信息也在一定程度上反映了用戶的社會地位.結合社交網(wǎng)絡結構信息、評分信息和評論信息來衡量用戶的社會地位是本文未來的研究方向;另外,現(xiàn)實的生活場景中,用戶往往只提供隱式的反饋信息,如購買記錄、點擊記錄等,即此時我們面對的是One-Class Collaborative Filtering[33-35]問題.在One-Class Collaborative Filtering推薦場景中,如何學習用戶的社會地位值,并將其用于改進推薦算法的性能也是本文未來的研究方向.最后,深度學習技術已經(jīng)在自然語言處理、計算機視覺等領域表現(xiàn)出強大的潛力,結合深度學習技術來改進現(xiàn)有的推薦算法將是推薦系統(tǒng)研究領域中一個非常有趣的研究方向.
[1] Adomavicius G, Tuzhilin A. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions[J]. IEEE Trans on Knowledge and Data Engineering, 2005, 17(6): 734-749
[2] Ma Hao, Yang Haixuan, Lyu M R, et al. SoRec: Social recommendation using probabilistic matrix factorization[C] //Proc of the 17th ACM Conf on Information and Knowledge Management (CIKM’08). New York: ACM, 2008: 931-940
[3] Ma Hao, King I, Lyu M R. Learning to recommend with social trust ensemble[C] //Proc of the 32nd Int ACM SIGIR Conf on Research and Development in Information Retrieval (SIGIR’09). New York: ACM, 2009: 203-210
[4] Jamali M, Ester M. A matrix factorization technique with trust propagation for recommendation in social networks[C] //Proc of the 4th ACM Conf on Recommender Systems (RecSys’10). New York: ACM, 2010: 135-142
[5] Yang Bo, Lei Yu, Liu Dayou, et al. Social collaborative filtering by trust[C] //Proc of the 23rd Int Joint Conf on Artificial Intelligence (IJCAI’13). Menlo Park, CA: AAAI, 2013: 2747-2753
[6] Guo Guibing, Zhang Jie, Yorke-Smith N. TrustSVD: Collaborative filtering with both the explicit and implicit influence of user trust and of item ratings[C] //Proc of the 29th AAAI Conf on Artificial Intelligence (AAAI’15). Menlo Park, CA: AAAI, 2015: 123-129
[7] Page L, Brin S, Motwani R, et al. The PageRank citation ranking: Bringing order to the Web[R]. Stanford InfoLab. 1999 [2017-02-05]. http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf
[8] Resnick P, Iacovou N, Suchak M, et al. GroupLens: An open architecture for collaborative filtering of netnews[C] //Proc of the 1994 ACM Conf on Computer Supported Cooperative Work. New York: ACM, 1994: 175-186
[9] Sarwar B, Karypis G, Konstan J, et al. Item-based collaborative filtering recommendation algorithms[C] //Proc of the 10th Int Conf on World Wide Web (WWW’01). New York: ACM, 2001: 285-295
[10] Linden G, Smith B, York J. Amazon. com recommenda-tions: Item-to-item collaborative filtering[J]. Internet Computing, 2003, 7(1): 76-80
[11] Breese J S, Heckerman D, Kadie C. Empirical analysis of predictive algorithms for collaborative filtering[C] //Proc of the 14th Conf on Uncertainty in Artificial Intelligence (UAI’98). San Francisco, CA: Morgan Kaufmann, 1998: 43-52
[12] Ungar L H, Foster D P. Clustering methods for collaborative filtering[C] //Proc of the AAAI Workshop on Recommendation Systems. Menlo Park, CA: AAAI, 1998, 1: 114-129
[13] Xue GuiRong, Lin Chenxi, Yang Qiang, et al. Scalable collaborative filtering using cluster-based smoothing[C] //Proc of the 28th Annual Int ACM SIGIR Conf on Research and Development in Information Retrieval (SIGIR’05). New York: ACM, 2005: 114-121
[14] Yu Yonghong, Wang Can, Gao Yang, et al. A coupled clustering approach for items recommendation[C] //Proc of the 17th Pacific-Asia Conf on Knowledge Discovery and Data Mining (PAKDD’13). Berlin: Springer, 2013: 365-376
[15] Hofmann T. Latent semantic models for collaborative filtering[J]. ACM Trans on Information Systems, 2004, 22(1): 89-115
[16] Hofmann T. Collaborative filtering via Gaussian probabilistic latent semantic analysis[C] //Proc of the 26th Annual Int ACM SIGIR Conf on Research and Development in Information Retrieval (SIGIR’03). New York: ACM, 2003: 259-266
[17] Sarwar B, Karypis G, Konstan J, et al. Analysis of recommendation algorithms for e-commerce[C] //Proc of the 2nd ACM Conf on Electronic Commerce. New York: ACM, 2000: 158-167
[18] Wang Hao, Wang Naiyan, Yeung Dit-Yan. Collaborative deep learning for recommender systems[C] //Proc of the 21st ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining (KDD’15). New York: ACM, 2015: 1235-1244
[19] Li Sheng, Kawale J, Fu Yun. Deep collaborative filtering via marginalized denoising auto-encoder[C] //Proc of the 24th ACM Int on Conf on Information and Knowledge Management (CIKM’15). New York: ACM, 2015: 811-820
[20] Liang Huizhi, Baldwin T. A probabilistic rating auto-encoder for personalized recommender systems[C] //Proc of the 24th ACM Int Conf on Information and Knowledge Management (CIKM’15). New York: ACM, 2015: 1863-1866
[21] Koren Y, Bell R, Volinsky C. Matrix factorization techniques for recommender systems[J]. Computer, 2009,42(8): 30-37
[22] Koren Y. Factorization meets the neighborhood: A multifaceted collaborative filtering model[C] //Proc of the 14th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining (KDD’08). New York: ACM, 2008: 426-434
[23] Lee D D, Seung H S. Learning the parts of objects by non-negative matrix factorization[J]. Nature, 1999, 401(6755): 788-791
[24] Weimer M, Karatzoglou A, Le Q V, et al. Maximum margin matrix factorization for collaborative ranking[C] //Proc of the 21st Annual Conf on Neural Information Processing Systems (NIPS’07). New York: Curran Associates, 2007: 1-8
[25] Mnih A, Salakhutdinov R. Probabilistic matrix factorization[C] //Proc of the 21st Annual Conf on Neural Information Processing Systems (NIPS’07). New York: Curran Associates, 2007: 1257-1264
[26] Yu Kai, Zhu Shenghuo, Lafferty J, et al. Fast nonparametric matrix factorization for large-scale collaborative filtering[C] //Proc of the 32nd Int ACM SIGIR Conf on Research and Development in Information Retrieval (SIGIR’09). New York: ACM, 2009: 211-218
[27] McPherson M, Smith-Lovin L, Cook J M. Birds of a feather: Homophily in social networks[J]. Annual Review of Sociology, 2001,27: 415-444
[28] Marsden P V, Friedkin N E. Network studies of social influence[J]. Sociological Methods & Research, 1993, 22(1): 127-151
[29] Guo Hongyi, Liu Gongshen, Su Bo, et al. Collaborative filtering recommendation algorithm combining community structure and interest clusters[J]. Journal of Computer Research and Development, 2016, 53(8): 1664-1672 (in Chinese)
(郭弘毅, 劉功申, 蘇波, 等. 融合社區(qū)結構和興趣聚類的協(xié)同過濾推薦算法[J]. 計算機研究與發(fā)展, 2016, 53(8): 1664-1672)
[30] Yang Xiwang, Steck H, Liu Yong. Circle-based recommendation in online social networks[C] //Proc of the 18th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining (KDD’12). New York: ACM, 2012: 1267-1275
[31] Tang Jiliang, Hu Xia, Gao Huiji, et al. Exploiting local and global social context for recommendation[C] //Proc of the 23rd Int Joint Conf on Artificial Intelligence (IJCAI’13). Menlo Park, CA: AAAI, 2013: 2712-2718
[32] Kleinberg J M. Authoritative sources in a hyperlinked environment[J]. Journal of the ACM, 1999, 46(5): 604-632
[33] Pan Rong, Zhou Yunhong, Cao Bin, et al. One-class collaborative filtering[C] //Proc of the 8th IEEE Int Conf on Data Mining (ICDM’08). Los Alamitos, CA: IEEE Computer Society, 2008: 502-511
[34] Hu Yifan, Koren Y, Volinsky C. Collaborative filtering for implicit feedback datasets[C] //Proc of the 8th IEEE Int Conf on Data Mining (ICDM’08). Los Alamitos, CA: IEEE Computer Society, 2008: 263-272
[35] Zhao Tong, McAuley J, King I. Leveraging social connections to improve personalized ranking for collaborative filtering[C] //Proc of the 23rd ACM Conf on Information and Knowledge Management (CIKM’14). New York: ACM, 2014: 261-270