孫晶晶,荀亞玲,楊海峰
(太原科技大學 計算機科學與技術學院,山西 太原 030024)
互聯網的快速發展涌現出海量信息,推薦系統通過對海量信息進行分析和過濾可以有效緩解信息過載[1]。推薦系統一般分為三大類:基于內容的推薦算法[2]、基于協同過濾推薦算法[3]和混合推薦算法[4]。其中,基于協同過濾的推薦憑借其不需要相關領域知識及不依賴推薦對象的特征抽取等特點,得到了廣泛應用。然而,協同過濾推薦算法仍面臨著嚴重的數據稀疏性和冷啟動等問題。
針對協同過濾算法所出現的問題,額外的信息如社交網絡中的社交信息[5]或上下文信息[6]等被引入到協同過濾推薦中。社交網絡的興起產生了大量的社交信息,社會化推薦通過結合評分信息和社交信息為用戶提供個性化推薦,有效彌補了傳統協同過濾中信息缺乏的問題[7]。傳統社會化推薦算法旨在結合顯式社交信息為用戶推薦,但用戶出于對隱私數據的保護導致可利用的信息較少使得推薦效果較差。且現有方法在刻畫用戶之間的信任度時未考慮到用戶之間的偏好差異性[8-10],即用戶間在相同的項目上的評分表明偏好存在差異。
此外,單一的直接社交關系并不能準確挖掘出用戶的偏好,Li等人[11]通過引入用戶間的間接信任關系緩解此問題。根據信任在社交網絡中的存在形式,用戶間的間接信任關系可以利用信任的傳播性實現,而現有研究忽略了信任關系在傳播過程中容易造成信任節點信息的丟失及信任在傳播過程中信任值過小時兩者容易形成不信任關系產生錯誤推薦。另外,大多數關于社交推薦的最新研究未注意到用戶影響力在社交網絡對目標用戶的影響。研究表明用戶影響力在信息傳播和用戶決策中發揮著關鍵作用[12]。
基于上述社會推薦所面臨的問題,該文提出了一種基于用戶影響力和偏好一致性的社會化推薦,該方法挖掘出了用戶間隱藏的潛在信息,提高了推薦的準確性。主要貢獻包括:
(1)結合評分信息從偏好一致性方向將用戶間的信任關系量化,緩解用戶的偏好差異性。
(2)引入用戶平均信任值動態調整用戶的信任網絡,篩選出可利用的社交關系。
(3)提出信任傳播穩定性最強路徑算法(Trust Propagation Stability Path,TPSP),避免了信任節點信息的丟失。
傳統社會化推薦在借助用戶的社交信息時[13-14]忽略了數據中隱藏的潛在信息對用戶偏好的影響,導致推薦的預測準確性較差。因此,許多學者進行了大量研究。例如,Zhang等人[15]指出用戶間缺少明確的社交關系,可從用戶對商品的反饋中提取出用戶間所隱藏的社交信息,改善推薦系統中社交信息的稀疏性。Guo等人[16]提出了一種基于信任的矩陣分解模型,通過將評級和信任信息融入到矩陣分解中,使得在預測未知項目的評分時,考慮了評分和信任信息的顯性和隱性影響。陳碧毅等人[17]提出了一種融合顯式反饋和隱式反饋的協同過濾算法,通過結合隱式反饋數據和顯式數據訓練出用戶對物品的預測偏好,以緩解數據的稀疏性。朱敬華等人[9]采用模糊c均值聚類的方式對用戶間的關系進行分類并利用信任類預測計算用戶間的隱式信任值,提高了推薦的整體性能。然而,這些方法在挖掘用戶間的隱式關系時缺乏對社會關系強度簡單而有效的設計,導致用戶的偏好存在著誤差。
社會影響在社會化推薦中發揮著重要作用,當信息在社交網絡中傳播時,網絡中的用戶會受到其社交關系的影響,導致用戶間的偏好具有相似性[18-19]。Jain等人[20]利用用戶的中心性計算每個用戶的目標函數,并根據鯨魚算法識別局部和普遍的意見領袖。Riquelme等人[21]提出一種檢測意見領袖的新方法,意見領袖是專注于特定主題的一類重要的有影響力的用戶,通過自由調整用戶對某個特定主題的興趣和排他性來識別出社交網絡中具有影響力的用戶。凌子豪[22]提出具有高影響力的用戶信任性更高,通過對用戶評分進行影響力加權來區分高影響力用戶對其他用戶評分的影響。除了利用已有的信任關系,還可以利用信任網絡上的信任傳播來搜索可信任的用戶。信任的傳播性在社交網絡中幫助用戶提高了推薦的預測準確性。Golberk等人[23]提出了一種算法,該算法在信任網絡中執行改進的廣度優先搜索以找到間接鄰居并聚合其信任值。Wang等人[24]通過考慮一跳或多跳來計算用戶之間的直接和間接信任。信任信息的利用提高了推薦的準確性,除了信任信息外用戶之間可能存在著不信任的關系可以結合信任感知網絡收集的不信任信息,不信任信息有助于調節用戶的信任網絡,對信息的傳播起到了篩選。Lee等人[10]通過引入指定的不信任關系和從信息傳播中隱式推斷的不信任關系對用戶的關系進行篩選,降低了用戶在推薦過程中的錯誤指引,提高了推薦的評級預測。雖然信任的傳播性緩解了數據的稀疏性,但在傳播過程中容易造成信任節點信息的丟失,對推薦結果產生負面影響。
綜上所述,引入用戶的偏好一致性刻畫信任度豐富了用戶的社交網絡信息使得用戶的偏好差異降低。此外,結合用戶的影響力找路徑,避免了信任節點信息的丟失。
根據社會關聯理論,用戶好友在用戶的偏好上發揮著重要作用,志同道合的好友往往更能產生相互影響。該推薦算法通過結合用戶的評分信息和社交信息挖掘用戶間的隱式信任,用于構建用戶的社交網絡,并結合用戶的信任傳播閾值對社交網絡進行篩選及引入用戶的社會影響幫助找到目標用戶的最佳信任鄰居。基于用戶影響力和偏好一致性的社會化推薦主要包括四個步驟:(1)根據評分信息計算用戶的相似度;(2)結合用戶項目評分信息和社交信息刻畫用戶的信任度;(3)利用TPSP算法找到用戶間一條最佳信任傳播路徑;(4)結合用戶的相似度和信任度進行協同推薦。該算法的框架如圖1所示。

