《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設(shè)計應用 > 基于用戶信任度和社會相似度的協(xié)作過濾算法
基于用戶信任度和社會相似度的協(xié)作過濾算法
2016年電子技術(shù)應用第1期
楊海月1,朱玉婷1,施化吉1,徐 慧2
1.江蘇大學 計算機科學與通信工程學院,江蘇 鎮(zhèn)江212013;2.大全集團,江蘇 揚中212211
摘要: 個性化推薦算法是解決社交網(wǎng)絡中信息過載問題的一種有效方法,已成為社交網(wǎng)絡中的研究熱點。協(xié)作過濾算法是被廣泛應用的個性化推薦算法,但由于未考慮社交網(wǎng)絡的一些重要社交信息及數(shù)據(jù)稀疏問題,故其在解決社交網(wǎng)絡的推薦問題時推薦效果不佳。為此,提出一個基于用戶信任度和社會相似度的協(xié)作過濾算法。首先根據(jù)用戶-項目矩陣計算用戶相似度,然后通過社交網(wǎng)絡計算用戶信任度和社會相似度并將三者融合,最后根據(jù)融合后的值形成最近鄰集,并據(jù)此產(chǎn)生推薦結(jié)果。經(jīng)實驗分析,文中提出的算法較其他算法在解決社交網(wǎng)絡的推薦問題時有更高的推薦精度。
中圖分類號: TP301.6
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.01.026
中文引用格式: 楊海月,朱玉婷,施化吉,等. 基于用戶信任度和社會相似度的協(xié)作過濾算法[J].電子技術(shù)應用,2016,42(1):100-103.
英文引用格式: Yang Haiyue,Zhu Yuting,Shi Huaji,et al. Collaborative filtering algorithm based on user trust and social similarity[J].Application of Electronic Technique,2016,42(1):100-103.
Collaborative filtering algorithm based on user trust and social similarity
Yang Haiyue1,Zhu Yuting1,Shi Huaji1,Xu Hui2
1.School of Computer Science and Telecommunication Engineering,Jiangsu University,Zhenjiang 212013,China; 2.Daquan Group Company,Yangzhong 212211,China
Abstract: Personalized recommendation algorithm as an effective method to solve the information overload problem has become a research hotspot in social networks. Without considering some important social information of social networks and the data sparsity, the collaborative filtering algorithm which is a widely used personalized recommendation algorithm has poor recommendation effect for recommendation issues of social networks. Therefore, this paper proposes a collaborative filtering algorithm based on user trust and social similarity. Firstly, the algorithm calculates user similarity according to the user-item matrix and calculates user trust as well as social similarity through constructed user network. Next, the user similarity, user trust and social similarity will be merged to form a comprehensive value, which is used to produce neighbors. Accordingly, recommendations are produced. The experimental results show that the proposed algorithm has higher recommendation accuracy than other algorithms in solving the recommendation issues of social networks.
Key words : collaborative filtering;sparse data;user trust;social similarity;social networks

0 引言

    隨著社交網(wǎng)絡的迅猛發(fā)展,網(wǎng)絡上的信息呈爆炸式增長,出現(xiàn)了“信息過載”問題。個性化推薦被認為是解決該問題最有效的方法[1],常用的個性化推薦算法主要有協(xié)作過濾[2]、基于內(nèi)容推薦[3]、混合推薦[4]等,協(xié)作過濾算法是其中的研究熱點[5]

    協(xié)作過濾算法在解決社交網(wǎng)絡的推薦問題時因未考慮社交網(wǎng)絡的一些重要社交信息及數(shù)據(jù)稀疏問題,故其推薦效果不佳。文獻[6]提出的方法在一定程度上緩解了數(shù)據(jù)稀疏問題,對冷啟動用戶的推薦精度有一定提高,但對所有用戶的推薦精度不高。文獻[7]提出方法僅考慮了朋友關(guān)系這一社交信息而忽略了用戶相似度的影響,故推薦精度也不高。文獻[8]提出的方法研究了用戶項目間的信任關(guān)系,但未考慮用戶間信任關(guān)系,故未能緩解數(shù)據(jù)稀疏問題。這些研究表明社交網(wǎng)絡中個性化推薦的精度有待提高且數(shù)據(jù)稀疏問題也沒有得到很好的解決。為此,提出一個基于用戶信任度社會相似度的協(xié)作過濾算法(User Trust and Social Similarity-based Collaborative Filtering Algorithm,UTSSCF)。首先根據(jù)用戶-項目矩陣計算用戶相似度,然后通過社交網(wǎng)絡計算用戶信任度和社會相似度并將三者融合,最后根據(jù)融合后的值形成最近鄰集,并據(jù)此產(chǎn)生推薦結(jié)果。

