(西華大學計算機與軟件工程學院,四川 成都 610039)
·計算機軟件理論、技術與應用·
一種融合用戶偏好與信任度的增強協同過濾推薦方法
范永全, 杜亞軍, 成麗靜, 朱愛云
(西華大學計算機與軟件工程學院,四川 成都 610039)
協同過濾是一種最流行的推薦技術,但仍然受到數據稀疏和冷啟動問題的困擾。針對Shambour提出的信任—語義融合(TSF)的混合推薦方法中計算量較大的問題,提出一種融合用戶偏好與信任度的增強協同過濾推薦方法。該方法在計算評分預測時,對基于用戶的信任增強協同過濾算法進行改進,先將用戶相似度和信任度分別進行近鄰選擇和加權評分,再通過一個加權因子對2部分進行融合,從而得到總體的預測評分。在Movielens數據集下進行仿真驗證,其結果表明,與基準算法相比,本文方法具有更好的MAE性能。
信任; 協同過濾; 推薦系統; 相似度; MAE
隨著互聯網的不斷發展和普及,人們面臨著日益嚴重的信息過載問題。協同過濾推薦因為簡單高效,已經成為目前最流行的個性化推薦方法;然而協同過濾方法容易受到數據稀疏和冷啟動問題的困擾。隨著在線社會網絡的普及,利用社會網絡中用戶之間的信任關系,來緩解傳統協同推薦存在問題的信任感知推薦系統(TARS),成為推薦領域新的研究熱點[1-5]。
Massa等[6]提出使用信任度取代相似度的TARS系統,根據信任網絡傳播來估計一個信任度的權值。該方法增加了覆蓋范圍(可預測的評分總數),并未降低精確度(預測誤差),但需要用戶的顯式信任聲明。Yuan等[7]根據隱含信任網絡的小世界特性,提出一種基于用戶相似度的隱含信任感知推薦系統(iTARS),把用戶從顯式的信任聲明的煩惱中解脫出來,但是該方法需要根據用戶之間的相似度構建隱含的信任網絡,并估算信任網絡的平均路徑長度。Ma等[8]把用戶之間的直接信任關系融入矩陣分解過程,提出了融合社會信任的協同推薦算法RSTE(recommend with social trust ensemble),但是沒有考慮信任關系的傳遞。Jamali 等[9]提出一種隨機游走 (TrustWalker)策略,融合了基于信任和基于項目的協同過濾推薦;但由于受到評分數據稀疏性的影響,推薦精度不高。李慧等[10]提出一種融合信任度與矩陣分解技術實現社會網絡推薦的方法,用來降低虛假評分或惡意評分給推薦系統帶來的負面影響,有效地緩解數據稀疏性與冷啟動問題。徐守坤等[2]提出一種以本體、語義Web為基礎的方法,通過構建用戶之間的信任網絡以及計算用戶間的信任權重值,從而增加系統中相似用戶發現的數量,改善推薦結果的準確性和可靠性,但是沒有在真實的數據集進行充分的實驗驗證。為有效緩解數據稀疏問題,杜永萍等[1]將信任關系作為影響推薦的一個重要因素,利用信任關系的條件可傳遞性,設計并構造一個混和信任網絡,為目標用戶選取基于興趣和信任雙重因素的二維相似近鄰。其結果表明該方法可以為目標用戶獲取新的潛在信任關系。Qusai等[11]在CF框架下融合了用戶信任和項目語義信息,提出一種稱為信任語義融合(trust semantic fused,TSF)的混合協同過濾方法,改善了推薦的準確度和覆蓋率;但是該方法需要分別考慮基于用戶信任的增強協同過濾和基于項目語義的增強協同過濾,并將二者的結果進行融合,計算量較大。本文對文獻[11]中的用戶信任算法進行改進,提出了一種融合用戶偏好(相似度)和信任度的增強協同過濾推薦方法,該方法利用用戶的評分信息來計算用戶之間的隱含信任,并通過信任傳播來解決數據稀疏問題,算法的性能通過在MovieLens 數據集下的仿真得到了驗證。
信任感知推薦系統(TARS)可以處理用戶之間的信任關系。基于信任的推薦系統利用帶有信任評分的增強社交網絡,基于用戶所信任的人來為他們產生推薦。信任網絡是一個有向圖,其中節點代表用戶,邊代表一個用戶對另一個的信任關系。通過利用信任信息,基于信任的推薦系統讓用戶知道該推薦的來源要么是從當前用戶直接信賴的人,要么是間接通過信任傳播方法由其他信任的用戶形成。信任傳播經常被使用來推斷信任,并在沒有直接鏈接的用戶之間建立新的信任關系[6]。經過驗證,基于信任的推薦系統可以提供比傳統的協同過濾更好的效果,特別是在緩解數據稀疏和用戶冷啟動方面[6-7]。目前文獻中主要采用2種信任過濾方法:顯式信任和隱式信任。顯式信任過濾方法是從用戶之間的預先存在的社會關系獲得信任值[6];然而,顯式信任過濾需要用戶進行顯式聲明以獲得對某用戶的明確信任,用戶需要付出額外勞動,并且顯式信任過濾易受到用戶冷啟動問題的影響,因為在有效過濾之前,新用戶必須先建立自己的信任網絡。這些局限性限制了顯式信任過濾方法在推薦系統中的適用性,使得隱含信任過濾方法[7]更可行。隱含信任基于項目評分[7, 11]推導用戶之間的信任值。用戶b對給定用戶a過去的評分預測得越準確,則用戶b的可信度就越高。本文采用隱含信任,假定相似度較高的用戶之間也具有較高的信任度,并根據用戶相似度來計算用戶之間的隱含信任。
為了計算用戶a對項目x的預測評分,文獻[11]提出了一種基于用戶信任的增強協同過濾算法,其主要步驟為:1)計算增強的用戶相似度;2)計算用戶之間的隱含信任并進行信任傳播;3)根據相似度和信任度進行近鄰選擇;4)計算最終的預測評分。
2.1計算增強的用戶相似度
計算用戶之間相似度的方法[11-12]有很多,常用的有約束皮爾遜相關(CPC)、均方偏差(MSD)和Jaccard相似度。這里使用它們的組合來計算用戶之間的相似度和信任度。
約束皮爾遜相關(CPC)
CPCa,b=

