章淯淞 夏鴻斌,2 劉 淵,2
隨著大數(shù)據(jù)時代的到來,推薦系統(tǒng)變得愈發(fā)重要,可為用戶提供廣泛的符合其興趣愛好的選擇與決策.在傳統(tǒng)的推薦系統(tǒng)中,較主流的三類算法分別為基于內(nèi)容[1]的推薦算法、基于協(xié)同過濾[2]的推薦算法及混合推薦算法,但都面臨數(shù)據(jù)稀疏及冷啟動問題[3],難以面對數(shù)據(jù)量爆炸式增長的互聯(lián)網(wǎng)環(huán)境.
隨著深度學(xué)習(xí)技術(shù)的不斷更新迭代,相繼出現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)、圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network, GNN),為推薦系統(tǒng)解決上述問題提供新的方向.與此同時,隨著互聯(lián)網(wǎng)朝著安全化的方向發(fā)展,現(xiàn)實業(yè)務(wù)場景中出現(xiàn)越來越多的匿名化數(shù)據(jù).針對這一情況,基于會話的推薦系統(tǒng)(Session-Based Recommendation, SBR)被提出,廣泛應(yīng)用于電影、網(wǎng)絡(luò)購物等推薦場景中[4].
SBR早期研究一般利用傳統(tǒng)的數(shù)據(jù)挖掘或機器學(xué)習(xí)技術(shù),捕獲會話序列中物品之間的依賴關(guān)系并生成嵌入表示,包括基于馬爾可夫鏈的推薦算法和基于協(xié)同過濾的推薦算法[5].
基于馬爾可夫鏈的推薦算法通過馬爾可夫鏈對會話序列中的物品轉(zhuǎn)換進(jìn)行建模,用于預(yù)測下一項物品的概率[6].Zhang等[7]結(jié)合一階和二階馬爾可夫模型,提出高精度網(wǎng)頁推薦模型.Rendle等[8]提出FPMC(Factorized Personalized Markov Chains),分解概率矩陣,估計交互物品之間的潛在轉(zhuǎn)移狀態(tài).然而,上述方法忽略物品之間的長期依賴與高階信息.
基于協(xié)同過濾的推薦算法主要思想是協(xié)同用戶的反饋、評價或意見,過濾海量信息,通過計算每個物品最相似的物品列表,篩選出用戶可能感興趣的信息.Garg等[9]考慮到會話中隨時可用的順序和時間信息,提出STAN(Sequence and Time Aware Neigh-borhood),通過聚合按序排列鄰居信息,增強物品表示.Wang等[10]提出CSRM(Collaborative Session-Based Recommendation Machine),首先對每個項目轉(zhuǎn)換進(jìn)行編碼,然后探索鄰域信息以補充當(dāng)前的會話表示,最后利用融合門控機制學(xué)習(xí)不同來源的物品特征.但是,上述方法容易引入噪聲,從而影響推薦精度.
由于RNN在處理序列數(shù)據(jù)時展現(xiàn)出的強大能力,逐漸成為SBR領(lǐng)域的主流方法.Tan等[11]使用適當(dāng)?shù)臄?shù)據(jù)增強,并考慮用戶行為的時間順序,提升模型性能.Li 等[12]提出NARM(Neural Attentive Re-commendation Machine),建模用戶的順序行為,捕捉用戶在當(dāng)前會話中的主要目的,并將其組合為統(tǒng)一的會話表示.然后,使用雙線性匹配方案計算每個候選物品的推薦得分,進(jìn)行推薦.Liu 等[13]結(jié)合簡單的多層感知機網(wǎng)絡(luò)與注意力網(wǎng)絡(luò),提出STAMP(Short-Term Attention/Memory Priority Model),更多地關(guān)注短期物品以捕獲用戶的當(dāng)前偏好.但是,對于會話數(shù)據(jù)而言,RNN嚴(yán)格對順序建模會影響其推薦精度.
近年來,GNN在處理結(jié)構(gòu)化數(shù)據(jù)并捕獲其中高階信息方面的表現(xiàn)突出,因此在會話推薦領(lǐng)域取得較大進(jìn)展.它首先使用圖結(jié)構(gòu)建模原始會話數(shù)據(jù),然后運用GNN捕獲高階關(guān)系并學(xué)習(xí)物品表示和會話表示.Wu等[14]提出SR-GNN(Session-Based Reco-mmendation with GNN),使用帶權(quán)有向圖建模原始會話數(shù)據(jù),再利用門控圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)會話圖上每個物品的向量表示,在獲得所有物品的向量表示后,進(jìn)行特征融合,獲得會話的向量表示,最后通過預(yù)測層計算每個候選物品的分?jǐn)?shù)與概率,達(dá)到推薦目的.Wang等[15]提出GCE-GNN(Global Context Enhanced GNN),不再將會話數(shù)據(jù)建模為單一圖結(jié)構(gòu),而是構(gòu)建會話圖和全局圖,分別生成局部物品嵌入與全局物品嵌入,由此捕獲復(fù)雜的高階關(guān)系,再融合二者生成會話表示.Chen等[16]提出LESSR(Lossless Edge-Or-der Preserving Aggregation and Shortcut Graph Attention for Session-Based Recommendation),Guo等[17]提出MIHSG(Multi-granularity Intent Heterogeneous Session Graph),都旨在從更細(xì)粒度的表示中挖掘用戶意圖.
最新的研究表明數(shù)據(jù)成為重要瓶頸,因此從無標(biāo)簽的數(shù)據(jù)中學(xué)習(xí)有效信息成為一個重要的研究方向.越來越多的模型引入自監(jiān)督學(xué)習(xí),彌補短時會話稀疏性帶來的影響.Xie等[18]提出CP4Rec(Contras-tive Pre-training for Sequential Recommendation),使用3種數(shù)據(jù)增強策略,從原始用戶行為序列中構(gòu)建自監(jiān)督信號,提取有意義的用戶模式,并編碼有效的用戶表示.Xia等[19]提出DHCN(Dual Channel Hyper-graph Convolutional Networks),先通過兩個編碼器生成不同的會話表示作為正樣本,再將它們與數(shù)據(jù)增強后的負(fù)樣本進(jìn)行對比學(xué)習(xí),利用自監(jiān)督任務(wù)作為輔助任務(wù),最大化不同通道學(xué)習(xí)到的會話嵌入的互信息,提升推薦性能.Xia等[20]又提出COTREC(Self-Supervised Graph Co-training Framework for Se-ssion-Based Recommendation),在DHCN的基礎(chǔ)上采用協(xié)同訓(xùn)練[21]的思想,在兩個不同的視圖上訓(xùn)練兩個分類器,之后迭代預(yù)測無標(biāo)簽樣本的偽標(biāo)簽以相互監(jiān)督.目前的自監(jiān)督任務(wù)中通常需要構(gòu)建許多復(fù)雜的正負(fù)樣本,這為模型帶來負(fù)擔(dān).
現(xiàn)有結(jié)合GNN和對比學(xué)習(xí)的會話推薦方法仍存在一些問題.首先,自監(jiān)督任務(wù)中的對比學(xué)習(xí)損失起到和交叉熵?fù)p失類似的作用,忽略表示空間的優(yōu)化.此外,這些方法通常創(chuàng)建許多復(fù)雜的正負(fù)樣本以進(jìn)行數(shù)據(jù)增強,會加重模型的負(fù)擔(dān).其次,用戶在短時間內(nèi)的點擊序列只占物品集的一小部分,缺乏其它物品可能會導(dǎo)致用戶的興趣偏差,簡單地將one-hot編碼作為物品的真實標(biāo)簽也會導(dǎo)致偏差[22].最后,在會話數(shù)據(jù)中,用戶會產(chǎn)生一些隨機用戶行為,例如:用戶因好奇點擊一兩個與其興趣關(guān)聯(lián)不大的物品,但很快又回到主要興趣,普通的線性預(yù)測模塊不能較好地應(yīng)對用戶隨機行為帶來的影響.
為了克服上述問題,本文提出結(jié)合自對比圖神經(jīng)網(wǎng)絡(luò)與雙預(yù)測器的會話推薦模型(Session-Based Recommendation Model with Self Contrastive GNN and Dual Predictor, SCGNN).首先,通過低階與高階兩個物品視圖編碼原始會話數(shù)據(jù),然后分別通過改進(jìn)的圖注意力網(wǎng)絡(luò)和圖卷積網(wǎng)絡(luò)生成不同的物品表示,二者融合并結(jié)合位置信息生成會話嵌入.與此同時,采用自對比學(xué)習(xí)代替對比學(xué)習(xí),消除創(chuàng)建復(fù)雜正負(fù)樣本的需要,并增強會話表示的一致性.最后,使用用戶行為感知因子緩解用戶隨機行為對預(yù)測的影響,并結(jié)合線性預(yù)測器與決策森林預(yù)測器完成推薦任務(wù).此外,還利用與當(dāng)前會話最相似的歷史會話進(jìn)行協(xié)同過濾,生成待預(yù)測用戶偏好的軟標(biāo)簽以輔助預(yù)測.
本文提出結(jié)合自對比圖神經(jīng)網(wǎng)絡(luò)與雙預(yù)測器的會話推薦模型(SCGNN),整體框架如圖1所示.
在基于會話的推薦系統(tǒng)中,包含N個候選物品的完整集合
I={i1,i2,…,iN},
M個物品組成的會話
1.2.1 低階物品圖注意力網(wǎng)絡(luò)
本文遵循GCE-GNN[15],使用帶權(quán)有向圖建模每個會話,表示為Gl=(V,E).其中:V為節(jié)點集,表示用戶點擊的物品;E為邊集,表示會話中相鄰的兩個物品.
為了精準(zhǔn)捕獲用戶的意圖,分別定義出邊、入邊、雙向邊和自循環(huán)邊4種邊類型,并為其分配可訓(xùn)練的權(quán)重向量ei,eo,eio,es.假設(shè)有一條邊連接物品a、b,出邊表示用戶先點擊物品a,后點擊物品b,反之為入邊.雙向邊表示aba的點擊順序.由于用戶不同的點擊順序表示不同的意圖,相同的兩個物品之間也存在不同的重要性,因此需要分配不同的注意力.此外,由于單個會話中的物品通常不是兩兩相鄰,本文只考慮一階鄰居的重要性.
其中,vi、vj表示物品的特征向量,eij表示邊關(guān)系權(quán)重向量.
考慮到真實生活中物品具有許多屬性,也會對用戶的偏好產(chǎn)生影響,因此本文使用多頭注意力充分挖掘物品特征,捕獲用戶意圖,其中每個物品的輸出為:
其中K表示注意力頭數(shù).將所有物品的向量集合表示為
Il=[v1,v2,…,vN].
1.2.2 高階物品圖卷積網(wǎng)絡(luò)
遵循DHCN[19],本文使用超圖建模所有會話,表示為Gh=(V,E).其中,V表示N個物品組成的節(jié)點集,E表示M條超邊組成的邊集.每條超邊ε∈E都被賦予一個正權(quán)重Wεε,所有權(quán)重組成一個權(quán)重矩陣W∈RM×M.使用關(guān)聯(lián)矩陣H∈RN×M表示超圖,當(dāng)超邊ε包含一個節(jié)點vi時,Hiε=1,否則Hiε=0.對于每個節(jié)點與每條超邊,度矩陣
均為對角矩陣.
在超圖上的圖卷積過程可被看作為兩階段特征變換,分別為由節(jié)點到超邊的信息聚合與超邊到節(jié)點的信息聚合.本文根據(jù)LightGCN[23],刪除對推薦幫助有限的非線性激活函數(shù)與卷積矩陣,則物品i在第l+1層圖卷積層的向量表示為:
與其不同的是,考慮到GNN往往會因為層數(shù)過深而引發(fā)梯度消失問題,使所有的表示都變得十分相似,無法進(jìn)行分類.本文設(shè)計一種殘差注意力機制,將不同卷積層的物品表示與其上一層的表示通過殘差注意力進(jìn)行分配,從而盡可能地保留物品特征.殘差注意力定義如下:
其中
α表示注意力權(quán)重,W1∈Rd表示權(quán)重向量,W2∈Rd×d,W3∈Rd×d表示權(quán)重矩陣.在得到每一層學(xué)習(xí)到的物品表示之后,通過平均池化得到物品最后的輸出向量:
其中L表示卷積層層數(shù).
目前共得到兩組物品表示,Il重點關(guān)注當(dāng)前會話,融合自身及鄰居表示,并帶有多維度特征.Ih帶有所有物品在內(nèi)的高階信息.對于其中的每項物品,通過門控函數(shù),結(jié)合二者以獲得最終的物品表示:
I=rIl+(1-r)Ih,
其中,r表示控制兩組物品表示信息量的權(quán)重,
r=sigmoid(WlIl+WhIh).
因為在真實場景中的用戶意圖下,時間越靠后的物品越能反映用戶的當(dāng)前偏好.所以在得到最終物品表示后,根據(jù)文獻(xiàn)[24],定義物品表示拼接位置矩陣:
P=[p1,p2,…,pm],
其中m表示當(dāng)前會話的長度.會話中第k個物品的向量表示:
i′k=tanh(W4[ik‖pm-k+1]+b),
其中,ik表示會話中第k個物品的向量表示,W4∈Rd×2d表示參數(shù)矩陣,b∈Rd表示偏差.
最后通過注意力機制聚合每個會話中的物品表示,得到當(dāng)前會話表示:
其中
c∈Rd,W5∈Rd×d,W6∈Rd×d,均表示可學(xué)習(xí)的參數(shù)矩陣.
現(xiàn)有的融合自監(jiān)督學(xué)習(xí)的會話推薦模型均采用對比學(xué)習(xí)的方法[19],目的是將目標(biāo)樣本的表示與其對應(yīng)的正樣本對的表示拉得更近,同時遠(yuǎn)離負(fù)樣本對的表示.這些模型通常會采用InfoNCE函數(shù)[25]作為對比學(xué)習(xí)的損失函數(shù).Shi等[26]經(jīng)過大量實驗證實,當(dāng)對比學(xué)習(xí)損失和交叉熵?fù)p失采用的評分函數(shù)相同時,前者可以看作后者的替代表達(dá)式,盡管二者在實際運用中可能存在邊際變化,但在表示空間的優(yōu)化方向是相同的,都有能力使會話表示與下一個物品的表示保持一致,并與其它物品表示區(qū)分,從而不斷學(xué)習(xí)物品表示與會話表示,并且它們在表示空間中的優(yōu)化方向是相同的.相比對比學(xué)習(xí)需要構(gòu)造復(fù)雜的正負(fù)樣本對,自對比學(xué)習(xí)直接將錨樣本本身看作正樣本,其余物品看作負(fù)樣本,使模型更輕量化.所以本文采用自對比學(xué)習(xí),提高表示空間的一致性,彌補交叉熵?fù)p失函數(shù)的作用.具體地,對學(xué)習(xí)到的所有物品表示ik∈I,自對比學(xué)習(xí)損失為:
其中,cos(·,·)表示將所有物品表示從表示空間中分開,τ表示溫度系數(shù).
本文采用雙預(yù)測器融合預(yù)測的方式,并提出軟標(biāo)簽生成策略以輔助預(yù)測.
1.5.1 軟標(biāo)簽生成
由于硬標(biāo)簽不能真實反映用戶意圖,本文通過協(xié)同過濾的方式生成軟標(biāo)簽,全面捕獲用戶偏好.給定當(dāng)前會話s,利用SimHash函數(shù)的局部敏感性[27],將會話表示作為輸入,輸出其二進(jìn)制碼,并從中選取與s最相近的Top-k個會話,使用
表示k個會話的one-hot編碼集,
表示對應(yīng)的權(quán)重集,則
Ns,Ws=Top-k(-H(SimHash(s),SimHash(s′)),
其中,H(·)表示漢明距離,s′表示候選會話中的剩余會話.
在獲得k個最相似的會話之后,對其對應(yīng)的one-hot編碼進(jìn)行加權(quán)求和,構(gòu)建當(dāng)前會話s的軟標(biāo)簽:
1.5.2 決策森林預(yù)測器
考慮到簡單的線性預(yù)測器并不能較好應(yīng)對用戶復(fù)雜的決策過程,本文構(gòu)建決策森林預(yù)測器以輔助預(yù)測,在此過程中,設(shè)計用戶行為感知因子(User Behavior-Aware Factor, UBF)應(yīng)對隨機用戶行為.根據(jù)經(jīng)驗貝葉斯的思想,觀測數(shù)據(jù)是一個在真實值周圍具有一定分布的樣本.給定學(xué)習(xí)到的會話表示
其中sj表示第j個會話表示,則對應(yīng)的真實分布為:
用戶行為感知因子的目標(biāo)就是在給定S的情況下獲得μ的估計器,受SR-PredictAO(Session-Based Recommendation with Predictor Add-On)[28]的啟發(fā),采用JSE-SR(James-Stein Estimator for Session-Based Recommendation)估計器進(jìn)行評估,定義如下:
將上式應(yīng)用于所有會話中的每個物品,可得到緩解用戶隨機行為的會話表示:
下面構(gòu)建決策森林預(yù)測器.決策森林由若干棵決策樹組成,每棵樹使用神經(jīng)網(wǎng)絡(luò)進(jìn)行分裂,并與編碼器一起通過反向傳播進(jìn)行優(yōu)化,由一個決策函數(shù)f∶Rn→R2d-1與一個可訓(xùn)練的概率得分矩陣
W=[wij]=[w1,w2,…,w2d]T
組成,其中wij表示第i個葉節(jié)點中第j個物品的概率.整個決策流程可描述為,先通過決策函數(shù)計算每個分支的得分,再通過sigmoid函數(shù)得到左右分支的概率:
由此,通過遞歸計算可得到到達(dá)每個葉節(jié)點的概率,因為樹模型對數(shù)據(jù)較敏感,容易發(fā)生過擬合[29],所以對其進(jìn)行隨機掩碼處理.然后將其與歸一化后的概率得分矩陣相乘,得到會話中每個物品的概率分布:
通過堆疊多棵決策樹,采用平均池化處理計算結(jié)果,可得到隨機森林預(yù)測器的結(jié)果:
1.5.3 預(yù)測器融合
在獲得2個預(yù)測器的預(yù)測結(jié)果后,采用線性組合的方式融合二者,獲得候選物品最終的預(yù)測概率:
總損失共由3部分組成:基于雙預(yù)測器的交叉熵?fù)p失,基于軟標(biāo)簽的KL散度損失與自對比學(xué)習(xí)損失,即
其中y表示真實標(biāo)簽的one-hot編碼.
本文采用Tmall、Diginetica、Nowplaying這3個會話推薦領(lǐng)域常用數(shù)據(jù)集.Tmall數(shù)據(jù)集來自IJCAI-15競賽,包含匿名用戶在天貓平臺上的購物日志.Diginetica數(shù)據(jù)集來自CIKM Cup 2016.Now-playing數(shù)據(jù)集描述用戶的音樂收聽行為.本文按照文獻(xiàn)[14]的標(biāo)準(zhǔn),首先將所有會話按時間順序排列,并按時間戳將數(shù)據(jù)分為訓(xùn)練集和測試集.然后過濾出現(xiàn)次數(shù)小于5的物品或只出現(xiàn)在測試集上的物品,以及長度為1的會話,以數(shù)據(jù)集最新數(shù)據(jù)的時間戳向前推算一周作為劃分時間,最后通過滑動窗口進(jìn)行數(shù)據(jù)增強.例如:存在會話
s=[vs,1,vs,2,…,vs,m],
將其拆分為
([vs,1],vs,2),…,([vs,1,vs,2,…,vs,m-1],vs,m),
其中每個會話的標(biāo)簽均為最后一項物品.3個數(shù)據(jù)集的統(tǒng)計數(shù)據(jù)如表1所示.
表1 數(shù)據(jù)集統(tǒng)計信息
遵循本領(lǐng)域廣泛采用的方法[14-18],使用P@K(Precision)和MRR@K(Mean Reciprocal Rank)作為評估指標(biāo).P@K表示最終的預(yù)測列表中正確物品的比例,MRR@K表示多個正確物品在預(yù)測列表中排名倒數(shù)的均值,具體公式如下:
其中,nhit表示目標(biāo)商品在top-K列表中的數(shù)量,ranki表示目標(biāo)商品i在top-K列表中的位置,N表示樣本總數(shù).
遵循文獻(xiàn)[12]的設(shè)置,隱向量的維度設(shè)為100,批次大小設(shè)為100.SimHash中的散列矩陣維度設(shè)為64,使用初始學(xué)習(xí)率為0.001的Adam(Adaptive Moment Estimation)優(yōu)化器,該學(xué)習(xí)率在每3個輪次后衰減為原來的0.1倍.對所有參數(shù)初始化使用一個平均值為0、標(biāo)準(zhǔn)差為0.1的高斯分布.為了公平對比,在所有實驗中,保持上述參數(shù)設(shè)置在所有模型中均一致.
本文共選用如下9個對比基線模型.
1)FPMC[8].基于傳統(tǒng)方法的會話推薦模型.
2)NARM[12].基于RNN和注意力機制的會話推薦模型.
3)STAMP[13].采用自注意力機制替代RNN,將會話中最后一個物品作為用戶短期興趣,增強基于會話的推薦.
4)SR-GNN[14].將會話構(gòu)建為子圖,應(yīng)用門控圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)項目轉(zhuǎn)換關(guān)系.
5)GCE-GNN[15].使用局部圖和全局圖建模會話,引入反向位置信息,使用圖注意力網(wǎng)絡(luò)學(xué)習(xí)物品嵌入與會話嵌入.
6)DHCN[19].通過雙編碼器學(xué)習(xí)物品表示,引入自監(jiān)督學(xué)習(xí)輔助推薦.
7)GC-SAN(Graph Contextualized Self-Attention Model)[30].應(yīng)用門控圖神經(jīng)網(wǎng)絡(luò),將下一個物品推薦作為一個圖分類問題.
8)Disen-GNN(Disentangled GNN)[31].使用獨立因素表示每個物品,從因子級別學(xué)習(xí)物品嵌入.
9)FAPAT(Frequent Attribute Pattern Augmented Transformer)[32].構(gòu)建屬性轉(zhuǎn)移圖和匹配屬性模式,表征用戶意圖.
各模型在3個數(shù)據(jù)集上的指標(biāo)值對比如表2所示,表中黑體數(shù)字表示每項指標(biāo)的最優(yōu)值,斜體數(shù)字表示每項指標(biāo)的次優(yōu)值,Gain表示SCGNN比次優(yōu)模型提升的百分比.由表可得如下結(jié)論.
表2 各模型在3個數(shù)據(jù)集上的指標(biāo)值對比
傳統(tǒng)的推薦模型(FPMC)性能遠(yuǎn)低于基于RNN的模型(NARM、STAMP),說明會話推薦中的序列位置信息十分重要.由于用戶存在于會話中的動態(tài)偏好會隨著時間變化,NARM與STAMP均引入注意力機制應(yīng)對這一問題,也取得性能的提升,說明為會話中的不同物品賦予不同的權(quán)重有助于準(zhǔn)確捕獲用戶的偏好.此外,STAMP因重點關(guān)注會話中最后一個物品而性能優(yōu)于NARM,說明物品的短期優(yōu)先級也應(yīng)得到重視.
基于GNN的模型(SR-GNN、GC-SAN、GCE-GNN、DHCN、Disen-GNN、FAPAT)在性能上又取得進(jìn)一步提升,說明圖結(jié)構(gòu)在處理繁雜物品之間的高階信息時更具優(yōu)勢.其中,GCE-GNN表現(xiàn)優(yōu)于單視圖建模的SR-GNN與GC-SAN,說明全局會話之間的物品轉(zhuǎn)換關(guān)系與當(dāng)前會話同樣重要.DHCN在一些指標(biāo)上取得次優(yōu)值,表明自監(jiān)督學(xué)習(xí)可利用不同通道之間的互信息緩解會話數(shù)據(jù)稀疏性帶來的影響,但由于其對比損失與交叉熵?fù)p失的作用相近,僅取得較小提升.最后,Disen-GNN、FAPAT在Tmall、Now-playing數(shù)據(jù)集上表現(xiàn)良好,表明在這2個數(shù)據(jù)集上對用戶意圖進(jìn)行建??捎行Т龠M(jìn)推薦.
SCGNN首先通過雙視圖建模會話構(gòu)建多頭圖注意力網(wǎng)絡(luò)與殘差圖卷積網(wǎng)絡(luò),學(xué)習(xí)物品表示與會話表示,再經(jīng)過用戶隨機行為感知因子緩解隨機用戶行為帶來的影響,最后結(jié)合軟標(biāo)簽與雙預(yù)測器架構(gòu)全面捕獲用戶意圖.此外,利用自對比學(xué)習(xí)輔助預(yù)測,優(yōu)化表示空間并減輕模型負(fù)擔(dān).SCGNN在3個數(shù)據(jù)集上的實驗結(jié)果均取得一定提升,這表明SCGNN的有效性.在Tmall數(shù)據(jù)集上提升明顯,考慮到該數(shù)據(jù)集是真實電商環(huán)境下收集的,相比另外2個數(shù)據(jù)集擁有更高的一致性,可更好地進(jìn)行推薦,由此說明一致性可能比嚴(yán)格的順序建模更重要.此外,Tmall數(shù)據(jù)集的平均長度較長,意味著物品之間包含更豐富的信息,可對捕獲用戶的意圖起到幫助作用.
為了研究SCGNN中各模塊的貢獻(xiàn),設(shè)計不同變體進(jìn)行相關(guān)實驗.
1)w/o SCL.去除自對比學(xué)習(xí).
2)w/o Label.去除協(xié)同過濾生成的軟標(biāo)簽.
3)w/o UBF.去除用戶行為感知因子.
4)w/o Forest.僅保留普通的線性預(yù)測器.
不同變體在3個數(shù)據(jù)集上的消融實驗結(jié)果如表3所示.
表3 各模型在3個數(shù)據(jù)集上的消融實驗結(jié)果
由表3可看到,SCGNN在去除上述模塊后,性能都有不同程度的下降,說明各模塊對推薦都有貢獻(xiàn).
自對比學(xué)習(xí)與用戶行為感知因子在Tmall數(shù)據(jù)集上影響最小,考慮到Tmall數(shù)據(jù)集是具有高一致性的電商數(shù)據(jù)集,用戶隨機行為的影響小于另外兩個數(shù)據(jù)集.
去除軟標(biāo)簽帶來的性能下滑則表明利用與當(dāng)前會話行為模式相似的歷史會話也可有效緩解用戶偏好的偏差以輔助預(yù)測,這與現(xiàn)實生活中的直覺是一致的.
雙預(yù)測器結(jié)構(gòu)在一定程度上可模擬用戶復(fù)雜的決策過程,為推薦帶來幫助.
為了研究決策森林預(yù)測器中決策樹數(shù)量對推薦性能的影響,本文將會話數(shù)量限制在{16,32,64,128,256}內(nèi),具體P@20和MRR@20結(jié)果如圖2所示.
(a1)P@20 (a2)MRR@20
由圖2可見,在Diginetica、Tmall數(shù)據(jù)集上,當(dāng)決策樹數(shù)量分別為64棵和128棵時,達(dá)到最優(yōu)性能.但是,隨著決策樹棵數(shù)增多,性能出現(xiàn)大幅下滑,原因可能是出現(xiàn)嚴(yán)重過擬合,影響模型的學(xué)習(xí)能力.
為了研究軟標(biāo)簽策略中協(xié)同過濾會話數(shù)量對推薦性能的影響,本文將會話數(shù)量限制在{10,20,30,40,50,60}內(nèi),具體P@20和MRR@20結(jié)果如圖3所示.
(a1)P@20 (a2)MRR@20
由圖3可看到,在Diginetica、Tmall數(shù)據(jù)集上,會話數(shù)量均為30時達(dá)到最優(yōu)性能,之后性能大幅下滑.由此說明相比單一會話,合適的會話數(shù)量可補充更多的信息,緩解用戶偏好的偏差.當(dāng)協(xié)同過濾會話太多時,會引入噪聲,從而影響推薦性能.
現(xiàn)有的基于圖神經(jīng)網(wǎng)絡(luò)與自監(jiān)督學(xué)習(xí)的會話推薦模型都有復(fù)雜的創(chuàng)建正負(fù)樣本的過程,對比學(xué)習(xí)損失也起著與交叉熵?fù)p失類似的作用,此外,這些模型通常使用的硬編碼與線性預(yù)測器不能較好地捕獲用戶意圖.因此,本文提出結(jié)合自對比圖神經(jīng)網(wǎng)絡(luò)與雙預(yù)測器的會話推薦模型(SCGNN),可較好地解決上述問題.首先,雙視圖建??商幚韽?fù)雜的高階信息,多頭圖注意力網(wǎng)絡(luò)可從多個維度捕獲用戶意圖,殘差圖卷積網(wǎng)絡(luò)能緩解多層堆疊帶來的過度平滑問題.其次,用戶行為感知因子與軟標(biāo)簽生成策略可全面感知用戶偏好,并緩解隨機用戶行為帶來的影響.最后,自對比學(xué)習(xí)可消除構(gòu)建復(fù)雜樣本的過程,并優(yōu)化物品的表示空間.對比實驗表明SCGNN具有一定的優(yōu)勢,消融實驗驗證上述模塊對推薦性能均有一定貢獻(xiàn).今后可考慮在SCGNN的基礎(chǔ)上將物品進(jìn)行更細(xì)粒度分解,并引入更豐富的用戶側(cè)信息,充分捕獲用戶的真實意圖,從而進(jìn)一步提升推薦精度.