圖1 基于用戶影響力和偏好一致性的社會化推薦
推薦系統中,用戶評分數據包含了用戶對每個項目的偏好,基于用戶的協同過濾算法從相似用戶的偏好出發,為用戶進行推薦。余弦相似度根據用戶對項目的評分度量用戶間的相似度,夾角的余弦值表示用戶的相似度,其值越大用戶的偏好越接近,適應于非用戶偏好場景。首先將用戶的評分信息轉變成評分矩陣,然后根據用戶的評分矩陣采用余弦相似度[25]得到用戶間的相似度,其計算公式如下所示:
(1)
其中,Ruk、Rvk為用戶u和用戶v對項目k的評分,當兩用戶無共同項目時表示兩用戶的偏好相似度為0。
社交信息作為推薦系統中重要的輔助信息,起到了緩解數據稀疏性的作用。在社交網絡中用戶與用戶之間常以二值信任的形式存在,該社交信息未描述出用戶間的信任差異性。在社交網絡中,用戶間的信任關系具有主觀性,不同用戶間的信任度存在著差異。
用戶間信任度的評估方式具有多樣性,現有研究僅僅從用戶的社交信息角度度量用戶間的信任權重,該文結合評分數據和社交信息挖掘用戶間的隱式信息。使用評分數據時,在beta信任模型[26]的基礎上進一步做了改進,從用戶之間的偏好一致性出發并結合用戶的社交信息量化用戶間的信任值。在實際情況中,評分的不同,用戶間會存在著偏好差異,評分標準的不同也會導致偏好發生變化。因此,可根據用戶之間對公共項目評分的差異程度衡量用戶之間在評分數據上的信任強度,偏好差異越小,用戶之間的信任度越大。b(u,v)表示用戶在同一項目上的偏好差異性,g(u,v)表示兩個用戶針對同一個項目表現出的偏好一致性。b(u,v)和g(u,v)計算公式如下所示:
(2)
g(u,v)=1-b(u,v)
(3)