(1)

均方偏差相關(MSD)

(2)
式中,max、min分別代表用戶評分的最大值和最小值。式(1),(2)的相似度機制是基于用戶共同評分的項目來度量相似度。這種機制有一個共同缺點,就是在數據稀疏的情況下,2個用戶可能僅僅有一個共同評分項目且評分完全相同,這種情況下采用上面公式計算出來的二者相似度為1,這將造成較大的誤差。與上面2種相似度不同,Jaccard相似度是基于用戶共同評分的項目個數來度量的,其公式為

(3)
式中:Ia,b代表由用戶a、b共同評分的項目集合;|Ia,b|代表由活動用戶a和潛在鄰居用戶b共同評分的項目數。
參與了較多項目評分的用戶優于僅分享了少量項目評分的用戶,因此文獻[11]結合了皮爾遜相關系數(CPC)和Jaccard相似度,即對任意a,b∈U,采用CPCa,b與Jaca,b的乘積來計算用戶a,b之間增強的相似度eSima,b,且eSima,b∈ [-1,1]。
eSima,b=CPCa,b× Jaca,b。
(4)
2.2計算隱含信任及信任傳播
該步驟分為2個關聯的環節:信任推導和信任傳播。信任推導以評分矩陣為輸入,計算每一對用戶的直接隱含信任值,根據直接信任值,構建用戶之間的信任網絡;然后,通過信任傳播來計算信任網絡中無直接連接的用戶之間的間接信任值。
2.2.1 直接信任的計算
通過對活動用戶以往評分的預測準確度來度量一個給定用戶的信任度,例如,如果用戶b過去對用戶a的以往評分表達了較準確的推薦,那么用戶b就應該從用戶a得到一個較高的信任。對信任推導,這里使用增強用戶相似度來測量它對目標用戶的信任度,即對于任意用戶a、b,基于二者共同評分項目的增強用戶CF相似度來測量用戶a對用戶b的信任度。
文獻[11]使用MSD與Jaccard相似度的乘積來計算用戶之間的直接信任度DTrusta,b,即
DTrusta,b=MSDa,b× Jaca,b。
(5)
且DTrusta,b∈[0,1]。式(5)計算的增強相似度表示用戶之間的直接信任。如果用戶之間共同評分的項目非空,二者之間的直接信任非零;否則如果用戶之間沒有共同評分的項目,那么他們之間的直接信任為0,這種情況下二者之間的信任度就可以通過用戶之間信任網絡進行傳播得到間接信任。
2.2.2 通過信任傳播計算間接信任
在社會信任網絡中,當2個用戶之間沒有直接的信任關系時,就需要信任傳播,因此,可以從信任網絡推斷出間接信任,并在彼此沒有信任連接的用戶之間建立新的關系。例如,假定用戶a(源用戶)信任用戶b(中間用戶),并且用戶b信任用戶c(目標用戶),通過使用信任傳播矩陣,可以推導出用戶a在某種程度上信任用戶c。在中間用戶多于一個的情況下,就需要使用信任聚合方法來合并不同的信任。文獻[11]采用加權平均聚合的方法來傳遞信任信息,它確保推斷的信任值中最受信任的用戶有最大的權重。對任意用戶a、b、c,傳播的隱含信任值PTrusta,c表示用戶a可以在多大程度上信任用戶c,其計算公式為

