任志波,王亞文,魏翔宇,管成康
(1. 河北大學(xué) 文科綜合實驗中心,河北 保定 071002;2. 河北大學(xué) 管理學(xué)院,河北 保定 071002;3. 東北石油大學(xué) 人文科學(xué)學(xué)院,黑龍江 大慶 163318;4. 廈門大學(xué)馬來西亞分校 信息科學(xué)與技術(shù)學(xué)院,馬來西亞 雪蘭莪州沙叻丁宜 43900)
解決傳統(tǒng)協(xié)同過濾推薦算法中存在的數(shù)據(jù)稀疏和用戶冷啟動問題,提高算法推薦的準(zhǔn)確度,一直是該領(lǐng)域的研究熱點.引入社交信任和評分中存在的信任關(guān)系,是一種嘗試.文獻(xiàn)[1]定義了內(nèi)部相似性和外部相似性,用戶評分?jǐn)?shù)據(jù)之間的相似性為內(nèi)部相似性,用戶屬性信息之間的相似性為外部相似性,相似性信任度是對兩者的綜合,計算中也利用了社交信任度.文獻(xiàn)[2]做法類似.文獻(xiàn)[3]使用用戶兩級好友之間共同好友個數(shù)來計算信任度.文獻(xiàn)[4]在計算用戶之間信任時,利用了信任值和共同評分項目,并對用戶共同評分項目設(shè)定了閾值,并考慮了用戶的情感偏好.該算法存在的問題是,用戶的信任值只有信任和不信任2個,實際信任值無法準(zhǔn)確衡量.文獻(xiàn)[5]定義用戶間的信任度為通信時長和通信次數(shù)的綜合,但沒有考慮信任有向性.文獻(xiàn)[6]定義用戶間的評分信任度為興趣相似用戶的預(yù)測評分與實際評分的偏差均值,并使用評分信任度來進(jìn)行推薦,該辦法在一定程度上提高了推薦的準(zhǔn)確性,但仍舊不能很好處理用戶冷啟動和數(shù)據(jù)稀疏問題.目前引入社交信任的推薦算法大體分為2種:基于內(nèi)存和基于模型的算法.基于內(nèi)存的信任推薦算法可以在一定程度上緩解了數(shù)據(jù)稀疏和用戶冷啟動問題對推薦精確度的影響[8-12].
2007年,Salakhutdinov等[7]提出概率矩陣分解算法,該算法靈活性較高,不受數(shù)據(jù)稀疏的影響并且可擴(kuò)展性較好.許多研究者在其基礎(chǔ)之上進(jìn)行構(gòu)建基于社交關(guān)系的推薦模型,提出了SoRec[8]、RSTE[9]、SocialMF[10]、SoReg[11]等經(jīng)典的推薦算法.Guo等[12]提出了關(guān)于在線社交網(wǎng)絡(luò)隱私保護(hù)的推薦算法.Wang等[13]提出一種將社會信任和項目關(guān)系結(jié)合到PMF中的新穎推薦方法.文獻(xiàn)[14]在計算信任度時綜合考慮了用戶的局部信任度和全局信任度.文獻(xiàn)[15]計算間接信任度時使用了加權(quán)信任權(quán)重.文獻(xiàn)[16]提出的CRMF算法利用了自適應(yīng)社會正則化的矩陣分解模型,并在其中通過關(guān)聯(lián)規(guī)則來計算項目之間的關(guān)聯(lián)關(guān)系,文獻(xiàn)[17]將該信任關(guān)系度添加到概率矩陣分解模型中,提出了Strength MF算法.在個性化推薦算法中引入社交信任關(guān)系,在推薦效果上比傳統(tǒng)算法更優(yōu)秀,也一定程度上解決了協(xié)同推薦算法面臨的數(shù)據(jù)稀疏、用戶冷啟動、抗攻擊能力低、可擴(kuò)展性差等缺陷[18].
在前人研究的基礎(chǔ)上,本文綜合了文獻(xiàn)[2-3,6,14]的研究,使用改進(jìn)的K最近鄰算法計算興趣相似用戶,相似用戶的閾值為相似度均值,以用戶的評分信任程度計算評分可靠性,在目標(biāo)用戶的兩級信任用戶內(nèi)計算社交信任度,最后將社交信任度和評分信任度進(jìn)行加權(quán)計算,并融入到概率矩陣分解算法中,實現(xiàn)評分預(yù)測.實驗表明該算法相比前人這些算法取得了較好的效果.
本文的貢獻(xiàn)在于將用戶間的評分信任度和社交信任度進(jìn)行加權(quán)計算綜合信任度,并在概率矩陣分解模型中利用綜合信任度,這對于算法的精度和可擴(kuò)展性有顯著的提高,對評分?jǐn)?shù)據(jù)的稀疏問題也有一定效果.
協(xié)同過濾推薦算法是通過計算用戶或項目間的共同評分歷史數(shù)據(jù)來實現(xiàn)對目標(biāo)用戶的推薦.為保證推薦項目的新穎性,常采用基于用戶的推薦算法.
在用戶評分?jǐn)?shù)據(jù)庫中M個用戶u構(gòu)成用戶集合U={ui|i=1,2,…,M},N個項目ν構(gòu)成項目集合V={νj|j=1,2,…,N},用戶對項目的評分?jǐn)?shù)據(jù)構(gòu)成M×N階評分矩陣
R={Rij|i=1,2,…,M;j=1,2,…,N},
Rij表示用戶ui對項目νj的評分,若用戶ui沒有對項目νj進(jìn)行評分,則Rij=0.用戶ui和用戶uk的共同評分項目構(gòu)成項目集合Iik,
Iik={νj|Rkj≠0∩Rij≠0,νj∈V}.
在計算用戶間的評分相似性sim(ui,uk)時,常用的度量方法有皮爾遜相似系數(shù),見公式(1),余弦相似度,見公式(2).
(1)
(2)
接著采用K-NN算法選取目標(biāo)用戶的K個最近鄰,進(jìn)而利用公式(3)對目標(biāo)用戶的評分進(jìn)行預(yù)測.最后向目標(biāo)用戶推薦預(yù)測評分top-N的項目.
(3)
協(xié)同過濾推薦算法在達(dá)到個性化推薦的同時,也存在著一些問題:1)存在新用戶或新項目的冷啟動問題.2)基于內(nèi)存的推薦受歷史數(shù)據(jù)的規(guī)模和稀疏性影響較大.3)K-NN算法的準(zhǔn)確性受K值影響較大,從而影響準(zhǔn)確度.4)基于模型的推薦算法受模型的建立和更新周期影響較大,結(jié)果可讀性較差.
為此采用將基于內(nèi)存和基于模型的算法進(jìn)行有機(jī)融合,使算法能夠有效地發(fā)現(xiàn)新穎度比較高的項目,并且可以提供易于理解的推薦解釋;同時,不僅有效緩解數(shù)據(jù)稀疏的問題,而且增強(qiáng)推薦系統(tǒng)的可擴(kuò)展性,提高預(yù)測的精度.通過設(shè)定用戶間相似度的均值作為近鄰用戶選取時相似度的閾值,以解決傳統(tǒng)K-NN選取的不足.
傳統(tǒng)的推薦算法假定用戶間是相互獨立的,而在現(xiàn)實生活中用戶間的社會關(guān)系會在一定程度上影響對產(chǎn)品的最終選擇,充分利用用戶之間的信任關(guān)系,將有助于提高協(xié)同過濾推薦算法推薦的準(zhǔn)確性.
信任關(guān)系在社交網(wǎng)絡(luò)中,一般用如圖1所示的信任網(wǎng)絡(luò)圖標(biāo)識.信任關(guān)系具有如下屬性:
1)傳遞性.如用戶u1通過對u2的信任也會對用戶u5產(chǎn)生一定的信任.
2)非對稱性.如在信任網(wǎng)絡(luò)圖1中,用戶u2對用戶u5的信任度為1,u5不信任u2,信任是有向的,因此對應(yīng)的信任矩陣也是非對稱的.

