吳清春,賈彩燕
(北京交通大學 a.計算機與信息技術學院; b.交通數(shù)據(jù)分析與挖掘北京市重點實驗室,北京 100044)
隨著互聯(lián)網(wǎng)快速發(fā)展,人們獲取信息的方式越來越多,然而大量無關的信息會干擾用戶對所需信息的選擇。推薦系統(tǒng)作為用戶快速獲取信息的有效途徑,已被廣泛應用于各個行業(yè),但用戶對項目評分數(shù)據(jù)的稀疏性阻礙了推薦系統(tǒng)性能的提升,如在商業(yè)推薦系統(tǒng)中,可用商品評級的密度通常小于1%,這使得傳統(tǒng)推薦算法[1-3]無法達到理想的推薦水平。此外,傳統(tǒng)的推薦系統(tǒng)通常只考慮用戶對商品的評級信息,而忽略了用戶之間的社交關系或信任關系。
社交媒體的廣泛使用產生了大量的社交關系,并且在現(xiàn)實世界中人們總是易受他人的影響,傾向于與具有相似偏好的人相互交往,而這些相互交往的人由于彼此影響變得更加相似。因此,可以利用這些信息來提高商品評級預測的質量。在此假設下,研究者提出多種基于社交網(wǎng)絡的推薦模型。實驗表明,融合社交網(wǎng)絡信息的推薦模型能改善傳統(tǒng)模型的推薦性能,尤其當用戶對項目的評級矩陣稀疏時,推薦性能會有較為明顯的提升,但仍存在一些問題,例如:現(xiàn)有數(shù)據(jù)集中社交網(wǎng)絡的數(shù)據(jù)形式大多為0-1數(shù)據(jù),并且僅包括用戶之間是否信任的信息,難以區(qū)分用戶之間的社交信任程度;部分模型對社交關系建模時僅考慮用戶之間的顯性社交關系,在商品評分數(shù)目較少或社交關系信息較少的情況下,模型的推薦效果不佳;部分挖掘用戶隱性社交關系的方法如聚類、社區(qū)發(fā)現(xiàn)等方法,因類或社區(qū)大小的定義不同可能會引入額外的社交噪聲影響推薦效果。
本文對僅考慮直接交互關系的矩陣分解(Matrix Factorization,MF)推薦模型SoReg進行改進,采用基于信號傳播的社區(qū)發(fā)現(xiàn)算法計算社交網(wǎng)絡中用戶之間的拓撲相似度,將其作為用戶的信任值并通過設置閾值構建加權社交信任網(wǎng)絡,進而提出融合社交信任網(wǎng)絡的推薦模型SoRegIM。
一些學者提出通過社會關系信息來改進推薦方法,基于近鄰的社交推薦模型[4]、基于圖的推薦模型[5-6]、基于物質擴散的推薦模型[7]、基于矩陣分解的推薦模型[8-9]和其他的一些社交推薦模型[10-12]相繼被提出。
基于矩陣分解的推薦模型算法具有靈活性高、推薦性能好等特點,是當前推薦系統(tǒng)中的主流方法。本文以融合社交關系的矩陣分解型推薦模型為基礎,研究基于社會關系的推薦方法,包括通過社交網(wǎng)絡中直接相連的用戶信息來優(yōu)化推薦性能的算法,以及通過社交網(wǎng)絡中的用戶關系進行聚類并融合商品評分信息來提升推薦性能的方法。SoRec[13]對評級矩陣和社交關系矩陣執(zhí)行同因子分解,同時學習用戶特征、社交特征以及項目特征。文獻[14]提出的社會模型TrustMF,同時考慮了用戶對其他用戶的信任以及被其他用戶的信任信息,使用戶從信任和被信任兩個方面進行建模,學習兩個不同的特征向量。文獻[15]通過使用捕捉當?shù)睾腿蛏鐣P系的方法,提出一個新的框架LOCABAL,利用當?shù)睾腿蛏鐣舷挛倪M行推薦,在當?shù)厣缃恍畔⒅屑僭O具有朋友關系的用戶之間品味相似,而在全球社交信息中使擁有較高聲譽的用戶權值更大,從而發(fā)揮更大的作用。文獻[16]提出的推薦模型FangPMF,將社交信任信息分解成4個維度進行衡量,從不同的角度充分考慮社會信息,并使用支持向量回歸對多個信任維度進行整合,將其與原始概率分解的模型相結合。文獻[17]同時使用社交網(wǎng)絡信息和評分信息學習用戶信任和被信任矩陣,將其用于最終的評分預測模型中。
上述將社交信息融合到推薦模型中的方法已被證明能夠有效提升傳統(tǒng)推薦方法的推薦性能,然而這些方法僅關注顯性的社交關系,當用戶評分信息和社交中直接相連用戶都比較少時推薦性能提升有限。也有學者采用社區(qū)發(fā)現(xiàn)或聚類算法挖掘隱性的社交關系。文獻[18]使用社區(qū)發(fā)現(xiàn)算法挖掘社交網(wǎng)絡中不同的社會關系,提出一種重疊社區(qū)正則化的模型MFC,假設同一社區(qū)中的用戶偏好相似。文獻[19]提出了基于社交維度的推薦模型SoDimRec,但同一社交維度中包含不具有社交關系但興趣可能相似的用戶。文獻[20]通過建立社區(qū)信任模型獲取用戶綜合信任度,并利用重疊社區(qū)發(fā)現(xiàn)算法為用戶劃分專屬虛擬社區(qū)進行信任傳播,將其用于協(xié)同過濾算法得到推薦結果,但這種基于聚類的社交興趣推理方法可能會產生社交噪聲,并且難以區(qū)分同一社區(qū)內不同用戶之間的信任強度,可能會給推薦系統(tǒng)帶來不良的影響。因此,有必要根據(jù)社交網(wǎng)絡的拓撲信息計算用戶之間的鏈接強度,建立社交信任網(wǎng)絡進而獲得合適的社會推薦模型。
(1)
在現(xiàn)有的社交網(wǎng)絡數(shù)據(jù)集中,數(shù)據(jù)形式多為二值型數(shù)據(jù),常見的社交網(wǎng)絡二值型描述方法不能充分描述用戶之間的信任程度,這也導致大部分使用社交信息的推薦算法在推薦準確性上提升有限。社交網(wǎng)絡中的節(jié)點表示用戶信息,網(wǎng)絡的拓撲結構能體現(xiàn)出節(jié)點之間的緊密程度,因此,社交網(wǎng)絡中節(jié)點間的拓撲關系能夠間接反映兩個用戶之間的相關程度,將通過拓撲關系計算的節(jié)點間的相關程度稱為用戶拓撲相似度。本文通過挖掘社交網(wǎng)絡中用戶的拓撲關系,計算用戶之間的拓撲相似度,用于近似刻畫用戶之間的信任程度;另一方面,在社交網(wǎng)絡中許多用戶的直接鄰居較少,因此,有必要考慮間接鄰居的信任度對用戶評級產生的影響。在對社交網(wǎng)絡中直接相連的用戶計算相似度時,將用戶拓撲相似度超過一定閾值的間接用戶連接起來,形成新的社交信任網(wǎng)絡。
本文使用signal相似度[21]來計算社交網(wǎng)絡中用戶間的拓撲相似度。假設用戶之間的信息通過τ步傳播后,該用戶對網(wǎng)絡中的其他用戶擁有一個影響度,用戶信息傳遞方式如下:
S=(A+I)τ
(2)
其中,I是n維單位矩陣,A是網(wǎng)絡的鄰接矩陣,τ是信息傳遞的次數(shù)。在進行標準化處理后,得到用戶間的拓撲相似度為:
(3)
圖1 用戶間社交關系表示Fig.1 Representation of social relationship among users
SoReg是文獻[22]提出的一種基于社會正則化的社交推薦模型,該文獻認為用戶的偏好與其直接相連的鄰居一致。SoReg模型的目標函數(shù)如下:
(4)
(5)
經典社交推薦模型SoReg[22]只對社交網(wǎng)絡中直接相連的用戶施加相似度約束來改進評級預測,社交信息利用率有限。而在現(xiàn)實世界中,用戶不僅僅受到與他直接相連的用戶的影響,社交網(wǎng)絡中拓撲相似度較大的用戶之間的興趣應該更接近。因此,本文利用社交網(wǎng)絡中用戶之間的拓撲關系,考慮直接鄰居、間接鄰居及其鏈接強度構建信任網(wǎng)絡(如圖1(b)所示)。此外,在計算用戶之間相似度時不僅使用用戶評級信息,而且還使用用戶之間的社會信任強度,進而構建一個新的推薦模型SoRegIM,其最小化的目標函數(shù)為:
(6)
上式最后一項中Z的定義如式(7)所示,用于保證用戶之間的特征盡可能接近,使得社會信任強度高且評分相似度大的用戶之間的用戶特征向量相似度盡可能高。
(7)
(8)
通過對Ui和Vj求偏導,利用梯度下降法可以計算出目標函數(shù)(式(6))的極小值,其中,Ui和Vj求解如下:
(9)
本節(jié)在3個公開的數(shù)據(jù)集FilmTrust、Ciao和Epinions上通過實驗驗證SoRegIM模型的性能,并利用均方根誤差(Root Mean Square Error,RMSE)和平均絕對誤差(Mean Absolute Error,MAE)兩個評價指標進行評價。
本文實驗使用的數(shù)據(jù)集信息如表1所示,這3個數(shù)據(jù)集中的數(shù)據(jù)都包含用戶評級和用戶社交關系信息。FilmTrust是一個電影推薦網(wǎng)站,用戶可以按照自己的喜好對電影進行打分,也可以對其他用戶添加信任關系。Ciao是一個物品評論網(wǎng)站,用戶可以對不同物品進行打分和和添加評價,同時可以和其他用戶建立有向社交關系。Epinions是一個著名的消費者評論網(wǎng)站,其提供了各種商品的比較信息,用戶可以對商品進行打分和評論,同時每個用戶都有一個信任列表,可以添加對其他用戶的信任。
表1 實驗數(shù)據(jù)集信息Table 1 Information of experimental data set
使用平均絕對誤差(MAE)和均方根誤差(RMSE)進行評價,計算公式如下:
(10)
(11)
為評估本文模型的有效性,選取推薦系統(tǒng)領域中7個經典的矩陣分解相關模型進行對比,具體如下:
1)PMF[2]:僅使用用戶評分信息,是一種概率矩陣分解的模型。
2)SoRec[13]:使用用戶評分信息和社交網(wǎng)絡中直接鄰居信息,是一種對評級矩陣和社交關系矩陣執(zhí)行同因子分解的模型。
3)SoReg[22]:使用用戶評分信息和社交網(wǎng)絡中直接鄰居信息,是一種通過定義社會正則化來捕捉用戶間強依賴連接的模型。
4)LOCABAL[15]:使用用戶評分信息和社交網(wǎng)絡中直接鄰居信息,是一種同時考慮用戶信任與專家信息的推薦模型。
5)SocialMF[23]:使用用戶評分信息和社交網(wǎng)絡中直接鄰居信息,是一種將信任傳播機制應用到概率矩陣分解中的模型。
6)MFC[18]:使用用戶評分信息和社交信息,是一種將社交正則化應用在不同重疊社區(qū)上,利用已有重疊社區(qū)發(fā)現(xiàn)算法從社交網(wǎng)絡中挖掘社團的模型。
7)SoDimRec[15]:使用用戶評分信息和社交信息,是一種考慮不同社交維度中用戶弱依賴鏈接,采用傳統(tǒng)社區(qū)發(fā)現(xiàn)算法識別用戶社交維度的模型。
對各模型的參數(shù)進行如下設置:將所有模型的隱空間特征個數(shù)設置為10,λu和λv設置為0.001;在SoRec模型中設置λc=1,λz=0.001;在SoReg模型中設置β=0.001;在LOCABAL模型中設置α=0.5;在SocialMF模型中設置λT=1;在MFC模型中設置λz=0.001;在SoDimRec模型中設置λ1=10,λ2=100;在本文SoRegIM模型中設置α=0.8,β=0.02,λz=0.001。
本文選擇80%的數(shù)據(jù)作為訓練數(shù)據(jù),以預測其余20%的評分,實驗結果是五重交叉驗證的平均值,如表2所示,其中加粗數(shù)據(jù)為最優(yōu)數(shù)據(jù)??梢钥闯?PMF的準確度不如其他模型,這進一步表明利用社交信息可以提升推薦的準確性。SoRec、SoReg、LOCABAL和SocialMF使用了社交網(wǎng)絡中直接鄰居信息,MFC和SoDimRec通過聚類的方法考慮到間接鄰居,雖然與只使用直接鄰居信息的模型相比性能有所提升,但由于聚類個數(shù)難以確定,容易出現(xiàn)興趣不太相似的用戶在同一類中的情況,從而產生社交噪聲。本文構建了社交信任關系網(wǎng)絡,并定義了信任強度,避免了多余的社交噪聲。由表2結果可知,與7種經典模型相比,本文模型的性能有所提升,特別在稀疏數(shù)據(jù)集FilmTrust和Epinions上提升明顯。
表2 本文模型與7種經典模型的MAE和RMSE指標對比Table 2 Comparison of MAE and RMSE indexes of the proposed model and seven classical models
在本文模型中,參數(shù)β、α和λz會對推薦效果產生不同程度的影響。其中:β是通過signal相似度計算出的用戶拓撲相似度定義的閾值,用于控制重構社交信任網(wǎng)絡的稀疏程度;α用于控制評分相似度和社交關系信任度在整體用戶相似度中所占的比例;λz用于控制社交信息對模型的貢獻程度。本文通過實驗分析在Epinions數(shù)據(jù)集中這些參數(shù)對SoRegIM模型推薦性能的影響。圖2~圖4分別顯示了β、α和λz不同設置下本文模型的MAE和RMSE指標。由圖2可以看出,β=0.02時推薦性能最好,當閾值β設置過低時,額外引入的用戶信息過多可能造成社交噪聲,當閾值β設置過高時,則會忽略掉部分重要的社交信息。在圖3中,α=0表示用戶相似度僅考慮社交信息,α=1表示僅考慮評級信息。由圖3可以看出,在計算用戶之間相似度時同時考慮評級信息與社交信息推薦性能最好。由圖4可以看出,λz的變化對推薦結果有一定的影響,λz=0.01時推薦性能最好,隨著λz的增大,信任的用戶可能產生過度影響,而當λz較小時,信任用戶產生的影響太小會導致推薦效果相對傳統(tǒng)方法提升有限。
圖2 參數(shù)β對推薦性能的影響Fig.2 Impact of parameter β on recommendation performance
圖3 參數(shù)α對推薦性能的影響Fig.3 Impact of parameter α on recommendation performance
圖4 參數(shù)λz對推薦性能的影響Fig.4 Impact of parameter λz on recommendation performance
在網(wǎng)絡信息量爆炸式增長的背景下,本文構建一種融合社交網(wǎng)絡用戶拓撲關系的矩陣分解型推薦模型。該模型考慮用戶的直接和間接鄰居并挖掘其鏈接強度,在計算相似度時不僅利用用戶在項目上的歷史評分,同時還同時考慮用戶之間的社會關系。實驗結果表明,通過融合社交信息可大幅提高模型的推薦性能。但本文模型僅考慮用戶之間的關系,下一步將考慮項目之間和偏好相異用戶之間的關系,探索其對用戶評級行為的影響。