郭寧寧,王寶亮+,侯永宏,常 鵬
1.天津大學(xué) 電子信息工程學(xué)院,天津 300072
2.天津大學(xué) 信息與網(wǎng)絡(luò)中心,天津 300072
大數(shù)據(jù)時(shí)代的快速發(fā)展造成日益嚴(yán)重的信息過載現(xiàn)象,信息檢索已經(jīng)無法滿足用戶日益增長的個(gè)性化信息獲取的需求。個(gè)性化推薦系統(tǒng)因?yàn)槠淇煽啃愿?,推薦結(jié)果準(zhǔn)確,迅速成為解決信息過載的方式之一。其基本思想是依據(jù)用戶的歷史行為推薦用戶感興趣的用戶或商品集,并且為獲得更好的用戶體驗(yàn)提供個(gè)性化服務(wù)[1]。目前,個(gè)性化推薦技術(shù)主要分為協(xié)同過濾推薦[2]、基于內(nèi)容的推薦[3]、基于圖的推薦[4]、混合推薦技術(shù)[5]。其中協(xié)同過濾推薦又包括基于模型的協(xié)同過濾[6]和基于記憶的協(xié)同過濾[7],該技術(shù)在分析用戶資源的基礎(chǔ)上,充分挖掘用戶潛在興趣,并以此作為預(yù)測和推薦依據(jù),現(xiàn)已成為推薦系統(tǒng)中發(fā)展最成熟、應(yīng)用最廣泛的推薦技術(shù),也是本文主要的研究對象。
協(xié)同過濾推薦技術(shù)取得廣泛應(yīng)用,在信息海洋時(shí)代節(jié)省了用戶獲取信息的時(shí)間代價(jià),但該技術(shù)也存在一些固有缺陷。首先,協(xié)同過濾技術(shù)依靠用戶-商品評分矩陣進(jìn)行推薦,但是在現(xiàn)實(shí)生活中評分矩陣存在嚴(yán)重的數(shù)據(jù)稀疏性問題;其次,部分用戶只對很少部分商品進(jìn)行評分,因此該技術(shù)存在冷啟動(dòng)問題;最后,傳統(tǒng)的協(xié)同過濾技術(shù)僅僅依靠用戶-商品評分矩陣為用戶推薦,由于數(shù)據(jù)源單一,造成推薦結(jié)果失真[8]。
隨著社交網(wǎng)絡(luò)技術(shù)的發(fā)展,用戶之間的聯(lián)系更多依賴網(wǎng)絡(luò)社交工具,比如Facebook、微信等。社交關(guān)系為推薦系統(tǒng)提供了一個(gè)獨(dú)立的信息源,在社交推薦算法中起著越來越重要的作用[9]?;谏缃魂P(guān)系的推薦方法[10-14],在一定程度上緩解了用戶稀疏性和冷啟動(dòng)問題,同時(shí)提高了推薦準(zhǔn)確率,但是依然存在一些問題。首先現(xiàn)有的網(wǎng)絡(luò)數(shù)據(jù)集中,只有少部分?jǐn)?shù)據(jù)集有用戶社交關(guān)系矩陣,且矩陣數(shù)值都是二值數(shù)據(jù),因此很難區(qū)別用戶間的信任程度;其次對用戶社交數(shù)據(jù)建模時(shí),大部分模型建立僅僅依靠用戶顯性信任關(guān)系,從而忽視了用戶的隱性社交關(guān)系,如相似性等。
為解決上述存在的問題,本文提出了一種融合社交網(wǎng)絡(luò)關(guān)系的協(xié)同過濾推薦方法,即融合用戶間社交網(wǎng)絡(luò)信息和用戶評分信息,對傳統(tǒng)基于分解模型的協(xié)同過濾算法進(jìn)行優(yōu)化。本文方法包含以下幾個(gè)步驟:(1)將用戶評分矩陣和用戶信任矩陣分別映射到低維空間,即用戶空間、商品空間、信任空間和被信任空間;(2)用社交特征、商品特征矢量和用戶相似性近似估計(jì)稀疏用戶評分矩陣;(3)依據(jù)密集用戶評分矩陣選擇評分最高的N個(gè)商品,形成推薦列表。最后在Epinions公開數(shù)據(jù)集上驗(yàn)證本文算法,證明了該算法有效緩解了數(shù)據(jù)稀疏性對推薦結(jié)果的影響,并有效降低了平均絕對誤差,提高了推薦準(zhǔn)確率。
本文組織結(jié)構(gòu)如下:第2章簡要介紹傳統(tǒng)分解模型的協(xié)同過濾算法和本文提出的基于社交網(wǎng)絡(luò)關(guān)系的協(xié)同過濾方法;第3章對本文推薦算法進(jìn)行仿真驗(yàn)證與實(shí)驗(yàn)結(jié)果分析;第4章對全文進(jìn)行總結(jié)。
傳統(tǒng)協(xié)同過濾推薦算法往往只分析用戶的評分矩陣數(shù)據(jù),容易忽視用戶之間存在的社交信息。但在實(shí)際推薦應(yīng)用中,社交網(wǎng)絡(luò)信息在推薦系統(tǒng)中的重要性越來越明顯,越來越多的研究者將社交網(wǎng)絡(luò)中的信任關(guān)系引入推薦系統(tǒng)中。Massa等人在2004年首次提出將社交中的信任關(guān)系融入推薦算法中,用用戶間的信任度替代傳統(tǒng)相似度對用戶空缺值進(jìn)行預(yù)測評分[11],該方法對比傳統(tǒng)協(xié)同過濾推薦算法準(zhǔn)確性有很大提升。Ma等人在推薦系統(tǒng)中引入社交規(guī)則的概念,闡述了所提出的兩種社交規(guī)則對推薦系統(tǒng)的貢獻(xiàn),實(shí)驗(yàn)證明基于社交規(guī)則的推薦可以有效提高推薦的準(zhǔn)確性[12]。文獻(xiàn)[7]融合用戶社交信任度和評分相似性,提出了一個(gè)新矩陣填充的推薦方法,使預(yù)測評分準(zhǔn)確度明顯提升,改善了推薦過程中存在的稀疏性問題。文獻(xiàn)[9,14]將高維用戶評分矩陣映射到低維特征矩陣,融合用戶的社交信息以及各自的隱性數(shù)據(jù)源進(jìn)行推薦,實(shí)驗(yàn)結(jié)果證明該方法可以提高推薦準(zhǔn)確度,但會(huì)造成部分信息丟失。
假設(shè)研究的推薦系統(tǒng)含有m個(gè)用戶和n個(gè)商品,用戶對商品的評分矩陣為R=[Ru,i]m×n,如圖1(a)。Ru,i∈[1,5]表示用戶u對商品i的評分值,5表示最喜歡,1表示最討厭,評分值為空表示用戶未對該商品評分。其中,U={u1,u2,…,um}表示全部的用戶集,I={i1,i2,…,in}代表全部的商品集。如何有效得到未評分商品的預(yù)測值,是個(gè)性化推薦至關(guān)重要的一步。最后計(jì)算真實(shí)評分和預(yù)測評分之間的差異最小值來評估推薦系統(tǒng)的推薦準(zhǔn)確性,則上述問題變成求最優(yōu)解問題,目標(biāo)函數(shù)如式(1):
通常情況若只分析用戶評分矩陣來預(yù)測缺失評分,易導(dǎo)致評分預(yù)測不準(zhǔn)確。通過增加額外的社交網(wǎng)絡(luò)數(shù)據(jù)源輔助用戶評分?jǐn)?shù)據(jù),來提高預(yù)測值的準(zhǔn)確性[12]。這種方法的評分預(yù)測依據(jù)是:兩個(gè)用戶之間的偏好具有相似性或存在信任的社交關(guān)系,如果其中一個(gè)用戶對某商品的評分較高,則可以認(rèn)為另一用戶對該商品的評分也較高。社交網(wǎng)絡(luò)中用戶間的信任關(guān)系可以用矩陣T表示,T=[Tu,v]m×m,其中Tu,v∈[0,1]表示用戶間信任程度,如圖1(b),用戶u1信任用戶u3、u4、u5;用戶之間的不信任關(guān)系用矩陣D表示,D=[Du,v]m×m,Du,v∈(0,1]表示用戶間的不信任程度,如圖1(c),用戶u1不信任u2。本文研究的內(nèi)容主要是引入社交網(wǎng)絡(luò)數(shù)據(jù)源對用戶評分?jǐn)?shù)據(jù)中的空缺值進(jìn)行填充,從而完成相關(guān)推薦。
Fig.1 Asample of user-item matrix and users'relationship圖1 用戶評分矩陣與用戶關(guān)系舉例
矩陣分解(matrix factorization,MF)模型被廣泛應(yīng)用在協(xié)同過濾推薦算法中,適用于對用戶-商品評分矩陣數(shù)據(jù)進(jìn)行分析,近似預(yù)測缺失數(shù)據(jù)[15]。其思想是將高維用戶評分矩陣分解成為低維用戶特征矩陣U∈?l×m和商品特征矩陣I∈?l×n,其中l(wèi)≤min(m,n),分解后的用戶特征只由幾個(gè)少量的重要特征決定[16],評分矩陣R可以用UTI近似替代,UT為矩陣U的轉(zhuǎn)置。為了方便研究,通常用函數(shù)f(x)=x/Rmax將用戶評分?jǐn)?shù)據(jù)映射到[0,1]之間[1],Rmax是用戶評分的最大值。傳統(tǒng)的基于矩陣分解模型的協(xié)同過濾方法利用簡單的線性模型R=UTI近似擬合評分矩陣,容易造成預(yù)測評分過分偏離真實(shí)評分,使預(yù)測失真。本文引入非線性logistic函數(shù)g(x)=1/(1+e-x),將預(yù)測評分值映射在[0,1]內(nèi)。
為了避免過擬合現(xiàn)象,添加正則化約束項(xiàng),求解最小代價(jià)函數(shù)L如式(1)時(shí)的用戶特征矩陣U和商品特征矩陣I,則上述問題的目標(biāo)函數(shù)如式(2):
傳統(tǒng)基于矩陣分解模型的協(xié)同過濾推薦算法依據(jù)用戶對商品的評分來預(yù)測空缺評分?jǐn)?shù)據(jù),忽視了用戶、商品屬性以及用戶之間的社交關(guān)系,推薦預(yù)測并不一定準(zhǔn)確[10]。目前社交關(guān)系被廣泛應(yīng)用于社交推薦系統(tǒng)中,社交推薦系統(tǒng)基于如下基本假設(shè):如果用戶u與v之間存在正相關(guān)社交信任關(guān)系,則認(rèn)為用戶u、v之間的興趣偏好程度高于不相關(guān)的陌生人[1],近幾年的很多研究已經(jīng)證明在社交網(wǎng)絡(luò)中具有正相關(guān)社交關(guān)系的用戶之間可以很好地傳播這種正相關(guān)特性,通過利用這種正相關(guān)性能夠有效地提高推薦準(zhǔn)確率[7,17]?;谝陨弦罁?jù)可以認(rèn)為在實(shí)際社交推薦過程中,用戶更容易接受與其具有正相關(guān)社交關(guān)系的用戶的推薦。此處用戶之間的信任關(guān)系可以由信任評分矩陣顯性表示,如果數(shù)據(jù)集中用戶之間的信任程度由顯性的信任數(shù)據(jù)表示,信任數(shù)據(jù)范圍是[0,1],無評分則為空,如Epinions數(shù)據(jù)集;若沒有顯性信任數(shù)據(jù)時(shí),信任度可以依據(jù)用戶共同評分項(xiàng)等隱性信任數(shù)據(jù)構(gòu)建,即用戶之間的共同評分項(xiàng)的評分趨向越一致,則用戶之間的信任程度越高,反之越低,如 UPS(user position similarity)方法[17]、用戶間接可信度[11]等方法構(gòu)建用戶之間的信任度。本文主要基于已知社交信任數(shù)據(jù)下的協(xié)同過濾推薦算法進(jìn)行研究。
社交網(wǎng)絡(luò)關(guān)系一般存在以下幾個(gè)特點(diǎn):(1)用戶信任關(guān)系具有傳遞機(jī)制,如果用戶u、v之間,v、w之間分別存在信任關(guān)系,則v、w之間被認(rèn)為也存在信任關(guān)系,但是三者間的信任程度不同,Tuw≤min(Tuv,Tvw);(2)用戶間社交網(wǎng)絡(luò)信任關(guān)系不存在對稱性,即使用戶u信任用戶v,不一定用戶v信任用戶u;(3)社交網(wǎng)絡(luò)中的不信任關(guān)系不存在傳遞機(jī)制。
依據(jù)2.2節(jié)中的矩陣分解模型的分解方法,可以將用戶間的信任關(guān)系矩陣T∈?m×m映射成兩個(gè)低維特征矩陣,即信任特征矩陣P∈?k×m和被信任特征矩陣Q∈?k×m,則信任矩陣T的信任值可通過T=PTQ線性組合近似估計(jì),其中m表示用戶數(shù)量,k≤m表示特征數(shù)量。假如某個(gè)用戶u是否信任用戶v由k個(gè)特征因素決定,那么可以用一個(gè)k維向量Pu=[p1,p2,…,pk]T表示用戶u的信任標(biāo)準(zhǔn)。用Qv=[q1,q2,…,qk]T表示被信任用戶v本身的特征,用戶u對用戶v的信任值Tuv可以用PuTQv近似表示,但由于噪聲的存在,這種分解并不準(zhǔn)確,從而用代價(jià)函數(shù)L評估真實(shí)值與預(yù)測值之間的差異,代價(jià)函數(shù)L最小時(shí)對應(yīng)求得的特征矩陣P、Q即為最優(yōu)解。代價(jià)函數(shù)為式(4):
其中,λp、λq為正則化系數(shù);是正則化項(xiàng)。預(yù)測到的社交信任數(shù)據(jù)通過非線性logistic函數(shù)g(x)=1/(1+e-x)映射到[0,1]之間。
通常用戶之間不是完全相互獨(dú)立的,而是具有一定相關(guān)性的。相關(guān)性度量方法通常有余弦相似性和Pearson相關(guān)性,本文采用Pearson相關(guān)性方法計(jì)算用戶之間的相關(guān)程度,計(jì)算方法如式(5):
其中,I表示用戶u、v的共同評分商品集,i∈I;rui和rvi分別表示用戶u和v對項(xiàng)目i的評分值;分別表示用戶u和用戶v的評分均值。通常用戶間的共同評分項(xiàng)的評分傾向越一致,則認(rèn)為二者對項(xiàng)目的關(guān)注程度越一致,二者的相似性值也越高。定義用戶評分偏好程度如式(6):
其中,t是區(qū)分評價(jià)好壞的閾值,超過閾值記為積極評分,否則為消極評分;Iu、Iv分別表示用戶u、v的評分商品集合。將用戶偏好程度融入相似度計(jì)算中,即基于偏好程度的相似性度量方法,計(jì)算如式(7):
其中,P(u,v)表示用戶間評分偏好程度;sim1(u,v)為用戶間Pearson相關(guān)系數(shù)。社交信任關(guān)系的代價(jià)函數(shù)為式(8):
通過對基于社交網(wǎng)絡(luò)的研究,用戶對商品預(yù)測評分可用社交特征和商品特征修正,如式(9):
其中,β,γ,θ∈(0,1),且β+γ+θ=1,是調(diào)控信任特征向量、被信任特征向量和相似性的貢獻(xiàn)率參數(shù)。
在社交網(wǎng)絡(luò)關(guān)系中,如果兩個(gè)用戶u、v之間不存在信任關(guān)系,而是懷疑關(guān)系,那么認(rèn)為兩個(gè)用戶的興趣偏好存在較大偏差,對同一商品的評分差別可能較大。在本算法中,可以計(jì)算用戶特征空間的歐氏距離描述用戶之間興趣偏好的差異。
基于以上描述,最小代價(jià)函數(shù)修正成式(11):
其中,λ1、λ2是社交網(wǎng)絡(luò)差異特征矩陣正則化系數(shù);λp、λq和λv是矩陣P、Q和V正則化系數(shù),以防止過擬合現(xiàn)象。
根據(jù)上述模型描述,使損失函數(shù)最小時(shí)P、Q和V的值即為最優(yōu)解。為了求代價(jià)函數(shù)的最優(yōu)解,算法采用隨機(jī)梯度下降法求代價(jià)函數(shù)關(guān)于Pu、Qu和Vi的偏導(dǎo)數(shù),如式(12)、(13)、(14)即為梯度方向。
其中,R(u)表示用戶u評分過的商品集;T(u)表示用戶u信任的用戶集;D(u)表示用戶u懷疑的用戶集;R(i)表示給商品i評分過的用戶集。沿梯度的負(fù)方向不斷迭代更新P、Q和V直至收斂,即可認(rèn)為得到最優(yōu)解。
其中,α表示學(xué)習(xí)速率;Pt、Qt和Vt用隨機(jī)數(shù)進(jìn)行初始化,t表示迭代次數(shù),t∈[1,∞)。通過不斷迭代更新,P、Q和V的值會(huì)趨于穩(wěn)定,穩(wěn)定后的值即為最優(yōu)解。高維評分矩陣、社交信任矩陣通過分解變成低維用戶信任特征矩陣、被信任特征矩陣、商品特征矩陣,利用式(9)對用戶評分矩陣進(jìn)行預(yù)測評估,稀疏矩陣變?yōu)槊芗仃嚕x擇目標(biāo)用戶中評分最高的N個(gè)商品推薦給用戶,即完成Top-N推薦。
評價(jià)一個(gè)算法性能,主要計(jì)算算法的時(shí)間復(fù)雜度,即語句總的執(zhí)行次數(shù)[18]。在本研究中,用戶之間的相似性以及評分矩陣、社交矩陣分解等計(jì)算過程都是離線條件下完成的,因此本文基于社交網(wǎng)絡(luò)的協(xié)同過濾推薦算法的計(jì)算復(fù)雜度主要受代價(jià)函數(shù)和梯度下降特征矩陣維數(shù)變量的影響。其中代價(jià)函數(shù)的計(jì)算復(fù)雜度是O(k(|R|+|T|+|D|)),k表示隱性特征維數(shù),|R|、|T|和|D|表示存在的非空用戶評分?jǐn)?shù)量、用戶信任連接數(shù)量和用戶不信任連接數(shù)量。梯度?L/?P、?L/?Q和 ?L/?V的復(fù)雜度分別為O(k(|R|+|T|+|D|))、O(k(|R|+|T|+|D|))和O(k|R|),因此本算法的復(fù)雜度為O(k(|R|+|T|+|D|)),即時(shí)間復(fù)雜度與觀察到的用戶評分?jǐn)?shù)、信任連接數(shù)與不信任連接數(shù)的和成線性關(guān)系,因此適合用于大規(guī)模數(shù)據(jù)集的推薦。
為了驗(yàn)證本文算法的可靠性和有效性,利用Epinions真實(shí)數(shù)據(jù)集,采用五折交叉驗(yàn)證方法,對本文算法與其他現(xiàn)有的社交推薦算法進(jìn)行實(shí)驗(yàn)對比,統(tǒng)計(jì)分析不同方法在推薦準(zhǔn)確性方面的平均絕對誤差(mean absolute error,MAE)和均方根誤差(root mean square error,RMSE)指標(biāo)。同時(shí)對推薦系統(tǒng)在Top-N推薦時(shí)每個(gè)算法在不同的推薦數(shù)量N的情況下的查準(zhǔn)率、查全率和F1-Measure值進(jìn)行統(tǒng)計(jì)并分析,以此驗(yàn)證本文算法的可靠性。
本文選擇Epinions公開數(shù)據(jù)集作為研究的真實(shí)數(shù)據(jù)集,它由Massa在http://www.epinions.com網(wǎng)站收集整理所得[19]。該數(shù)據(jù)集是一極度稀疏的數(shù)據(jù)集,稀疏度用空評分?jǐn)?shù)據(jù)數(shù)量(/用戶數(shù)量×商品數(shù)量)表示,為99.991 35%,包含49 290個(gè)用戶對139 738個(gè)不同商品的評分?jǐn)?shù)據(jù),用戶評分?jǐn)?shù)據(jù)為1~5內(nèi)的整數(shù),1表示最差,5表示最好;同時(shí)也包含664 824條用戶間的社交數(shù)據(jù),其中487 181條記錄表示用戶間的關(guān)系是積極的,認(rèn)為是信任數(shù)據(jù),信任值為1,其余不存在信任關(guān)系即為0。經(jīng)對數(shù)據(jù)統(tǒng)計(jì)分析可得每類評分的貢獻(xiàn)情況,評分?jǐn)?shù)據(jù)中評分為5的記錄數(shù)占總數(shù)的45%,評分為4的占29%,評分為3的占11%,評分為2的占8%,評分為1的占7%,所有評分的平均值約為3.9,接近一半的用戶給商品的評分為最高值5。如果用戶的評論數(shù)量低于5,則被認(rèn)為是“冷啟動(dòng)”用戶,該類用戶數(shù)量為26 037,那么數(shù)據(jù)集中有超過一半的用戶屬于冷啟動(dòng)用戶。
K折交叉驗(yàn)證:為驗(yàn)證本文算法的有效性和真實(shí)性,本實(shí)驗(yàn)采用5折交叉驗(yàn)證的方法[7]將所研究的數(shù)據(jù)集平分成5份,每次實(shí)驗(yàn)隨機(jī)選取數(shù)據(jù)集中的1組作為測試數(shù)據(jù),剩下的4組數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù),每個(gè)實(shí)驗(yàn)進(jìn)行5次,實(shí)驗(yàn)結(jié)果為5次實(shí)驗(yàn)的平均值,并進(jìn)行比較分析。
(1)為了驗(yàn)證推薦算法的準(zhǔn)確性,常用的推薦性能評估指標(biāo)主要包括平均絕對誤差MAE和均方根誤差RMSE[20],用來評估推薦結(jié)果的誤差分布。MAE計(jì)算的是所有測試用戶對測試項(xiàng)目的預(yù)測評分和實(shí)際評分的平均誤差大小,RMSE計(jì)算真實(shí)評分與預(yù)測評分值的均方根誤差,如式(16)、(17):
其中,Tu表示測試集中的用戶數(shù)據(jù)集合;N表示測試集中商品數(shù)量;表示用戶u對商品i的預(yù)測評分;Ru,i表示真實(shí)評分。
(2)另一種預(yù)測推薦系統(tǒng)質(zhì)量的方法是計(jì)算推薦的正確率(Precision)、召回率(Recall)和F1-Measure值[16]。準(zhǔn)確率和召回率是評估推薦系統(tǒng)常用的兩個(gè)度量指標(biāo)。其中準(zhǔn)確度可以衡量推薦系統(tǒng)的查準(zhǔn)率,即推薦結(jié)果滿足用戶喜好的概率;召回率衡量的是推薦系統(tǒng)的查全率,即所有推薦結(jié)果與用戶喜好相關(guān)的概率。兩者取值在0和1之間,數(shù)值越接近1,查準(zhǔn)率或查全率就越高。F1-Measure是結(jié)合Precision和Recall兩者給出的綜合評價(jià)指標(biāo)。定義如下:
其中,Lu表示用戶u由訓(xùn)練數(shù)據(jù)集得到的推薦商品集合;Bu表示在測試數(shù)據(jù)集給出正反饋評分的商品集合;Tu表示測試集中的用戶數(shù)據(jù)集合。
為了評估本文算法的性能,采用以下幾種方法進(jìn)行對比驗(yàn)證。
(1)SocialMF(matrix factorization in social networks):該算法是一種基于信任傳遞機(jī)制的社交推薦算法[21]。
(2)TDMF(matrix factorization with trust and distrust information):該算法利用社交信任和不信任信息進(jìn)行推薦[22]。
(3)TDRec(matrix factorization with explicit trust and distrust side information for improved social recommendation):該算法通過顯式信任和非信任數(shù)據(jù)進(jìn)行社交推薦[23]。
(4)TDSRec(similarity social recommendation with trust and distrust information):該算法是本文算法模型,在考慮社交網(wǎng)絡(luò)的同時(shí),融合基于用戶評分偏好的相似性,共同對用戶評分矩陣中的數(shù)據(jù)值進(jìn)行評分預(yù)測。
為了便于比較,將各個(gè)算法的參數(shù)設(shè)置為表1,參數(shù)的設(shè)置來自于參考文獻(xiàn)或者本研究模型。在矩陣分解過程中,特征矩陣的維數(shù)設(shè)置為5和10,分別統(tǒng)計(jì)特征維數(shù)的誤差值。
在表2、表3中,分別統(tǒng)計(jì)了所有用戶和冷啟動(dòng)用戶(用戶對商品評分個(gè)數(shù)少于5)在矩陣特征數(shù)k為5和10時(shí),本文算法與現(xiàn)有算法的平均絕對誤差(MAE)和均方根誤差(RMSE),并計(jì)算得到本文算法比現(xiàn)有算法的提升率,觀察到本文算法的MAE和RMAE小于已有算法,實(shí)驗(yàn)證明了本文算法提升了推薦準(zhǔn)確度。
Table 1 Parameter settings表1 參數(shù)設(shè)置
Table 2 MAE and RMSE results of different algorithms on all users表2 所有用戶在不同算法得到的MAE、RMSE值
Table 3 MAE and RMSE results of different algorithms on cold-start users表3 冷啟動(dòng)用戶在不同算法得到的MAE、RMSE值
由圖2、圖3可以得出,在特征矩陣維數(shù)k=10時(shí),隨著迭代次數(shù)的增加,MAE和RMSE逐漸趨于穩(wěn)定。結(jié)果顯示,本文算法的MAE和RMSE低于被比較對象,性能優(yōu)于被比較算法。
Fig.2 MAE at different iterations on all users圖2 所有用戶不同迭代次數(shù)時(shí)的MAE
Fig.3 RMSE at different iterations on all users圖3 所有用戶不同迭代次數(shù)時(shí)的RMAE
通過實(shí)驗(yàn)對比分析本文算法與已有算法,證明本文提出的協(xié)同過濾推薦算法在不同的推薦數(shù)量N下的查準(zhǔn)率、查全率和綜合指標(biāo)F1-Measure都優(yōu)于被比較算法。同時(shí)由圖4、圖5可知算法的查全率和查準(zhǔn)率呈相反趨勢增長,由圖6可知綜合兩者特性的F1-Measure參數(shù)也有增長趨勢。
協(xié)同過濾推薦技術(shù)是推薦系統(tǒng)中應(yīng)用最廣和最多的推薦技術(shù),在過去的十幾年內(nèi),已有很多基于社交網(wǎng)絡(luò)特征的協(xié)同過濾推薦方法,數(shù)據(jù)稀疏性、推薦準(zhǔn)確性方面在一定程度上都得到提升[9],但是推薦系統(tǒng)的固有缺陷仍然存在,導(dǎo)致推薦質(zhì)量較差,很難滿足用戶個(gè)性化需求。本文針對推薦系統(tǒng)中存在的固有的數(shù)據(jù)稀疏和冷啟動(dòng)問題,創(chuàng)新性地提出一種融合社交網(wǎng)絡(luò)特征的協(xié)同過濾推薦算法。本文算法主要基于傳統(tǒng)矩陣分解模型,分解用戶評分矩陣為兩個(gè)低維的用戶特征矩陣和商品特征矩陣的同時(shí),分解社交網(wǎng)絡(luò)矩陣數(shù)據(jù)為信任特征矩陣和被信任特征矩陣;在求解分解矩陣過程中通過融合用戶評分偏好程度計(jì)算用戶相似性使代價(jià)函數(shù)最小,如式(11),使用梯度下降法不斷迭代更新得到對應(yīng)分解后的特征矩陣,如式(12)、(13)、(14);利用信任特征矩陣、被信任特征矩陣、商品特征矩陣預(yù)測用戶對商品的評分值,如式(9)。以此緩解矩陣稀疏性,提高推薦結(jié)果的準(zhǔn)確性和有效性。
Fig.4 Precision圖4 查準(zhǔn)率
Fig.5 Recall圖5 查全率
Fig.6 F1-Measure圖6 F1-Measure
為了驗(yàn)證本文算法的可靠性,基于Epinions公開數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)分析,采用五折交叉驗(yàn)證方法,分析對比了本文算法較現(xiàn)有的社交網(wǎng)絡(luò)推薦算法如TDMF、SocialMF、TDRec等算法的先進(jìn)性和優(yōu)越性。實(shí)驗(yàn)結(jié)果表明,本文算法在使用相同數(shù)據(jù)集的情況下與其他算法相比,平均絕對誤差、均方根誤差都有所下降,有效地提高了推薦算法的性能。在現(xiàn)實(shí)推薦中,本文算法可以有效用于大規(guī)模用戶商品集的推薦,有效緩解數(shù)據(jù)稀疏性,提高預(yù)測準(zhǔn)確度和推薦準(zhǔn)確度,改善推薦質(zhì)量。
本文提出的融合社交網(wǎng)絡(luò)的協(xié)同過濾推薦算法,雖然在一定程度上緩解了評分?jǐn)?shù)據(jù)稀疏性對推薦結(jié)果的影響,并對于大量數(shù)據(jù)的推薦運(yùn)算具有一定效果,但是不足以支撐超大規(guī)模數(shù)據(jù)推薦,此時(shí)可以在本文基礎(chǔ)上考慮超大規(guī)模推薦的并行算法來克服此局限性。同時(shí)本文算法未考慮時(shí)間差異對推薦產(chǎn)生的影響,由于用戶對商品的興趣愛好時(shí)間長短不一,同一用戶對同一商品的評分在不同時(shí)間點(diǎn)存在差異,由此可以發(fā)現(xiàn)可疑用戶,以此提高推薦準(zhǔn)確率。以上兩點(diǎn)可以作為下一步的研究方向。
[1]Bai Tiansheng,Yang Bo,Li Fei.TDRec:enhancing social recommendation using both trust and distrust information[C]//Proceedings of the 2nd European Network Intelligence Conference,Karlskrona,Sep 21-22,2015.Washington:IEEE Computer Society,2015:60-66.
[2]Breese J S,Heckerman D,Kadie C.Empirical analysis of predictive algorithms for collaborative filtering[C]//Proceedings of the 14th Conference on Uncertainty inArtificial Intelligence,Madison,Jul 24-26,1998.San Francisco:Morgan Kaufmann Publishers Inc,1998:43-52.
[3]Wang Licai,Meng Xiangwu,Zhang Yujie.Context-aware recommender systems[J].Journal of Software,2012,23(1):1-20.
[4]Zhang Yanmei,Wang Lu,Cao Huaihu,et al.Recommendation algorithm based on user-interest-item tripartite graph[J].Pattern Recognition and Artificial Intelligence,2015,28(10):913-921.
[5]Lu Zhongqi,Dou Zhicheng,Lian Jianxun,et al.Contentbased collaborative filtering for news topic recommendation[C]//Proceedings of the 29th Conference on Artificial Intelligence,Austin,Jan 25-30,2015.Menlo Park:AAAI,2015:217-223.
[6]Guo Lanjie,Liang Jiye,Zhao Xingwang.Collaborative filtering recommendation algorithm incorporating social network information[J].Pattern Recognition and Artificial Intelligence,2016,29(3):281-288.
[7]Wang Meiling,Ma Jun.A novel recommendation approach based on users'weighted trust relations and the rating similarities[J].Soft Computing,2015,20(10):3981-3990.
[8]Wang Shengsheng,Zhao Haiyan,Chen Qingkui,et al.Latent factor model for personalized recommendation[J].Journal of Chinese Computer System,2016,37(5):881-889.
[9]FelfernigA,Ninaus G,Grabner H,et al.An overview of recommender systems in requirements engineering[M]//Ma-alej W,Thurimella A K.Managing Requirements Knowledge.Berlin,Heidelberg:Springer,2013:315-332.
[10]Pan Junchi,Zhang Xingming,Wang Xin.Improved singular value decomposition recommender algorithm based on user reliability[J].Journal of Chinese Computer System,2016,37(10):2171-2176.
[11]Massa P,Bhattacharjee B.Using trust in recommender systems:an experimental analysis[C]//LNCS 2995:Proceedings of the 2nd International Conference on Trust Management,Oxford,Mar 29-Apr 1,2004.Berlin,Heidelberg:Springer,2004:221-235.
[12]Ma Hao,Zhou Dengyong,Liu Chao,et al.Recommender systems with social regularization[C]//Proceedings of the 4th International Conference on Web Search and Web Data Mining,Hong Kong,China,Feb 9-12,2011.New York:ACM,2011:287-296.
[13]Chen Wei.Multi-collaborative filtering trust network for online recommendation[J].Information Systems Frontiers,2015,15(4):533-551.
[14]Ma Hao,Lyu M R,King I.Learning to recommend with trust and distrust relationships[C]//Proceedings of the 2009 Conference on Recommender Systems,New York,Oct 23-25,2009.New York:ACM,2009:189-196.
[15]Koren Y,Bell R,Volinsky C.Matrix factorization techniques for recommender systems[J].Computer,2009,42(8):30-37.[16]Wang Peiying.Community discovery and collaborative filtering recommendation in social networks[D].Beijing:Beijing Jiaotong University,2016.
[17]Du Yongping,Du Xiaoyan,Huang Liang.Improve the collaborative filtering recommender system performance by trust network construction[J].Chinese Journal of Electronics,2016,25(3):418-423.
[18]Fouss F,Saerens M.Evaluating performance of recommender systems:an experimental comparison[C]//Proceedings of the 2008 International Conference on Web Intelligence and Intelligent Agent Technology,Los Alamitos,Dec 9-12,2008.Washington:IEEE Computer Society,2008:735-738.
[19]Rennie J D M,Srebro N.Fast maximum margin matrix factorization for collaborative prediction[C]//Proceedings of the 22nd International Conference on Machine Learning,Bonn,Aug 7-11,2005.New York:ACM,2005:713-719.
[20]Mao Yiyu,Liu Jianxun,Hu Rong,et al.Sigmoid functionbased Web service collaborative filtering recommendation algorithm[J].Journal of Frontiers of Computer Science and Technology,2017,11(2):314-322.
[21]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,Barcelona,Sep 26-30,2010.New York:ACM,2010:135-142.
[22]Forsati R,Mahdavi M,Shamsfard M,et al.Matrix factorization with explicit trust and distrust side information for improved social recommendation[J].ACM Transactions on Information Systems,2014,32(4):17.
[23]Park C,Kim D,Oh J,et al.Improvingtop-Krecommendation with truster and trustee relationship in user trust network[J].Information Sciences,2016,374(C):100-114.
附中文參考文獻(xiàn):
[3]王立才,孟祥武,張玉潔.上下文感知推薦系統(tǒng)[J].軟件學(xué)報(bào),2012,23(1):1-20.
[4]張艷梅,王璐,曹懷虎,等.基于用戶-興趣-項(xiàng)目三部圖的推薦算法[J].模式識別與人工智能,2015,28(10):913-921.
[6]郭蘭杰,梁吉業(yè),趙興旺.融合社交網(wǎng)絡(luò)信息的協(xié)同過濾推薦算法[J].模式識別與人工智能,2016,29(3):281-288.
[8]王升升,趙海燕,陳慶奎,等.個(gè)性化推薦中的隱語義模型[J].小型微型計(jì)算機(jī)系統(tǒng),2016,37(5):881-889.
[10]潘駿馳,張興明,汪欣.融合用戶可信度的改進(jìn)奇異值分解推薦算法[J].小型微型計(jì)算機(jī)系統(tǒng),2016,37(10):2171-2176.
[16]王培英.社會(huì)網(wǎng)絡(luò)中的社區(qū)發(fā)現(xiàn)及協(xié)同過濾推薦技術(shù)研究[D].北京:北京交通大學(xué),2016.
[20]毛宜鈺,劉建勛,胡蓉,等.采用Sigmoid函數(shù)的Web服務(wù)協(xié)同過濾推薦算法[J].計(jì)算機(jī)科學(xué)與探索,2017,11(2):314-322.