周 明
(安徽理工大學計算機科學與工程學院,淮南 232001)
推薦系統在很多場景已經得到了廣泛的應用,并且通過非常多的關鍵詞匯向用戶提供更加個性化的項目。對于高效的推薦系統來說,其關鍵核心就是通過用戶的歷史交互行為來預測下一階段用戶可能感興趣的項目。伴隨著對比學習在推薦系統領域的成功,基于對比學習社交推薦模型——旨在構建一種通過對比學習[1]的反事實交互特征和觀測交互特征來增強用戶表征的框架,也取得一定的進展。通常而言,現代化社交推薦系統[2]采用兩個主要組件來預測用戶偏好:用戶和項目嵌入學習,接下來是用戶-項目交互建模。那么在ciao 和epinions 兩個數據集中用戶對于以往交互項目的評級便至關重要。
社交推薦考慮推薦用戶感興趣的內容,即用戶關系鏈中的推薦內容。近年來,Fan 等[3]研究了項目特征之間的相關性,將用戶特征空間和項目特征空間抽象為兩個圖網絡,以提高社會化推薦的準確率。Wu 等[4]提出了一種項目關系圖神經網絡,用于同時發現多個復雜關系,并為無法直接獲得的項目或用戶信息提供解決方案。Salamat 等[5]將社交網絡建模為異質圖,并采用圖神經網絡和注意力機制來聚集來自所有來源的信息,并建立用戶-用戶、項目-項目和用戶-項目關系。關于關系,在實體之間還存在更高階的關系。許多研究已經考慮整合知識圖和用戶-項目圖來捕捉這些高階關系。鑒于圖神經網絡[6]的力量,它們被納入了本文的框架。
基于對比學習的自監督學習,在計算機視覺和自然語言處理等領域取得了杰出的成績。對比學習的核心技術是在嵌入空間中將“正”樣本盡可能地拉一起,并盡可能放大“負”樣本之間的距離。例如,Gao等[7]考慮社區結構并設計BiGI來識別二分圖的全局性質,最終提出了一種基于雙塔DNN的對比SSL模型。該算法旨在利用項目屬性改進基于協同過濾的推薦。
設U={u1,u2,…,un}和V={v1,v2,…,vm}分別表示用戶和項目的集合,其中n和m分別為用戶和項目的數量。L∈Lx×y表示用戶-項目的交互圖。用戶對相應項目給出的評分值用eij來表示。如果用戶不對項目進行評分或者兩者沒有互動,eij= 0。一般來說,矩陣L是稀疏的。將用戶社交圖定義為PU=(U,QU),其中QU被用作連接用戶的邊集。
圖1說明了總體架構,它由兩個主要模塊組成:①審閱感知模塊:基于圖形輸入將評級合并到用戶偏好建模中;②圖形對比學習模塊:引入對比從兩個方面提高推薦性能,用戶/項目嵌入學習和交互建模。

圖1 本模型框架
對于用戶建模,目的是學習用戶的潛在因素偏向。在這一節中,本文說明了如何從項目聚合中對用戶的潛在因素偏差進行建模,而用戶ui的潛在因素偏差是由兩部分組成的,一部分是從相關項目聚合得到的,另一部分是從社會聚合得到的。為了從數學上得到用戶ui的潛在因素偏差,我們使用以下函數:
其中:σ是非線性激活函數的集合,w和b表示權重和偏差。
與項目聚合類似,用戶建模的目的是學習用戶ui對相應項目vj的潛在因素偏差,并將其表示為Hjv:
接下來,我們定義表示Gα和Gβ:
其中:Gα是用戶和項目之間的意見意識互動的集合;Gβ是一個評級感知的互動表示。然后用Ru表示多層感知器,作為嵌入rij和意見嵌入mj的組合。
基于之前的對比學習用于圖數據學習的工作中,本文將對比學習用于用戶表征增強模塊中。具體來說分以下兩個步驟(如圖2所示)。

圖2 反事實示意圖

圖3 在Ciao數據集上的表現

圖4 在Epinions數據集上的表現
步驟一:首先對原始交互特征,依據目標項目識別出可缺少的概念、不可或缺的概念。然后對其進行反事實轉化。替換原始行為特征中可缺少的概念的特征作為反事實特征的正樣本,替換原始行為特征中不可缺少的概念的特征作為反事實特征的負樣本。
步驟二:在獲得反事實特征的正負樣本后,分別對原始行為交互特征與反事實特征正負樣本進行對比學習,以及目標項目與事實特征正負樣本進行對比學習。
這個過程可以表述如下:
其中:u1是輸入用戶;u2是從U*U↑中采樣的負用戶。
在得到潛在的因素偏差Hu,Hv組成,分別代表用戶和物品。最后使用多層感知器來獲得的偏好評級:
我們從評級預測的角度來評估我們提出的模型。假設α是數據集中的所有評分的集合,α={(i,j):eij≠0} 。目標函數:
其中,eij是用戶ui對物品vj的基礎真實評價。
我們將模型分別放在Ciao 和Epinions 數據集上進行評估,這兩個數據集都取自流行的社交網站,都包含了用戶、項目、評級和社交關系等組成部分,每個社交數據項包括“追隨者數據指數”和“追隨者指數”。

表1 數據集信息
在比較本模型與其他模型的評分預測性能時,我們使用兩個指標來評估推薦算法的預測準確性,即MAE和RMSE。
我們使用Python 3.8、PyTorch 1.7和Cuda 11作為算法構建的環境。對于每個數據集的參數設置,用80%作為學習參數的訓練集,用10%作為優化的驗證集,最后用10%作為測試集。對于嵌入大小,我們測試了[8,16,32,64,128,256]的值,而學習率在[0.0005,0.001,0.005,0.01,0.05,0.1]之間。
SVD:是一個經典的矩陣分解模型,它通過用戶和項目潛在因素的內積來估計評分。
NCF:使用神經網絡來預測基于用戶和項目自由嵌入的評級。
DeepSoR:基于深度神經網絡并結合矩陣分解方法來獲得用戶項的表示。
GraphRec:第一次將圖神經網絡和社交網絡結合起來,分別表示用戶和項目的潛在表示。
通過數據對比可知,Epinions數據集比Ciao數據集有更多的用戶項目互動,而且用戶對特定項目的興趣往往會隨著時間而波動。因此,像DeepSoR 這樣僅僅利用評級信息的模型在Ciao 數據集上的表現稍好,但像Graphrec 這樣利用數據集中的社會關系的模型在Epinions數據集上的表現稍好。相對而言,本文的方法優于以前的推薦模型,因為它結合了社會數據并更廣泛地利用了數據本身的全局特征。同時本文加入的對比學習可以更好地增強用戶表征,更精確地降低推薦誤差。
為了更好地利用用戶-項目二分圖的獨特結構和評分特征,同時利用評級信息增強用戶/項目嵌入和用戶-項目交互建模,一個基于圖的用戶偏好建模和評分預測的對比學習框架。具體來說,我們設計了一個新的評分感知圖學習模塊,以更有效地將評論信息整合到用戶和項目嵌入學習中。在這個組件中,評級用于調整相應鄰居和評論本身的影響。此外,還開發了一個額外的比較學習模塊來調整模型,以更好地建模節點嵌入和交互。最后,在推薦的兩個基準數據集上進行了大量實驗,驗證了模型的優越性和有效性。未來,我們將使用更先進的評論嵌入方法來實現更好的評論表示,并設計更好的融合和對齊方法來對評論和用戶(項目)之間的復雜交互進行建模。