圖1 信任網(wǎng)絡(luò)Fig.1 Trust network
3)動態(tài)性.用戶間的信任是會變化的,如時間因素、領(lǐng)域知識的更新等都會改變用戶間的信任關(guān)系.
4)模糊性.用戶間信任的程度是模糊的,難以準(zhǔn)確計算或衡量.
多視角信任模型結(jié)合了用戶間評分信任以及利用社交網(wǎng)絡(luò)的傳播特性確定的社交信任,在概率矩陣分解技術(shù)上通過對傳統(tǒng)協(xié)同過濾的改造而建立的.
2.1.1 興趣相似用戶獲取

(4)
(5)
計算興趣相似用戶的算法如下.
輸入:用戶-項目評分矩陣R,目標(biāo)用戶ui
輸出:目標(biāo)用戶ui的興趣相似用戶集Interest(ui)
Begin
1)sum←0,Interest(ui)←?
2)C(ui)←{uk|Iik≠?,uk∈U}
3)forukinC(ui)do
4)sim(uk,ui)←formula(1)
5)sum←sum+sim(uk,ui)
6)endfor

8)forukinC(ui)do
10)Interest(ui)←uk∪Interest(ui)
11)endfor
12)returnInterest(ui)
End
2.1.2 計算評分信任度
根據(jù)歷史評分?jǐn)?shù)據(jù),如果依據(jù)一個和目標(biāo)用戶在共同評分項目上相似的用戶進(jìn)行推薦,如果推薦的準(zhǔn)確率越高,則這個用戶的評分信任度越大,說明這個用戶和目標(biāo)用戶興趣相似,即興趣相似用戶,利用該用戶進(jìn)行推薦,其可靠度是其在各個共同評分項目上可靠度的均值.