定義1 評分信任度trust(u,v):當用戶間的評分差異越小時,用戶的偏好越偏向于一致并結合項目占比可得到用戶間基于評分的信任。trust(u,v)計算公式如下所示:
(4)
(5)
(6)
其中,G(u,v)為用戶對相同項目表現出偏好一致性的總和,B(u,v)為用戶對相同項目表現出偏好差異性的總和。Iuv為用戶u和用戶v共同評價的物品數量,Iu為用戶u評分的項目總數。
定義2 用戶在社交關系上的信任度P(u,v),計算公式如下所示:

(7)
其中,Muv表示兩個用戶的共同好友的數量,Mu為用戶u的好友數量。
定義3 直接信任度DTrust(u,v),計算公式如下所示:
(8)
用戶之間的信任度不僅體現在項目的評分差異,還體現在交互項目的數量,由公式(8)計算得到用戶之間的信任度,不僅量化了用戶的信任強度還確定了用戶間信任的方向。基于隱式信息構建的信任網絡詳細描述如算法1所示。

算法1構建隱式信任網絡輸入:用戶-項目評分信息R,信任關系矩陣T輸出:基于隱式信任信息的信任網絡1For u,v in R2 common=Iu∩Iv3End for4For s in common5由式(2)^式(6)計算用戶間評分信任度6End for7For u,v in T8 由公式(7)得到用戶在社交關系上的信任度9End for10由公式(8)計算得到隱式信任網絡
將信任的傳遞性引入到社交網絡中,挖掘出了用戶間的隱式聯系。借助信任在社交網絡的傳播,可以推斷用戶之間的間接社會關系。間接社會關系往往存在于沒有直接關系但有著相同興趣的用戶之間。在社交網絡中,兩個未連接的用戶可能存在著若干條路徑,不同的路徑對信息的傳播會產生不同的影響。雖然社交網絡中包含了所有的節點信息,但節點數量較多且節點間的信任值、信任方向不同及信任傳播過程中容易造成信任節點信息的丟失,故提出TPSP算法幫助用戶找到一條最佳信任傳播路徑,以便更準確地評估用戶間的間接信任值。算法2描述如下:
Step1:計算節點影響力,根據節點入度和出度的比值求出節點的社會影響。
Step2:計算信任傳播閾值,不同的用戶在社交網絡中具有不同的信任傳播閾值,可根據與用戶存在著直接信任關系的用戶求平均值并將其設置為閾值。
Step3:由信任閾值動態更新用戶的信任網絡。
Step4:結合用戶的社會影響力查找用戶之間存在的最短路徑。

算法2信任傳播穩定性最強路徑TPSP輸入:隱式信任網絡trustnetwork;目標用戶u輸出:信任傳播穩定性最強的一條路徑path1For s in trustnetwork2 caluate influence(s)3 caluate aver //信任傳播閾值δ=aver4End for5Update trustnetwork(u)6If v not in trustnetwork7 continue8Else remove edge(u,v) 9Insert influence to trustnetwork10Path=dijkstra(u,v)11If len(path)==012 continue13Then restore path
在社交網絡中用戶之間的信任值是通過直接聯系體現的,而用戶之間的間接信任值卻隱藏在用戶的社交網絡中無法直接體現。考慮到信任在社交網絡中具有傳遞性,可根據信任的傳遞性計算用戶間的間接信任值[27],其計算公式如下所示:
ITrust(u,v)=min(Tuw,Twv)
(9)
其中,ITrust(u,v)表示用戶u和用戶v的間接信任度,Tuw表示用戶u和用戶w的直接信任度,Twv表示用戶w和用戶v的直接信任度。
結合用戶的直接信任度和間接信任度得到用戶的局部信任度,其計算公式如下所示:
Trust(u,v)=DTrust(u,v)+ITrust(u,v)
(10)
結合用戶的相似度和信任度,α為調節用戶的信任度和相似度所占權重的參數,計算公式如下所示:
ST(u,v)=(1-α)sim(u,v)+αTrust(u,v)
(11)
當α為0時,表示只根據用戶的相似度對用戶進行推薦。隨著α的增加,信任度所占的權重逐漸增加,表現為相似度和信任度兩個因素對用戶偏好的影響。當α增加到1時,則表示僅考慮用戶的信任度對用戶進行推薦。評分預測通過調節參數α找到K個最近鄰對未評分項目進行評分預測,其計算公式如下所示:
(12)