1 用戶信任度計算

    文獻[9]的研究表明社交網(wǎng)絡中的用戶更傾向于采納信任的人的推薦。因此,用戶信任對社交網(wǎng)絡的個性化推薦有著重要影響。在社交網(wǎng)絡中,若A和B有直接聯(lián)系(如A關(guān)注B),則A對B有直接信任關(guān)系;若A對B且B對C有直接信任關(guān)系,則A對C有間接信任關(guān)系。文中把社交網(wǎng)絡中用戶信任關(guān)系劃分為直接信任關(guān)系和間接信任關(guān)系,分別以直接信任度和間接信任度進行度量。

    定義1(社交網(wǎng)絡S)設(shè)U表示S中用戶節(jié)點集合,E表示S中用戶間的直接信任關(guān)系集合,W表示S中用戶間的直接信任度T的集合,S則可用三元組表示成S(U,E,W)。其中,U={u1,u2,…,un},|U|=n;E={<u,v>|u,v∈U};W={T(u,v)|u,v∈U}。

1.1 直接信任度計算

    在S中若u和v有直接聯(lián)系,則u對v有直接信任關(guān)系,并用直接信任度T進行度量。

    定義2(直接信任度T)若S中有一條從u指向v的邊,則u對v的直接信任度T(u,v)為1,否則,為0。

    考慮到后文選取的用戶相似度度量方法(見4.1節(jié))的取值范圍是[-1,1],故要對T進行歸一化處理,使得歸一化的直接信任度tr取值限定在[0,1]。歸一化處理后得到的直接信任度如式(1)所示。

jsj2-gs1.gif

1.2 間接信任度計算

    若u對v有間接信任關(guān)系,則可用間接信任度T′進行度量。

    定義3(間接信任度T′)若在S中至少存在一條從u到v的路徑,則u對v有間接信任關(guān)系,又u到v的最短路徑為path={<u,u1,u2,…,uk,v>|min(k+1)∧u,v,ux∈U,1≤x≤k},則u對v的間接信任度T′(u,v)=(tr(u,u1)+tr(u1,u2)+…+tr(uk,v))/(k+1)。

    另外,根據(jù)小世界理論設(shè)置max(k+1)為6。若S中u到v的max(k+1)大于6,則T′(u,v)=0。

1.3 用戶信任度計算

    如上所述,文中把用戶信任度分為直接信任度和間接信任度,故用戶信任度是它們的綜合值。設(shè)Tr(u,v)表示u對v的用戶信任度,A表示tr(u,v),B表示T′(u,v),則用戶信任度的計算如式(2)所示。

    jsj2-gs2.gif

2 社會相似度計算

    文獻[10]的研究表明用戶間共有的朋友數(shù)越多,其社交、興趣、偏好越相似。因此,用戶間共有的朋友數(shù)也是一個影響社交網(wǎng)絡個性化推薦的重要因素,文中用社會相似度定量其影響程度。

    定義4(社會相似度Ss)Ss(u,v)指S中任意兩個直接相連的用戶節(jié)點u和v間共有的朋友數(shù)占它們總朋友數(shù)的比值,則其計算如式(3)所示。

    jsj2-gs3.gif

其中,F(xiàn)(u)={u′|<u,u′>∈E∧u,u′∈U}(F(v)同理),F(xiàn)(u)∩F(v)表示從u和v共同指向的用戶節(jié)點數(shù),F(xiàn)(u)∪F(v)表示從u及v指向的用戶節(jié)點數(shù)之和。

3 UTSSCF算法

3.1 用戶相似度計算

    計算用戶相似度是為了尋找興趣偏好相似的用戶,從而據(jù)此產(chǎn)生推薦結(jié)果。設(shè)S中u和v已評價項目并集為Iuv=Iu∪Iv,則u和v的用戶相似度計算如式(4)所示。

    jsj2-gs4.gif

其中,ru,i和rv,i分別表示u和v對i的評分,Ru和Rv分別表示u和v對Iuv中所有項目評分的平均值。

3.2 用戶相似度、用戶信任度和社會相似度的融合

    由于社交網(wǎng)絡中用戶-項目矩陣很稀疏,故將用戶相似度、用戶信任度和社會相似度進行融合以緩解數(shù)據(jù)稀疏的問題。

    設(shè)We(u,v)表示Si(u,v)、Tr(u,v)和Ss(u,v)融合后的值,則We(u,v)的計算如式(5)所示。

    jsj2-gs5.gif

