許峰
(安徽理工大學(xué),安徽 淮南 232001)
面對(duì)大量的網(wǎng)絡(luò)用戶和信息爆炸,推薦系統(tǒng)至關(guān)重要,可以緩解信息過(guò)載,為用戶提供更高效,更高質(zhì)量的服務(wù)。一個(gè)有效的推薦系統(tǒng)可以通過(guò)從大量信息中獲取用戶喜歡的內(nèi)容(如電影、音樂(lè)、商品)而使用戶獲益,也可以通過(guò)降低促銷成本而使服務(wù)提供商獲益。與此同時(shí),隨著社交媒體的發(fā)展,利用社會(huì)關(guān)系來(lái)提高推薦的效果也越來(lái)越受歡迎。在社交網(wǎng)絡(luò)中,有聯(lián)系的朋友之間有一種信息的流動(dòng),用戶的偏好與他/她周圍的人相似或受其影響,針對(duì)這一特點(diǎn),越來(lái)越多的社交推薦算法應(yīng)運(yùn)而生。
目前,深度學(xué)習(xí)由于其具有高表達(dá)性和模型高保真度,顯示出了實(shí)現(xiàn)良好性能的強(qiáng)大能力。同時(shí),包括社交網(wǎng)絡(luò)在內(nèi)的部分信息本質(zhì)上具有圖結(jié)構(gòu),而圖神經(jīng)網(wǎng)絡(luò)(GNNs)在圖表示學(xué)習(xí)方便具有強(qiáng)大能力。因此推薦系統(tǒng)中利用GNNs 的領(lǐng)域正蓬勃發(fā)展。在現(xiàn)有的社交推薦算法中,結(jié)合深度學(xué)習(xí)與社交網(wǎng)絡(luò)的模型在一定能過(guò)程度上取得了不錯(cuò)的效果,如Fan等在社交關(guān)系中利用提取單個(gè)用戶的非線性特征整合到用戶項(xiàng)目的矩陣分解中提出DeepSoR 模型進(jìn)行評(píng)分預(yù)測(cè),該模型也是深度學(xué)習(xí)結(jié)合社交關(guān)系的一個(gè)基準(zhǔn)模型。近年來(lái),通過(guò)在圖神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上融合注意力機(jī)制來(lái)提升特征提取能力并提高推薦績(jī)效的方法取得了顯著的效果,因此越來(lái)越多的模型通過(guò)使用圖注意力機(jī)制來(lái)對(duì)社交推薦中的特征進(jìn)行建模,如Fan 等人提出結(jié)合圖神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制來(lái)提取用戶、項(xiàng)目及社交關(guān)系等相關(guān)特征的社交推薦模型。Song 等人同樣結(jié)合GNNs 和注意力機(jī)制,并將社交網(wǎng)絡(luò)的環(huán)境結(jié)合起來(lái)考慮,動(dòng)態(tài)的建模用戶行為特征。然而,上述方法都是針對(duì)用戶和項(xiàng)目的局部特征進(jìn)行處理,或者僅考慮用戶或項(xiàng)目的局部交互在社交圖中的傳播,并沒(méi)有充分考慮到全局特征在社交關(guān)系中的作用,以及在GNNs 的框架下,通過(guò)消息傳遞對(duì)全局特征捕獲的優(yōu)勢(shì),因此,本文通過(guò)使用圖神經(jīng)網(wǎng)絡(luò)結(jié)合多頭自注意力機(jī)制組成的圖注意力模型考慮用戶和項(xiàng)目在社交網(wǎng)絡(luò)中的全局信息來(lái)優(yōu)化社交推薦,從而提升推薦準(zhǔn)確度。通過(guò)實(shí)驗(yàn)結(jié)果表明,本文所提出的方法在兩個(gè)真實(shí)數(shù)據(jù)集上的評(píng)分預(yù)測(cè)任務(wù)中有一定的效果。
本文所提的整體框架參考了GraphRec 模型的框架,將模型分為四個(gè)模塊:用戶建模、社交建模、項(xiàng)目建模、評(píng)分預(yù)測(cè)。其中,用戶建模通過(guò)用戶的歷史評(píng)分交互行為來(lái)學(xué)習(xí)用戶的潛在偏好特征;社交建模通過(guò)利用用戶的社交關(guān)系,將社交好友的潛在特征作為用戶建模的補(bǔ)充,從而更充分的學(xué)習(xí)用戶自身以及在社交網(wǎng)絡(luò)中的潛在偏好特征,并將用戶潛在表示與社交用戶潛在表示通過(guò)連接統(tǒng)一為用戶潛在表示。項(xiàng)目建模則通過(guò)從項(xiàng)目被用戶評(píng)分交互過(guò)的評(píng)價(jià)中來(lái)學(xué)習(xí)項(xiàng)目的潛在特征,即項(xiàng)目更受哪些用戶喜好。評(píng)分預(yù)測(cè)模塊通過(guò)前三個(gè)部分對(duì)用戶和項(xiàng)目的建模進(jìn)行連接得到最終融合用戶項(xiàng)目的潛在表示,并通過(guò)多層感知機(jī)(MLP)來(lái)實(shí)現(xiàn)最終預(yù)測(cè)。整體研究框架如圖1所示。接下來(lái)本文將對(duì)各部分細(xì)節(jié)進(jìn)行介紹。
圖1 整體研究框架
用戶建模在項(xiàng)目空間下針對(duì)用戶u對(duì)項(xiàng)目v的歷史行為評(píng)分來(lái)學(xué)習(xí)用戶的偏好特征h,項(xiàng)目建模是在用戶空間下針對(duì)項(xiàng)目v被不同用戶u所評(píng)價(jià)形成項(xiàng)目潛在偏好特征z,文中用戶對(duì)項(xiàng)目的評(píng)分記做r。這里與以往工作不同的是,本模型通過(guò)使用多頭自注意力機(jī)制捕獲用戶行為序列和項(xiàng)目的用戶序列的全局特征,使得模型在考慮社交關(guān)系的情況下利用圖神經(jīng)網(wǎng)絡(luò)將全局特征信息在社交圖中傳播,更加全面的考慮用戶和項(xiàng)目的潛在特征。接下來(lái)將通過(guò)公式詳細(xì)介紹具體流程。
一個(gè)用戶同時(shí)對(duì)多個(gè)項(xiàng)目都可能有意見(jiàn),這種意見(jiàn)的表示形式通過(guò)使用評(píng)分來(lái)表示,因此對(duì)于融合評(píng)分和項(xiàng)目嵌入部分涉及兩個(gè)嵌入,分別記為意見(jiàn)嵌入e∈?和項(xiàng)目嵌入q,這里∈(),()表示用戶u的所有交互項(xiàng)目的集合。通過(guò)將q和e拼接組成用戶u對(duì)項(xiàng)目v的意見(jiàn),公式如式(1)所示:
其中,g表示一個(gè)由MLP 組成的整合函數(shù),⊕表示拼接操作。
同理,一個(gè)項(xiàng)目可能同時(shí)有來(lái)自多個(gè)不同用戶的評(píng)分,所以對(duì)于融合評(píng)分和用戶嵌入同樣設(shè)計(jì)兩個(gè)嵌入,分別記為意見(jiàn)嵌入e∈?和用戶嵌入p,∈(),()表示項(xiàng)目v有交互的所有用戶集合。通過(guò)拼接組成項(xiàng)目來(lái)自不同用戶的意見(jiàn)表示,公式如式(2)所示:
其中,g表示與g相同的整合函數(shù)。
在分別得到融合評(píng)分和項(xiàng)目嵌入以及融合評(píng)分和用戶嵌入的表示后,都通過(guò)了一個(gè)多頭自注意力機(jī)制來(lái)捕獲全局特征的權(quán)重關(guān)系,為接下來(lái)得到更準(zhǔn)確的用戶和項(xiàng)目嵌入做準(zhǔn)備,由于在該部分多頭自注意力機(jī)制中形式相同,因此,這里為了減少重復(fù)公式將x和f統(tǒng)一為M,將p和q統(tǒng)一為N進(jìn)行計(jì)算得到用戶空間和項(xiàng)目空間的全局特征權(quán)重系數(shù)分別記為a和μ,公式如式(3)所示:
通過(guò)學(xué)習(xí)到的全局特征權(quán)重系數(shù),將其與意見(jiàn)表示結(jié)合,得到用戶(項(xiàng)目)在項(xiàng)目空間和用戶空間下的偏好程度,并通過(guò)一個(gè)由單層神經(jīng)網(wǎng)絡(luò)組成的聚合函數(shù)得到聚合后的節(jié)點(diǎn)表示h和z,公式如式(4)所示:
其中,表示ReLU 激活函數(shù),表示可學(xué)習(xí)的參數(shù),表示偏置,||表示連接操作。
社交建模通過(guò)利用用戶的社交關(guān)系來(lái)補(bǔ)充對(duì)用戶的偏好建模,將用戶的直接好友的偏好認(rèn)為可以影響用戶的偏好,基于這一點(diǎn),在融合社交和評(píng)分項(xiàng)目嵌入時(shí)將用戶的直接好友u,以及好友的評(píng)分交互嵌入e∈?結(jié)合,形成社交好友的意見(jiàn)表示,這里,社交好友的偏好表示與2.1 節(jié)中用戶的偏好表示建模類似,記為h,∈(),()表示與用戶u相關(guān)的社交用戶的集合。
通過(guò)得到用戶好友的偏好表示后,在該部分主要將用戶與好友的社交關(guān)系進(jìn)行全局特征的權(quán)重分配,即選取在用戶好友中與用戶本身最相關(guān)偏好影響最大的用戶。將用戶的社
交建模表示為h,社交權(quán)重系數(shù)記為β,公式如式(5)所示:
聚合后的社交建模表示如式(6)所示:
得到社交建模表示后,這里可以與2.1 節(jié)得到的用戶潛在表示通過(guò)兩層MLP 結(jié)合,得到最終用戶潛在表示h,具體流程為:
通過(guò)2.1節(jié)和2.2節(jié)學(xué)習(xí)到的用戶和項(xiàng)目的潛在表示后,將它們連接并輸入到多層MLP 進(jìn)行評(píng)分預(yù)測(cè),過(guò)程為:
本文模型通過(guò)式(9)作為目標(biāo)函數(shù)并通過(guò)Adam 作為優(yōu)化器對(duì)模型進(jìn)行優(yōu)化:
其中表示觀察到的交互評(píng)分集合,r表示實(shí)際評(píng)分值。
本模型使用的數(shù)據(jù)集為兩個(gè)含有社交連接信息的數(shù)據(jù):Ciao 和Epinions,數(shù)據(jù)集中含有用戶、項(xiàng)目以及用戶對(duì)商品的評(píng)分,評(píng)分分值為,還含有用戶之間的社交信息。具體數(shù)據(jù)統(tǒng)計(jì)信息如表1所示。
表1 數(shù)據(jù)集統(tǒng)計(jì)信息
本實(shí)驗(yàn)使用社交推薦評(píng)分預(yù)測(cè)中常用的兩個(gè)指標(biāo):平均絕對(duì)誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Square Error,RMSE)。MAE 和RMSE 值越小,說(shuō)明效果越好。實(shí)驗(yàn)中,多頭自注意力頭的個(gè)數(shù)設(shè)置為2,學(xué)習(xí)率設(shè)置為0.000 5,訓(xùn)練集占比為60%,剩下20%為驗(yàn)證集,20%為測(cè)試集。嵌入維度大小設(shè)置為64,批處理大小為256。
為了評(píng)估本文所提模型的有效性,實(shí)驗(yàn)選取了四個(gè)不同的模型進(jìn)行對(duì)比。分別是:
PMF:該模型為傳統(tǒng)的推薦模型,通過(guò)使用概率矩陣分解的方式對(duì)用戶項(xiàng)目潛在因素進(jìn)行建模。
SocialMF:以矩陣分解為基礎(chǔ),將社交信息融合考慮,提成對(duì)用戶偏好的學(xué)習(xí)效果。
DeepSoR:以深度神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)使用矩陣分解的方法學(xué)習(xí)用戶項(xiàng)目潛在表示。
GraphRec:以圖神經(jīng)網(wǎng)絡(luò)為框架結(jié)合社交信息,分別建模用戶和項(xiàng)目的潛在特征表示。
本模型與基線模型在兩個(gè)數(shù)據(jù)集Ciao(60%)和Epinions(60%)上的對(duì)比結(jié)果如圖2、圖3所示。
圖2 在Ciao(60%)數(shù)據(jù)集上的比較
圖3 在Epinions(60%)數(shù)據(jù)集上的比較
通過(guò)對(duì)比可知,與不使用社交關(guān)系的模型PMF 相比,通過(guò)考慮社交關(guān)系的SocialMF 模型具有更好的效果,說(shuō)明社交關(guān)系對(duì)推薦效果的提升具有一定的促進(jìn)作用。除此之外,對(duì)于在深度神經(jīng)網(wǎng)絡(luò)框架下的DeepSoR 模型相比僅使用矩陣分解來(lái)處理社交關(guān)系的SocialMF 模型相比,具有更小的誤差,這表明深度神經(jīng)網(wǎng)絡(luò)比普通的神經(jīng)網(wǎng)絡(luò)具有更強(qiáng)的特征表達(dá)能力。針對(duì),社交網(wǎng)絡(luò)具有圖的拓?fù)浣Y(jié)構(gòu)的性質(zhì),通過(guò)使用GNN 的GraphRec 模型具有比之前都要好的效果,說(shuō)明圖神經(jīng)網(wǎng)絡(luò)對(duì)圖結(jié)構(gòu)的處理具有更強(qiáng)的能力,但該模型僅考慮局部特征的效果影響,本文模型通過(guò)在GNN 網(wǎng)絡(luò)的結(jié)構(gòu)上考慮全局特征信息的建模,獲得了比以上基準(zhǔn)模型更優(yōu)秀的效果,從而說(shuō)明本文所提模型在社交推薦中的有效性。
針對(duì)現(xiàn)有圖神經(jīng)網(wǎng)絡(luò)社交推薦方法對(duì)全局特征信息處理不足的問(wèn)題,本文通過(guò)結(jié)合多頭自注意力機(jī)制,提出一種基于圖注意力機(jī)制優(yōu)化的社交推薦模型。本研究將多頭自注意力機(jī)制在圖神經(jīng)網(wǎng)絡(luò)框架下,分別針對(duì)用戶、項(xiàng)目、社交關(guān)系的全局特征信息進(jìn)行處理,增強(qiáng)了模型對(duì)全局特征信息在社交圖中的處理能力。通過(guò)實(shí)驗(yàn)表明,本文模型在Ciao 和Epinions 兩個(gè)數(shù)據(jù)集上與現(xiàn)有社交推薦模型相比具有更好的預(yù)測(cè)效果。后續(xù)工作將從全局特征出發(fā),考慮更加細(xì)粒度的全局特征以增強(qiáng)模型預(yù)測(cè)效果。