本節重點介紹了實驗的數據集、對比算法、參數設置、評估指標和實驗結果。
使用了兩個公開的數據集:FilmTrust數據集、CiaoDVD類別數據集。FilmTrust是一個名為FilmTrust的電影評級網絡站點捕獲的數據集。CiaoDVD是一個產品評論網站,用戶可以通過寫評論來評價產品。這兩個數據集提供了大量的評級信息和社交信息。在FilmTrust數據集中評分范圍從0.5到4,信任關系為0、1。在CiaoDVD數據集中,評級范圍從1到5,信任關系為0、1。表1提供了關于兩個真實數據集的詳細情況。

表1 數據集描述
參數α為信任聚合的調和參數,不同的α表明用戶的信任度和相似度所占的比例不同,其取值范圍為[0,1],當α為0時,表明信任關系對用戶的偏好不產生影響;當α為1時,表明用戶的相似性對用戶的偏好不產生影響;當0<α<1時,表明綜合信任關系和相似性對用戶偏好產生的影響。通過調節參數α評估算法的推薦質量。
為驗證所提算法的有效性,采用平均絕對誤差(MAE)和均方根誤差(RMSE)作為評估指標。MAE通常用于評估預測評級與真實評級的接近程度,RMSE為真實評分值和預測評分值之間的偏差。兩指標的值越小,表明評級預測的準確度越高。其計算公式如下所示。

(13)
(14)

(1)基于用戶信任和項目評級的顯性和隱性影響的協同過濾(TrustSVD)[16]:在SVD++方法的基礎上集成顯式和隱式信任作為額外的來源,以緩解數據稀疏和冷啟動問題。
(2)用于推薦的社會關系的深度建模(DeepSoR)[28]:利用信任語句作為豐富的輔助信息,結合蟻群優化算法。
(3)社交推薦系統的協作用戶網絡嵌入(CUNE)[15]:采用DeepWalk從每個用戶的反饋中提取社會信息,并將這些信息集成到MF中進行評級預測。
(4)具有基本偏好空間的社會化推薦(SREPS)[29]:利用推薦系統和社交網絡中用戶偏好的差異,以進一步改進社會推薦。
(5)基于有向信任的概率矩陣分解推薦算法(PMFTrustSVD)[30]:使用PMF分解信任矩陣提取信任者和受托者在社會影響力上的差異,并結合評分信息提取用戶間的信任用于評級預測。
3.5.1 參數α對算法的影響
圖2和圖3中顯示了參數α在FilmTrust數據集和CiaoDVD數據集上對MAE和RMSE兩指標的影響。

圖2 參數α對MAE值的影響
從兩圖中可以觀察到,隨著α的增加MAE和RMSE呈現出先下降后上升的趨勢。在FilmTrust數據集上,當α=0.8時,MAE和RMSE出現最低點,表明當α為0.8時在該數據集上推薦性能達到了最佳。在CiaoDVD數據集上,當α=0.5時,MAE和RMSE出現最低點,表明當α為0.5時該數據集上推薦性能達到了最佳。這是由于伴隨著信任信息的增加,將會為目標用戶提供更加可靠的信息,但過度采用用戶的信任關系將導致用戶的偏好出現多樣性,使得推薦性能下降。該實驗結果表明適當調整用戶的相似度和信任度所占權重有助于提高推薦的準確度。
3.5.2K值對算法的影響
從圖4和圖5可以觀察到近鄰用戶K在FilmTrust數據集和CiaoDVD數據集上對MAE和RMSE的影響。由實驗結果可以看出,不同的K值對目標用戶將會產生不同的影響。