DTrusta,b≥λ。
(6)
式中:βd=(MPD-d+1)/MPD,d∈[2,MPD], MPD為信任傳播的最大距離,設MPD=3,則當d=2時,β2=(3-2+1)/ 3 = 0.667;d=3時,β3=(3-3+1)/ 3 = 0.334;DTrusta,b∈[λ,1]為用戶a,b之間的直接信任值。用戶a的鄰居b信任用戶c,從而可得用戶a,c之間的間接信任,即PTrusta,c∈[0,1]。參數λ是一個可調的信任度閾值,用于在信任過濾中確保被認為不值得信任的用戶不參與信任傳播;因此,信任度低于某個門限的用戶就不能影響信任的傳播過程。
綜合式(5)、(6),就得到2個用戶之間的信任值。因為該信任是通過評分矩陣計算得到的,不同于TARS中用戶顯式聲明的信任,所以稱為隱含信任,表示為iTrust,即
(7)
2.3選擇鄰居
對于鄰居的選擇過程,根據上一步計算得到的用戶相似度和間接信任度,采用KNN方法選擇活動用戶最信任或者與用戶偏好最相似的前N個鄰居。
2.4計算加權的預測評分
在推薦過程中最后的重要步驟是計算評分預測。在加權預測模塊,文獻[11]采取融合信任度與相似度的方式進行加權,公式為

(8)

在式(8)中,如果只保留相似度部分,就得到文獻[11]的增強用戶協同過濾方法,其公式描述為

(9)
式(9)表示根據用戶偏好得到的評分預測,其中NeUCF代表根據增強的用戶相似度選擇的近鄰數,這里稱之為增強的用戶協同過濾方法(enhanced user-based CF),標記為eUCF。
如果只保留式(8)中的信任度加權部分,就得到如下的評分預測公式:

(10)
這里的NiTCF代表根據信任度選擇的鄰居數。其中iTCF表示基于隱含信任的協同過濾方法(implicit Trust based CF),標記為iTCF。
本文對式(8)的評分偏差的加權平均部分進行改造,如下式所示:

