摘要:針對會話推薦模型中存在的推薦準確率不高的問題,提出了一種基于膠囊圖卷積的解纏繞會話感知推薦方法(CGCD)。具體來說,采用解纏繞學習技術將項目嵌入轉換為基于多個子通道的因子嵌入,利用圖卷積網絡對因子嵌入進行細粒度的學習。然后,利用膠囊動態融合策略聚合不同的因子獲得新的項目嵌入。此外,采用多頭注意力機制為會話中每個項目分配權重。最后,根據分配的權重將項目嵌入與當前會話中的其他項目進行聚合,進而生成準確的會話表示,實現項目推薦。在兩個公開真實數據集上的實驗表明,所提模型在推薦的Pre@10,Pre@20,MRR@10和MRR@20上平均提高了5.17%、2.99%、6.56%和2.94%,驗證了其有效性與高效性。
關鍵詞:推薦系統;深度學習;圖卷積網絡;注意力機制;膠囊網絡;用戶意圖
中圖分類號:TP391.3文獻標志碼:A
文章編號:1001-3695(2023)01-020-0122-07
doi:10.19734/j.issn.1001-3695.2022.05.0283
Capsule-based graph convolutional disentanglement for
session-aware recommendation
Tao Yuhe1,Gao Rong1,2,Shao Xiongkai1,Wu Xinyun1,Li Jing3
(1.School of Computer Science,Hubei University of Technology,Wuhan 430068,China;2.State Key Laboratory of New Computer Software Technology,Nanjing University,Nanjing 210093,China;3.School of Computer Science,Wuhan University,Wuhan 430068,China)
Abstract:To address the problem of poor recommendation accuracy in the session recommendation model,this paper proposed a capsule-based graph convolutional disentanglement for session-aware recommendation(CGCD) method.Specifically,it used disentangled learning technique to transition item embedding into factor embedding based on multiple sub-channels.Then,it used a capsule dynamic fusion strategy to aggregate different factors to obtain a new item embedding.In addition,it used a multi-head attention mechanism to assign weights to each item in the session.Finally,it aggregated the item embedding with other items in the current session according to the assigned weights,and then generated an accurate session representation to achieve item recommendation.Experiments on two publicly available real datasets show that the proposed model can improve the Pre@10,Pre@20,MRR@10 and MRR@20 by 5.17%,2.99%,6.56% and 2.94% on average of the recommended performance,which verifies the effectiveness and efficiency of the method in this paper.
Key words:recommendation system;deep learning;graph convolutional network;attention mechanism;capsule network;user intention
0引言
隨著云計算、大數據、物聯網等技術的迅猛發展,互聯網中各類應用層出不窮,用戶與各種系統中項目之間的交互越來越頻繁,越來越多的動態交互數據被感知獲取,引發了數據大規模的爆炸式增長。這些海量數據中蘊涵著豐富的價值與巨大的潛力,但同時也帶來了嚴重的信息過載問題。推薦系統則作為解決信息過載問題的有效方法之一,成為了學術界和工業界的關注熱點并得到了廣泛研究[1]。
為了根據用戶頻繁的交互行為記錄預測用戶變化的興趣,并及時為用戶提供精準的推薦服務,基于目標會話中一組匿名的時間有序用戶—項目交互行為(例如點擊)預測用戶下一個可能交互的項目的會話推薦,近年來成為了推薦系統的熱門研究方向[2~4]。盡管研究者們在此方面取得了一定的進展[5~8],但利用圖神經網絡基于會話序列中行為模式推斷用戶興趣的會話推薦方法依然非常具有挑戰性,主要是由于以下問題:
a)當前會話推薦方法中用戶的行為受到用戶不斷變化意圖的影響,使得用戶—項目交互會話序列發生變化,導致很難推斷用戶的真實興趣。如文獻[9]所述,用戶—項目的交互會話序列中潛在用戶意圖大多高度纏繞且含糊不清。對這些意圖的錯誤理解,容易導致學習到的模型魯棒性不強、可解釋性差。
b)由于在會話中存在嘈雜的行為,無法區分用戶的真實意圖與無關意圖,在生成會話表示時,簡單的平均操作沒有充分考慮不同項目的無關意圖或者不同項目對用戶行為意圖的影響程度[10],這將會把無關的意圖融合進來產生噪聲,導致會話表示的魯棒性差,降低了推薦的性能。
為了應對以上問題,受到解纏繞學習思想的啟發,本文提出一種新的會話推薦模型——CGCD(capsule-based graph con-volutional disentanglement for session-aware recommendation),即基于膠囊圖卷積的解纏繞會話感知推薦。首先,為了更加細粒度和全面地學習會話表示,利用結合圖卷積網絡的解纏繞技術學習項目嵌入,并利用膠囊動態路由策略實現因子的動態融合。然后,采用多頭注意力機制進行加權項目的會話表示學習,從而有區分地學習用戶的真實意圖,減少噪聲意圖的干擾。具體來說,解纏繞項目學習模塊負責建模會話中項目的序列轉換模式和歷史項目的意圖關系,同時,為了增強項目因子的獨立性,使用距離相關[11]來約束各因子之間的獨立性。基于此,進一步學習到了會話中用戶—項目交互特征的細粒度表示,此外,多頭注意力機制的分數加權,減少了無關交互的噪聲項目對整個會話表示學習的影響,充分考慮了不同項目對用戶行為的影響程度,從而學習到會話中用戶的潛在意圖,推斷出用戶的準確偏好。最后經過優化訓練,使得推薦模型的性能得到顯著改善。
本文的貢獻可以總結為以下幾點:
a)本文提出了一種新的基于膠囊圖卷積的解纏繞會話感知推薦方法。該模型使用解纏繞的因子來學習項目嵌入,其中采用結合圖卷積網絡的解纏繞技術學習因子嵌入,并通過膠囊網絡聚合因子嵌入來生成項目嵌入。通過利用本文提出的基于解纏繞技術的方法學習用戶會話細粒度精準表示,從而提高了推薦性能,展示了解纏繞技術在會話表示學習中的潛力。
b)為了緩解不同項目的無關意圖產生噪聲以及一些主要意圖可能被忽略的問題,受注意力機制的啟發,本文采用一種多頭注意力機制,對項目與會話的復雜關系進行建模,獲取每個項目對用戶行為偏好不同程度的影響,實現了高效捕獲圖網絡結構中的項目影響和真實用戶意圖,從而提升推薦的性能。
c)在兩個真實的數據集上的實驗表明,本文模型優于先進主流的會話推薦模型。
1相關工作
1.1會話推薦
會話推薦早期研究工作主要集中在利用馬爾可夫鏈[12]等機器學習的方法挖掘會話內的時間演化項目相關性。隨著深度學習技術在推薦系統領域的發展,研究人員利用不同的神經網絡捕捉用戶—項目會話交互序列的動態變化模式,從而推斷用戶偏好作出了積極的探索[10,13~15]。然而現實生活中,越來越多的實際場景任務可以抽象為圖結構數據(如交通網絡、社交網絡、分子網絡等),但是傳統的深度學習模型(卷積神經網絡等)并不能有效處理這種非歐比結構數據[16]。因此,研究人員開始探索如何結合這些傳統的深度學習模型與圖結構來進行端到端的建模,于是提出了圖神經網絡,而圖卷積神經網絡是其重要的一個分支。
推薦系統中的大部分數據本質上都具有圖結構。其中,會話感知推薦研究領域中的順序交互數據可以天然地表示為有向圖,因為每個交互序列對應于圖中的一條路徑,通過圖結構可以表示和建模一系列交互中最復雜的轉換[17]。因此,大多數推薦系統中使用圖神經網絡建模的方法都集中在會話感知推薦研究領域。Wu等人[17]第一次將圖神經網絡(GNN)應用于會話感知推薦,提出了SR-GNN模型,將每個會話序列建模為一個有向圖,保留項目之間的依賴關系。Xu等人[16]采用自注意力機制通過圖信息聚合來捕獲項目動態依賴關系。Qiu等人[7]利用GNN編碼邊緣或節點屬性特征協同建模會話圖中的用戶—項目序列和潛在順序。
盡管這些研究表明基于GNN的模型優于基于傳統的深度學習模型(卷積神經網絡等)的會話推薦方法,但它們大多對項目嵌入表示為一個整體,沒有考慮項目的細粒度因子,忽略了用戶意圖高度糾纏的這一現實問題,從而導致學習的會話表示次優。此外大多方法在生成會話表示的時候要么對所有項目同等考慮,要么重點關注最近的項目,這使得不同項目的無關意圖可能會對用戶的行為產生干擾,引入的噪聲意圖影響推薦的性能。最近一些工作研究受到解纏繞表示學習[9,18]的啟發,逐漸關注到用戶行為的細粒度建模。
1.2解纏繞表示學習
解纏繞表示學習旨在學習數據變化背后的解釋原因的表示,這種表示學習方法更健壯、泛化能力更強,也是一種更容易理解的建模方法[9],被廣泛應用于計算機視覺[19]、自然語言處理[20]等領域。近年來,已經發展了幾種改善解纏繞學習的策略,一些研究在推薦領域采用了解纏繞學習。Macrid-VAE是第一個在推薦系統[21]中,利用用戶—物品交互分離出表示。解纏繞學習最早被Wang等人[22]引入到基于異構圖神經網絡的推薦中,研究了一種融合元學習異構圖神經網絡,該網絡通過融合元學習異構圖來學習HIN中用戶—項目交互的解纏繞表示。Ma等人[23]開發了一種序列到序列的訓練技術,該技術在推薦中結合了自監督學習和解纏繞。Zhang等人[24]基于協同的內容解纏繞和特征解纏繞過程,提出了一種獨特的兩層解纏繞生成式推薦模型。Wang等人[25]提出了一種基于強化學習的推薦模型,利用解纏繞表示網絡設計值函數。
與上述工作不同,本文將解纏繞表示學習融合到圖卷積網絡中,以表示具有獨立因素的項目。利用分離的因子嵌入來表示項目嵌入,然后進行解纏繞表示學習,通過這種方法可以更好地捕獲目標會話中用戶的主要意圖。同時,將解纏繞表示學習后獲得的因子嵌入表示為膠囊的形式,并采用膠囊網絡動態融合因子膠囊。最終,能夠捕獲用戶精準的細粒度意圖,從而實現優越的推薦性能。
2本文模型
針對現有的會話推薦模型在細粒度建模和區分意圖因子噪聲上的不足。本文CGCD模型的目標是構建會話圖,通過解纏繞表示學習來對會話進行細粒度建模,同時利用膠囊動態融合項目的意圖因子。此外,采用了多頭注意力機制減少不同項目的無關意圖干擾來提升模型的性能。具體來說,基于原始的會話序列,構建會話圖進行會話的表示學習,設計圖卷積解纏繞表示學習來建模用戶細粒度意圖,并采用多頭注意力機制對項目間的相關性進行建模學習,減少無關項目意圖的干擾,從而學習到更優的會話表示。模型的整體架構如圖1所示。
2.1問題形式化
基于會話的推薦旨在基于當前會話預測用戶下一個想要點擊的項目。設I={i1,i2,i3,…,iN}表示項目集,其中N是項目的數量。每個會話由一個項目集合s=[is,1,is,2,is,3,…,is,m] 表示,項目is,k∈I(1≤k≤m)表示會話s內匿名用戶的一個交互項目,每個會話中一系列的項目表示在當前會話中的交互項目,它們的交互遵循時間的先后順序。
本文把每個項目i∈I嵌入到同一個空間中,讓Xli∈Euclid Math TwoRApF表示深度神經網絡第l層中維度為F的項目i的向量表示,Xl∈Euclid Math TwoRApN×F為整個項目集的向量表示。每個會話s由一個向量s表示。基于會話推薦的任務是為任何給定的會話s預測下一個項目,即is,m+1。
輸入:首先利用原始數據進行相應的數據劃分和處理,并對項目節點進行嵌入初始化,然后將會話s=[is,1,is,2,is,3,…,is,m]∈S和節點嵌入X0∈Euclid Math TwoRApN×F作為模型的輸入。
輸出:模型捕獲會話中用戶的潛在偏好,學習到最終的會話表示,從而預測會話s的下一個項目,預測出所有待推薦的項目概率,最后模型輸出一個top-N的項目推薦列表。
2.2CGCD模型
為了捕獲會話中用戶的潛在意圖,本文設計圖卷積解纏繞表示學習方法利用圖卷積網絡來解纏繞因子對項目表征的主要關聯關系,細粒度挖掘用戶交互背后細粒度的意圖特征信息,并利用膠囊動態融合因子特征。該模塊主要通過在圖上傳播和聚合因子信息來學習項目的解纏繞因子表示。圖卷積解纏繞表示學習方法包括四個部分:
a)項目初始化。將項目嵌入投影到多個子空間,并針對不同因子建立獨立性關系模型。
b)解纏繞項目嵌入。將分解的項目嵌入投射到多個子通道,分別利用圖卷積網絡的傳播和聚合來學習因子間的關聯關系。
c)因子膠囊融合。將學習到的因子嵌入轉換為膠囊表示,然后通過動態路由機制融合因子,從而生成新的項目表示,實現利用解纏繞技術學習項目嵌入。
d)會話表示學習。采用多頭注意力機制獲取會話中不同項目的主要意圖來生成細粒度的會話表示。
2.2.1項目初始化
具體來說,本文采用解纏繞表示學習技術來學習項目嵌入。首先,在潛在空間中將每個項目嵌入劃分為多個子通道。通過關聯子通道,相鄰項目之間相互作用,由相似因子驅動,不同的交互項目對目標項目產生不同的影響。
第k個子通道表示項目與因子中的第k個因子屬性之間的聯系,第k個分量與用戶意圖的第k個因子有關。形式上,每個項目i表示為一個嵌入x0i∈Euclid Math TwoRApF,假設有k個潛在因子,將輸入項目嵌入特征投影到k個子通道中,每個子通道對應一個影響因子zi,k∈Euclid Math TwoRApF/K:
zi,k=σ(WTkx0i)+bk(1)
其中:Wk∈Euclid Math TwoRApF×FK和bk∈Euclid Math TwoRApFK是可學習參數;σ(·)是非線性激活函數;F/K是因子維度。利用L2作為歸一化函數,以保證數值的穩定性,避免過擬合。
zi,k=zi,k‖zi,k‖2(2)
初始項目嵌入表示i可以用k個子通道(因子)的組合表示:
i=[zi,1,zi,2,…,zi,k](3)
那么,每個會話s可以表示為s=[1,2,…,n],項目集I可以表示為=[1,2,…,N]∈Euclid Math TwoRApN×K×FK。
2.2.2解纏繞項目嵌入
所有項目的嵌入表示首先投影到不同的子通道中。如圖1所示,為了學習解纏繞項目嵌入表示,利用圖卷積操作從不同層次提取節點(因子)特征來描述項目之間的因子特征信息。在每個子通道中分別使用多層圖卷積,從而圖卷積在每個子通道中提取該因子的特征信息。此外,利用圖卷積網絡與距離相關的方法完全解纏繞項目的因子特征。基于投射到不同子通道上項目表征的因子嵌入,從多個意圖角度聚合項目的因子嵌入。
具體來說,引入圖卷積網絡來傳播因子嵌入。根據圖卷積神經網絡的定義,該節點信息在圖卷積層中的傳播和聚合可以抽象為
Xl+1=D^-1A^X^lWl(4)
其中:A^=A+I,I是單位矩陣;D^-1p,q=∑mq=1A^p,q和A是度矩陣與鄰接矩陣;Xl和Wl分別表示第l層因子嵌入和參數矩陣。
通過聚合當前節點的特征信息,傳遞周圍鄰居的特征信息,利用圖卷積學習節點的特征表示。項目的初始因子嵌入X0k在通過L層的圖卷積層進行解纏繞后,通過對多個圖卷積層進行平均可以得到節點嵌入表示Xk=1L+1∑Ll=0Xlk,該嵌入表示通過聚集鄰居節點信息來更新節點信息。最后,在所有圖卷積層上進行因子嵌入傳播后,將學習到的所有因子嵌入連接到所有圖卷積層,最終得到項目i的因子嵌入表示xi=[xi,1,xi,2,…,xi,k]。
2.2.3增強因子獨立性
為了避免信息冗余,要求不同因子的特征相互獨立。與文獻[18]相似,模型中使用距離相關作為正則化器。將距離相關函數應用于第一個圖卷積解纏繞層的初始表示,取得了良好的性能。正式定義如下:
Ldec=∑Kk=1∑Kk′=k+1dCor(Z0s,k,Z0s,k′)(5)
其中:Z0s,k=[z01,k,z02,k,…,z0m,k]∈Euclid Math TwoRApm×F/K表示會話s中每個項目在第一個圖卷積解纏繞層的因子k上的初始嵌入表示;dCor(·)是距離相關的函數,公式為
dCor(Z0s,k,Z0s,k′)=dCor(Z0s,k,Z0s,k′)dVor(Z0s,k)·dVor(Z0s,k′)(6)
其中:dCor(·)是兩個矩陣之間的距離協方差;dVor(·)是它自己的距離協方差。
2.2.4因子膠囊融合
圖模型存在一個眾所周知的問題,當疊加層過多時可能無法有效區分節點嵌入,同時為了保留更多關于項目的潛在特征信息,受到膠囊網絡[26]的啟發,采用了一個動態路由的膠囊融合策略,通過聚合從鄰居節點學習到的嵌入和原始嵌入來更新項目的嵌入。特別地,在因子k上將每個項目的因子表示作為一個膠囊因子嵌入,pi=xi,k,然后通過映射低級膠囊特征到高級膠囊的模糊表示pr|i:
pr|i=Wir·pi(7)
其中:pi表示第i個低級膠囊;Wir為特征映射矩陣;pr|i表示低級膠囊i和高級膠囊r之間的關系。然后根據高級膠囊和低級膠囊的連接權重cir(耦合系數)計算高級膠囊sr的精確表示:
cir=softmax(bir)(8)
其中:bir為每對低水平膠囊和高水平膠囊的一致性分數,初始值為0。cir可由動態路由過程計算,在動態路由過程的每次迭代中,bir按以下公式更新:
bir=bir+squash(sr)·pr|i(9)
因此,通過不斷更新,得到了項目的最優膠囊因子的準確表示sr:
sr=∑i=1cir·pr|i(10)
最后,利用改進的膠囊擠壓函數對sr進行歸一化處理。為了更適應推薦系統,本文采用改進的膠囊網絡的擠壓函數使得更能反映物品特征的相似度,將其第一項的擠壓度1改為0.5:0.5+‖sr‖2,擴大其權重,以保留更多的膠囊間相似度。
r=squash(sr)=‖sr‖20.5+‖sr‖2sr‖sr‖(11)
其中:擠壓函數的第一項‖sr‖2/(0.5+‖sr‖2)是擠壓sr的值到[0,1],即當它很長時拉長sr到1,當它很短時壓縮sr到0;第二部分sr/‖sr‖的作用是單位化sr。
經過λ次迭代的路由過程,輸出K個高級膠囊,這些膠囊被拼接在一起形成項目i的膠囊矩陣i=[1,2,…,k],i∈Euclid Math TwoRApF表示項目i的細粒度特性信息。
為了生成會話表示,還需要將膠囊矩陣映射到與項目嵌入相同維數的向量空間,i=i∈Euclid Math TwoRApF。最終獲得所有項目的細粒度嵌入表示X^disen=[1,2,…,N]∈Euclid Math TwoRApN×F。
2.2.5會話表示學習
為了在生成最終的會話嵌入表示過程中,減少不同項目的無關意圖對會話表示的影響以及更好地考慮不同項目的影響程度,本文采用了多頭注意力機制來處理每個會話中所有項目的嵌入表示,以獲得一個精確的會話表示。具體來說,首先計算當前會話中的當前項目和其他項目的注意分數,然后通過多頭注意力來充分學習其影響程度,通過使用多頭注意力的分數加權拼接生成最終的會話表示。
同時,利用一個可學習的位置矩陣對會話中的時間信息進行編碼P^r=[1,2,3,…,m],其中m是當前會話長度,本文通過在會話嵌入中加入位置嵌入來保持其時間狀態。由于當前項目與預測項目的距離可能包含更有效的信息,與前向位置嵌入不同,本文采用反向位置嵌入。位置信息通過串聯和非線性變換進行整合:
t=tanh(W1[t‖P^m-i-1]+b)(12)
其中:t表示當前會話s的第t個項目嵌入表示;W1∈Euclid Math TwoRApF×2F和b是可訓練參數。
多頭注意力機制從當前會話中的解纏繞項目嵌入學習會話表示,通過多個頭注意力層的堆疊,展示了其有效性。首先計算項目與項目的注意分數,形式上:
αht=softmax(QKTdk)V+X^disen(13)
其中:αht為第h層的注意力計算后得到的輸出;X^disen為細粒度的項目嵌入輸入;Q=X^disenWQ為查詢矩陣;K=X^disenWk為鍵矩陣;V=X^disenWV為值矩陣;WQ、WK、WV表示相應的權重矩陣;softmax(·)為激活函數。
項目的最終注意力系數權重由多個注意力層拼接表示αt=[α0t,α1t,…,αht]。會話中新的加權項目嵌入顯示了通過注意力得分加權后的意圖影響程度θt=αtt。然后,會話嵌入表示sg通過平均整個會話的加權項目嵌入得到,sg=1m∑mt=1θt。
算法1訓練CGCD模型
輸入:會話S;節點嵌入X。
輸出:推薦列表。
構建會話圖
for each epoch do
for each batch do
for each item i do
式(1)~(3)初始化項目和因子嵌入。
式(4)利用圖卷積網絡解纏繞因子嵌入。
式(5)(6)使用距離相關增強因子的獨立性。
式(7)~(11)采用動態路由機制融合因子膠囊。
end
for each session s do
式(12)(13)學習解纏繞項目的會話表示。
式(14)(15)預測下一個項目出現的概率。
式(16)得到下一個項目的預測損失。
end
end
end
2.3訓練
本文CGCD模型首先通過膠囊網絡融合圖卷積解纏繞項目因子的模型捕獲有效的項目語義信息,然后利用多頭注意力機制增強會話表示的學習獲得最終的會話語義信息,以實現對當前會話下用戶的下一個項目偏好的預測。
在給定會話s的情況下,通過在解纏繞的項目嵌入X^disen和會話嵌入sg之間進行內積來計算所有候選項目i∈I的分數i。
i=sTgi(14)
之后,應用softmax函數計算每個項目成為會話中下一個項目的概率:
=softmax()(15)
本文采用交叉熵損失函數學習優化目標,該函數已被廣泛用于推薦系統,其定義為
L=-∑Ni=1yi log(i)+(1-yi)log(1-i)+ξLdec(16)
其中:y是正(ground truth)熱編碼向量。為了方便,本文省略了L2正則化項。通過Adam最小化,能夠獲得高質量的會話推薦。
整個框架可以通過端到端反向傳播進行有效的訓練。算法1說明了本文模型CGCD的訓練流程。
3實驗
本章將評估本文CGCD模型在兩個公開數據集上相對于先進的會話推薦算法的性能。
3.1數據集
本文使用了Diginetica(https://competitions.codalab.org/competitions/11161)和Nowplaying(http://dbis-nowplaying.uibk.ac.at/#nowplaying)兩個基準數據集。其中Diginetica是來自2016年的CIKM杯,包含典型的交易數據。Nowplaying描述了用戶的音樂收聽行為。對于數據處理,按照文獻[17,27]的相同設置,本文過濾掉所有長度為1的會話和在兩個數據庫中出現少于5次的條目,以便進行公平的比較。本文以8:2的比例將兩個數據集分成訓練集和測試集來評估本文模型。然后,使用序列分割方法對數據集進行擴充和標記,以生成多個帶有相應標簽的標記序列。每個序列中的最后一個點擊項是序列的標簽。表1顯示了數據集的統計信息。
3.2實驗方案
與參考文獻[17,28]一樣,本文選擇Pre@Euclid Math TwoNAp(精準率)和MRR@Euclid Math TwoNAp(平均到數排名)作為評價模型的評估標準。Pre(precision)被廣泛用于衡量預測的準確性。它表示項目中正確推薦的項目所占的比例。計算公式為
Pre@Euclid Math TwoNAp=nhitN(17)
其中:Euclid Math TwoNAp表示選取排名前Euclid Math TwoNAp位的結果;N表示模型中的項目樣本的數目;nhit表示在前Euclid Math TwoNAp位中與預測及事實都為正的情況下的數目。
MRR(mean reciprocal rank)是正確推薦的排名項目相互排名的平均值。MRR指標考慮推薦排名的順序,MRR值越大,位于排名列表頂部的正確推薦就越多。具體計算方法如下:
MRR@Euclid Math TwoNAp=1N∑ilabel∈I,rank(ilabel)lt;201rank(ilabel)(18)
其中:Euclid Math TwoNAp表示選取排名前Euclid Math TwoNAp位的結果;N表示項目的數目;rank(ilabel)表示會話預測各個項目的排序。
3.3實驗方案
為了證明CGCD的有效性,本文從多個角度對所提出的算法進行測試:a)與主流先進算法進行對比,驗證本文所提出算法的有效性與先進性;b)進行消融實驗,驗證采用的解纏繞表示學習和多頭注意力機制的有效性;c)參數分析,驗證本文提出算法的各個超參數設置的有效性和魯棒性。
本文選定了七個近幾年提出的會話推薦算法進行對比:
a)FPMC [12],這是一種基于馬爾可夫鏈的序列技術。
b)GRU4Rec [2],其將用戶隨時間的反饋順序建模為一個會話,并采用RNN方法來推導用戶的興趣。
c)NARM [27],一個基于RNN的模型,它結合了注意機制和順序行為來提供一個推薦列表。
d)STAMP [10],它將所有RNN編碼器替換為注意層,利用自我注意技術提高基于會話的推薦性能。每個項目的信息根據與前一個項目的相似程度集成到會話中。
e)SR-GNN [17],將會話描述為一個有向圖,通過一個門控制的圖卷積層獲得項嵌入,并通過軟注意方法實現會話嵌入。
f)FGNN [7],通過將會話中的下一個項目推薦作為圖分類問題制定出來。
g)TAGNN [28],它將會話建模為會話圖,捕捉項目之間復雜的交互,利用圖神經網絡完成項目嵌入。
h)CA-TCN [29],其引入了跨會話信息,構建全局項目圖和會話上下文圖,對項目和會話的跨會話影響建模,能夠對多跳項目進行卷積運算并維護序列信息。
在實驗中,采用了與本文基線相同的最優參數設置。嵌入大小設為100,小批次大小設為100,L2正則化設為E-5。卷積層是在[1,2,3,4],解纏繞因子是在[2,4,5,10]訓練所提出的CGCD模型。另外,多頭注意力機制的頭數在[2,4,10,20]進行調整。實驗是在帶有圖形處理單元(NVIDIA GeForce RTX 3080)的計算機上進行的。對于其他基線,設置與作者提供的代碼相同。
3.4實驗分析
3.4.1主流先進算法對比分析
在兩個數據集上所有對比算法的實驗結果如表2所示。由兩個評估指標precision和MRR的實驗結果,本文可以得出:
a)FPMC在兩個數據集上的性能最差。一個可能的原因是基于馬爾可夫鏈的模型不能有效地捕捉序列中的時間模式。NARM和STAMP的表現優于GRU4REC,這是因為GRU4Rec無法在整個傳播階段選擇有影響力的信息,這使得它對于復雜會話上下文中的嘈雜會話或存在興趣漂移的情況可能無效;NARM是一種基于循環神經網絡的模型,它使用注意機制來模擬用戶的主要意圖,然后將其與順序行為相結合;此外,STAMP優于NARM,這可能是因為STAMP采用了一種自我注意機制,將所有RNN編碼器替換為注意層,從而提高基于會話的推薦性能。基于圖的推薦方法SR-GNN、FGNN和TAGNN比傳統的基于序列的推薦方法具有更好的推薦效果。它們利用交互序列構建圖結構,充分利用了圖網絡結構特點學習用戶偏好,實驗結果表明,圖結構也更加適合建模學習會話序列數據。在本文的會話數據集Diginetica和Nowplaying上,SR-GNN、FGNN和TAGNN能夠根據會話序列的數據特點合適地建立相應的模型結構,從而獲得比較好的性能結果,SR-GNN將會話序列建模為圖結構數據,基于會話圖捕捉項目的復雜轉換的同時,使用注意力網絡獲取全局偏好和當前興趣。FGNN考慮了在項目選擇的轉換過程中復雜的用戶偏好,通過構建會話圖來研究項目轉移模式的同時,協同考慮了會話圖中的潛在順序和序列順序,其將會話中的下一個項目推薦看做一個圖分類問題。TAGNN緩解了將會話壓縮為一個固定的表示向量的不足,考慮到了目標項目的影響,其能夠針對不同的目標項目自適應地激活不同的用戶興趣,學習到的表示向量根據不同的目標項目而變化。由此可以得出結論,FGNN性能次于SRGNN主要是因為其沒有充分考慮到時間特征的建模;TAGNN性能優于FGNN是由于在圖結構建模和捕獲時間的基礎上引入了標簽特性;CA-TCN的性能最優,主要是因為其考慮了跨會話信息,并且采用了TCN來建模時間信息,通過更加全面地考慮不同會話之間的影響關系,充分發掘了會話的潛在特征信息。
b)CGCD的性能優于其他基準。這可能與以下三個主要原因有關:
(a)數據特性。本文采用的兩個數據集Diginetica和Nowplaying都是時間序列的會話數據,是公開真實的公共數據集,被廣泛應用于序列推薦和會話推薦的研究中。同時,位置編碼和多頭注意力機制能夠保證本文數據集中較長序列的關聯性不會丟失,更有利于模型進行細粒度潛在意圖因子的捕獲。
(b)建模特點。本文與先前模型有著根本性的區別在于不是采用項目整體嵌入建模,而是充分考慮到了細粒度的問題[9,19],將傳統的最小粒度項目延伸到了比項目更小的意圖因子粒度,并采用膠囊融合因子信息[30],緩解了先前模型的意圖纏繞問題,能夠更加清晰準確地學習到用戶會話背后的真實潛在意圖。
(c)模型結構。CGCD通過構建有向會話圖結構,并采用一種新穎的利用圖卷積網絡細粒度解纏繞項目嵌入的方法,充分學習用戶潛在意圖背后的細粒度偏好。同時,采用了膠囊動態融合機制融合不同的因子。此外,采用多頭注意力機制學習會話表示,減少了不同項目的無關意圖的噪聲干擾。
3.4.2消融分析
為了驗證有無解纏繞方法以及有無多頭注意力機制對算法帶來的不同影響,本文進行了實驗與對比分析。實驗結果如圖2所示,其中CGCD-nb指代無解纏繞方法和無多頭注意力機制,CGCD-od指代有解纏繞方法無多頭注意力機制。針對于無解纏繞方法的模型采用圖卷積網絡學習項目的整體嵌入;對于無多頭注意力機制的模型,采用簡單的平均操作生成會話表示。在兩個數據集中都可以看出CGCD-od的效果比CGCD-nb效果更好,說明了本文模型中的解纏繞方法的有效性,CGCD-od的效果次于CGCD的效果,說明了多頭注意力機制的有效性。
3.4.3參數分析
不同超參數的變化對實驗結果存在一定程度的影響,對此進行對比分析,觀察圖卷積層數和解纏繞因子數量對算法性能和適應性的影響。
a)層數的影響。通過圖3的實驗結果可以看出,在Diginetica數據集中,模型的性能隨著卷積層數量的增加而下降,其中Pre@20和MRR@20在卷積層為2層時最優。在Nowplaying數據集中,Pre@20和MRR@20的最佳層數是3層。這可能是因為Nowplaying數據集的數據分布,而且較少的卷積層可能不足以捕獲所有可用的特征信息。
b)因子數量的影響。如圖4所示,模型的性能隨著解纏繞因子數量的增加而變化,在兩個數據集上因子的數量值都為4時模型性能最優。這是因為因子解纏繞程度的影響,解纏繞不足和過度解纏繞都會導致模型性能的降低。顯然,在解纏繞學習中,選擇適當數量的解纏繞因子是很重要的。
3.4.4樣本案例分析
為了更加直觀地表現出本文模型在對匿名用戶的會話進行下一個項目預測的準確性,本文在Diginetica數據集上抓取了幾個匿名用戶的會話序列作為測試集中的一部分來進行預測(項目概率評分按照分數大小從高到低降序排列,實際計算的項目概率評分值為-7~11)。
具體而言,本文選擇匿名用戶的會話序列[[2283,26872,42541],[17312,35850,36740],[6613,18095]],需要預測的每個匿名用戶會話下一個項目的真實值分別為[2281,32203,6612],本文先使用訓練集在模型上進行訓練,后將測試集輸入到已經訓練完成的模型中,觀測測試集中本文所選擇的幾個匿名用戶會話的下一個項目的預測結果,即推薦的項目,然后將預測結果與真實值進行對照。本文預測得到的預測結果top20項目分別為[42540,39816,2281,38782,13822,26871,2282,10615,39568,29045,14284,10616,42298,29046,2283,29044,10614,30092,14523,29043],[36739,22141,19592,35849,30742,34974,36693,26940,38653,33776,37751,37403,32203,27227,39175,12946,34394,20475,14863,36122],[18094,6612,34748,39019,18093,22366,16978,7709,15801,19285,6610,6611,39077,31648,27526,31647,34376,27527,38814,40153],結果顯示,最終預測的三個會話樣本中top5、top10和top20的準確率分別為0.67、0.67和1.0。本文可以得到的預測結果top20中所有項均預測正確,充分說明了本文模型的準確性,驗證了其性能的優越性和魯棒性。
4結束語
本文提出了一種新的基于膠囊圖卷積的解纏繞會話感知推薦方法,即CGCD,該模型旨在將多級轉換動態建模到基于會話的推薦中,學習分離潛在因素的表示。構建了一個有向會話圖對會話的特征結構進行建模;設計了一種圖卷積網絡解纏繞的方法來推斷用戶偏好背后的復雜潛在意圖;同時,利用了一種膠囊動態融合的方法實現因子的融合;此外,采用了多頭注意力機制獲取精準的細粒度用戶意圖;通過訓練優化,最終的推薦性能得到了進一步的提高。而在兩個真實數據集上的實驗則驗證了本文算法優于主流先進會話推薦算法。未來,本文將進一步考慮如何細粒度地挖掘匿名會話之間的協同過濾關系,擴展目標會話中豐富的協同信息,在不犧牲目標會話特異性的前提下,提高推薦系統的預測能力。同時,還可以考慮跨會話中細粒度信息的挖掘,進一步提升推薦模型的性能。
參考文獻:
[1]Adomavicius G,Tuzhilin A.Toward the next generation of recommender systems:a survey of the state-of-the-art and possible extensions[J].IEEE Trans on Knowledge and Data Engineering,2005,17(6):734-749.
[2]Balázs H,Alexandros K,Linas B,et al.Session-based recommendations with recurrent neural networks[EB/OL].(2016-03-29).https://arxiv.org/abs/1511.06939.
[3]Zhang Shuai,Yao Lina,Sun Aixin,et al.Deep learning based recommender system:a survey and new perspectives[J].ACM Computing Surveys,2019,52(1):article No.5.
[4]Wang Shoujian,Cao Longbing,Yan Wang,et al.A survey on session-based recommender systems[J].ACM Computing Surveys,2022,54(7):article No.154.
[5]孫鑫,劉學軍,李斌,等.基于圖神經網絡和時間注意力的會話序列推薦[J].計算機工程與設計,2020,41(10):2913-2920.(Sun Xin,Liu Xuejun,Li Bin,et al.Graph neural networks with time attention mechanism for session-based recommendations[J].Computer Engineering and Design,2020,41(10):2913-2920.)
[6]Hidasi B,Karatzoglou A.Recurrent neural networks with top-k gains for session-based recommendations[C]//Proc of the 27th ACM International Conference on Information and Knowledge Management.2018:843-852.
[7]Qiu Ruihong,Li Jingjing,Huang Zi,et al.Rethinking the item order in session-based recommendation with graph neural networks[C]//Proc of the 28th ACM International Conference on Information and Know-ledge Management.2019:579-588.
[8]曾義夫,牟其林,周樂,等.基于圖表示學習的會話感知推薦模型[J].計算機研究與發展,2020,57(3):590-603.(Zeng Yifu,Mu Qilin,Zhou Le,et al.Graph embedding based session perception model for next-click recommendation[J].Journal of Computer Research and Development,2020,57(3):590-603.)
[9]Ma Jianxin,Cui Peng,Kuang Kun.Disentangled graph convolutional networks[C]//Proc of the 36th International Conference on Machine Learning.2019:4212-4221.
[10]Liu Qiao,Zeng Yifu,Mokhosi R,et al.STAMP:short-term attention/memory priority model for session-based recommendation[C]//Proc of the 24th ACM SIGKDD International Conference on Knowledge Discovery amp; Data Mining.2018:1831-1839.
[11]Székely G J,Rizzo M L,Bakirov N K.Measuring and testing depen-dence by correlation of distances[J].Annals of Statistics,2007,35(6):2769-2794.
[12]Shani G,Heckerman D,Brafman R I,et al.An MDP-based recom-mender system[J].Journal of Machine Learning Research,2005,6(9):1265-1295.
[13]張海通,黃增峰.基于影響力擴散的會話推薦模型[J].計算機應用研究,2021,38(7):1956-1962.(Zhang Haitong,Huang Zengfeng.Session recommendation model based on influence diffusion[J].Application Research of Computers,2021,38(7):1956-1962.)
[14]Quadrana M,Karatzoglou A,Hidasi B,et al.Personalizing session-based recommendations with hierarchical recurrent neural networks[C]//Proc of the 11th ACM Conference on Recommender Systems.2017:130-137.
[15]沈學利,杜志偉.融合自注意力機制與長短期偏好的序列推薦模型[J].計算機應用研究,2021,38(5):1371-1375,1380.(Shen Xueli,Du Zhiwei.Sequential recommendation model that combines self-attention mechanism with long-term and short-term preferences[J].Application Research of Computers,2021,38(5):1371-1375,1380.)
[16]Xu Chengfeng,Zhao Pengpeng,Liu Yanchi.Graph contextualized self-attention network for session-based recommendation[C]//Proc of the 28th International Joint Conference on Artificial Intelligence.2019:3940-3946.
[17]Wu Shu,Tang Yuyuan,Zhu Yanqiao,et al.Session-based recom-mendation with graph neural networks[C]//Proc of the 33rd AAAI Conference on Artificial Intelligence.2019:346-353.
[18]Chen Hao,Deng Yongjian,Li Youfu,et al.RGBD salient object detection via disentangled cross-modal fusion[J].IEEE Trans on Image Processing,2020,29:8407-8416.
[19]Wang Xiang,Jin Hongye,Zhang An,et al.Disentangled graph collaborative filtering[C]//Proc of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval.2020:1001-1010.
[20]John V,Mou Lili,Bahuleyan H,et al.Disentangled representation learning for non-parallel text style transfer[C]//Proc of the 57th Conference of the Association for Computational Linguistics.2019:424-434.
[21]Ma Jianxin,Zhou Chang,Cui Peng,et al.Learning disentangled representations for recommendation[C]//Proc of the 33rd Conference on Neural Information Processing Systems.2019:5712-5723.
[22]Wang Yifan,Tang Suyao,Lei Yuntong,et al.DisenHAN:disentangled heterogeneous graph attention network for recommendation[C]//Proc of the 29th ACM International Conference on Information amp; Know-ledge Management.2020:1605-1614.
[23]Ma Jianxin,Zhou Chang,Yang Hongxia.Disentangled self-supervision in sequential recommenders[C]//Proc of the 26th ACM SIGKDD International Conference on Knowledge Discovery amp; Data Mining.2020:483-491.
[24]Zhang Yin,Zhu Ziwei,He Yun,et al.Content-collaborative disentanglement representation learning for enhanced recommendation[C]//Proc of the 14th ACM Conference on Recommender Systems.2020:43-52.
[25]Wang Kai,Zou Zhene,Deng Qilin,et al.Reinforcement Learning with a disentangled universal value function for item recommendation[C]//Proc of the 35th AAAI Conference on Artificial Intelligence.2021:4427-4435.
[26]Nguyen D Q,Nguyen T D,Nguyen D Q,et al.A capsule network-based model for learning node embedding[C]//Proc of the 29th ACM International Conference on Information and Knowledge Management.2020:3313-3316.
[27]Li Jing,Ren Pengjie,Chen Zhumin,et al.Neural attentive session-based recommendation[C]//Proc of ACM on Conference on Information and Knowledge Management.2017:1419-1428.
[28]Yu Feng,Zhu Yanqiao,Liu Qiang,et al.TAGNN:target attentive graph neural networks for session-based recommendation[C]//Proc of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval.2020:1921-1924.
[29]Ye Rui,Zhang Qing,Luo Hengliang.Cross-session aware temporal convolutional network for session-based recommendation[C]//Proc of the 2020 International Conference on Data Mining Workshops.Piscataway,NJ:IEEE Press,2020:220-226.
[30]Yu Tian,Chang Jianxin,Niu Yannan,et al.When multi-level meets multi-interest:a multi-grained neural model for sequential recommendation[C]//Proc of the 45th International ACM SIGIR Conference on Research and Development in Information Retrieval.2022:1632-1641.
收稿日期:2022-05-10;修回日期:2022-07-01基金項目:國家自然科學基金資助項目(61902116);南京大學計算機軟件新技術國家重點實驗室開放課題(KFKT2021B12);湖北省高層次人才基金資助項目(GCRC2020011);湖北工業大學博士科研啟動基金資助項目(BSQD2019026,BSQD2019022)
作者簡介:陶玉合(1997-),男(土家族),湖北恩施人,碩士研究生,主要研究方向為智能推薦、人工智能;高榕(1981-),男(通信作者),湖北荊州人,講師,博士,主要研究方向為智能推薦、機器學習(gaorong@hbut.edu.cn);邵雄凱(1963-),男,湖北黃岡人,教授,博士,主要研究方向為機器學習、自然語言處理;吳歆韻(1987-),男,湖北宜昌人,副教授,博士,主要研究方向為組合優化問題求解算法;李晶(1967-),男,河南信陽人,教授,博士,主要研究方向為計算機視覺、數據挖掘.