蔡曉東 周青松 葉青
(桂林電子科技大學 信息與通信學院,廣西 桂林 541004)
推薦系統(tǒng)是一種能夠幫助用戶發(fā)現(xiàn)感興趣項目、有效解決信息過載的工具[1]。然而,推薦系統(tǒng)普遍面臨著數(shù)據(jù)稀疏問題,特別是當采用協(xié)同過濾這類傳統(tǒng)推薦算法時,僅通過用戶-項目的交互記錄來給用戶對項目的偏好建模,很容易受到數(shù)據(jù)稀疏的困擾,導致預測效果不夠理想[2]。
為了解決數(shù)據(jù)稀疏的問題,研究者們提出了各種解決辦法[2],主要思路是通過引入一些輔助信息來進一步提高推薦精度。隨著各種基于社交網(wǎng)絡的服務和應用蓬勃發(fā)展,獲取用戶的社交關系成為可能。于是,許多研究者開始將目光投向了社交網(wǎng)絡和推薦算法的結合上,形成了一個熱門研究課題——社交推薦。
事實上,引入社交關系是科學的,因為在社交網(wǎng)絡中,有互動的朋友之間存在信息流,用戶能夠通過具有信任關系的社交好友獲取和傳播信息。于是,用戶的偏好就會受到周圍好友的影響,這一點已被社會關聯(lián)理論證明[3]。因此,用戶的社交關系有助于推薦系統(tǒng)分析其對項目的偏好和過濾信息。
早期的社交推薦研究主要采用基于矩陣分解的方法[4-7]。后來,圖神經(jīng)網(wǎng)絡(GNN)[8-9]憑借對圖結構數(shù)據(jù)強大的建模能力,能夠自然地集成節(jié)點信息和拓撲結構,得到了快速發(fā)展并已廣泛應用于各類領域[10]。由于社交網(wǎng)絡(用戶-用戶關系)和用戶交互記錄(用戶-項目關系)都可自然地表示為圖結構數(shù)據(jù),因此GNN也被研究者用于社交推薦[11-21]及評分預測任務中[11,14-17],以更好地學習用戶和項目的特征表示。2019 年,F(xiàn)an 等[11]提出了GraphRec 模型,最早利用GNN 聯(lián)合捕獲用戶-項目交互圖和用戶-用戶社交圖中節(jié)點的表示進行社交推薦;Wu等[12]提出了DANSER模型,同時考慮朋友之間的靜態(tài)和動態(tài)影響,利用雙圖注意力網(wǎng)絡來協(xié)作地學習具有兩種社交影響的嵌入表示;Xiao 等[13]提出了MGNN模型,通過構建相互社交嵌入層聚合來自用戶-項目評分圖和社交圖的信息;Fan 等[14]在GraphRec基礎上提出了GraphRec+模型,增加了項目-項目間關系的捕獲來完成評分預測任務。隨后,Zhang等[15]指出,現(xiàn)有基于GNN 的社交推薦方法很少考慮到利用單一的異構全局圖去同時捕獲用戶-用戶關系、用戶-項目相互作用和項目-項目相似性。這可能導致在基于GNN 對用戶和項目進行編碼時缺乏復雜的語義信息和豐富的拓撲信息,于是提出了一個端到端的異構全局圖學習框架GLHGNN 用于社交推薦,取得了更好的效果。Yu等[16]針對傳統(tǒng)的社交推薦算法在學習用戶和項目的潛在表示時忽略了高階協(xié)同信號或僅考慮了一階協(xié)同信號,導致推薦性能不佳的問題,提出了Light_NGSR 模型,利用GNN 框架在學習用戶和項目的潛在表示過程中捕捉高階協(xié)作信號。最近,Chen 等[17]針對用戶(項目)隱藏在評分統(tǒng)計信息中的偏差問題,提出了一種基于圖的分散式協(xié)同過濾模型GDSRec,有效提升了預測性能。
雖然現(xiàn)有基于GNN 的社交推薦模型都取得了不錯的效果,但還存在不足:其默認聚合目標節(jié)點的所有鄰居節(jié)點的信息,忽略了被查詢的目標用戶和項目與其鄰居節(jié)點間可能存在特征不匹配的問題,導致噪聲的引入而降低了模型性能。為了解決該問題,本文提出了一種基于動態(tài)鄰域采樣的社交推薦模型(DNSSR)。首先,構造一個包含用戶和項目間多元關系的關系圖譜(RG),使其比單一的圖結構擁有更豐富的拓撲結構和關聯(lián)信息;然后,利用動態(tài)鄰域采樣機制(DNSM)選擇出與目標查詢對的特征更一致的鄰居,以減少噪聲干擾;最后,為了進一步提升模型預測性能,利用所設計的增強型圖神經(jīng)網(wǎng)絡(E-GNN)來對采樣后得到的關系子圖進行建模,區(qū)分不同鄰居節(jié)點的重要性并選擇更可靠的信息源,同時將目標節(jié)點和其鄰域聚合特征自適應融合,得到更魯棒的用戶和項目嵌入向量用于評分預測。
令U={u1,u2,…,um}和V={v1,v2,…,vn}分別表示用戶集合和項目集合,其中m和n分別為用戶和項目的總數(shù)。R∈Rm×n為用戶-項目評分矩陣,rij∈R表示用戶ui對項目vj的評分,其值越大表示喜愛度越高。S∈Rm×m為用戶-用戶信任矩陣,其值為1 表示兩個用戶間存在社交關系,為0 則表示不存在社交關系。GR={U,V,εR}為用戶-項目交互圖,εR為用戶-項目邊集合;GS={U,εS}為用戶-用戶社交圖,εS為用戶-用戶邊集合;GI={V,εI}為項目-項目相似圖,εI為項目-項目邊集合。其中U、V、GR均由R中的數(shù)據(jù)生成,GS由S中的數(shù)據(jù)生成,GI由本文方法單獨構成。
另外,令u?和v?分別泛指用戶和項目節(jié)點,ui和vj分別為目標用戶和項目節(jié)點,并將它們共同視為一組查詢對象,簡稱目標查詢對Q(ui,vj)。U(ui)表示與ui具有社交關系的用戶集合,R(ui)表示ui點評過的項目集合,C(vj)表示點評過項目vj的用戶集合,I(vj)表示與vj高度相似/相關的項目集合。
本文的目標是給定R、S等信息,建立模型精準預測出ui對vj的評分?。
DNSSR模型的整體框架如圖1所示。首先,對于目標查詢對Q(ui,vj),先為其生成一個表征目標用戶和項目聯(lián)合特征的查詢向量,然后利用動態(tài)鄰域采樣機制在關系圖譜中自適應地選擇出與查詢向量特征的一致性分數(shù)較高的鄰居節(jié)點,得到采樣后的關系子圖。接著,利用E-GNN 對關系子圖進行建模,得到包含全局協(xié)同信息的用戶和項目全局嵌入向量后,再送入預測層進行最終的評分預測。
圖1 DNSSR模型的整體框架圖Fig.1 Framework of DNSSR model
為了捕獲到更加豐富的關聯(lián)信息以增強用戶和項目節(jié)點的嵌入向量表示,受Fan等[14-15,21]的啟發(fā),本文設計了一種新的圖結構——關系圖譜,其構造過程如圖2所示。
圖2 關系圖譜的構造過程Fig.2 Construction process of relational graph
首先,考慮到相似或相關的項目對用戶也存在一定的吸引力,它們之間的潛在聯(lián)系可用于豐富項目的特征表示[18]?;诖耍贖uang 等[18-19]的啟發(fā)下,本文提出從評分相似和共現(xiàn)相似兩個角度來共同計算不同項目間的協(xié)同相似度Vsim,過程如下:
式中,Rsim(·)為兩個項目間的評分相似度,它們的交互用戶對它們的評分越接近則兩者越相似,e?∈Rm為R中第?列向量,Csim(·)為兩個項目間的共現(xiàn)相似度,它們擁有的共同交互用戶數(shù)量越多則越相似。
計算出每個項目與其他項目的協(xié)同相似度后,將得到協(xié)同相似度矩陣I∈Rn×n。然后從I中為每個項目選出N個相似度最高的項目作為其相似鄰居,并在項目集合圖GV中構建一條項目-項目邊的關系,于是得到項目-項目相似圖GI。最后,將GI和由R和S生成的GR、GS進行節(jié)點和邊的合并,即可得到關系圖譜GH。
與傳統(tǒng)的圖組織方式(僅含GR和GS且各自獨立)不同,GH包含用戶和項目兩類節(jié)點(U,V),具有用戶-用戶、用戶-項目、項目-項目3種類型的無向邊(εS,εR,εI),因此拓撲結構和關聯(lián)信息更豐富。另外,GH在信息傳遞上將擁有更大的潛力:①對用戶節(jié)點來說,它可通過不同的類型邊同時聚合到可反映自身偏好的來自相鄰項目節(jié)點的信息,以及可反映社交影響的來自相鄰用戶節(jié)點的信息;同樣,項目節(jié)點也可同時聚合來自相鄰用戶和項目節(jié)點的信息;②有助于節(jié)點間信息的跨階傳遞,例如相鄰的項目節(jié)點可更快捷地將信息傳遞給其他用戶節(jié)點。
現(xiàn)有社交推薦模型在利用GNN 聚合鄰居節(jié)點信息時大多都忽略了一個重要問題,即被查詢的目標用戶和項目節(jié)點與其鄰居節(jié)點間可能存在特征不匹配。以圖3 為例,當前目標查詢對為Q(u2,v2),表示預測u2對v2的評分,以目標用戶u2為例,它存在以下兩種與Q(u2,v2)的特征不一致的鄰居。
圖3 特征不一致鄰居的示例Fig.3 An example of neighbors with inconsistent features
(1)偏好特征不一致的用戶鄰居:從u2和u1、u3的交互項目上看,由于要預測u2對v2的評分,其用戶鄰居u1的歷史交互中并沒有出現(xiàn)過電影類項目(即v1、v2、v3),但u3交互過(即v2、v3)。從模型學習的角度上考慮,顯然u1的偏好特征與u2不一致,來自u3的信息對Q(u2,v2)更有幫助。
(2)屬性特征不一致的項目鄰居:從u2自身的交互歷史上看,預測u2對v2的評分應重點考慮u2對v1而不是v4、v5的評分,因為v1與v2都屬于電影類,而v4、v5屬于書籍類。顯然v4、v5的屬性特征與v2不一致,來自v1的信息對Q(u2,v2)更有幫助。
上述例子只是目標用戶角度下關于特征不一致鄰居的簡單舉例,目標項目也存在類似情況。為了表示方便,本文統(tǒng)一將與目標查詢對Q(ui,vj)的特征不一致的鄰居節(jié)點定義為“特征不一致鄰居”。
為了解決現(xiàn)有方法對上述問題意識的不足,在Yang 等[20]的啟發(fā)下,提出了動態(tài)鄰域采樣機制(DNSM)以自適應地在GH中選擇與目標查詢對特征一致性高的鄰居,以減少噪聲干擾。DNSM 的設計思路和計算步驟如下。
首先,從上面的討論可知,要區(qū)分特征不一致的鄰居節(jié)點,需要考慮項目的類別信息,但實際上現(xiàn)有工作大多都忽略了這一因素的影響。因此,本文先將項目的類別信息轉化為類別特征,再將其并入到項目的初始嵌入向量當中。
式中:v?∈V;和分別為v?的初始嵌入向量和所屬類別的嵌入向量; 為引入類別特征后的嵌入向量,d為向量的維度;⊕表示向量拼接;σ(·) 為ReLU 激活函數(shù);W1∈Rd×2d和W2,b1,b2∈Rd均為可學習的參數(shù)。
為了計算鄰居節(jié)點與目標節(jié)點的一致性分數(shù),先為Q(ui,vj)生成一個包含ui和vj聯(lián)合特征的查詢向量qui,vj:
式中,eui∈Rd為ui的嵌入向量,為vj的包含類別特征的嵌入向量,Wq∈Rd×2d為可學習的參數(shù)。
接著,計算目標節(jié)點的各個鄰居節(jié)點t與qui,vj的一致性分數(shù):
式中,et∈Rd為t的嵌入向量,對于ui,t∈U(ui) ∪R(ui),對于vj,t∈C(vj) ∪I(vj)。
另外,考慮到在關系圖譜中,不同用戶(項目)的鄰居數(shù)目不同,特別是對于高活躍度用戶(流行項目)來說,它們的鄰居數(shù)量非常多,但對于那些不活躍用戶(冷門項目)來說其鄰居數(shù)量很少。這導致了針對不同的用戶或項目,若采用固定閾值的方式來采樣鄰居并不公平。于是,利用一種鄰居數(shù)目動態(tài)分配方法來自適應地計算出目標節(jié)點需要采樣的鄰居節(jié)點數(shù)目,具體如下:
式中,x為目標節(jié)點(ui或vj),Nneighbor(x)為x要采樣的鄰居節(jié)點數(shù)目,Nx為GH中x的鄰居節(jié)點總數(shù),Mx為x所在集合空間(U或V)中所有節(jié)點的鄰居節(jié)點數(shù)目分布的中位數(shù),min(·)表示取較小值,以緩解鄰居采樣時的不公平問題,p為采樣比例系數(shù),取值為0.1~0.9,其值越小則過濾掉的鄰居節(jié)點越多。
最后,根據(jù)一致性分數(shù)S(·)的大小采樣出分數(shù)最高的前Nneighbor(·)個鄰居,對于未采樣到的鄰居節(jié)點和相鄰邊將被消除,由此可得到采樣后的關系子圖。這樣可使得中將只保留與Q(ui,vj)的特征具有較高一致性的鄰居節(jié)點。
通過上述步驟即可實現(xiàn)基于動態(tài)鄰域采樣的一致性鄰居選擇,減少特征不一致鄰居的噪聲干擾。
在采樣了高一致性的鄰居節(jié)點后,還需要利用GNN 對關系子圖進行建模來完成信息的傳遞和聚合。不過,應注意到兩個潛在問題:
(1)來自相鄰的用戶鄰居節(jié)點和項目鄰居節(jié)點的信息所表征的特征內涵和數(shù)量分布都不同,目標節(jié)點應該對不同來源的信息加以區(qū)分,并且同一信息源的各個鄰居節(jié)點對目標用戶或項目節(jié)點來說重要性是不一樣的,也應該予以區(qū)分;
(2)目標節(jié)點自身特征與鄰域聚合特征的融合方式對最后節(jié)點的特征表達有著較為重要的影響,常見的向量相加或拼接的方法或許不是最佳的。
基于以上考慮,為了進一步提高模型預測性能,在Fan等[14,21-22]的啟發(fā)下,設計了增強型圖神經(jīng)網(wǎng)絡(E-GNN)來對進行建模。它由鄰域聚合網(wǎng)絡(NAN)和自適應特征融合網(wǎng)絡(AFFN)組成。具體地,先以NAN為目標節(jié)點選擇更可靠的信息源,并區(qū)分各鄰居節(jié)點的重要性得到鄰域聚合特征后,再通過AFFN將其與目標節(jié)點的自身特征進行信息聚合,得到包含全局協(xié)同信息的用戶和項目全局嵌入向量。
2.4.1 鄰域聚合網(wǎng)絡
首先,為了提取目標用戶ui對不同項目評分所反映的偏好特征,先將用戶對項目的評分信息轉化為評分特征,并引入到項目鄰居節(jié)點的嵌入向量(含類別特征)當中:
式中,vn(ui) 為中ui的某項目鄰居節(jié)點,和分別為vn(ui)的嵌入向量(含類別特征)和對應的評分嵌入向量,W3∈Rd×2d和W4,b3,b4∈Rd均為可學習的參數(shù)。
類似地,對目標項目vj來說,為了提取不同用戶對其評分所反映的吸引力特征,將評分特征引入到用戶鄰居節(jié)點的嵌入向量當中:
式中,um(vj) 為中vj的某用戶鄰居節(jié)點,和分別為um(vj)的嵌入向量和對應的評分嵌入向量,W5∈Rd×2d和W6,b5,b6∈Rd均為可學習的參數(shù)。
然后,利用式(10)-(12)聚合各鄰居節(jié)點的信息,得到鄰域聚合特征eN(x):
式中,ex∈Rd和ey∈Rd分別為x的嵌入向量和其鄰居節(jié)點y的嵌入向量。特別地,當y為ui的項目鄰居時,y為vj的用戶鄰居時。s(·)為sigmoid激活函數(shù),q∈Rd和Wα∈Rd×2d為可學習的參數(shù),Te(x,y)∈Rd為一個表示信息源來自x與y之間邊的可學習特定向量,為目標節(jié)點選擇更可靠的信息源,αxy用于區(qū)分各鄰居節(jié)點的重要性。
2.4.2 自適應特征融合網(wǎng)絡
對于目標節(jié)點的自身特征和其鄰域聚合特征,現(xiàn)有方法基本都是通過向量拼接或簡單相加的方式進行融合以更新節(jié)點的嵌入向量。然而,它們都是靜態(tài)的融合方法,節(jié)點的自身特征和鄰域聚合特征難以根據(jù)不同情況進行動態(tài)調整,容易導致最終的預測效果欠佳。本文利用AFFN 來克服這一限制,具體如下:
式中,MLP(·)為一個具有2層結構的多層感知機。
為了完成模型的訓練,采用評分預測任務中廣泛使用的損失函數(shù)(L):
式中,R′為已觀察到的用戶項目評分集合,rij為用戶ui對項目vj的真實評分。
為了方便讀者快速梳理本文思路和復現(xiàn),將DNSSR模型的偽代碼進行了介紹,具體如下所示。
輸入:用戶-項目評分矩陣R、用戶-用戶信任矩陣S輸出:目標用戶ui對預測項目vj的評分r?ij開始1. 利用R和S生成GR、GS,并初始化用戶和項目節(jié)點的嵌入向量2. 計算項目間的協(xié)同相似度Vsim得到協(xié)同相似度矩陣I 3. 根據(jù)I生成項目-項目相似圖GI 4. 組合GR、GS、GI得到關系圖譜GH 5. 將項目的類別信息引入到其初始嵌入向量中6. 生成包含ui和vj聯(lián)合特征的查詢向量qui,vj 7. 計算各鄰居節(jié)點t與qui,vj的一致性分數(shù)S(·)8. 利用鄰居數(shù)目動態(tài)分配方法自適應計算鄰居節(jié)點采樣數(shù)目Nneighbor(·)9. 根據(jù)S(·)和Nneighbor(·)的值進行動態(tài)鄰域采樣,得到關系子圖GSH 10. 將評分信息引入到GSH中用戶(項目)鄰居節(jié)點的嵌入向量中11. 聚合GSH中目標節(jié)點各鄰居節(jié)點的特征,得到鄰域聚合特征eN(x)
為了驗證本文所提模型在評分預測任務上的有效性,選擇了兩個具有代表性的數(shù)據(jù)集Ciao 和Epinions 進行實驗。它們都來源于真實的社交網(wǎng)絡平臺,允許用戶對項目進行評分,并將朋友添加到自己的“信任圈”中。因此,它們提供了大量的評級信息和社交信息,評級范圍從1 到5。這兩個數(shù)據(jù)集的統(tǒng)計信息如表1所示。
表1 實驗數(shù)據(jù)集的統(tǒng)計信息Table 1 Statistical information of experimental datasets
為了評估所提出模型的推薦性能,采用平均絕對誤差(MAE)和均方根誤差(RMSE)作為本文實驗的評價指標。其中MAE和RMSE的值越小表示預測準確性越好。
對于每個數(shù)據(jù)集,選擇其中80%作為訓練集來學習參數(shù),驗證集和測試集則各占10%。經(jīng)過超參數(shù)搜索,批次大小設為128,學習率設為0.001,嵌入維度設為16,項目相似鄰居數(shù)量N默認設為20。模型利用Adam 優(yōu)化器進行訓練,并采用早停法來提前終止訓練過程,即當驗證集上的RMSE 指標在連續(xù)5個訓練輪數(shù)后都不繼續(xù)下降時,認為模型已經(jīng)收斂,模型訓練結束。
為了證明本文所提模型的優(yōu)越性,選擇了一些當前主流的社交推薦模型進行了對比,分別如下:①PMF[4],僅利用用戶-項目評分矩陣進行概率矩陣分解;②SoRec[5],通過同時分解評分矩陣和社交關系矩陣來學習用戶的特征向量;③TrustMF[7],根據(jù)信任的方向,通過矩陣分解將用戶映射到信任者空間和被信任者空間;④DeepSoR[23],采用深度神經(jīng)網(wǎng)絡從用戶的社交關系中學習用戶的特征表示,然后將其集成到概率矩陣分解中以進行評分預測;⑤GraphRec[11],利用GNN 從社交關系圖和用戶-項目交互圖中對用戶和項目的特征表示建模;⑥GraphRec+[14],在GraphRec的基礎上增加了項目-項目圖來聚合相似項目之間的信息;⑦GDSRec[17],針對用戶(項目)隱藏在評分統(tǒng)計信息中的偏差問題,提出了一種基于圖的分散式協(xié)同過濾模型用于社交推薦。
表2 展示了DNSSR 與各個對比模型在Ciao 和Epinions 數(shù)據(jù)集上的實驗結果比較。由其中的結果可以發(fā)現(xiàn):在基于矩陣分解的模型中,加入了社交網(wǎng)絡信息的SoRec 和TrustMF 始終優(yōu)于只有評級信息的PMF,說明了利用社交網(wǎng)絡中的用戶信任信息可以有效提升推薦性能;DeepSoR 是基于深度神經(jīng)網(wǎng)絡架構的模型,效果優(yōu)于所有基于矩陣分解的模型,說明了神經(jīng)網(wǎng)絡對用戶社交關系和用戶-項目交互具有更強的學習能力;GraphRec、GraphRec+和GDSRec 則是基于GNN 的模型,效果顯著優(yōu)于DeepSoR,這充分說明了GNN在圖結構數(shù)據(jù)的表示學習方面具有強大的能力,能進一步提升推薦性能;相比所有對比模型,本文所提出的DNSSR 模型在兩個數(shù)據(jù)集上的RMSE 和MAE 都有明顯降低。與各對比模型的實現(xiàn)方式不同,DNSSR先是通過構建關系圖譜使得圖結構中擁有了更多上下文信息,然后利用動態(tài)鄰域采樣機制去采樣出特征一致性高的鄰居,解決了在信息聚合時產(chǎn)生的噪聲干擾問題,另外還利用增強型圖神經(jīng)網(wǎng)絡對采樣后得到的關系子圖進行建模,獲得了更魯棒的包含全局特征的用戶和項目嵌入向量,最終有效降低了預測誤差。另外,Koren[24]曾指出,RMSE 和MAE 的微小改進會對top-N 推薦的質量產(chǎn)生重大影響,所以DNSSR具備很強的應用價值。
表2 各模型實驗結果對比Table 2 Comparison of experimental results of models
為了證明本文所提各個關鍵組件的有效性,利用控制變量法設計了以下擴展消融實驗。
3.5.1 RG和DNSM中關鍵組件的有效性
首先,為了驗證在RG 中引入GS和GI是有效的,設計了DNSSR-S和DNSSR-I變體模型,分別表示去掉GH中的GS和GI。其次,為了驗證DNSM 的有效性,設計了DNSSR-D 變體模型,即不進行動態(tài)鄰域采樣,E-GNN將直接聚合所有鄰居節(jié)點的信息。為了驗證引入類別特征的有效性,還設計了DNSSR-C變體模型,即不對項目節(jié)點進行類別特征的引入。它們的實現(xiàn)結果如圖4所示。
圖4 關于關系圖譜和動態(tài)鄰域采樣機制中關鍵組件的有效性分析Fig.4 Effectiveness analysis of key components in relational graph and dynamic neighborhood sampling mechanism
由圖4可知,DNSSR的RMSE和MAE始終保持最小,即擁有最佳的推薦性能,表明了各個組件都是產(chǎn)生最佳結果所必需的。各變體模型與DNSSR相比:DNSSR-D 的誤差最高,在Ciao 數(shù)據(jù)集上其RMSE 和MAE 分別上升6.05%和7.31%,在Epinions 數(shù)據(jù)集上則分別上升3.49%和5.41%。這表明對鄰居節(jié)點進行動態(tài)采樣是非常有必要的,否則會引入大量噪聲。DNSSR-S和DNSSR-I的整體誤差也較高,這驗證了用戶的社交關系和項目的相似關系能夠增強用戶和項目的特征向量表示,進一步提升預測性能;DNSSR-C的誤差也上升不少,表明引入類別信息是有效的,有助于項目鄰居的過濾并增強項目的特征向量表示。
3.5.2 E-GNN中NAN和AFFN的有效性
為了驗證E-GNN 中NAN 和AFFN 的有效性,設計了3 個相關變體:DNSSR-nan,即不采用NAN的方式進行信息聚合,而是直接相加;DNSSR-cat,即特征融合采用向量拼接方式;DNSSR-add,即特征融合采用向量相加方式。對比實驗結果見表3。
表3 鄰域聚合網(wǎng)絡和自適應特征融合網(wǎng)絡的有效性分析Table 3 Effectiveness analysis of neighborhood aggregation network and adaptive feature fusion network
由表3 可知,DNSSR 在兩個數(shù)據(jù)集上的RMSE和MAE 結果始終優(yōu)于3 個變體。通過DNSSR 與DNSSR-nan的比較,發(fā)現(xiàn)在執(zhí)行聚合操作時,區(qū)分圖中各鄰居節(jié)點的重要性和選擇更可靠的信息源有助于提高預測準確性,從而驗證了NAN 的有效性。通過DNSSR 與DNSSR-cat、DNSSR-add 的比較,發(fā)現(xiàn)對節(jié)點自身和鄰域聚合特征進行自適應融合的方案有助于提高其特征向量的魯棒性,從而驗證了AFFN的有效性。
3.5.3 DNSM中采樣比例系數(shù)的影響
在利用DNSM 計算目標節(jié)點要采樣的鄰居數(shù)目時,其中的采樣比例系數(shù)p是一個可調節(jié)的超參數(shù)。為了觀察不同p值的設置對模型最終預測性能的影響,設計了相關實驗,結果如圖5所示。
圖5 不同的采樣比例系數(shù)對模型性能的影響Fig.5 Effects of different sampling scale factors on model performance
通過圖5可以發(fā)現(xiàn),當p設為0.2時,在兩個數(shù)據(jù)集上關于RMSE 和MAE 的綜合預測性能最佳。p設為0.1至0.4時的整體誤差都很小,0.5至0.9時的誤差都較大。這表明了較高的p值容易導致GNN聚合過多特征不一致鄰居節(jié)點的信息,由于受到噪聲干擾而使模型的預測性能降低,較小的p值則可以有效過濾掉大多特征不一致的鄰居節(jié)點,減少噪聲的引入。
本文提出了一種基于動態(tài)鄰域采樣的社交推薦模型DNSSR。通過構造用戶-項目間多元關系的關系圖譜,使其比傳統(tǒng)的圖結構擁有更豐富的拓撲結構和關聯(lián)信息,且有利于節(jié)點間信息的跨階傳遞。通過為項目引入類別信息,并采用動態(tài)鄰域采樣機制選擇出與目標查詢對象的特征更一致的鄰居節(jié)點,解決了現(xiàn)有方法忽略被查詢的目標用戶和項目與其鄰居節(jié)點間可能存在特征不匹配,導致噪聲引入使模型性能降低的問題。本文還提出了增強型異構圖神經(jīng)網(wǎng)絡,對采樣得到的關系子圖進行更為有效的建模,使獲得的用戶和項目嵌入向量更加魯棒。最后通過在兩個真實公開數(shù)據(jù)集上的實驗結果表明,本文所提模型與同類先進模型相比具有更好的預測性能。由于推薦的可解釋性也是用戶關心的問題,未來將考慮建立更加豐富的關系圖譜并進行深入探討,以進一步拓展模型的可解釋性。