周寅瑩,章夢怡,余敦輝,2,朱 明*
(1.湖北大學(xué) 計算機與信息工程學(xué)院,武漢 430062;2.湖北省教育信息化工程技術(shù)研究中心(湖北大學(xué)),武漢 430062)
隨著互聯(lián)網(wǎng)與信息技術(shù)的高速發(fā)展以及移動終端設(shè)備的廣泛使用,信息過載問題日趨嚴(yán)重。如何從爆炸式增長的數(shù)據(jù)中,有效篩選對用戶有用的信息,滿足用戶的個性化需求,成為當(dāng)下研究的重點與難點。推薦系統(tǒng)的出現(xiàn),憑借其優(yōu)秀的數(shù)據(jù)挖掘能力,有效解決了信息過載問題[1],并被廣泛應(yīng)用于電商、社交媒體等領(lǐng)域。
然而,傳統(tǒng)的推薦系統(tǒng)只依賴評分?jǐn)?shù)據(jù),存在數(shù)據(jù)稀疏和冷啟動問題[2]。為了緩解這些問題,社會化推薦通常將社交網(wǎng)絡(luò)數(shù)據(jù)和評分?jǐn)?shù)據(jù)結(jié)合起來,以提高預(yù)測結(jié)果的準(zhǔn)確性。事實表明,比起缺乏說服力的廣告推薦,用戶更傾向于相信與自身關(guān)系密切的社交群體[3]。因此,與傳統(tǒng)推薦算法相比,融合了社交信息的社會化推薦能夠有效改善用戶冷啟動問題,并顯著提高推薦的準(zhǔn)確性和可解釋性。
社會化推薦的核心理念就是充分結(jié)合用戶評分和信任數(shù)據(jù)來分析用戶(項目)間的潛在關(guān)系,但現(xiàn)有方法對社交信息的利用過于簡單,很難得到理想的推薦效果;因此,本文提出一種融合信任隱含相似度與評分相似度的社會化推薦算法(Social recommendation algorithm combing Trust implicit similarity and Score similarity,SocialTS),借助信任關(guān)系矯正用戶、項目間的關(guān)聯(lián)關(guān)系,借助近鄰用戶、項目約束矩陣分解(Matrix Factorization,MF),從而學(xué)習(xí)到用戶更準(zhǔn)確的特征表示,提高推薦的準(zhǔn)確度。
社會化推薦,又稱社交推薦,旨在利用社交網(wǎng)絡(luò)中的信任關(guān)系來輔助評分?jǐn)?shù)據(jù)更好地完成推薦任務(wù)[4-5]?,F(xiàn)有的許多研究均傾向于將信任關(guān)系納入MF 模型,從而得到改進的社會化推薦模型[6-7]。根據(jù)信任關(guān)系與MF 模型結(jié)合機制的不同,可將社會化推薦分為三大類[8]:
1)基于正則化約束的社會化推薦[9-14]。這類方法將社會關(guān)系以正則項的形式結(jié)合到用戶潛在特征矩陣的學(xué)習(xí)當(dāng)中,通常認(rèn)為用戶與其社交朋友具有相似的特征偏好。比如,Jamali 等[9]提出的SocialMF(Social Matrix Factorization)算法,認(rèn)為目標(biāo)用戶的特征完全由其信任鄰居共同決定;然而,相互信任的用戶未必具有相似的行為習(xí)慣和興趣偏好,需要聯(lián)合評分 數(shù)據(jù)進 行分析,Ma 等[10]提出了SocialReg(Social Regularization)算法,不再強制要求用戶與其朋友的偏好一致,而是使用評分相似度衡量用戶與其信任人的關(guān)系;潘一騰等[11]以SocialMF 為基礎(chǔ),從信任與被信任兩個角度對用戶信任關(guān)系進行建模,并綜合用戶評分偏好和信任隱含相似度計算得到最終的信任矩陣,但該方法對信任關(guān)系的利用僅限于參與模型訓(xùn)練的用戶,損失了較多的邊緣信息。
文獻[12-14]中均通過網(wǎng)絡(luò)嵌入技術(shù)來分析用戶(項目)的相似關(guān)系。Zhang 等[12]針對用戶顯式社交信息存在數(shù)據(jù)稀疏和可靠性低等問題,提出了基于用戶隱式社交網(wǎng)絡(luò)嵌入的社會化推薦CUNE(Collaborative User Network Embedding)算法;但該算法僅依據(jù)用戶的反饋信息構(gòu)建社交網(wǎng)絡(luò),未考慮用戶間的信任關(guān)系,導(dǎo)致無法解決冷啟動問題。Xu 等[13]綜合考慮了用戶與項目,但在構(gòu)建同構(gòu)網(wǎng)絡(luò)時僅考慮共同打高分的評分記錄,并且未將信任關(guān)系融入項目的相似度計算中。張青博等[14]聯(lián)合評分與信任關(guān)系構(gòu)建異構(gòu)網(wǎng)絡(luò),但最終只利用了相似用戶正則化約束模型。
網(wǎng)絡(luò)嵌入技術(shù)的首要任務(wù)在于交互網(wǎng)絡(luò)的構(gòu)建。交互網(wǎng)絡(luò)雖然能夠直觀展現(xiàn)用戶、項目間的交互關(guān)系,利于信息的傳遞,但同樣會損失部分重要信息,導(dǎo)致無法根據(jù)評分差異準(zhǔn)確區(qū)分積極對象與消極對象。因此本文選用傳統(tǒng)的相似度計算方法來衡量用戶(項目)間的相關(guān)性。
2)基于特征矩陣共享的社會化推薦[15-18]。這類方法同時對評分矩陣和信任矩陣進行分解,旨在得到兼顧用戶評分偏好與社交特征的向量表示。比如,Ma 等[15]提出的SoRec(Social Recommendation)算法,以共享特征向量的形式利用社交信息;但在對社交信息進行融合時,忽略了用戶間信任關(guān)系的傳遞。隨后,Guo 等[16]通過分析用戶間的信任數(shù)據(jù)得出結(jié)論,影響用戶對物品評分的因素,除用戶的顯式評分?jǐn)?shù)據(jù)之外,還包括用戶自身的隱式行為數(shù)據(jù)與信任關(guān)系,于是在SVD++(Singular Value Decomposition++)模型的基礎(chǔ)上引入了社交信息,提出TrustSVD(Trust-based Singular Value Decomposition)算法。Xiong 等[17]在TrustSVD 的基礎(chǔ)上,從信息傳播的角度衡量用戶對項目的隱式行為。郎亞坤等[18]認(rèn)為簡單的二值信任數(shù)據(jù)并不足以反映用戶間影響力的大小,于是在TrustSVD 的基礎(chǔ)上,利用評分相似度作為隱式信任度,克服了二值信任關(guān)系的過于粗糙的弊端;但僅從用戶自身入手,對解決用戶的冷啟動問題是遠(yuǎn)遠(yuǎn)不夠的。
3)基于信任集成的社會化推薦[19-21]。這類方法利用目標(biāo)用戶與信任朋友的評分組合來預(yù)測評分矩陣中的缺失值。比如:Ma 等[19]首次依據(jù)信任權(quán)重將信任用戶的評分結(jié)合到目標(biāo)用戶的評分預(yù)測上,提出RSTE(Recommend with Social Trust Ensemble)算法。Shi 等[20]依據(jù)評分矩陣和信任矩陣構(gòu)建異構(gòu)網(wǎng)絡(luò),通過提取特定的元路徑分析用戶(項目)間的相似關(guān)系,并將學(xué)習(xí)到的同類型嵌入向量進行融合,集成到評分預(yù)測函數(shù)中;但該方法同樣難以準(zhǔn)確區(qū)分積極用戶與消極用戶。田保軍等[21]則分別從全局與局部的角度出發(fā),計算用戶間的信任值,并與評分相似度進行融合,來衡量信任用戶對目標(biāo)用戶評分的影響;但信任用戶未必就是積極用戶,不應(yīng)該過度依賴信任關(guān)系。
通過對上述主流推薦算法的研究與認(rèn)識,發(fā)現(xiàn)現(xiàn)有的社會化推薦算法普遍存在兩個問題:一是關(guān)注重點大都聚焦于用戶,忽略了物品間關(guān)聯(lián)關(guān)系對推薦精度的影響,并且信任關(guān)系多體現(xiàn)在用戶間的相關(guān)性分析上,未能融入項目間的相關(guān)性分析;二是過度依賴信任關(guān)系,簡單認(rèn)為信任用戶對目標(biāo)用戶的影響都是積極的,未能將用戶評分與信任數(shù)據(jù)進行有效結(jié)合,進而打破顯示信任朋友的局限,得到更可靠的相似朋友。
融合信任隱含相似度與評分相似度的社會化推薦算法(SocialTS)通過改進的余弦公式計算用戶間的評分相似度,進而有效區(qū)分積極用戶與消極用戶;又利用用戶間的信任隱含相似度對相似關(guān)系進行修正,得到用戶更為可靠的相似朋友。為了進一步改善冷啟動問題,SocialTS 還考慮了項目間相似關(guān)系對推薦效果的影響,并將信任關(guān)系融入項目的相似度計算中,認(rèn)為被相互信任的用戶購買過的項目也具有較高的相似性,以最大匹配用戶組集的形式對信任關(guān)系進行適當(dāng)利用。最后通過近鄰用戶、項目約束矩陣分解,不僅保證了相似用戶(項目)間具有相似的特征向量,還獲取了用戶(項目)更為準(zhǔn)確的行為偏好,得到更精確的預(yù)測結(jié)果。
本文主要工作有:
1)給出一種聯(lián)合評分與信任數(shù)據(jù)來計算用戶(項目)間相似度的方法。對于用戶,將評分相似度與信任隱含相似度進行線性組合;對于項目,首次將信任關(guān)系融入項目的相似度計算中,在公共評分用戶的基礎(chǔ)上通過最大匹配策略適當(dāng)補充信任用戶間的交互,使得信任數(shù)據(jù)與評分?jǐn)?shù)據(jù)得到有效結(jié)合。
2)提出一種融合用戶、項目相似約束的MF 模型,既保證了相似用戶或項目具有相似的潛在特征向量,又提升了評分預(yù)測的準(zhǔn)確度,從而獲得更為理想的推薦效果。
3)在兩個真實數(shù)據(jù)集FilmTrust 和CiaoDVD 上的實驗結(jié)果表明,與現(xiàn)有的主流社會化推薦算法TrustSVD 相比,SocialTS 具有更好的準(zhǔn)確性和魯棒性,兩個數(shù)據(jù)集上的均方根誤差(Root Mean Square Error,RMSE)分別降低了4.23%和8.38%,平均絕對誤差(Mean Absolute Error,MAE)分別降低了4.66%和6.88%。
在社會化推薦系統(tǒng)中,假設(shè)存在m個用戶U={u1,u2,…,um}和n個項目I={i1,i2,…,in}。用戶u對項目i的評分rui組成評分矩陣R∈Rm×n,用戶u對用戶v的信任關(guān)系tuv組成信任矩陣T∈Rm×m。若用戶u信任用戶v,則tuv=1;否則tuv=0。為了能夠獲取用戶、項目間可靠的相似關(guān)系并計算出用戶復(fù)雜的行為偏好,本文提出一種融合信任隱含相似度與評分相似度的社會化推薦算法。該算法整體框架如圖1 所示。
圖1 本文算法整體框架Fig.1 Overall framework of the proposed algorithm
2.1.1 用戶間相似度的計算
已有的相關(guān)工作[22-24]表明,用戶的歷史評分記錄和用戶間的信任關(guān)系都能在一定程度上反映用戶間的相似強度。然而,這些工作大多僅從單一角度出發(fā),并未綜合考慮兩者對用戶間相似程度的影響,或者僅通過簡單的相似度計算來衡量用戶間的相關(guān)性。為了更加準(zhǔn)確地評估用戶間的相似程度,本文提出了一種綜合考慮信任隱含相似度和評分相似度的相似度計算方法。
首先,計算用戶u和v之間的信任隱含相似度STrustuv。陳婷等[3]認(rèn)為用戶間的局部信任可通過用戶間的最短距離來計算,但忽略了用戶間的信任關(guān)系并不會無限制傳遞,即在一定傳播范圍內(nèi),用戶間的信任度會隨距離的增加而減小,但超過一定范圍,用戶間將不存在信任關(guān)系,這一點在現(xiàn)實生活中也可以得到驗證。因此,本文給定一個閾值θ來限制信任的傳遞:
其中:θ表示信任的傳遞范圍(本文取θ=5);Dis(u,v)表示用戶u和用戶v之間的最短距離,可通過迪杰斯特拉(Dijkstra)算法進行計算。本文通過社交網(wǎng)絡(luò)中的節(jié)點距離來計算用戶間的信任隱含相似度,能夠最大限度覆蓋系統(tǒng)中的每一個用戶,而不是僅關(guān)注參與評分的用戶[11]。
接著,計算用戶u和v之間的評分相似度。常見的相似度計算方法主要有杰卡德(Jaccard)相似度、余弦相似度、皮爾遜相關(guān)系數(shù)和修正的余弦相似度。其中,余弦相似度側(cè)重于從方向上進行區(qū)分,對絕對的數(shù)值并不敏感,因此需要額外考慮用戶間的評分差異對相似度的影響。首先計算用戶u和用戶v在公共評分項目集Iuv上的評分絕對差異:
得到用戶間的評分絕對差異后,評分差異因子diffuv的計算公式為:
將評分差異因子與余弦相似度結(jié)合,可以得到用戶間的評分相似度為:
其中,權(quán)重α∈(0,1),大小在實驗中確定,α越大,則表明信任關(guān)系在社會化推薦中的重要性越大。
2.1.2 項目間相似度的計算
在真實的互聯(lián)網(wǎng)應(yīng)用場景下,用戶數(shù)往往遠(yuǎn)大于項目數(shù),并且當(dāng)用戶行為過于稀疏時,即便存在用戶間的信任關(guān)系,也很難找到可靠的相似用戶;因此從項目間的相似度入手,也是改善冷啟動的一種有效途徑[25-27]。然而現(xiàn)有的大多數(shù)工作均偏向于用戶間相關(guān)性的挖掘[9-14],極少數(shù)考慮了項目間的相關(guān)性,但也只是做了簡單的處理[13,28],比如吳賓等[28]在計算項目間相似度時,僅考慮公共評分用戶,而未考慮信任用戶帶來的影響。
在社會化推薦中,項目間的相關(guān)性主要來自兩個方面:1)若用戶u同時評價了項目i和項目j,則項目i與項目j之間存在相關(guān)性;2)若用戶u評價了項目i,用戶v評價了項目j,因為用戶u和用戶v相互信任,則項目i與項目j之間同樣存在相關(guān)性。因此,本文定義項目i和項目j的公共評分用戶組集為,由信任關(guān)系產(chǎn)生的用戶組集為:
由于用戶間的信任關(guān)系存在一對多或多對多的情況,為了避免信任關(guān)系的濫用,本文規(guī)定在計算過程中每個用戶僅被考慮一次,最后得到項目i和j間的最大匹配用戶組集為:
圖2 最大用戶組匹配Fig.2 Maximum user group matching
最后,將最大匹配用戶組集G(i,j)與組間的評分差異diffG結(jié)合到Jaccard 相似度計算公式中,得到融合用戶信任與評分差異的綜合相似度
其中:|Ui|和|Uj|分別表示項目i和項目j的評分用戶數(shù);|G(i,j)|表示項目i和j的最大匹配用戶組數(shù);diffG表示用戶組間的評分差異,可通過式(2)(3)計算得到。
MF 旨在將原本高維且稀疏的評分矩陣R分解為低維且稠密的用戶特征矩陣P∈Rm×k和項目特征矩陣Q∈Rn×k,使得于是用戶u對項目i的預(yù)測評分可以表示為:
其中:pu表示用戶u的潛在特征向量,qi表示項目i的潛在特征向量。矩陣分解的最終目標(biāo)是要使得預(yù)測值盡可能接近于真實值,所以定義損失函數(shù)為:
其中:λ為正則化參數(shù),‖· ‖2表示正則化項。考慮用戶和項目的偏置后,預(yù)測評分公式和損失函數(shù)可更新為:
其中:μ表示全局均值,bu表示用戶u的偏置,bi表示項目i的偏置。
相似的用戶或項目往往具有更接近的特征偏好,因此,假設(shè)用戶u的TopK相似用戶集為Nu,項目i的TopK相似項目集為Ni,在保證評分預(yù)測準(zhǔn)確度的同時,利用相似用戶、項目間的約束關(guān)系來優(yōu)化損失函數(shù):
本文采用隨機梯度下降(Stochastic Gradient Descent,SGD)法對損失函數(shù)進行求解,pu、qi、bu和bi的一階求導(dǎo)公式如下所示:
SocialTS 算法使用SGD 求解矩陣分解模型的參數(shù),具體描述如下:
算法1 SocialTS 算法。
為了驗證算法的有效性,本文選擇兩個獨立的數(shù)據(jù)集FilmTrust[29]和CiaoDVD[30]進行算法驗證,兩個數(shù)據(jù)集均含有用戶的評分和信任數(shù)據(jù),詳細(xì)信息見表1。
表1 實驗數(shù)據(jù)集統(tǒng)計信息Tab.1 Experimental datasets statistics
為了準(zhǔn)確評估各算法的準(zhǔn)確性和魯棒性,減少偶然因素帶來的影響,本文選用5 折交叉驗證,并取5 次實驗結(jié)果的平均值作為最終的實驗結(jié)果。實驗選用兩個具有代表性的精度指標(biāo)RMSE 和MAE 來對各算法進行評估。RMSE 和MAE的計算方式見式(19)(20):
其中:RTest表示測試集,|RTest|表示測試集中的用戶-項目評分記錄數(shù)。實驗中,RMSE 和MAE 的值越小,表示預(yù)測結(jié)果與真實結(jié)果越接近,算法的推薦準(zhǔn)確性也就越高。
對比實驗采用的算法如下:
1)SoRec[15]。在共享用戶特征向量的前提下,使用概率矩陣分解(Probabilistic Matrix Factorization,PMF)模型同時對評分矩陣和信任矩陣進行分解。
2)RSTE[19]。將評分矩陣和信任矩陣分解后得到的模型進行線性組合。
3)SocialMF[9]。使用正則化項約束MF 模型,使用戶的特征向量與其社交朋友的特征向量相似。
4)SocialReg[10]。認(rèn)為目標(biāo)用戶與其信任人具有相似的特征向量,但每個信任人對用戶的影響力取決于他們的皮爾遜評分相似度。
5)TrustSVD[16]。在SVD++的基礎(chǔ)上,增加了用戶間顯式信任對評分預(yù)測的影響。
6)CUNE[12]。依據(jù)評分矩陣構(gòu)建用戶同構(gòu)網(wǎng)絡(luò)來分析用戶間的相關(guān)性,并利用相似用戶正則化來約束MF 模型。
3.4.1 參數(shù)確定
為了分析SocialTS 算法的參數(shù)對預(yù)測準(zhǔn)確度的影響,本文以數(shù)據(jù)集FilmTrust 為例,設(shè)定權(quán)重α的取值為0.1,0.2,0.3,0.4,0.5,0.6;近鄰數(shù)量TopK的取值為10,20,30,40,50;潛在特征維度k的取值為5,10,…,75,80。分別記錄各參數(shù)下的實驗結(jié)果。
1)權(quán)重α的確定。
α控制著用戶間信任隱含相似度與評分相似度線性組合的比重,α取值越大,則表示信任關(guān)系在社會化推薦中的重要性越大。圖3 展示了α的變化對RMSE 和MAE 的影響,可以看到,隨著α的不斷增加,預(yù)測誤差先下降后上升,說明將信任關(guān)系以一定的比重結(jié)合到推薦系統(tǒng)中,是可以提高推薦精度的,并且當(dāng)α=0.4 時,推薦效果最佳。
圖3 不同α下的實驗結(jié)果Fig.3 Experimental results under different α values
2)近鄰數(shù)量TopK的確定
TopK控制著矩陣分解過程中用戶或項目的近鄰數(shù)量。圖4 顯示了TopK的變化對RMSE 和MAE 的影響,可以看到,隨著TopK的不斷增加,預(yù)測誤差先下降后上升,說明近鄰數(shù)量的取值并非越大越好,超過了閾值30,用戶或項目間的關(guān)聯(lián)程度將會大幅度降低,從而干擾目標(biāo)用戶特征向量的學(xué)習(xí)。因此,當(dāng)TopK=30 時,推薦效果最佳。
圖4 不同TopK下的實驗結(jié)果Fig.4 Experimental results under different TopK values
3)潛在特征維度k的確定
k控制著矩陣分解的潛在特征維度。圖5 顯示了k的變化對RMSE 和MAE 的影響,可以看到,隨著k的不斷增加,預(yù)測誤差整體呈下降趨勢,下降速度先快后慢,并逐漸趨于穩(wěn)定;但k越大,對計算資源的消耗也越大,故當(dāng)k=20 或k=30 時,整體推薦效果最佳。
圖5 不同k下的實驗結(jié)果Fig.5 Experimental results under different k values
3.4.2 不同算法實驗結(jié)果對比
為保持與其他對比算法的一致性,得出更為可靠的實驗結(jié)果,除學(xué)習(xí)率均為0.005,迭代次數(shù)均為100 外,其他參數(shù)均依據(jù)文獻中給定的參數(shù)值進行設(shè)置。在SocialTS 算法中,取α=0.4,λ=0.1,β1=β2=0.001,TopK=30 來進行對比試驗,實驗效果最好。潛在特征維度k也會影響算法的推薦精度,但本文僅考慮在潛在特征維度k為5 和10 時驗證各算法的性能。
表2 中展示了各算法在FilmTrust 和CiaoDVD 數(shù)據(jù)集上的實驗結(jié)果,最后一行表示與TrustSVD 算法相比,SocialTS算法在RMSE 和MAE 上的誤差降低百分比。通過對表2 中數(shù)據(jù)進行分析,可以得到以下結(jié)論:
表2 不同算法的實驗結(jié)果對比Tab.2 Experimental results comparison of different algorithms
1)SocialMF、SocialReg 和CUNE 算法都是在分解評分矩陣的基礎(chǔ)上增加了相似用戶的正則化約束,因此整體表現(xiàn)比較接近。
2)在僅考慮用戶間顯式信任的算法中,TrustSVD 算法的準(zhǔn)確度要高于SoRec、RSTE、SocialMF 和SocialReg 等社會化推薦算法,這是因為TrustSVD 算法額外考慮了用戶間的顯式信任對評分預(yù)測的影響,所以具有較高的推薦精度。
3)SoRec 和RSTE 算法在CiaoDVD 數(shù)據(jù)集上的效果并沒有在FilmTrust 數(shù)據(jù)集上的效果好,因為SoRec 和RSTE 算法在訓(xùn)練模型參數(shù)時對用戶間的信任關(guān)系依賴較大,而CiaoDVD 數(shù)據(jù)集上的社交關(guān)系較為復(fù)雜,存在的噪聲也就更多,最終導(dǎo)致MF 學(xué)習(xí)到的用戶特征向量存在偏差。
4)相較于其他算法,本文所提出的SocialTS 算法在準(zhǔn)確度上得到了明顯提升,主要是因為SocialTS 算法在考慮用戶相關(guān)性的同時,還增加了對項目相關(guān)性的分析,從而獲得了更準(zhǔn)確的預(yù)測結(jié)果。
3.4.3 不同評分?jǐn)?shù)量實驗結(jié)果對比
為了驗證各算法在不同用戶評分?jǐn)?shù)量下的魯棒性,本文將訓(xùn)練集中的用戶依據(jù)評分?jǐn)?shù)量劃分到[0,5]、[6,10]、[11,20]、[21,40]、[41,100]和[101,∞)這6 個組;由于5 折驗證中的用戶分布基本一致,因此僅取第1 折數(shù)據(jù)中的評分?jǐn)?shù)量分布進行展示。圖6 展示了兩個數(shù)據(jù)集上每組用戶所占的百分比,可以看到,在FilmTrust 數(shù)據(jù)集上,評分?jǐn)?shù)量位于[21,40]的用戶占大部分;在CiaoDVD 數(shù)據(jù)集上,評分?jǐn)?shù)量少于6 個的用戶占大部分。
圖6 不同評分?jǐn)?shù)量下的用戶分布Fig.6 Distribution of users under different numbers of ratings
依據(jù)用戶的評分?jǐn)?shù)量對訓(xùn)練集中的用戶進行劃分后,分別統(tǒng)計兩個數(shù)據(jù)集在6 組用戶上的準(zhǔn)確度表現(xiàn),結(jié)果如圖7所示。
圖7 不同評分?jǐn)?shù)量下的實驗結(jié)果對比Fig.7 Comparison of experimental results under different numbers of ratings
從2 個數(shù)據(jù)集上的實驗結(jié)果可以看出:
1)當(dāng)用戶評分?jǐn)?shù)量小于10 時,各算法的推薦精度都比較低,這是因為僅有的評分?jǐn)?shù)據(jù)不足以支撐模型學(xué)習(xí)到用戶可靠的潛在特征向量。而SocialTS 算法的表現(xiàn)顯著優(yōu)于其他算法,是因為SocialTS 額外考慮了項目間的相關(guān)性對推薦精度的影響。
2)當(dāng)用戶評分?jǐn)?shù)量大于100 時,各算法的推薦精度也會大幅下降,這是因為用戶興趣發(fā)散導(dǎo)致無法準(zhǔn)確學(xué)習(xí)到用戶可靠的潛在特征向量。因為SocialTS 算法能有效借助社交網(wǎng)絡(luò)信息和項目間的相關(guān)性來修正預(yù)測結(jié)果,所以具有較好的推薦精度。
3)在不同用戶評分?jǐn)?shù)量下,SocialTS 算法的推薦精度始終優(yōu)于其他對比算法,這說明SocialTS 算法對擁有不同評分?jǐn)?shù)量的用戶都具有較好的魯棒性。
為解決數(shù)據(jù)稀疏和冷啟動問題給傳統(tǒng)協(xié)同過濾推薦帶來的困擾,本文提出了融合信任隱含相似度與評分相似度的社會化推薦算法(SocialTS)。SocialTS 利用用戶間的信任關(guān)系來輔助評分?jǐn)?shù)據(jù)更好地挖掘、矯正用戶、項目間可靠的相似關(guān)系,進而通過近鄰用戶、項目約束矩陣分解,不僅保證了相似用戶(項目)間具有相似的特征向量,還獲取了用戶(項目)更為準(zhǔn)確的向量表示,提高了算法推薦的準(zhǔn)確度。在FilmTrust 和CiaoDVD 兩個數(shù)據(jù)上的實驗結(jié)果表明,與已有的主流社會化推薦算法相比,SocialTS 具有更高的準(zhǔn)確性和更好的魯棒性。
在推薦系統(tǒng)中,從用戶和項目兩個角度出發(fā)對評分?jǐn)?shù)據(jù)和信任關(guān)系進行綜合考慮,有利于修正對象間的相似關(guān)系并獲得更可靠的相似對象,進而顯著提高算法的推薦效果。但是,傳統(tǒng)的相似度計算存在一個缺點,那就是只能得到兩個對象間的直接相關(guān)性。正如社交網(wǎng)絡(luò)中用戶間信任關(guān)系的傳遞,用戶間的相似關(guān)系也同樣具有傳遞性,即便兩個用戶沒有直接交互,但他們卻共同擁有一定數(shù)量的相似朋友,那么這兩個用戶之間無疑是存在一定的間接相關(guān)性的。因此,下一階段將嘗試從網(wǎng)絡(luò)嵌入的角度出發(fā)分析用戶(項目)間相關(guān)性,一方面增加對積極對象與消極對象的區(qū)分,構(gòu)建具有正向相關(guān)性的交互網(wǎng)絡(luò);另一方面利用隨機游走對相關(guān)性進行傳遞,最后通過網(wǎng)絡(luò)嵌入技術(shù)更好地挖掘網(wǎng)絡(luò)中結(jié)構(gòu)信息,確保在提高推薦算法準(zhǔn)確性的同時,增加算法的可解釋性。