圖4 近鄰用戶K對MAE值的影響

圖5 近鄰用戶K對RMSE值的影響
在FilmTrust數據集上,當K值為20時,MAE和RMSE出現最低點。在CiaoDVD數據集上,當近鄰用戶K為50時,MAE和RMSE出現最低點。由兩圖可知,隨著K值的增加,該算法的評價指標出現了拐點,該拐點為該算法的性能指標最佳點。實驗結果表明,伴隨著近鄰用戶的增加將會有更多的鄰居為目標用戶提供推薦,從而提高了推薦的準確性,而過多的鄰居將會對用戶的偏好產生干擾導致推薦的準確性降低,故應根據數據集的實際情況,選擇合適的近鄰用戶數為目標用戶進行推薦。
3.5.3 算法推薦性能對比
為了驗證SR-UIPC算法的性能,選取五個帶有社交信息的基準算法分別在FilmTrust、CiaoDVD兩個數據集上進行訓練和測試,并將數據集按照4∶1的比例進行劃分,隨機選擇其中4份用作訓練集,1份作為測試集。相比于其他算法,SR-UIPC算法在FilmTrust數據集上,當α=0.8,K=20取得最佳性能,在CiaoDVD數據集上,當α=0.5,K=50取得最佳性能。
從表2中可以看出,SR-UIPC算法在MAE和RMSE兩評估指標上整體表現最佳。與傳統協同過濾算法相比,TrustSVD算法雖然引入了用戶的信任關系卻未考慮到用戶的信任強度是不平等的,導致推薦在預測評分的準確性上存在偏差。CUNE算法通過引入間接用戶的影響緩解信任數據的稀疏性,卻忽略了信任在傳播過程中容易造成信任節點信息的丟失使得用戶間的預估間接信任值準確性較差,進而導致整體預測準確度較差。DeepSoR算法基于神經網絡學習用戶的非線性特征,然而數據的稀疏性導致難以捕捉用戶之間偏好,使得用戶間的偏好存在著偏好差異性。SREPS算法雖然考慮了社交網絡中用戶間的偏好差異,但僅考慮了用戶的一階鄰居對用戶偏好的影響,未考慮到用戶的高階鄰居對用戶所產生的影響,造成了信息的丟失。PMFTrustSVD算法不僅考慮到了用戶的偏好差異性,還考慮到了信任者和受托者在社會影響力上的差異,但忽略了信任的傳播性使得用戶的偏好存在著偏差。

表2 不同算法在FilmTrust和CiaoDVD的性能對比
對比于其他算法在FilmTrust、CiaoDVD數據集上的表現,SR-UIPC算法挖掘出用戶間所隱藏的隱式信任關系,為社會化推薦系統提供了更加豐富的信息,并且通過將用戶的社會影響引入到信任傳播中,緩解了信任在傳播過程中信任節點信息的丟失進而提高了推薦的預測準確性。同時從數據集的稀疏性上可以看出,與FilmTrust數據集相比,MAE和RMSE兩評估指標在CiaoDVD數據集上都出現了一定程度的上漲,但整體效果表現較好,表明數據的稀疏性在推薦預測準確性上有著一定的影響。
針對傳統社會化推薦系統所面臨數據稀疏性和難以準確刻畫用戶之間的信任差異性等問題,提出了一種基于隱式信任的社會化推薦。該方法根據評分信息從偏好一致性出發挖掘用戶間的隱式信任信息,并結合社交信息對用戶間的信任度進一步刻畫。其次,結合用戶的影響力找到一條信任傳播穩定性最強的路徑,避免了信任節點信息的丟失。從實驗結果可以看出,該算法提高了推薦的推測準確性。此外,用戶所處的地理位置也會對用戶的偏好產生影響,如何將用戶的社交信息和用戶的地理位置結合起來預測用戶的偏好未來可做進一步研究。