(6)

(7)
最后,由公式(8),計算出ui對uk的整體評分信任度,即用戶ui對uk在所有共同評分項目上的評分信任度的平均值,
(8)
獲取用戶間的評分信任度的算法.
輸入:用戶-項目評分矩陣R,目標(biāo)用戶ui,預(yù)測評分偏差閾值ε,興趣相似用戶集Interest(ui)
輸出:興趣相似用戶uk相對目標(biāo)用戶ui的評分信任度rtik
Begin
1)Iik←{νj|Rkj≠0∩Rij≠0,νj∈V};
2)ifIik=?then
3)rtik←0
4)else
5)foreachuk∈Interest(ui)do


8)endfor
9)rtik←formula(8)
End
根據(jù)用戶之間的信任數(shù)據(jù)構(gòu)建社交信任網(wǎng)絡(luò),如圖2所示,根據(jù)用戶間的信任度構(gòu)成不對稱的社交信任矩陣T,為有效利用信任數(shù)據(jù)的同時降低算法復(fù)雜度,目標(biāo)用戶的社交信任用戶選取一級和二級信任用戶. 在信任網(wǎng)絡(luò)圖中,若2個用戶存在直接相連的邊,則為一級信任用戶,則二者之間的連接權(quán)重即為其社交信任度,見公式(9).

圖2 用戶間多條路徑信任Fig.2 Multiple path trust graphs between users
stik=tik.
(9)
在k是i的二級信任用戶時,用戶i對用戶k的社交信任度計算公式,當(dāng)從i到k只有一條路徑,用公式(10)計算,即用信任權(quán)重加權(quán)乘積的方法取得
stik=taktia.
(10)
如從i到k存在多條路徑,用戶i對用戶k的社交信任度就是各條路徑的社交信任度中的最大值,用公式(11)計算
stik=max(taktia,tbktib,…).
(11)
用戶間的社交信任度的算法如下.
輸入:用戶-用戶信任度矩陣T,目標(biāo)用戶ui,候選社交信任用戶uk,ui一級用戶集dir(ui),ui二級用戶集indir(ui)
輸出:目標(biāo)用戶ui對候選社交信任用戶uk的社交信任度stik
Begin
1)ifukindir(ui)do
2)stik←formula(10)
3)elifukinindir(ui)do
4)stik←formula(11)
5)else
6)stik←0
End
為了解決數(shù)據(jù)稀疏問題,提高推薦的準(zhǔn)確率,通過自適應(yīng)權(quán)重將評分信任和社交信任進(jìn)行分段融合,得到用戶k對用戶i的推薦權(quán)重wik,有
(12)

在確定信任推薦用戶后,PMF模型結(jié)合評分信息和綜合信任信息,這樣在計算用戶對項目的評分預(yù)測時,可以充分利用用戶、項目的特征矩陣和用戶間的綜合信任,計算用戶i對項目j的預(yù)測評分為

其中Ni為用戶i的推薦用戶集,wik是用戶i對推薦用戶k的綜合信任度,可以根據(jù)公式(12)計算,α是組合自適應(yīng)權(quán)重,Ui、Vj分別為用戶和項目的特征矩陣,分別服從期望為0,方差為σUI,σVI的高斯分布,即
則用戶對項目的評分R滿足條件概率
通過計算項目特征矩陣,用戶的后驗概率為

取對數(shù)后有

計算最大值可轉(zhuǎn)化為計算損失函數(shù)最小值,即

為驗證算法的有效性,選擇Filmtrust電影推薦網(wǎng)站上的真實數(shù)據(jù)集進(jìn)行數(shù)據(jù)實驗,該數(shù)據(jù)集中包含1 508個用戶對2 071部電影的35 497條評分?jǐn)?shù)據(jù),其中最低評分值為0.5,最高評分值為4.0,數(shù)據(jù)的稀疏性達(dá)98.87%,另外還包括1 642個用戶之間1 853條信任數(shù)據(jù).
實驗的運(yùn)行環(huán)境為Win7 64位,Intel(R) Core(TM) i3-6100 CPU @3.70GHz,Pycharm,Python3.6.采用推薦算法測評常用的平均絕對誤差(MAE)和均方根誤差(RMSE)作為評估標(biāo)準(zhǔn).
為充分證明MT-PMF算法的有效性,設(shè)計橫向?qū)Ρ群涂v向?qū)Ρ葘嶒? 對于縱向?qū)Ρ龋碝T-PMF模型中自身參數(shù)對算法效果的影響. 需要考慮的參數(shù)有:偏差閾值、系統(tǒng)中2個用戶共同評分項目數(shù)、最小值nmin、最大值nmax、預(yù)測評分中自身評分偏好的影響程度α、迭代次數(shù)d.在查看參數(shù)對推薦算法精度的影響時指定特征矩陣維度為5.
由圖3和圖4分別可以看出偏差閾值ε在1.4時RMSE和MAE均取得最小值.