(11)
稱為融合用戶偏好與信任度的協同過濾方法(Trust-Preference Fused CF),簡稱TPF。α∈[0,1]是一個加權因子,用于控制用戶偏好和信任度在評分預測中的權重。其中α部分采用用戶的相似度加權,代表了用戶的偏好,而(1-α)部分采用隱含的信任度加權。當α接近于1時,基于用戶偏好的評分預測占主導地位,當α=1時,算法退化為eUCF;當α接近于0時,基于用戶信任的評分預測占主導地位,當α=0時,算法退化為iTCF。因此,α的取值可根據評分數據的密度來選擇。當數據密度較高時,用戶的近鄰數較多,基于用戶的相似度較準確,此時可以取較大的α值;反之,當數據稀疏時,用戶的近鄰數少,此時可取較小的α值,通過信任傳播來找到更多的近鄰,從而緩解數據稀疏帶來的性能下降。
圖1為本文提出的基于隱含信任的協同過濾推薦模型,矩形框代表傳遞的數據,圓角矩形代表步驟。可以看出,本文方法加權融合了基于用戶偏好的近鄰評分和基于信任的近鄰評分,從而得到最終的用戶預測評分。

圖1 融合用戶偏好與信任度的協同過濾推薦模型
為驗證本文方法的有效性,選擇廣泛使用的MovieLens數據集進行交叉驗證測試。此數據集包含943 用戶對1 682部電影的10萬條評分,評分范圍在 1 到 5之間。把數據集劃分為訓練集和測試集,80%的數據組成訓練集, 20%組成測試集,并進行5次交叉驗證。
3.1評價機制
本文使用廣受歡迎的度量標準平均絕對誤差(MAE)來驗證推薦方法的性能。在推薦研究中,MAE 是使用最廣泛的用來測量推薦精度的度量。MAE通過計算的系統預測評分與用戶分配的實際評分之間的平均絕對偏差來度量準確度。越小的 MAE 值表示推薦的精度較高。給定測試集中所有可用的n個項目的實際/預測評分數據對,MAE可表示為

(12)
為驗證本文方法的性能,選取4種基準算法與本文算法進行對比,算法名稱及所用的公式如表1所示。對于公式(6)的信任傳播, 選取參數λ=0.15,最大信任傳播距離 MPD = 3。
表1列出了本文算法及相關基準算法的計算公式,其中UCF(user-based CF)為經典的基于用戶的協同過濾方法,采用皮爾遜相關來計算相似度,TPF(trust-preference fused)為本文提出的用戶信任與相似度(偏好)融合的方法。

表1 本文相關算法使用的公式
3.2實驗結果分析
圖2為MAE隨加權因子α的變化曲線。4個基準算法的MAE值與α取值無關,因此呈現為一條直線。其中近鄰數取10,評分數據密度為2%。4種基準算法的MAE由高到低依次是UCF、iTCF、eUCF、TeCF。本文方法的MAE性能隨式(11)中加權系數α取值的變化而變化,其MAE隨α取值先減小后增大,在0.8時達到最小。這是因為總體上eUCF算法的MAE性能優于iTCF方法,但是沒有考慮信任的傳播,在評分稀疏時性能欠佳,而iTCF方法考慮了信任的傳播,在評分稀疏時優于基本的UCF方法,但不如eUCF方法。TeCF是上述2種方法(eUCF和iTCF)的融合,但采用固定的融合模式,只有在數據稀疏的情形下才有較好的效果。本文方法引入一個可調的加權參數α,可以根據數據的稀疏度來調整基于用戶偏好的預測和基于信任度預測這2部分的比例,具有更廣泛的適應性。對于MovieLens數據集,本文方法的參數α取0.8,經驗證具有較好的效果。

圖2 MAE隨加權因子α的變化曲線
圖3為MAE性能隨近鄰數的變化曲線,評分數據密度為6.3%,即Movielens數據的原始評分密度。可以看出,所有算法的MAE都隨著近鄰數的增加而降低。其中經典的UCF方法誤差較大,eUCF方法結合了皮爾遜相似度和Jaccard相似度,因而誤差大大降低。iTCF方法引入了信任傳播,MAE性能比經典的UCF有所降低,但是在數據密度較高時優勢不明顯。 TeCF方法介于eUCF方法和iTCF方法之間。本文方法具有最低的MAE值,特別是在近鄰數較少時,優于TeCF方法。

