劉樹棟 李麗穎 陳 旭
自從矩陣分解技術應用于推薦系統(tǒng)[1],以協(xié)同過濾技術為代表的推薦系統(tǒng)得到快速發(fā)展.矩陣分解技術將用戶-商品交互數(shù)據(jù)組織成矩陣形式,以矩陣乘法為基礎,學習用戶和商品的潛在特征,將以近鄰算法為基礎的協(xié)同過濾中產生相似交互行為的用戶具有相似偏好這一啟發(fā)性假設推廣到協(xié)同矩陣分解中,從用戶-商品交互的高維稀疏矩陣學習低維稠密用戶和商品潛在特征向量,為推薦系統(tǒng)線下學習和線上部署提供技術手段,也為以Deep Cro- ssing[2]、NCF(Neural Network-Based Collaborative Filtering)[3]、Wide &Deep[4]為代表的深度神經網絡推薦模型提供技術參考.
在推薦系統(tǒng)應用場景中,與用戶有交互記錄的商品數(shù)往往僅占總商品數(shù)極少一部分,從而使用戶-商品交互矩陣中大部分元素為0,故以矩陣分解為代表的推薦系統(tǒng)首先面臨數(shù)據(jù)稀疏性問題.
此外,當用戶與商品交互次數(shù)極少,甚至是新加入用戶時,用戶-商品交互矩陣中不會存在此用戶的交互數(shù)據(jù),也不能學習此用戶的潛在特征向量,那么推薦系統(tǒng)無法分析此類用戶,故稱此現(xiàn)象為冷啟動問題.
為了解決上述問題,研究人員通過收集用戶的上下文信息(如年齡、性別、職業(yè)、位置等)[5]或通過多輪對話收集用戶偏好信息[6],用于構建用戶偏好模型,以內容匹配方式為用戶提供推薦.
此外,研究人員還將用戶的社交關系信息引入?yún)f(xié)同過濾等推薦算法中,產生社會化推薦方法[7],將產生相似交互行為的用戶具有相似偏好的啟發(fā)性假設進一步推廣至具有社交連接的用戶可能有相似個性化偏好,挖掘社會關系對用戶偏好影響,輔助實現(xiàn)社會化協(xié)同推薦[8].
Jiang 等[9]從個體偏好和人際影響兩個角度構建用戶-用戶偏好影響矩陣,并融入概率矩陣分解中,從而提高推薦性能.Tang 等[10]計算用戶社會關系中直接連接的強弱性和間接連接的弱依賴性,加權融入矩陣分解過程中.Yu 等[11]提出IF-BPR(Ba-yesian Personalized Ranking with Implicit Friends),通過元路徑計算用戶間的相似性,為用戶尋找興趣相似的隱含好友.
近年來,隨著深度神經網絡和圖神經網絡的快速發(fā)展,社會化推薦研究逐漸轉向基于神經網絡的社會化推薦模型.與基于矩陣分解的社會化推薦模型[9-10]和基于異構圖的社會化推薦模型[11]一樣,將用戶間的社會關系信息融入用戶/商品表示學習成為基于神經網絡的社會化推薦研究的重要方向之一.
Chen 等[12]提出EATNN(Efficient Adaptive Trans- fer Neural Network),利用注意力機制,自適應地為用戶學習交互商品與社交關系間的互動作用.Wu 等[13]提出CNSR(Collaborative Neural Social Recommendation),通過社交關系表示模塊和協(xié)同推薦模型的聯(lián)合學習,增強社交關系對協(xié)同推薦性能的影響力.Fan 等[14]提出GraphRec,將用戶-商品交互圖和用戶-用戶社交關系圖構建成一個異構圖,利用用戶間的偏好相似性確定它們之間連接的強弱.
Song 等[15]提出DiffNetLG(Diffusion Neural Net- work with Local and Global Implicit Influence),考慮用戶間非直接關聯(lián)的局部隱含偏好影響因素和在用戶間相互共享商品的全局隱式影響因素.Huang 等[16]提出KCGN(Knowledge-Aware Coupled Graph Neural Network),將商品間內在的知識引入圖神經網絡社會化推薦模型中,計算全局圖結構的互信息,學習用戶和商品間的高階關系.Liu 等[17]提出HOSR(High-Order Social Recommender),在社交網絡中利用遞歸傳播表示機制獲取用戶的高階鄰居.
為了擴大偏好一致好友對社會化推薦的影響,Yu 等[18]提出RSGAN(Reliable Social Recommenda-tion Framework Based on Generative Adversarial Net-work).Quan 等[19]提出GDMSR(Graph Denoising Me-thod for Social Recommendation),使用自修正課程學習機制和自適應降噪策略,刪除社交關系中無共同偏好的好友關系,學習更加魯棒的用戶表示.
將用戶間的社交關系學習融入用戶-商品互動圖中,以圖神經網絡中的節(jié)點聚合表示為基礎,學習對推薦預測更有價值的用戶嵌入和商品嵌入,現(xiàn)已成為基于圖神經網絡社會化推薦模型研究重點之一.
已有研究方法大都從如下兩個方面展開研究.
1)從用戶-商品異構圖中學習多階連接,使圖神經網絡節(jié)點表示學習過程能聚合更多節(jié)點信息[20-22].
2)在用戶社交關系圖中判別兩位用戶是否是興趣偏好一致的強連接,節(jié)點表示學習過程中盡量聚合強連接節(jié)點,剔除興趣偏好不一致的弱連接[23-24].
第1類方法雖然能在節(jié)點表示學習過程中聚合多階近鄰,但有可能聚合興趣偏好不一致的弱連接,降低節(jié)點表示的預測性能.
第2類方法雖然在節(jié)點表示學習過程中剔除興趣偏好不一致的弱連接,但現(xiàn)有方法也僅從可信賴好友生成[18,25]或子圖對比[19,23,26]等角度進行,未充分利用用戶-商品異構網絡中的復雜連接與聚合一致鄰居.
針對上述問題,本文提出基于自監(jiān)督三重訓練和聚合一致鄰居的社會化推薦模型(Social Recommendation Based on Self-Supervised Tri-Training and Consistent Neighbor Aggregation, SR-STCNA).將用戶-商品異構信息網絡表示成超圖,獲取用戶-商品及用戶-用戶間更復雜的超圖連接關系,定義興趣偏好一致近鄰,并在超圖節(jié)點表示學習過程中聚合一致近鄰.
具體地,首先引入用戶間的社交關系,為了表示用戶-商品異構圖上的多種關系,使用超圖表示用戶和用戶、用戶和商品之間的關系.使用自監(jiān)督三重訓練,從未標記的數(shù)據(jù)中學習用戶表示,充分挖掘用戶-用戶和用戶-商品間存在的復雜連接關系.然后,通過用戶-商品異構圖上的節(jié)點一致性得分和關系自注意力,在用戶和商品表示學習過程中聚合一致鄰居,增強用戶和商品嵌入表示能力,提高推薦性能.在4個公開數(shù)據(jù)集上的實驗表明SR-STCNA性能較優(yōu).
本文提出基于自監(jiān)督三重訓練和聚合一致鄰居的社會化推薦模型(SR-STCNA),整體框架如圖1所示.
圖1 SR-STCNA整體框架
SR-STCNA由如下3個階段構成:
1)構建超圖和未標記樣本集;
2)自監(jiān)督三重訓練;
3)聚合一致鄰居.
階段1包括構建超圖和對原始圖進行擾動,其中構建超圖是為了生成用戶與用戶之間多樣化的社會關系表示(3位用戶之間均為好友關系或2位用戶是好友關系并且對相同商品有評分).對原始圖進行擾動是為了生成未標記的數(shù)據(jù)集.
階段2是自監(jiān)督三重訓練,通過編碼器1獲取原始的用戶-商品交互圖上的用戶嵌入和商品嵌入,通過編碼器2和編碼器3獲取在階段1得到的2個超圖上的用戶嵌入,通過圖卷積獲得在階段1得到的未標記數(shù)據(jù)集上的未標記節(jié)點嵌入.利用3個編碼器中的其中兩個對第3個編碼器進行未標記數(shù)據(jù)集的鄰居預測,如果2個編碼器都將未標記節(jié)點標記為鄰居,就將這個未標記節(jié)點放入第3個編碼器的鄰居集合中.利用獲得的每個編碼器的鄰居集實現(xiàn)自監(jiān)督對比學習,即最大化鄰居之間的一致性并最小化非鄰居之間的一致性.
階段3是聚合一致鄰居,利用在階段2得到的用戶-商品交互圖上的用戶嵌入和商品嵌入進行線性處理,得到查詢嵌入.利用查詢嵌入分別對用戶鄰居和商品鄰居進行采樣,并計算鄰居的采樣權重,獲得用戶一致鄰居嵌入和商品一致鄰居嵌入.最后將獲得的鄰居嵌入分別與用戶嵌入和商品嵌入進行加權聚合,獲得最終的用戶嵌入和商品嵌入,完成推薦任務.
構建超圖是為了將普通用戶-商品交互和用戶-用戶社交關系圖轉換成超圖,使用戶和用戶之間的關系具有更多樣化、更詳細的表示和描述.未標記樣本集通過邊擾動獲得損壞的圖,以獲得未標記樣本集.
1.1.1 構建超圖
假設用戶集
U={u1,u2,…,um},
m為用戶數(shù)量,商品集
V={v1,v2,…,vn}, |v|=n,
用戶-商品交互矩陣
R=[rij]m×n∈Rm×n,
若用戶ui和商品vj有評分,rij=1,否則rij=0.用戶間社交關系矩陣S∈Rm×m,如果用戶ui、uj有社交關系,sij=1并且sji=1,否則,sij=0并且sji=0.
首先將用戶-商品交互關系構建成用戶-商品交互圖Gr,把用戶間社交關系表示成用戶-用戶社交圖Gs,即圖2中的偏好視圖和社交網絡,偏好視圖后續(xù)用于用戶、商品初始嵌入學習和自監(jiān)督未標記樣本集的構建.從Gr和Gs中可得到2類三角關系:3位用戶彼此均有社交關系(如圖2中的u1,u2和u4)和2位用戶既有社交關系也對同一件商品有評分(如圖2中的u1,u2和v1).基于協(xié)同過濾和社會化推薦下啟發(fā)性假設[7],如果2位具有社交關系的用戶擁有共同的朋友或共同感興趣的交互商品,他們就更有可能具有更親密的關系.因此將上述兩個三角關系作為超圖.
圖2 用戶-商品交互圖和用戶社交關系
可通過矩陣運算的方式提取上述兩種類型的三角關系.兩類三角關系表示的超圖中的用戶鄰接矩陣表示為Enf∈Rm×m和Ens∈Rm×m.
首先,計算用戶與其他用戶之間存在的三元未閉合的社會關系數(shù)量,三元未閉合的社會關系表示3位用戶兩兩配對,其中有2對用戶一定存在社會關系,但第3對不一定存在社會關系.三元未閉合的社會關系矩陣:
(1)
其中,sik表示用戶-用戶社交矩陣S中的元素,若sik=1,表示用戶ui、uk有社交關系,若sik=0,表示用戶ui、uk無社交關系,skj解釋同上.
由式(1)可得,若sikskj=1表示用戶ui、uk、uj在社會關系中存在一個三元未閉合的社交關系,即用戶ui、uk有社會關系并且用戶uk、uj有社會關系,但是不能確定用戶ui、uj是否存在社會關系.通過En′f可找到任意2位用戶ui、uj間的三元未閉合的社會關系個數(shù)s′ij.
3位用戶彼此均有社交關系的用戶鄰接矩陣為:
Enf=En′f⊙S,
(2)
其中⊙表示矩陣對應元素相乘.Enf可確定用戶ui、uj是否可組成三元閉合的社會關系,即由式(1)計算出的用戶ui、uj中的三元未閉合的社會關系個數(shù)s′ij.只需要確定ui、uj是否存在社會關系,如果存在社會關系(sij=1),那么用戶ui、uj的三元閉合的社會關系個數(shù)為s′ij,如果不存在社會關系(sij=0),用戶ui、uj不存在三元閉合的社會關系.
同理,計算用戶與其他用戶之間存在的三元未閉合的商品評分關系.三元未閉合的商品評分關系表示在2位用戶和1個商品之間,2位用戶對該商品有評分關系,但是不能確定2位用戶之間是否存在社會關系.三元未閉合的商品評分關系矩陣為:
其中,rik表示用戶-商品交互矩陣R中的元素,如果rik=1,表示用戶ui對商品vk有評分,如果rik=0,表示用戶ui對商品vk無評分,rjk解釋同上.
由式(2)可得,若rikrjk=1,表示用戶ui、商品vk和用戶uj在商品評分上存在一個三元未閉合的商品評分關系,即用戶ui對商品vk有評分關系并且用戶uj對商品vk有評分關系,但是不能確定用戶ui、uj是否存在社會關系.由En′s可找到用戶ui、uj中的三元未閉合的商品評分關系個數(shù)r′ij.
2位用戶既有社交關系也對同一件商品有評分的用戶的鄰接矩陣為:
Ens=En′s⊙S,
(3)
其中⊙表示矩陣對應元素相乘.
r′ijsij表示用戶ui、uj中的三元閉合的商品評分關系個數(shù),即用戶ui、uj存在社會關系的前提下,對相同商品有評分的商品評分關系個數(shù).
將Enf和Ens看作S和R的補充,通過構建超圖擁有3個從不同角度描述用戶偏好的視圖,分別表示用戶本身的商品偏好、用戶和好友有共同好友、用戶和好友有共同偏好的商品,將3個視圖分別命名為用戶-商品偏好視圖、三角社交關系朋友視圖和三角關系朋友分享商品視圖,分別表示為Gr、Enf和Ens.
1.1.2 構建未標記樣本集
圖自監(jiān)督學習任務需要以邊擾動或節(jié)點掩藏等方式[27-28]構建數(shù)據(jù)增強集.這里以概率ρ擾動用戶分享視圖和朋友視圖,創(chuàng)建擾動圖:
(4)
其中,ρ表示邊擾動率,是可調超參數(shù),Nr表示Gr的全部節(jié)點,Ns表示Gs的全部節(jié)點,Er表示Gr的全部邊,Es表示Gs的全部邊,P∈{0,1}|Er∪Es|,Pρ?(Er∪Es)表示以概率ρ隨機丟失Gr和Gs中的邊.在擾動圖中學習到的用戶節(jié)點嵌入稱作未標記樣本嵌入.
自監(jiān)督三重訓練主要步驟如下.
1)利用編碼器在偏好視圖(用戶-商品交互圖)上學習用戶嵌入和商品嵌入,以及在上述構建的兩個超圖上學習用戶嵌入和未標記樣本集的用戶嵌入.
2)層組合.組合多層節(jié)點表示,獲得最終用戶嵌入.
3)構建自監(jiān)督信號,利用自編碼器在3個視圖上學習到用戶嵌入,根據(jù)三重訓練的思想[26],如果其它2個視圖均將未標記樣本預測為正樣本,將該未標記樣本置為第3個視圖的正樣本,否則視為負樣本.
4)對比學習策略,對于由上述獲取的預測正樣本和預測負樣本,最大化與正樣本之間的相似性并最小化與負樣本之間的相似性,從而構建三重訓練自監(jiān)督信號.
1.2.1 編碼器
使用用戶-商品偏好視圖和構建的2個超圖,構建3個編碼器.采用輕量級圖卷積神經網絡(Light Graph Convolution Network, LightGCN)[29]作為編碼器的基本結構.
從偏好視圖Gr上學習偏好視圖上第l層用戶ui的嵌入:
商品vk的嵌入:
從三角社交關系朋友視圖Enf上學習朋友視圖上第l層的用戶ui的嵌入:
從三角關系朋友分享商品視圖Ens上學習分享視圖上第l層的用戶ui的嵌入:
第l層的商品vk的嵌入:
1.2.2 層組合
經過l層圖卷積處理后,對每層的嵌入進行組合,構建最終的節(jié)點嵌入.在偏好視圖Gr、三角關系朋友分享商品視圖Ens和三角社交關系朋友視圖Enf上,經過l層后的用戶ui的嵌入為:
(5)
偏好視圖Gr的商品vk的嵌入為:
(6)
1.2.3 構建自監(jiān)督信號
通過在3個視圖上執(zhí)行圖卷積,編碼器學習3組用戶嵌入.由于每個視圖都反映用戶偏好的不同方面,因此可從另外兩個視圖中尋求自監(jiān)督信號.給定用戶ui,使用來自其它2個視圖的用戶嵌入,預測未標記樣本集中為正的樣本,即只有在其它2個視圖上都一致將未標記樣本標記為正樣本,未標記樣本才能在本視圖上被標記為正樣本,否則視為負樣本.
由此獲得在偏好視圖Gr上top-K個預測的正樣本集
在三角關系朋友分享商品視圖Ens上top-K個預測的正樣本集
在三角社交關系朋友視圖Enf上top-K個預測的正樣本集
1.2.4 對比學習策略
Lssl=
其中
φ(·)∶Rd×Rd|→R表示余弦相似性函數(shù),τ表示自監(jiān)督損失溫度系數(shù).
社會不一致問題是指2位用戶之間雖然存在社交連接,但對商品興趣偏好并不一致.聚合不一致的社會好友可能會使圖神經網絡學習到有損推薦性能的節(jié)點表示[18,23].本文利用用戶-商品偏好視圖中學習的用戶嵌入和商品嵌入構建一個查詢層.然后利用查詢層對鄰居進行采樣,獲得與節(jié)點一致的鄰居.最后再將篩選得到的與節(jié)點一致的鄰居嵌入與節(jié)點嵌入進行加權聚合,以此聚合一致鄰居嵌入.
例如,假設數(shù)據(jù)集上有5個評級值,即評分在{1,2,3,4,5}中,因此節(jié)點之間有6種關系,即除了用戶-用戶的社交關系,還有5種基于評分值的用戶-商品評分關系.
2)查詢層.針對每對(ui,vk),利用在偏好視圖上的用戶初始嵌入eu和商品初始嵌入ev的拼接進行映射,構建查詢嵌入:
其中,‖表示向量拼接操作,Wq∈R2d×d表示參數(shù)矩陣.
被采樣鄰居的數(shù)量與鄰居總數(shù)呈正比,比值設置為γ∈[0,1],為實驗超參數(shù).
每個近鄰節(jié)點的被采樣概率反映它被選中的可能性,采樣概率越高,選中的可能性越大.
5)聚合一致鄰居.節(jié)點zx的第l層聚合一致鄰居的節(jié)點:
模型學習目標包括兩個任務:推薦主任務和基于自監(jiān)督三重訓練的對比學習任務.以貝葉斯個性化排序[31]為基礎構建推薦主任務優(yōu)化目標:
L=Lmain+βLssl,
其中,β表示一個超參數(shù),用來控制自監(jiān)督三重訓練的強度.
為了驗證SR-STCNA性能,選擇CiaoDVD、FilmTrust、Last.fm、Yelp這4個公開社會化推薦的數(shù)據(jù)集,數(shù)據(jù)集的具體信息如表1所示.
表1 數(shù)據(jù)集統(tǒng)計信息
本文選取如下2類5個對比模型.
1)圖神經網絡基本框架模型LightGCN[29].
LightGCN是基于圖神經網絡的通用推薦模型,利用用戶-商品的接近度學習節(jié)點表示并生成推薦.
2)社會化推薦模型.
(1)GDMSR[19].基于圖降噪的社會化推薦方法,為了降低社交網絡中的噪聲影響,提出基于自糾正課程學習的自適應降噪策略,獲得更可信的社交近鄰.
(2)MHCN(Multi-channel Hypergraph Convolutio-nal Network)[21].基于多通道超圖卷積網絡的社會化推薦方法,對用戶與超邊之間的復雜相關性進行建模.
(3)SEPT(SElf-Supervised Tri-Training)[26].自監(jiān)督三重訓練的社會化推薦方法,利用超邊對用戶進行建模,同時利用自監(jiān)督三重訓練訓練模型,但未聚合一致鄰居.
(4)DiffNet++[32].基于增強型擴散網絡的社會化推薦方法,利用擴散模型將用戶社交影響力和興趣偏好融合在一個框架中.
所有的對比模型都按照原論文或源碼中的最佳參數(shù)設置進行實驗分析.SR-STCNA中失活率設置為0.2,Adam(Adaptive Moment Estimation)優(yōu)化器的學習率設置為0.001,批尺寸設置為512.在FilmTrust數(shù)據(jù)集上設置邊擾動概率ρ=0.2,其它3個數(shù)據(jù)集上設置ρ=0.6.在CiaoDVD數(shù)據(jù)集上設置鄰居采樣比γ=0.8,在FilmTrust數(shù)據(jù)集上γ=0.4,在Last.fm數(shù)據(jù)集上γ=0.4,在Yelp數(shù)據(jù)集上γ=0.6.在CiaoDVD、Yelp數(shù)據(jù)集上設置top-K正樣本數(shù)為40,在FilmTrust數(shù)據(jù)集上top-K正樣本數(shù)為50,在Last.fm數(shù)據(jù)集上top-K正樣本數(shù)為15.
評價指標選擇社會化推薦對比模型[19,21,26,32]中常采用的精確度(Precision)、召回率(Recall)和歸一化折損累積增益(Normalized Discounted Cumulative Gain, NDCG),并截取top-10 作為推薦結果,因此3個評價指標依次為Precision@10、Recall@10和NDCG@10.
為了更好地學習用戶節(jié)點和商品節(jié)點的嵌入表示,在模型中使用l層網絡聚合節(jié)點的高階鄰居節(jié)點信息.現(xiàn)探究網絡層數(shù)l對模型性能的影響.l表示節(jié)點所能聚合到的節(jié)點信息的范圍.在實驗中,為了驗證l對模型性能的影響,在4個數(shù)據(jù)集上定義l=1,2,3,4,求得的指標值如表2所示,表中黑體數(shù)字表示最優(yōu)值.
表2 網絡層數(shù)l對模型性能的影響
從表2可看出,當圖神經網絡層數(shù)l=2時,指標值最高,而l=3,4時,Precision@10、Recall@10和NDCG@10的值也會隨之減小.通過對二階鄰居節(jié)點的信息進行聚合,可獲得更優(yōu)性能,但如果將更高階的鄰居節(jié)點的信息聚合在一起,就會在中心節(jié)點聚合到更多冗余信息,導致性能變得不理想.這完全符合目前主流圖神經網絡框架[29,33]一般不會聚合超過3層近鄰的作法.
用戶節(jié)點和商品節(jié)點的嵌入維數(shù)d是模型中一個重要的超參數(shù).為了驗證d對性能的影響,在4個數(shù)據(jù)集上選取不同d值進行實驗,結果如表3所示,表中黑體數(shù)字表示最優(yōu)值.
表3 節(jié)點嵌入維數(shù)d對模型性能的影響
從表3可看出,在CiaoDVD數(shù)據(jù)集上最佳d=110,FilmTrust數(shù)據(jù)集上最佳d=50,Last.fm數(shù)據(jù)集上最佳d=100,Yelp數(shù)據(jù)集上最佳d=90.節(jié)點嵌入維數(shù)d對于表示節(jié)點信息至關重要,過小將導致節(jié)點的信息表示不充分,過大會導致過擬合問題.
自監(jiān)督訓練強度β是模型總體學習目標函數(shù)L中的超參數(shù),用于控制自監(jiān)督訓練在聯(lián)合學習中的影響強度.為了驗證β對性能的影響,定義β=0,0.001,0.002,0.005,0.01,0.02,0.05,0.1,0.5,在4個數(shù)據(jù)集上進行實驗,結果如表4所示,表中黑體數(shù)字表示最優(yōu)值.從表4可看出,CiaoDVD數(shù)據(jù)集上最佳β=0.002,FilmTrust數(shù)據(jù)集上最佳β=0.005,Last.fm數(shù)據(jù)集上最佳β=0.002,Yelp數(shù)據(jù)集上最佳β=0.001.較小的自監(jiān)督訓練強度β可使模型得到較優(yōu)性能,而較大β會使得模型性能大幅降低.
表4 自監(jiān)督訓練強度β對模型性能的影響
SR-STCNA與5個對比模型在4個數(shù)據(jù)集上的指標值對比如圖3所示.由圖可看出,SR-STCNA在4個數(shù)據(jù)集上總體性能最佳,這充分說明SR-STCNA在推薦任務上的有效性.在5個對比模型中,DiffNet++性能最差,這可能與模型參數(shù)較多難于訓練有關.相比LightGCN,MHCN、SEPT和GDMSR表現(xiàn)更優(yōu),表明將用戶社交關系融入圖神經網絡中對推薦性能是有幫助的.相比MHCN,SEPT和SR-STCNA表現(xiàn)更優(yōu),表明利用自監(jiān)督三重訓練可顯著提升推薦性能.
(a)CiaoDVD (b)FilmTrust
此外,相比SEPT和GDMSR,SR-STCNA在4個數(shù)據(jù)集上的Precision@10、Recall@10和NDCG@10值都略優(yōu).相比SEPT,SR-STCNA和GDMSR在3個評價指標上都更優(yōu),說明在節(jié)點表示學習過程中,考慮聚合興趣一致近鄰而刪除不可信近鄰是提高模型推薦性能的有效途徑,這并非實驗擾動所致.相比GDMSR,SR-STCNA也有一定優(yōu)勢,說明在社會化推薦模型聚合興趣一致鄰居比尋找更可信近鄰更有效,原因可能在于很難為所有用戶制定統(tǒng)一的信任好友評價指標.
在SR-STCNA中,構建兩個超圖視圖和一個用戶-商品偏好視圖,利用三重訓練挖掘自監(jiān)督信號.本節(jié)消融每個視圖以研究視圖對模型性能的貢獻程度.當僅使用偏好視圖和一個增強視圖時,模型變?yōu)樽员O(jiān)督聯(lián)合訓練,即兩個視圖相互判斷另一個視圖的預測正樣本集;當僅使用用戶-商品偏好視圖時,模型變?yōu)樽杂柧?即利用自身預測自己的正樣本集.使用SS w/o ENS表示僅有用戶-商品偏好視圖和三角社交關系朋友視圖、無三角關系朋友分享商品視圖的模型,使用SS w/o ENF表示僅有用戶-商品偏好視圖和三角關系朋友分享商品視圖、無三角社交關系朋友視圖的模型,使用SS w/o ENS &ENF表示僅有用戶-商品偏好視圖的模型.因為Light-GCN是SR-STCNA中的基本編碼器,因此將Light-GCN也進行消融實驗,驗證所有視圖對模型的貢獻,即表示無自監(jiān)督三重訓練模塊的模型.為了充分驗證聚合一致鄰居的有效性,使用SS w/o CAN 表示沒有聚合一致鄰居模塊的模型.
各模型的具體消融實驗結果如表5所示,表中黑體數(shù)字表示最優(yōu)值.由表可看出,在4個數(shù)據(jù)集上使用不同視圖的結果均優(yōu)于LightGCN.在Last.fm、Yelp數(shù)據(jù)集上,利用3個視圖進行自監(jiān)督三重訓練的效果最優(yōu),因此所有視圖都有貢獻.在FilmTrust數(shù)據(jù)集上,利用2個視圖進行自監(jiān)督聯(lián)合訓練的效果最優(yōu).在CiaoDVD數(shù)據(jù)集上,利用用戶-商品偏好視圖進行自訓練的效果最優(yōu).由FilmTrust、CiaoDVD數(shù)據(jù)集上消融實驗結果可得出,在模型中利用1個用戶-商品偏好視圖進行自訓練和利用2個視圖進行自監(jiān)督聯(lián)合訓練,也可以生成較好的自監(jiān)督信號.增加視圖的數(shù)量可帶來更好地性能提升(如在Last.fm、Yelp數(shù)據(jù)集上),但是這個觀點并不適用于所有數(shù)據(jù)集(如在FilmTrust、CiaoDVD數(shù)據(jù)集上).
表5 各模型的消融實驗結果
在CiaoDVD數(shù)據(jù)集上,三角社交關系朋友視圖及三角關系朋友分享商品視圖對推薦性能的提升無幫助作用,可能是在數(shù)據(jù)集上,用戶數(shù)/評分數(shù)和用戶數(shù)/社交關系較少,用戶和商品以及用戶和用戶的交互數(shù)量過少,導致2個增強視圖中包含的信息過少且不準確,對推薦產生負面影響.在FilmTrust數(shù)據(jù)集上,三角關系朋友分享商品視圖對推薦性能的提升起到幫助作用,但是,三角社交關系朋友視圖對推薦性能的提升無幫助作用,可能是在數(shù)據(jù)集上,用戶數(shù)/社交關系較少,用戶和用戶的交互數(shù)量過少,導致三角社交關系朋友視圖中包含的信息過少且不準確,對推薦結果產生負面影響.此外,未考慮聚合一致鄰居的模型SS w/o CAN 在4個數(shù)據(jù)集上的消融結果表明,聚合一致鄰居確實能提高SR-STCNA的性能.
近年來,圖神經網絡逐漸成為機器學習理論與應用領域備受廣泛關注核心技術之一,在多元異構數(shù)據(jù)間關系表示方面具有強大的學習能力,而以用戶-項目交互數(shù)據(jù)為主要研究對象的推薦系統(tǒng),引入用戶上下文信息,容易構建多種多樣的圖結構,如用戶-用戶社交關系和用戶-商品交互數(shù)據(jù)構成的用戶-商品異構圖,用戶/商品文本語義信息和用戶-商品交互數(shù)據(jù)構成用戶-商品語義圖.將圖表示學習引入推薦系統(tǒng)中可取得較優(yōu)的應用效果,為有效緩解由于新加入用戶或用戶與商品互動頻次較低而導致的冷啟動和數(shù)據(jù)稀疏性問題提供新的思路.本文提出基于自監(jiān)督三重訓練和聚合一致鄰居的社會化推薦模型(SR-STCNA),為了表示用戶-商品異構圖上的多種關系,使用超圖表示用戶和用戶、用戶和商品之間的關系,使用自監(jiān)督三重訓練,從未標記的數(shù)據(jù)中學習用戶表示,充分挖掘用戶-用戶和用戶-商品間存在的復雜連接關系.然后,通過用戶-商品異構圖上的節(jié)點一致性得分和關系自注意力,為用戶和商品表示學習過程中聚合一致的鄰居,增強用戶和商品嵌入表示能力,提高社會化推薦性能.在4個公開數(shù)據(jù)集上的實驗表明,SR-STCNA性能較優(yōu).本研究對于緩解推薦系統(tǒng)中常見的冷啟動和數(shù)據(jù)稀疏性問題是一次有意義的嘗試.將生成式深度學習模型應用到社會化推薦系統(tǒng)中將是今后的研究內容之一.