張岐山,朱 猛
福州大學(xué) 經(jīng)濟(jì)與管理學(xué)院,福州 350108
在互聯(lián)網(wǎng)信息過載的時(shí)代,推薦系統(tǒng)可以幫助用戶快速獲取自身需要的信息,且在解決難以描述的需求以及個(gè)性化需求上表現(xiàn)更好[1]。推薦系統(tǒng)主要包括協(xié)同過濾推薦、基于內(nèi)容的推薦以及混合推薦[2],其中協(xié)同過濾推薦在互聯(lián)網(wǎng)推薦系統(tǒng)中應(yīng)用的較多,尤其是基于用戶的協(xié)同過濾算法,從用戶的角度挖掘用戶潛在的興趣偏好,更符合個(gè)性化的推薦,此外,協(xié)同過濾應(yīng)用范圍也較廣,對(duì)于無法量化的特征,僅使用評(píng)級(jí)數(shù)據(jù)也能取得較好的效果[3],但由于數(shù)據(jù)稀疏性[4]以及用戶興趣動(dòng)態(tài)變化[5]等問題導(dǎo)致推薦精度不足。
現(xiàn)實(shí)中,人們更愿意相信好友推薦的物品,因此信任在推薦系統(tǒng)算法中的應(yīng)用受到了廣泛的關(guān)注,尤其對(duì)于數(shù)據(jù)稀疏的問題,輔助使用用戶信任關(guān)系的效果比傳統(tǒng)的協(xié)同過濾更好[6-7]。文獻(xiàn)[8]定義了兩種信任類型,分別是從用戶角度和項(xiàng)目角度的正確推薦占比,并把它們整合到標(biāo)準(zhǔn)的協(xié)同過濾的框架中,提高了推薦的準(zhǔn)確性。文獻(xiàn)[9]使用用戶間的預(yù)測(cè)誤差和用戶共同評(píng)分?jǐn)?shù)來計(jì)算直接信任,對(duì)于沒有共同評(píng)分項(xiàng)的用戶,構(gòu)建間接信任來緩解數(shù)據(jù)稀疏性。文獻(xiàn)[10]利用用戶之間的交互次數(shù)得到直接信任,并通過等效電阻理論的距離度量方式計(jì)算間接信任,但計(jì)算直接信任時(shí)忽略用戶的評(píng)分。
雖然信任在推薦算法中的應(yīng)用在一定程度上改善了推薦結(jié)果,但在數(shù)據(jù)極其稀疏時(shí),根據(jù)用戶對(duì)項(xiàng)目的評(píng)分行為建立的用戶關(guān)系并不能反應(yīng)出用戶關(guān)系的真實(shí)情況,通過用戶對(duì)項(xiàng)目標(biāo)簽的偏好程度能進(jìn)一步挖掘出用戶之間的偏好關(guān)系。文獻(xiàn)[11]將用戶對(duì)項(xiàng)目標(biāo)簽的評(píng)分頻率作為用戶對(duì)項(xiàng)目標(biāo)簽的偏好程度。文獻(xiàn)[12]將用戶對(duì)項(xiàng)目標(biāo)簽評(píng)分的平均值與該用戶對(duì)所有項(xiàng)目的評(píng)分平均值的比值作為用戶對(duì)項(xiàng)目標(biāo)簽的偏好程度。以上研究通過用戶對(duì)項(xiàng)目標(biāo)簽的偏好程度緩解了數(shù)據(jù)稀疏性。
然而,用戶興趣并非靜態(tài)的,而是會(huì)隨時(shí)間而變化,因此越來越多的學(xué)者在推薦系統(tǒng)中融入時(shí)間因素。文獻(xiàn)[13]提出基于遺忘曲線規(guī)律進(jìn)行時(shí)間衰減,擬合艾賓浩斯曲線得到用戶興趣隨時(shí)間變化的函數(shù)。文獻(xiàn)[14]提出了一種融合時(shí)間因素和用戶評(píng)分特性的協(xié)同過濾算法,將用戶對(duì)項(xiàng)目評(píng)分的時(shí)間間隔作為時(shí)間權(quán)重并融入到預(yù)測(cè)偏好得分中進(jìn)行推薦。文獻(xiàn)[15]使用logistic作為時(shí)間衰減函數(shù),并將其考慮進(jìn)相似度的計(jì)算中,提高了推薦精度。以上融合時(shí)間因素的算法均改善了推薦精度,但沒有考慮到用戶評(píng)分時(shí)間的不均勻,仍有進(jìn)一步優(yōu)化的空間。
針對(duì)以上問題,本文提出了融合時(shí)間加權(quán)信任與用戶偏好的協(xié)同過濾算法。該算法首先結(jié)合用戶評(píng)分的相對(duì)時(shí)間間隔和用戶在該時(shí)段的評(píng)分?jǐn)?shù)量占比計(jì)算出時(shí)間權(quán)重,根據(jù)用戶之間共同的評(píng)分項(xiàng)目并加入用戶對(duì)項(xiàng)目的時(shí)間權(quán)重得出用戶的直接信任。其次,將信任傳遞的中間節(jié)點(diǎn)的個(gè)人信譽(yù)度作為信任傳遞路徑的可靠性權(quán)重得到間接信任。然后,結(jié)合用戶對(duì)項(xiàng)目標(biāo)簽的評(píng)分?jǐn)?shù)量占比以及評(píng)分值占比得到用戶對(duì)各個(gè)項(xiàng)目標(biāo)簽的偏好程度,建立用戶-項(xiàng)目標(biāo)簽偏好矩陣,計(jì)算出用戶之間的偏好相似度。最后,綜合用戶信任度與偏好相似度對(duì)用戶進(jìn)行推薦。本文的貢獻(xiàn)主要體現(xiàn)在以下三個(gè)方面:
(1)考慮到用戶評(píng)分時(shí)間的不均勻,結(jié)合用戶評(píng)分的相對(duì)時(shí)間間隔和用戶在該時(shí)段的評(píng)分?jǐn)?shù)量占比計(jì)算出時(shí)間權(quán)重,并將時(shí)間權(quán)重融入到直接信任計(jì)算中,緩解用戶興趣動(dòng)態(tài)變化的問題。
(2)考慮傳遞中間節(jié)點(diǎn)的個(gè)人信譽(yù)度,將信任傳遞的中間節(jié)點(diǎn)的個(gè)人信譽(yù)度作為信任傳遞路徑的可靠性權(quán)重得到間接信任,緩解數(shù)據(jù)的稀疏性。
(3)綜合考慮用戶對(duì)每個(gè)項(xiàng)目標(biāo)簽的評(píng)分?jǐn)?shù)量占比以及評(píng)分值占比的影響,對(duì)二者進(jìn)行調(diào)和平均,建立用戶-項(xiàng)目標(biāo)簽偏好矩陣,進(jìn)一步緩解數(shù)據(jù)的稀疏性。
1.1.1 時(shí)間權(quán)重的改進(jìn)
用戶的興趣會(huì)隨時(shí)間的變化而變化,在早期對(duì)某個(gè)項(xiàng)目不感興趣的用戶可能過段時(shí)間會(huì)產(chǎn)生興趣,所以用戶最近對(duì)項(xiàng)目的評(píng)分更能反映用戶當(dāng)前的興趣。
一些學(xué)者[14-16]使用用戶評(píng)分時(shí)間間隔來刻畫用戶興趣變化,這種方法的理想狀態(tài)是每個(gè)用戶評(píng)分時(shí)間間隔是均勻的,然而實(shí)際中并非如此,用戶評(píng)分時(shí)間存在密集區(qū)和非密集區(qū),此時(shí),用戶在一段時(shí)間內(nèi)對(duì)評(píng)價(jià)項(xiàng)目的記憶程度不僅與間隔的時(shí)間長(zhǎng)短有關(guān),還與用戶在該時(shí)段內(nèi)評(píng)價(jià)的項(xiàng)目個(gè)數(shù)有關(guān)。通過結(jié)合用戶相對(duì)評(píng)分時(shí)間間隔和用戶在該時(shí)段的評(píng)分?jǐn)?shù)量占比作為時(shí)間權(quán)重能夠使密集區(qū)的時(shí)間權(quán)重適當(dāng)減小,非密集區(qū)的時(shí)間權(quán)重適當(dāng)增大,從而使用戶興趣隨時(shí)間的變化過程更加平滑,在用戶評(píng)分時(shí)間非均勻的情況下,提升刻畫用戶興趣變化的準(zhǔn)確程度。改進(jìn)后的時(shí)間權(quán)重公式如下:
其中t u,i是指用戶u對(duì)項(xiàng)目i評(píng)分的相對(duì)時(shí)間間隔,n u,i表示用戶在T u,i到T umax的時(shí)段內(nèi)的評(píng)分?jǐn)?shù)量占比,Tu,i表示用戶u對(duì)項(xiàng)目i的評(píng)分時(shí)間,T umax和T umin分別表示用戶u最晚和最早的評(píng)分時(shí)間,numT umax-Tu,i表示用戶u在T u,i到Tumax的時(shí)段內(nèi)的評(píng)分個(gè)數(shù)。
1.1.2 融合時(shí)間因素的直接信任度
傳統(tǒng)的信任模型忽略了時(shí)間對(duì)用戶興趣變化的影響,從而在一定程度上影響了推薦的準(zhǔn)確性。JMSD在計(jì)算用戶之間的相似關(guān)系已被證明具有較好的性能[17],但是沒有考慮到時(shí)間因素,因此,本文將改進(jìn)后的時(shí)間權(quán)重融入到JMSD來衡量用戶之間的直接信任關(guān)系,公式如下:
考慮到用戶之間的評(píng)分偏好不同,有的用戶評(píng)分比較寬松,評(píng)分較高,有的用戶評(píng)分比較嚴(yán)格,評(píng)分較低,定義信任調(diào)整因子來增強(qiáng)信任,公式如式(5)所示,其中,μu和σu分別表示用戶u的評(píng)分均值和評(píng)分方差。
信任具有非對(duì)稱性,比如用戶A信任用戶B,但用戶B不一定信任用戶A,或者用戶B信任用戶A,但信任的程度不一定相同,所以用戶u對(duì)用戶v的直接信任的公式如下:同理,用戶v對(duì)用戶u的直接信任為:
直接信任是根據(jù)用戶之間共同評(píng)分項(xiàng)目的基礎(chǔ)上進(jìn)行的,而有的用戶之間可能沒有共同評(píng)分的項(xiàng)目,從而導(dǎo)致沒有信任關(guān)系,為了更進(jìn)一步的挖掘用戶之間的隱藏信息,考慮信任的傳遞性。如果用戶a信任用戶b,用戶b信任用戶c,則認(rèn)為用戶a也信任用戶c。傳遞信任隨著用戶增多信任度減少,以及傳遞的路徑越長(zhǎng),存在的誤差越大,所以本文采用兩級(jí)路徑傳播。
當(dāng)用戶u和v之間只存在一條傳遞路徑時(shí),間接信任為該條路徑上最小的直接信任值,當(dāng)存在多條傳遞路徑時(shí),采用最小-最大復(fù)合的方法得到間接信任[9],但該方法沒有考慮用戶的個(gè)人信譽(yù)度。由于本文的直接信任是依據(jù)用戶之間的共同評(píng)分項(xiàng)得到的,而用戶個(gè)人信譽(yù)度是由用戶的評(píng)分?jǐn)?shù)量以及評(píng)分準(zhǔn)確度組成[18-19],用戶的評(píng)分?jǐn)?shù)量越多、評(píng)分準(zhǔn)確度越高,則用戶的個(gè)人信譽(yù)度越高,通過計(jì)算得到的該用戶對(duì)其他用戶的信任值也越可靠。其中用戶的個(gè)人信譽(yù)度PT(u)為:
其中,w(u)、E(u)分別為評(píng)分?jǐn)?shù)量權(quán)重和評(píng)分準(zhǔn)確度,H為所有用戶的平均評(píng)分個(gè)數(shù),|I u|表示用戶u的評(píng)分個(gè)數(shù),S為項(xiàng)目的最高評(píng)分。
因此,考慮用戶的個(gè)人信譽(yù)度,使用中間節(jié)點(diǎn)的個(gè)人信譽(yù)度作為該路徑的可靠性權(quán)重,先選取每條傳遞路徑的最小直接信任,其次將每條傳遞路徑的中間節(jié)點(diǎn)的個(gè)人信譽(yù)度與對(duì)應(yīng)的最小直接信任相乘,選出產(chǎn)生最大值的傳遞路徑,進(jìn)而取該條路徑上的最小信任值作為間接信任。改進(jìn)后的間接信任的公式如下:
其中,K表示用戶u和用戶v之間共同信任的用戶集合,k*為得到的最可靠的傳遞路徑的中間節(jié)點(diǎn)。
綜合用戶的直接信任和間接信任,則用戶間的最終信任如下式所示:
用戶對(duì)項(xiàng)目標(biāo)簽的偏好程度可以反映出用戶對(duì)各種類型的電影的喜好程度,用戶之間對(duì)項(xiàng)目標(biāo)簽的偏好程度越相似,他們之間的偏好相似度就越高,當(dāng)數(shù)據(jù)非常稀疏,用戶之間的共同評(píng)分項(xiàng)很少時(shí),通過用戶之間對(duì)項(xiàng)目標(biāo)簽的偏好相似程度綜合考慮用戶之間的共同評(píng)分項(xiàng)以及非共同評(píng)分項(xiàng),能極大緩解數(shù)據(jù)稀疏性。在計(jì)算用戶對(duì)項(xiàng)目標(biāo)簽的偏好程度時(shí),文獻(xiàn)[11]沒有考慮評(píng)分值的大小;文獻(xiàn)[12]忽略了用戶在項(xiàng)目標(biāo)簽上的評(píng)分?jǐn)?shù)量。然而假設(shè)用戶A對(duì)項(xiàng)目標(biāo)簽x1的評(píng)分記錄為[4,4,4,4,4,4],對(duì)項(xiàng)目標(biāo)簽x2和x3的評(píng)分記錄分別為[5,5]、[2,2,2],則顯然γA,x1>γA,x2>γA,x3,γA,x表示用戶對(duì)項(xiàng)目標(biāo)簽的喜好程度。因此,本文中用戶對(duì)項(xiàng)目標(biāo)簽的偏好程度由重要性權(quán)重和評(píng)分率權(quán)重兩部分組成。
(1)重要性權(quán)重
重要性權(quán)重是指用戶在所評(píng)價(jià)過的項(xiàng)目中,每個(gè)項(xiàng)目標(biāo)簽包含的項(xiàng)目數(shù)量所占的比例,計(jì)算公式如下:
其中,N u,x表示用戶u評(píng)價(jià)過屬于標(biāo)簽x的項(xiàng)目的數(shù)量。
(2)評(píng)分率權(quán)重
評(píng)分率權(quán)重是指用戶在所評(píng)價(jià)過的項(xiàng)目中,每個(gè)項(xiàng)目標(biāo)簽的評(píng)分和與該用戶所有評(píng)價(jià)過的項(xiàng)目的評(píng)分和的比值,計(jì)算公式如下:
Sumu,x表示用戶u對(duì)屬于標(biāo)簽x項(xiàng)目的評(píng)分和,Sumu表示用戶u的評(píng)分總和。
重要性權(quán)重和評(píng)分率權(quán)重分別從用戶對(duì)項(xiàng)目標(biāo)簽的評(píng)價(jià)數(shù)量以及評(píng)分值兩個(gè)角度刻畫用戶對(duì)項(xiàng)目標(biāo)簽的偏好程度,本文認(rèn)為二者對(duì)獲取用戶對(duì)項(xiàng)目標(biāo)簽的綜合偏好程度同等重要,當(dāng)重要性權(quán)重和評(píng)分率權(quán)重同時(shí)大時(shí),用戶對(duì)項(xiàng)目標(biāo)簽的綜合偏好程度才大。因此,對(duì)二者采用調(diào)和平均計(jì)算用戶對(duì)項(xiàng)目標(biāo)簽的綜合偏好程度,且調(diào)和平均受極小值的影響比受極大值的影響更大,在用戶對(duì)項(xiàng)目標(biāo)簽的評(píng)價(jià)數(shù)量占比較大、評(píng)分值占比較小或者評(píng)價(jià)數(shù)量占比較小、評(píng)分值占比較大的情況時(shí),能夠獲得更加合理的綜合偏好程度。用戶對(duì)項(xiàng)目標(biāo)簽x的綜合偏好程度γu,x的公式為:
通過提取項(xiàng)目特征能緩解推薦系統(tǒng)中存在的數(shù)據(jù)稀疏性問題[20],由于項(xiàng)目標(biāo)簽遠(yuǎn)小于項(xiàng)目數(shù)量,且一個(gè)項(xiàng)目又可包含多種項(xiàng)目標(biāo)簽,則根據(jù)用戶對(duì)項(xiàng)目標(biāo)簽的綜合偏好程度建立用戶-項(xiàng)目標(biāo)簽的偏好矩陣在稀疏程度上遠(yuǎn)小于用戶-項(xiàng)目評(píng)價(jià)矩陣的稀疏程度,根據(jù)偏好矩陣計(jì)算用戶之間的偏好相似度,能夠較準(zhǔn)確地挖掘出沒有共同評(píng)分項(xiàng)或共同評(píng)分項(xiàng)較少的用戶之間的相似度,偏好相似度如式(17)所示,其中X為所有項(xiàng)目標(biāo)簽的集合。
本文通過設(shè)置參數(shù)β,綜合考慮用戶的信任度和偏好相似度,將用戶之間的偏好相似度和信任度進(jìn)行線性加權(quán),見公式(18):
根據(jù)融合后的權(quán)重weight(u,v),從大到小進(jìn)行排序,取前top-S個(gè)用戶作為最近鄰居集S u,用戶u對(duì)項(xiàng)目i的喜好程度p ui可由公式(19)計(jì)算得出:
融合時(shí)間加權(quán)信任與用戶偏好的協(xié)同過濾算法的具體推薦步驟如下:
輸入:用戶項(xiàng)目評(píng)分矩陣,用戶評(píng)分時(shí)間矩陣以及項(xiàng)目標(biāo)簽矩陣。
輸出:用戶的推薦列表
步驟1通過用戶評(píng)分時(shí)間矩陣和式(1)計(jì)算用戶對(duì)已評(píng)價(jià)項(xiàng)目的時(shí)間權(quán)重,將時(shí)間權(quán)重融入JMSD中,然后依據(jù)公式(6)、(7)計(jì)算用戶之間的直接信任。
步驟2根據(jù)公式(8)~(10)計(jì)算出用戶的個(gè)人信譽(yù)度,將個(gè)人信譽(yù)度作為信任聚合的權(quán)重,利用公式(11)、(12)得到用戶之間的間接信任。
步驟3根據(jù)式(13)得到用戶之間的綜合信任度。
步驟4通過項(xiàng)目標(biāo)簽矩陣以及式(14)~(16)建立用戶-項(xiàng)目標(biāo)簽的偏好矩陣,然后利用公式(17)計(jì)算用戶之間對(duì)項(xiàng)目標(biāo)簽的偏好相似度。
步驟5將用戶之間的綜合信任度與偏好相似度進(jìn)行線性加權(quán)得到用戶之間的綜合相似度。
步驟6取步驟5中得到用戶綜合相似度進(jìn)行降序排列,并取前S個(gè)用戶作為最近鄰居集。
步驟7根據(jù)式(19)計(jì)算用戶對(duì)未評(píng)價(jià)項(xiàng)目的喜好程度,并對(duì)其進(jìn)行降序排列,取前k個(gè)項(xiàng)目作為推薦列表。
步驟8重復(fù)步驟6和7,為所有用戶生成推薦列表。
本文提出的融合時(shí)間加權(quán)信任與用戶偏好的協(xié)同過濾算法主要由兩部分組成,一部分是考慮用戶興趣動(dòng)態(tài)變化的信任關(guān)系度量算法,這部分算法結(jié)合用戶評(píng)分相對(duì)時(shí)間間隔與用戶在該時(shí)段的評(píng)分?jǐn)?shù)量占比作為時(shí)間權(quán)重,能夠使用戶評(píng)分密集區(qū)的時(shí)間權(quán)重適當(dāng)減小、非密集區(qū)的時(shí)間權(quán)重適當(dāng)增大,使用戶興趣隨時(shí)間的變化過程更加平滑,在一定程度上緩解由近期處于非密集區(qū)的用戶興趣隨時(shí)間變化過快的問題,進(jìn)而獲取更準(zhǔn)確的用戶近期信任關(guān)系,提升推薦精度,同時(shí),直接信任是依據(jù)用戶之間的共同評(píng)分項(xiàng),而用戶的評(píng)分?jǐn)?shù)量越多、評(píng)分準(zhǔn)確度越高,用戶的個(gè)人信譽(yù)度也越高,計(jì)算得到的該用戶對(duì)其他用戶的信任值也越可靠,因此,將傳遞中間節(jié)點(diǎn)的個(gè)人信譽(yù)度作為傳遞路徑的可靠性權(quán)重,能夠修正通過信譽(yù)度不高的用戶獲取間接信任的誤差,進(jìn)而提升推薦精度;另一部分是用戶對(duì)項(xiàng)目標(biāo)簽的偏好相似性度量算法,這部分算法綜合考慮用戶對(duì)項(xiàng)目標(biāo)簽的評(píng)價(jià)數(shù)量與評(píng)分值,緩解用戶對(duì)項(xiàng)目標(biāo)簽的評(píng)價(jià)數(shù)量與評(píng)分值出現(xiàn)一大一小的情況時(shí),僅依據(jù)評(píng)價(jià)數(shù)量或評(píng)分值刻畫出的用戶對(duì)項(xiàng)目標(biāo)簽的偏好程度存在偏大或偏小的問題,從而提高用戶偏好的準(zhǔn)確度;最后通過融合這兩部分算法能夠更加準(zhǔn)確地刻畫用戶偏好,對(duì)于用戶之間共同評(píng)分項(xiàng)較少,使得獲取的信任關(guān)系存在誤差的問題,可以通過用戶之間在項(xiàng)目標(biāo)簽的偏好相似度修正僅依靠信任關(guān)系進(jìn)行推薦的誤差,獲取更精準(zhǔn)的鄰居集,從而緩解由數(shù)據(jù)稀疏性導(dǎo)致的推薦性能不高的問題。
本次實(shí)驗(yàn)采用的是MovieLens 100K數(shù)據(jù)集,Movie-Lens100k數(shù)據(jù)集是由GroupLens Research采集的多個(gè)用戶對(duì)多部電影的評(píng)級(jí)數(shù)據(jù)以及電影標(biāo)簽信息等數(shù)據(jù)組成。該數(shù)據(jù)集包括943個(gè)用戶對(duì)1 682部電影的100 000條評(píng)分,評(píng)分是1~5的整數(shù),表示用戶對(duì)電影的喜好程度,每個(gè)用戶的評(píng)分個(gè)數(shù)不小于20條,電影有18種標(biāo)簽信息,主要包括喜劇、動(dòng)作、科幻和動(dòng)畫等等,隨機(jī)選取80%作為訓(xùn)練集,20%作為測(cè)試集。該電影數(shù)據(jù)集的數(shù)據(jù)稀疏度為93.70%。
采用推薦系統(tǒng)常用的召回率recall@k、精確率precision@k以及F1值作為評(píng)價(jià)指標(biāo),k表示給用戶推薦的列表長(zhǎng)度。公式如下:其中,R(u)為本文算法通過訓(xùn)練集獲得的電影推薦列表,T(u)為用戶在測(cè)試集中評(píng)分的推薦列表。
3.3.1 實(shí)驗(yàn)參數(shù)分析
(1)參數(shù)α的取值對(duì)TTUPCF算法的影響
實(shí)驗(yàn)中,取β為0.3,用戶近鄰個(gè)數(shù)為20,推薦列表的長(zhǎng)度為20,α值從0增大到1,每次以0.1為單位遞增,從而確定一個(gè)最優(yōu)的α值。圖1給出了α的取值對(duì)召回率和準(zhǔn)確率的影響。從圖1中可以看出,召回率和精確率隨著α的取值總的來說是先增大后減小的趨勢(shì),在α=0.7時(shí),召回率和精確率均取得最大值,比α=1時(shí)提高了1.20%,由此可以說明,結(jié)合用戶相對(duì)評(píng)分時(shí)間間隔和用戶在該時(shí)段的評(píng)分?jǐn)?shù)量占比作為時(shí)間權(quán)重在刻畫用戶興趣隨時(shí)間變化的準(zhǔn)確程度上比只采用用戶相對(duì)評(píng)分時(shí)間間隔作為時(shí)間權(quán)重更高,具有更好推薦效果。
圖1 α值對(duì)TTUPCF算法的影響Fig.1 Effect ofαon TTUPCF algorithm
另外,從實(shí)驗(yàn)結(jié)果可以看出,α取得最優(yōu)值時(shí)較大,即用戶相對(duì)評(píng)分時(shí)間間隔占比較大、用戶在該時(shí)段的評(píng)分?jǐn)?shù)量占比較小。這是由于當(dāng)某些用戶評(píng)分時(shí)間的非密集區(qū)的時(shí)間跨度較大時(shí),用戶評(píng)分?jǐn)?shù)量占比越大,會(huì)使用戶對(duì)非密集區(qū)的項(xiàng)目的遺忘程度急劇減小,產(chǎn)生的誤差也越大。因此,在用戶在該時(shí)段的評(píng)分?jǐn)?shù)量占比較小時(shí),才能有效地平滑用戶興趣隨時(shí)間的變化程度。
(2)參數(shù)β的取值對(duì)TTUPCF算法的影響
實(shí)驗(yàn)中,取α為0.3,用戶近鄰個(gè)數(shù)為20,推薦列表的長(zhǎng)度為20,β值從0增大到1,每次以0.1為單位遞增,從而確定一個(gè)最優(yōu)的β值,圖2給出了β的取值對(duì)召回率和準(zhǔn)確率的影響。從圖2中可以看出,召回率和精確率隨著β的取值先增大后減少,當(dāng)β=0.3時(shí),算法的召回率和精確率的表現(xiàn)最好,比β=0時(shí)提高了1.95%,說明在獲取間接信任緩解數(shù)據(jù)稀疏性后,通過用戶對(duì)項(xiàng)目標(biāo)簽的偏好程度計(jì)算用戶的偏好相似度在一定程度上進(jìn)一步緩解了數(shù)據(jù)稀疏性,提高了推薦精度。
圖2 β值對(duì)TTUPCF算法的影響Fig.2 Effect ofβon TTUPCF algorithm
從實(shí)驗(yàn)結(jié)果中可以看出,β取得最優(yōu)值時(shí)較小,即用戶信任權(quán)重占比較大、用戶偏好相似度占比較小,這是由于項(xiàng)目標(biāo)簽只有18種,劃分的粒度較為粗糙,得到偏好相似度較信任度大得多。因此,在偏好相似度占比較小時(shí),才能起到更好的調(diào)節(jié)作用。
3.3.2 對(duì)改進(jìn)間接信任的實(shí)驗(yàn)分析
為了研究改進(jìn)后的間接信任對(duì)本文算法的影響,將考慮信任傳遞中間節(jié)點(diǎn)的個(gè)人信譽(yù)度的模型與不考慮個(gè)人信譽(yù)度的模型進(jìn)行對(duì)比。實(shí)驗(yàn)中將算法的參數(shù)均設(shè)為最優(yōu)值,比較兩者在推薦列表為20,用戶近鄰數(shù)從10增加到70時(shí)的F1值的變化情況。
從圖3中可以看出,二者均在用戶近鄰個(gè)數(shù)為20時(shí)的F1值達(dá)到最大值,但考慮個(gè)人信譽(yù)度的模型的F1值均高于未考慮個(gè)人信譽(yù)度的模型。說明考慮個(gè)人信譽(yù)度得到的間接信任較未考慮個(gè)人信譽(yù)度的間接信任更為可靠,使本文協(xié)同過濾算法獲取的鄰居集更為精準(zhǔn)。
圖3 考慮與不考慮個(gè)人信譽(yù)度對(duì)算法的影響Fig.3 Considering and not considering influence of personal reputation on algorithm
3.3.3 各算法性能對(duì)比
為驗(yàn)證本文提出的融合時(shí)間加權(quán)信任與用戶偏好的協(xié)同過濾算法(TTUPCF)的性能,將TTUPCF與基于PCC的協(xié)同過濾(PCC)、基于JMSD的協(xié)同過濾算法(JMSD)以及文獻(xiàn)[21]提出的一種融合隱式信任的協(xié)同過濾推薦算法(TCF)進(jìn)行比較。
如圖4所示,推薦列表長(zhǎng)度取20,α=0.7,β=0.3,設(shè)置用戶近鄰個(gè)數(shù)從10增加到90,步長(zhǎng)為10,分析用戶近鄰個(gè)數(shù)對(duì)各個(gè)算法的影響。從圖4中可以看出,TTUPCF算法的F1值隨著用戶近鄰個(gè)數(shù)先是增大,在近鄰個(gè)數(shù)為20時(shí)達(dá)到最大值,然后緩慢降低,在近鄰個(gè)數(shù)為60后趨于穩(wěn)定,且在不同的近鄰數(shù)下,TTUPCF算法的F1值均高于其他基準(zhǔn)算法。其中,PCC在F1值上表現(xiàn)最差,這是由于PCC僅根據(jù)用戶之間的共同評(píng)分項(xiàng)來計(jì)算用戶之間的相似程度,存在嚴(yán)重的數(shù)據(jù)稀疏問題。JMSD在使用共同評(píng)分項(xiàng)來度量用戶相似度的基礎(chǔ)上考慮了用戶之間的共同評(píng)分項(xiàng)的數(shù)量多少問題,因此在F1值上高于PCC,但未能有效緩解數(shù)據(jù)的稀疏性。TCF通過挖掘潛在的信任關(guān)系,并與用戶之間的相似度進(jìn)行調(diào)和平均作為推薦權(quán)重,在一定程度上緩解了數(shù)據(jù)稀疏性,因而在F1值上的表現(xiàn)要高于PCC和JMSD,但是未考慮到用戶興趣動(dòng)態(tài)變化的問題。與上述三種算法相比,TTUPCF在度量用戶間的關(guān)系時(shí),同時(shí)考慮到了時(shí)間因素、信任關(guān)系以及用戶的偏好相似度,有效地緩解了用戶興趣動(dòng)態(tài)變化以及數(shù)據(jù)稀疏性的問題,能更加精確地獲得相似用戶群,有效過濾掉不相關(guān)用戶對(duì)實(shí)驗(yàn)結(jié)果的影響。通過從多維度的角度全面衡量用戶之間的關(guān)系,可以更加充分地挖掘用戶偏好得到更為相似的近鄰用戶,相應(yīng)的F1值也更高。
圖4 不同鄰近數(shù)下各算法的F1值對(duì)比Fig.4 Comparison of F1 values of each algorithm under different neighbor numbers
本文提出一種融合時(shí)間加權(quán)信任與用戶偏好的協(xié)同過濾算法,考慮用戶評(píng)分時(shí)間的不均勻改進(jìn)時(shí)間權(quán)重,并將時(shí)間權(quán)重融入到JMSD中度量用戶之間的直接信任,緩解用戶興趣動(dòng)態(tài)變化的問題,并通過信任的傳遞性以及用戶對(duì)項(xiàng)目標(biāo)簽的偏好來緩解數(shù)據(jù)稀疏性,進(jìn)而獲得更精準(zhǔn)的鄰居集,提高推薦精度。實(shí)驗(yàn)結(jié)果表明,與其他基準(zhǔn)算法對(duì)比,本文算法在F1值有明顯的提高。在接下來的工作中,考慮將用戶信任與不信任與深度學(xué)習(xí)相結(jié)合來解決信任與不信任的傳遞問題,同時(shí)借助知識(shí)圖譜挖掘用戶與項(xiàng)目之間的潛在關(guān)聯(lián)也是一個(gè)值得研究的方向。