圖3 MAE隨近鄰數的變化曲線
本文對Shambour等提出的基于信任增強的協同過濾推薦方法進行改進,在計算評分預測時,先將用戶相似度和信任度分別進行近鄰選擇和加權評分,再通過一個加權因子對2部分進行融合,其仿真結果表明本文方法具有較好的推薦精度,特別是在數據稀疏的情形下。下一步工作將考慮在顯式信任聲明的情況下,融合用戶偏好和信任度的方法。
[1]杜永萍, 黃亮,何明. 融合信任計算的協同過濾推薦方法[J]. 模式識別與人工智能, 2014,27(5):417-425.
[2]徐守坤, 孫德超, 李寧, 等. 一種結合語義Web和用戶信任網絡的協同過濾推薦模型[J]. 計算機應用研究, 2014, 31(6):1714-1718.
[3]郭磊, 馬軍,陳竹敏. 一種信任關系強度敏感的社會化推薦算法[J]. 計算機研究與發展, 2013, 50(9):1805-1813.
[4]Eirinaki M, Louta M D,Varlamis I. A Trust-aware System for Personalized User Recommendations in Social Networks[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems ,2014, 44(4):409-421.
[5]Chen C, Zeng J, Zheng X, et al. Recommender System Based on Social Trust Relationships [C]// IEEE 10th International Conference on e-Business Engineering (ICEBE).Coventry:IEEE, 2013:32-37.
[6]Massa P,Avesani P. Trust-aware Recommender Systems [C]//Proceedings of the 2007 ACM conference on Recommender Systems. Minneapolis:ACM,2007:17-24.
[7]Yuan W, Shu L, Chao H-C, et al. ITARS:Trust-aware Recommender System using Implicit Trust Networks[J]. IET Communications, 2010, 14 (4):1709-1721.
[8]Ma H, King I,Lyu M R. Learning to Recommend with Social Trust Ensemble[C]//Proceedings of the 32nd International ACM SIGIR Conference on Research and Development in Information Retrieval.Boston: ACM,2009:203-210.
[9]Jamali M,Ester M. TrustWalker:A Random Walk Model for Combining Trust-based and Item-based Recommendation[C]//Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.Paris:ACM,2009:397-406.
[10]李慧, 胡云,施珺. 社會網絡環境下的協同推薦方法[J]. 計算機應用, 2013, 33(11):3067-3070.
[11]Qusai Shambour,Jie Lu. A Trust-semantic Fusion-based Recommendation Approach for E-business Applications[J]. Decision Support Systems, 2012, 54(1):768-780.
[12]Haifeng Liu,Zheng Hu,Ahmad Mian, et al. A New User Similarity Model to Improve the Accuracy of Collaborative Filtering[J]. Knowledge-Based Systems, 2014, 56:156-166.
(編校:饒莉)
AnImprovedCollaborativeFilteringRecommendationMethodwithUserTrust-PreferenceFusion
FAN Yong-quan, DU Ya-jun, CHENG Li-jing, ZHU Ai-yun
(SchoolofComputerandSoftwareEngineering,XihuaUniversity,Chengdu610039China)
Collaborative filtering (CF) is the most popular recommendation technique but still suffers from data sparisity and cold-start problems. Shambour proposed a trust-semantic fused (TSF) hybrid recommender approach, which incorporated additional information from the users’ social trust network and the items’ semantic domain knowledge to alleviate these problems, but it involves large computation. In this paper we improved the user-based trust enhanced CF algorithm therein. By introducing a weighting combination parameter we merge the user trust weighted rating and the user preference weighted rating together to obtain the overall rating prediction. Simulation results under the Movielens datasets show the proposed method is superior to the baseline algorithms in terms of mean absolute error (MAE).
trust; collaborative filtering; recommendation system; similarity; MAE
2014-12-08
教育部春暉計劃(Z2011088);四川省教育廳重點項目(11ZB002);四川省高校重點實驗室基金(SZJJ2012-027, SZJJ2014-033);西華大學重點科研基金項目(Z1412620)。
范永全(1976—),男,副教授,博士,主要研究方向為信息檢索、推薦系統。E-mail:Larkfyq@sina.com
TP391.3
:A
:1673-159X(2015)04-0008-05
10.3969/j.issn.1673-159X.2015.04.002