圖3 偏差閾值對RMSE的影響Fig.3 Influence of deviation threshold on RMSE

圖4 偏差閾值對MAE的影響Fig.4 Influence of deviation threshold on MAE
圖5和圖6分別表示迭代次數(shù)對RMSE和MAE的影響,從圖5、6中可以看出,RMSE和MAE隨著迭代次數(shù)的增大越來越小,推薦的精確度越來越好,并最終趨于穩(wěn)定.

圖5 迭代次數(shù)對RMSE的影響Fig.5 Influence of the number of iterations on RMSE

圖6 迭代次數(shù)對MAE的影響Fig.6 Influence of the number of iterations on MAE
圖7和圖8分別表示α對RMSE和MAE的影響,由圖可知在預(yù)測評分時,相比于用戶自身偏好的依賴,系統(tǒng)更依賴于綜合信任,原因可能是在綜合信任的計算時融合了興趣相似用戶帶來的評分信任,為此,綜合信任的重要性加強(qiáng)了.

圖7 評分偏好程度α對RMSE的影響Fig.7 Influence of rating preference on RMSE

圖8 評分偏好程度α對MAE的影響Fig.8 Influence of rating preference on MAE
圖9和圖10分別表示最大評分項目數(shù)nmax對RMSE和MAE的影響.在實驗中首先確定nmin為0,nmax從5取值,隨著nmax的增加,算法的誤差也在不斷的增加,因此nmax的最優(yōu)值確定為5. 固定nmax,觀察nmin的變化對精度的影響,nmin從0到4變化時,取0時為最優(yōu).

圖9 nmax對RMSE的影響Fig.9 Influence of nmax on RMSE

圖10 nmax對MAE的影響Fig.10 Influence of nmax on MAE
將MT-PMF算法與PMF算法及經(jīng)典的信任推薦算法SoReg、SoRec、SocialMF、RSTE分別進(jìn)行對比,測試隨機(jī)選取Filmtrust數(shù)據(jù)集中90%的數(shù)據(jù)為訓(xùn)練集,并進(jìn)行10折交叉驗證,表1和表2為不同特征矩陣維度(dimension)時各算法的RMSE和MAE值.

表1 5維特征矩陣時各算法的誤差Tab.1 Error of the algorithms by using 5-dimensional feature matrix

表2 10維特征矩陣時各算法的誤差Tab.2 Eeeor of the algorithms by using 10-dimensional feature matrix
通過表1、表2中的實驗結(jié)果可以看出,對比PMF模型,考慮用戶間社交信任的推薦效果要優(yōu)于未考慮社交信任的推薦效果,這可以說明,在推薦算法中結(jié)合用戶的社交信任可以大大提高推薦的準(zhǔn)確率.對比其他4種信任模型,MT-PMF綜合考慮了用戶間的信任,也考慮了評分?jǐn)?shù)據(jù)產(chǎn)生的信任,顯示了評分信任和用戶信任對提高推薦算法精度的有效性.
本文同時考慮用戶評分?jǐn)?shù)據(jù)產(chǎn)生的信任度和用戶間社交信任度以確定用戶間的綜合信任度,然后融合評分?jǐn)?shù)據(jù)和綜合信任于概率矩陣分解模型中,提出一種融合多角度信任的推薦算法,該算法進(jìn)一步改善了推薦的效果,為推薦算法研究提供了一個新的思路.融合信任關(guān)系的推薦算法還有很大的研究空間:從推薦算法研究的深度考慮,可以進(jìn)一步將時間因素引入到信任模型[19-20];也可以在評分預(yù)測時加入電影的輔助信息,如明星、影評、導(dǎo)演、電影類型等,進(jìn)行基于協(xié)同過濾的包含電影內(nèi)容的混合推薦;還可以利用深度學(xué)習(xí)模型[21],來學(xué)習(xí)電影的海報或畫面內(nèi)容. 從推薦算法外延考慮,可將算法推廣到其他領(lǐng)域,如現(xiàn)在發(fā)展迅速的短視頻領(lǐng)域等.