其中,α、β、γ分別表示Si(u,v)、Tr(u,v)、Ss(u,v)所占的比重,且α+β+γ=1。

3.3 產(chǎn)生推薦結(jié)果

    計算出We(u,v)后,選擇We(u,v)最大的l個用戶作為u的最近鄰集Ns。根據(jù)Ns中的用戶評分數(shù)據(jù)預測u對未評價項目I的評分Pu,I,并將預測評分最高的k個項目推薦給u。預測評分的計算如式(6)所示。

    jsj2-gs6.gif

其中,Ru和Rv分別表示u和v對所有項目評分的平均值,rv,I表示v對I的評分。

3.4 算法描述

    UTSSCF算法的推薦步驟可分為用戶相似度計算、用戶信任度和社會相似度計算、形成最近鄰集、預測評分、產(chǎn)生推薦結(jié)果5個階段。算法1為UTSSCF算法的具體實現(xiàn)步驟。

    算法1 UTSSCF算法

    輸入:用戶-項目矩陣UI,社交網(wǎng)絡S,目標用戶u,其它用戶v,推薦項目的個數(shù)k,待推薦的項目集合Ir。

    輸出:給u的推薦結(jié)果Re。

    步驟1:根據(jù)UI,利用式(4)計算u與v的Si(u,v);

    步驟2:根據(jù)S,先按定義2得到u對v的T(u,v),并按式(1)計算出tr(u,v),然后按定義3計算u對v的T′(u,v),接著按式(2)計算u對v的Tr(u,v),最后按式(3)計算u對v的Ss(u,v);

    步驟3:對步驟1和步驟2得到的Si(u,v)、Tr(u,v)和Ss(u,v)利用式(5)計算出We(u,v)。然后,根據(jù)We(u,v)為u選取最近鄰集Ns;

    步驟4:對于Ir中的每個項目I,根據(jù)式(6)計算u對I的Pu,I;

    步驟5:根據(jù)步驟4得到的Pu,I,將Ir中的所有I進行排序,選擇前top-k個I作為給u的Re。

4 實驗設(shè)計與分析

4.1 實驗數(shù)據(jù)來源

    實驗采用的數(shù)據(jù)集是目前在度量算法推薦精度中較常用的Epinion1數(shù)據(jù)集,由49 290個用戶、139 738個項目、664 824個評分和487 182條信任聲明組成。其中評分是從1到5的整數(shù),信任值是0或者1(0表示不信任,1表示信任)。

4.2 實驗評價標準

    實驗采用平均絕對誤差MAE(Mean Absolute Error)和均方根誤差RMSE(Root Mean Square Error)衡量算法的推薦精度。MAE和RMSE的計算分別如式(7)和式(8)所示。

    jsj2-gs7-8.gif

其中,n為評分的總數(shù),pi,j代表用戶i對項目j的預測評分,ri,j代表用戶i對項目j的實際評分,MAE值和RMSE值越小表示推薦精度越高。

4.3 實驗結(jié)果與分析

    為驗證UTSSCF算法的推薦精度,隨機將Epinion數(shù)據(jù)集的80%作為訓練集,剩余的20%作為測試集。訓練集用來訓練或者學習算法中的相關(guān)參數(shù),測試集用來驗證推薦結(jié)果的精度。

    實驗1(參數(shù)α、β、γ的學習):因為α+β+γ=1,所以只需要對任意2個參數(shù)進行學習即可。實驗中分別考慮當α=0.1、β從0.1到0.8變化時,及當α每增加0.1直到0.8、β從0.1到0.8變化時對推薦精度的影響。經(jīng)實驗發(fā)現(xiàn),當α=0.2、β=0.4、γ=0.4時是最優(yōu)值。

    實驗2(鄰居數(shù)的影響):實驗2是觀察UTSSCF算法的MAE值和RMSE值隨鄰居數(shù)變化而變化的情況。當鄰居數(shù)分別取5、10、15、20、25、30、35、40時,實驗結(jié)果如圖1所示。

