周 明
(安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,淮南 232001)
推薦系統(tǒng)在很多場(chǎng)景已經(jīng)得到了廣泛的應(yīng)用,并且通過(guò)非常多的關(guān)鍵詞匯向用戶提供更加個(gè)性化的項(xiàng)目。對(duì)于高效的推薦系統(tǒng)來(lái)說(shuō),其關(guān)鍵核心就是通過(guò)用戶的歷史交互行為來(lái)預(yù)測(cè)下一階段用戶可能感興趣的項(xiàng)目。伴隨著對(duì)比學(xué)習(xí)在推薦系統(tǒng)領(lǐng)域的成功,基于對(duì)比學(xué)習(xí)社交推薦模型——旨在構(gòu)建一種通過(guò)對(duì)比學(xué)習(xí)[1]的反事實(shí)交互特征和觀測(cè)交互特征來(lái)增強(qiáng)用戶表征的框架,也取得一定的進(jìn)展。通常而言,現(xiàn)代化社交推薦系統(tǒng)[2]采用兩個(gè)主要組件來(lái)預(yù)測(cè)用戶偏好:用戶和項(xiàng)目嵌入學(xué)習(xí),接下來(lái)是用戶-項(xiàng)目交互建模。那么在ciao 和epinions 兩個(gè)數(shù)據(jù)集中用戶對(duì)于以往交互項(xiàng)目的評(píng)級(jí)便至關(guān)重要。
社交推薦考慮推薦用戶感興趣的內(nèi)容,即用戶關(guān)系鏈中的推薦內(nèi)容。近年來(lái),F(xiàn)an 等[3]研究了項(xiàng)目特征之間的相關(guān)性,將用戶特征空間和項(xiàng)目特征空間抽象為兩個(gè)圖網(wǎng)絡(luò),以提高社會(huì)化推薦的準(zhǔn)確率。Wu 等[4]提出了一種項(xiàng)目關(guān)系圖神經(jīng)網(wǎng)絡(luò),用于同時(shí)發(fā)現(xiàn)多個(gè)復(fù)雜關(guān)系,并為無(wú)法直接獲得的項(xiàng)目或用戶信息提供解決方案。Salamat 等[5]將社交網(wǎng)絡(luò)建模為異質(zhì)圖,并采用圖神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制來(lái)聚集來(lái)自所有來(lái)源的信息,并建立用戶-用戶、項(xiàng)目-項(xiàng)目和用戶-項(xiàng)目關(guān)系。關(guān)于關(guān)系,在實(shí)體之間還存在更高階的關(guān)系。許多研究已經(jīng)考慮整合知識(shí)圖和用戶-項(xiàng)目圖來(lái)捕捉這些高階關(guān)系。鑒于圖神經(jīng)網(wǎng)絡(luò)[6]的力量,它們被納入了本文的框架。
基于對(duì)比學(xué)習(xí)的自監(jiān)督學(xué)習(xí),在計(jì)算機(jī)視覺(jué)和自然語(yǔ)言處理等領(lǐng)域取得了杰出的成績(jī)。對(duì)比學(xué)習(xí)的核心技術(shù)是在嵌入空間中將“正”樣本盡可能地拉一起,并盡可能放大“負(fù)”樣本之間的距離。例如,Gao等[7]考慮社區(qū)結(jié)構(gòu)并設(shè)計(jì)BiGI來(lái)識(shí)別二分圖的全局性質(zhì),最終提出了一種基于雙塔DNN的對(duì)比SSL模型。該算法旨在利用項(xiàng)目屬性改進(jìn)基于協(xié)同過(guò)濾的推薦。
設(shè)U={u1,u2,…,un}和V={v1,v2,…,vm}分別表示用戶和項(xiàng)目的集合,其中n和m分別為用戶和項(xiàng)目的數(shù)量。L∈Lx×y表示用戶-項(xiàng)目的交互圖。用戶對(duì)相應(yīng)項(xiàng)目給出的評(píng)分值用eij來(lái)表示。如果用戶不對(duì)項(xiàng)目進(jìn)行評(píng)分或者兩者沒(méi)有互動(dòng),eij= 0。一般來(lái)說(shuō),矩陣L是稀疏的。將用戶社交圖定義為PU=(U,QU),其中QU被用作連接用戶的邊集。
圖1說(shuō)明了總體架構(gòu),它由兩個(gè)主要模塊組成:①審閱感知模塊:基于圖形輸入將評(píng)級(jí)合并到用戶偏好建模中;②圖形對(duì)比學(xué)習(xí)模塊:引入對(duì)比從兩個(gè)方面提高推薦性能,用戶/項(xiàng)目嵌入學(xué)習(xí)和交互建模。
圖1 本模型框架
對(duì)于用戶建模,目的是學(xué)習(xí)用戶的潛在因素偏向。在這一節(jié)中,本文說(shuō)明了如何從項(xiàng)目聚合中對(duì)用戶的潛在因素偏差進(jìn)行建模,而用戶ui的潛在因素偏差是由兩部分組成的,一部分是從相關(guān)項(xiàng)目聚合得到的,另一部分是從社會(huì)聚合得到的。為了從數(shù)學(xué)上得到用戶ui的潛在因素偏差,我們使用以下函數(shù):
其中:σ是非線性激活函數(shù)的集合,w和b表示權(quán)重和偏差。
與項(xiàng)目聚合類似,用戶建模的目的是學(xué)習(xí)用戶ui對(duì)相應(yīng)項(xiàng)目vj的潛在因素偏差,并將其表示為Hjv:
接下來(lái),我們定義表示Gα和Gβ:
其中:Gα是用戶和項(xiàng)目之間的意見(jiàn)意識(shí)互動(dòng)的集合;Gβ是一個(gè)評(píng)級(jí)感知的互動(dòng)表示。然后用Ru表示多層感知器,作為嵌入rij和意見(jiàn)嵌入mj的組合。
基于之前的對(duì)比學(xué)習(xí)用于圖數(shù)據(jù)學(xué)習(xí)的工作中,本文將對(duì)比學(xué)習(xí)用于用戶表征增強(qiáng)模塊中。具體來(lái)說(shuō)分以下兩個(gè)步驟(如圖2所示)。
圖2 反事實(shí)示意圖
圖3 在Ciao數(shù)據(jù)集上的表現(xiàn)
圖4 在Epinions數(shù)據(jù)集上的表現(xiàn)
步驟一:首先對(duì)原始交互特征,依據(jù)目標(biāo)項(xiàng)目識(shí)別出可缺少的概念、不可或缺的概念。然后對(duì)其進(jìn)行反事實(shí)轉(zhuǎn)化。替換原始行為特征中可缺少的概念的特征作為反事實(shí)特征的正樣本,替換原始行為特征中不可缺少的概念的特征作為反事實(shí)特征的負(fù)樣本。
步驟二:在獲得反事實(shí)特征的正負(fù)樣本后,分別對(duì)原始行為交互特征與反事實(shí)特征正負(fù)樣本進(jìn)行對(duì)比學(xué)習(xí),以及目標(biāo)項(xiàng)目與事實(shí)特征正負(fù)樣本進(jìn)行對(duì)比學(xué)習(xí)。
這個(gè)過(guò)程可以表述如下:
其中:u1是輸入用戶;u2是從U*U↑中采樣的負(fù)用戶。
在得到潛在的因素偏差Hu,Hv組成,分別代表用戶和物品。最后使用多層感知器來(lái)獲得的偏好評(píng)級(jí):
我們從評(píng)級(jí)預(yù)測(cè)的角度來(lái)評(píng)估我們提出的模型。假設(shè)α是數(shù)據(jù)集中的所有評(píng)分的集合,α={(i,j):eij≠0} 。目標(biāo)函數(shù):
其中,eij是用戶ui對(duì)物品vj的基礎(chǔ)真實(shí)評(píng)價(jià)。
我們將模型分別放在Ciao 和Epinions 數(shù)據(jù)集上進(jìn)行評(píng)估,這兩個(gè)數(shù)據(jù)集都取自流行的社交網(wǎng)站,都包含了用戶、項(xiàng)目、評(píng)級(jí)和社交關(guān)系等組成部分,每個(gè)社交數(shù)據(jù)項(xiàng)包括“追隨者數(shù)據(jù)指數(shù)”和“追隨者指數(shù)”。
表1 數(shù)據(jù)集信息
在比較本模型與其他模型的評(píng)分預(yù)測(cè)性能時(shí),我們使用兩個(gè)指標(biāo)來(lái)評(píng)估推薦算法的預(yù)測(cè)準(zhǔn)確性,即MAE和RMSE。
我們使用Python 3.8、PyTorch 1.7和Cuda 11作為算法構(gòu)建的環(huán)境。對(duì)于每個(gè)數(shù)據(jù)集的參數(shù)設(shè)置,用80%作為學(xué)習(xí)參數(shù)的訓(xùn)練集,用10%作為優(yōu)化的驗(yàn)證集,最后用10%作為測(cè)試集。對(duì)于嵌入大小,我們測(cè)試了[8,16,32,64,128,256]的值,而學(xué)習(xí)率在[0.0005,0.001,0.005,0.01,0.05,0.1]之間。
SVD:是一個(gè)經(jīng)典的矩陣分解模型,它通過(guò)用戶和項(xiàng)目潛在因素的內(nèi)積來(lái)估計(jì)評(píng)分。
NCF:使用神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)基于用戶和項(xiàng)目自由嵌入的評(píng)級(jí)。
DeepSoR:基于深度神經(jīng)網(wǎng)絡(luò)并結(jié)合矩陣分解方法來(lái)獲得用戶項(xiàng)的表示。
GraphRec:第一次將圖神經(jīng)網(wǎng)絡(luò)和社交網(wǎng)絡(luò)結(jié)合起來(lái),分別表示用戶和項(xiàng)目的潛在表示。
通過(guò)數(shù)據(jù)對(duì)比可知,Epinions數(shù)據(jù)集比Ciao數(shù)據(jù)集有更多的用戶項(xiàng)目互動(dòng),而且用戶對(duì)特定項(xiàng)目的興趣往往會(huì)隨著時(shí)間而波動(dòng)。因此,像DeepSoR 這樣僅僅利用評(píng)級(jí)信息的模型在Ciao 數(shù)據(jù)集上的表現(xiàn)稍好,但像Graphrec 這樣利用數(shù)據(jù)集中的社會(huì)關(guān)系的模型在Epinions數(shù)據(jù)集上的表現(xiàn)稍好。相對(duì)而言,本文的方法優(yōu)于以前的推薦模型,因?yàn)樗Y(jié)合了社會(huì)數(shù)據(jù)并更廣泛地利用了數(shù)據(jù)本身的全局特征。同時(shí)本文加入的對(duì)比學(xué)習(xí)可以更好地增強(qiáng)用戶表征,更精確地降低推薦誤差。
為了更好地利用用戶-項(xiàng)目二分圖的獨(dú)特結(jié)構(gòu)和評(píng)分特征,同時(shí)利用評(píng)級(jí)信息增強(qiáng)用戶/項(xiàng)目嵌入和用戶-項(xiàng)目交互建模,一個(gè)基于圖的用戶偏好建模和評(píng)分預(yù)測(cè)的對(duì)比學(xué)習(xí)框架。具體來(lái)說(shuō),我們?cè)O(shè)計(jì)了一個(gè)新的評(píng)分感知圖學(xué)習(xí)模塊,以更有效地將評(píng)論信息整合到用戶和項(xiàng)目嵌入學(xué)習(xí)中。在這個(gè)組件中,評(píng)級(jí)用于調(diào)整相應(yīng)鄰居和評(píng)論本身的影響。此外,還開(kāi)發(fā)了一個(gè)額外的比較學(xué)習(xí)模塊來(lái)調(diào)整模型,以更好地建模節(jié)點(diǎn)嵌入和交互。最后,在推薦的兩個(gè)基準(zhǔn)數(shù)據(jù)集上進(jìn)行了大量實(shí)驗(yàn),驗(yàn)證了模型的優(yōu)越性和有效性。未來(lái),我們將使用更先進(jìn)的評(píng)論嵌入方法來(lái)實(shí)現(xiàn)更好的評(píng)論表示,并設(shè)計(jì)更好的融合和對(duì)齊方法來(lái)對(duì)評(píng)論和用戶(項(xiàng)目)之間的復(fù)雜交互進(jìn)行建模。