jsj2-t1.gif

    從圖1可以看出UTSSCF算法的MAE值和RMSE值隨著鄰居數(shù)的增加先逐漸減小再逐漸增加。在鄰居數(shù)為30時,UTSSCF算法的MAE值和RMSE值均達到最小值。這說明當鄰居數(shù)為30時,UTSSCF算法的推薦精度最高。

    實驗3(USTTCF算法與其他算法的比較):實驗3的目的是比較UTSSCF算法與其他算法的推薦精度。實驗3中參數(shù)設(shè)置為α=0.2,β=0.4,γ=0.4,鄰居數(shù)為30,實驗結(jié)果如圖2所示。實驗中選擇以下算法與UTSSCF算法進行對比:(1)協(xié)作過濾推薦算法(Collaborative Filtering Recommendation Algorithm,CF);(2)基于用戶相似度的協(xié)作過濾推薦算法[11](User Similarity-based Collaborative Filtering Recommendation Algorithm,USCF);(3)基于綜合信任度的協(xié)作過濾推薦算法[5](Comprehensive Trust-based Collaborative Filtering Recommendation Algorithm,CTCF)。

jsj2-t2.gif

    從圖2可以看出USCF算法優(yōu)于CF算法,CTCF算法優(yōu)于USCF算法,而UTSSCF算法又優(yōu)于CTCF算法。USCF算法優(yōu)于CF算法是因為USCF算法針對社會網(wǎng)絡對用戶相似度進行重新定義,所以USCF算法在該實驗數(shù)據(jù)集上取得了比CF算法更好的實驗結(jié)果。CTCF算法優(yōu)于USCF算法是因為CTCF算法考慮了用戶信任關(guān)系,由此可見,考慮用戶信任關(guān)系確實有助于提高算法的推薦精度。UTSSCF算法優(yōu)于CTCF算法是因為UTSSCF不僅考慮了用戶信任關(guān)系,還有社會相似度。此外,在圖2所示的整個變化過程中,UTSSCF算法的MAE值和RMSE值比其它算法都低,這說明UTSSCF算法能夠提高推薦精度。

5 結(jié)論

    針對社交網(wǎng)絡中個性化推薦精度不高和數(shù)據(jù)稀疏的問題,提出了一個基于用戶信任度和社會相似度的協(xié)作過濾算法。首先根據(jù)用戶-項目矩陣計算用戶相似度,然后通過社交網(wǎng)絡計算用戶信任度和社會相似度并將三者融合,最后根據(jù)融合后的值形成最近鄰集,并據(jù)此產(chǎn)生推薦結(jié)果。經(jīng)實驗分析,UTSSCF算法較其他算法在解決社交網(wǎng)絡的推薦問題時有更高的推薦精度。UTSSCF算法只考慮了用戶信任度和社會相似度,而社交網(wǎng)絡中的社交信息還有很多,如社區(qū)、上下文信息、主題等。在協(xié)作過濾算法中引入更多社交信息是后續(xù)要研究的內(nèi)容。

參考文獻

[1] 王國霞,劉賀平.個性化推薦系統(tǒng)綜述[J].計算機工程與應用,2012,48(7):66-76.

[2] 王玉祥,喬秀全,李曉峰,等.上下文感知的移動社交網(wǎng)絡服務選擇機制研究[J].計算機學報,2010,33(11):2126-2135.

[3] QU W,SONG K S,ZHANG Y F,et al.A novel approach based on multi-view content analysis and semi-supervised enrichment for movie recommendation[J].Journal of Computer Science and Technology,2013,28(5):776-787.

[4] 王立才,孟祥武,張玉潔.上下文感知推薦系統(tǒng)[J].軟件學報,2012,23(1):1-20.

[5] 朱強,孫玉強.一種基于信任度的協(xié)同過濾推薦方法[J].清華大學學報:自然科學版,2014,54(3):360-365.

[6] HWANG W S,LI S,KIM S W,et al.Data imputation using a trust network for recommendation[C].Proceedings of the companion publication of the 23rd international conference on World wide web companion.International World Wide Web Conferences Steering Committee,2014:299-300.

[7] YIN C,CHU T.Improving personal product recommendation via friendships’ expansion[J].Journal of Computer and Communications,2013,1(5):1-8.

[8] DENG S G,HUANG L T,WU J,et al.Trust-based personalized service recommendation: A network perspective[J].Journal of Computer Science and Technology,2014,29(1):69-80.

[9] JAMALI M,ESTER M.A matrix factorization technique with trust propagation for recommendation in social networks[C].Proceedings of the 4th ACM conference on Recommender systems.ACM,2010:135-142.

[10] GUO G,ZHANG J,THALMANN D.Merging trust in collaborative filtering to alleviate data sparsity and cold start[J].Knowledge-Based Systems,2014,57(2):57-68.

[11] 榮輝桂,火生旭,胡春華,等.基于用戶相似度的協(xié)同過濾推薦算法[J].通信學報,2014,35(2):16-24.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。