黃 濤,徐 賢
(華東理工大學 計算機科學與工程系,上海 200237)
在互聯(lián)網(wǎng)搜索、電子商務(wù)、流媒體服務(wù)等在線應(yīng)用中,推薦系統(tǒng)都扮演著關(guān)鍵角色,目的在于為用戶提供有用的信息,以減輕信息過載對用戶造成的沖擊.傳統(tǒng)方法主要依靠用戶的偏好文件或長期的歷史交互信息進行推薦.然而,在大多數(shù)情況下,由于用戶沒有任何可用的歷史會話交互記錄,可用于推薦的唯一資源就是當前會話的信息.因此,基于會話的推薦SBR(Session-based recommendation)引起了廣泛關(guān)注,它根據(jù)給定的匿名用戶會話序列按時間順序預(yù)測用戶下一個最有可能交互的物品[1].
早期對基于會話推薦的研究大多分為兩類,分別是基于馬爾科夫鏈[2,3]和協(xié)同過濾[4,5]的推薦方法.基于馬爾可夫鏈的會話推薦的主要思想是根據(jù)用戶之前的行為預(yù)測下一個行為.這種方法只考慮了相鄰物品之間的順序關(guān)系,而沒有考慮物品之間的其它關(guān)系.通過將矩陣分解和一階馬爾可夫鏈相結(jié)合,Rendle等人[6]提出了FPMC(Factorized Personalized Markov Chains)模型,該混合模型通過捕捉序列模式和用戶的長期偏好來實現(xiàn)推薦,但忽略了序列之間的潛在表示,因此不能達到滿意的效果.基于協(xié)同過濾的方法利用物品之間的相似性進行推薦,已經(jīng)得到了廣泛應(yīng)用.在協(xié)同過濾中,許多方法通過計算用戶和物品之間的相似矩陣來獲得推薦結(jié)果.Kabbur等人[7]使用結(jié)構(gòu)方程方法將物品矩陣建模為兩個低維潛在因子矩陣的乘積,以完成Top-K推薦.近年來,基于神經(jīng)網(wǎng)絡(luò)的方法也被應(yīng)用于協(xié)同過濾.He等人[8]提出了一種基于神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾框架NCF(Neural Network-based Collaborative Filtering),該框架利用多層感知器來學習用戶物品交互功能.此外,Chen等人[9]提出了一種聯(lián)合神經(jīng)協(xié)同過濾模型J-NCF(Joint Neural Network-based Collaborative Filtering),該模型通過充分挖掘用戶和物品的交互信息來學習物品的深層特征.雖然上述協(xié)同過濾方法被證明是有效的,但是忽略了用戶的最新偏好和整個點擊序列的時間相關(guān)性.
近年來,隨著深度學習技術(shù)的不斷發(fā)展,基于循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)的會話推薦方法成為了研究熱點.Hochreiter等人[10]提出LSTM(Long Short Term Memory)的RNN變體網(wǎng)絡(luò),以更好地建模序列.Hidasi等人[11]將RNN結(jié)合到會話推薦中,并利用多層門控循環(huán)單元(GRU)建模交互式物品序列.Jannach等人[12]將GRU4REC(Gated Recurrent Unit for Recommendation)與KNN(K-Nearest Neighbor)方法相結(jié)合,對會話序列進行采樣,提高了推薦效果.在此基礎(chǔ)上,Tan等人[13]通過數(shù)據(jù)增強改進了RNN,并考慮了會話數(shù)據(jù)分布的時間變化.Peng等人[14]提出了HARSAM(A Hybrid Model for Recommendation Supported by Self-Attention Mechanism)的深度學習模型,該模型使用自注意力機制對用戶交互數(shù)據(jù)進行建模,并學習用戶的潛在偏好表達.Jing等人[15]提出了NARM(Neural Attentive Recommendation Machine)注意力模型,將注意力機制應(yīng)用于會話特征編碼器,以捕捉用戶在當前會話中的主要意圖.Qiao等人[16]提出了基于注意力機制的短期記憶網(wǎng)絡(luò)STAMP(Short-Term Attention/Memory priority)模型,有效的捕獲了用戶的偏好信息.Wang等人[17]提出CSRM(collaborative session-based recommendation machine)模型,將 RNN網(wǎng)絡(luò)和注意力機制結(jié)合,同時利用協(xié)同信息預(yù)測用戶偏好.Wang等人[18]指出,基于RNN的方法主要通過對給定歷史用戶物品交互的序列依賴性建模來實現(xiàn)推薦.雖然基于深度學習的方法(主要是基于RNN的方法)在會話推薦中取得了一定程度的成功,但是它們?nèi)匀淮嬖谝恍┎蛔?具體如下:1)它們也只考慮當前會話序列中相鄰交互項之間的依賴性,而忽略了交互項與其它位置項之間的依賴關(guān)系;2)它們只依賴于當前會話的信息,而不考慮其它交互會話信息.
圖神經(jīng)網(wǎng)絡(luò)GNN[19-22](Graph Neural Network)能夠克服以往方法的局限性,逐漸成為主流的會話推薦方法.與基于RNN的推薦方法不同,基于GNN的方法大多首先將會話序列建模為會話圖,然后使用GNN在圖中聚合相關(guān)鄰居節(jié)點的信息.Wu等人[23]提出SR-GNN(Session-based Recommendation with Graph Neural Network)模型,使用注意力機制計算用戶的全局偏好,將最后一項作為用戶的當前偏好,并使用全局和當前偏好的線性組合生成會話的最終表示.Xu等人[24]提出圖上下文自注意力模型GC-SAN(Graph Contextual Self-Attention Model based on Graph Neural Network),該模型使用圖神經(jīng)網(wǎng)絡(luò)和自注意力機制來學習會話序列中物品之間的長期依賴關(guān)系.Qiu 等人[25]提出加權(quán)注意網(wǎng)絡(luò)圖模型FGNN(Full Graph Neural Network),該模型利用多權(quán)重圖注意層(WGAT)來計算會話序列中物品之間的信息流,從而獲得物品表示,然后通過特征提取器聚合物品表示以捕獲會話特征.Wu等人[26]提出了GARG(Geographical Attentive Recommendation via Graph)模型,該模型將應(yīng)卷積神經(jīng)網(wǎng)絡(luò)和注意力機制相結(jié)合為用戶提供合適的新興趣點.當使用上述的GNN模型構(gòu)建會話圖時,不同的會話序列可能具有相同的圖,或者相同的圖可能映射到不同的會話序列,將導(dǎo)致信息丟失并影響最終的推薦效果.Chen 等[27]提出LESSR(Lossless Edge-order preserving aggregation and Shortcut graph attention for Session-based Recommendation)模型,將會話序列建模為邊緣保序圖和快捷圖,并設(shè)計了邊緣保序聚合層和快捷圖注意力層,解決了無效的長期依賴問題,有效避免信息丟失.盡管上述方法在會話推薦中取得了可接受的推薦結(jié)果,但是存在兩個明顯的缺點:1)基于GNN的方法只考慮了當前會話序列,并沒有考慮其它會話對當前會話的影響;2)將會話序列建模為一個簡單的會話圖,GNN只能捕捉到物品之間的成對傳遞關(guān)系,但無法獲得物品之間復(fù)雜的高階關(guān)系.
對于普通圖,一條邊只能連接到兩個頂點,而超圖是一般圖的推廣,一條邊可以連接任意數(shù)量的頂點.在構(gòu)造超圖時,將所有會話序列建模為超邊.超邊上的所有物品都是相互連接的,不同的超邊通過共享項連接.這樣構(gòu)造的超圖既考慮了其它會話之間的交互信息又包含了物品之間復(fù)雜的高階信息.因此,本文提出一種融合全局信息的多圖神經(jīng)網(wǎng)絡(luò)會話推薦模型(GIMGNN),該模型使用超圖卷積神經(jīng)網(wǎng)絡(luò)(HGCN)和門控圖神經(jīng)網(wǎng)絡(luò)(GGNN)分別捕捉物品之間復(fù)雜的高階關(guān)系和成對傳遞關(guān)系,從而有效學習物品全局會話級別和局部會話級別的特征表示,極大的提高了會話推薦的準確度.
本文的主要工作如下:
1)提出全局會話超圖和局部會話圖相結(jié)合的多圖神經(jīng)網(wǎng)絡(luò)會話推薦模型,充分利用超圖神經(jīng)網(wǎng)絡(luò)捕捉物品之間復(fù)雜的高階信息能力,提高會話推薦的性能.
2)使用求和池化操作融合物品的全局和局部級別上下文信息表示之后,通過使用注意力機制來處理融合的特征,學習會話序列的最終表示,從而得到更為準確的推薦結(jié)果.
3)在兩個真實數(shù)據(jù)集Yoochoose和Diginetica上進行了一系列實驗,實驗結(jié)果表明,對比性能最優(yōu)的基準模型,GIMGNN模型在Yoochoose上P@20和MRR@20至少提升了2.42%和4.01%,在Diginetica上P@20和MRR@20至少提升了6.56%和9.11%,驗證了模型的有效性 .
在本節(jié)中,首先介紹GIMGNN模型總體架構(gòu),其次對會話推薦問題進行描述,構(gòu)造兩種類型的圖模型,分別是局部會話圖和全局會話超圖.接著分別使用門控圖神經(jīng)網(wǎng)絡(luò)(GGNN)和超圖卷積神經(jīng)網(wǎng)絡(luò)(HGCN)分別生成物品的局部會話特征表示和全局會話特征表示.然后通過注意力機制融合物品的局部會話特征表示和全局會話特征表示生成會話表示.最后將會話表示和物品全局特征表示進行線性組合得到最終表示,從而計算每個推薦候選項的排名分數(shù).
本節(jié)將超圖卷積神經(jīng)網(wǎng)絡(luò)和門控圖神經(jīng)網(wǎng)絡(luò)應(yīng)用于基于會話的推薦方法中,提出了一種融合全局信息的多圖神經(jīng)網(wǎng)絡(luò)會話推薦模型(GIMGNN),如圖1所示.
圖1 GIMGNN模型結(jié)構(gòu)框架Fig.1 Model framework of GIMGNN
該模型主要模塊構(gòu)成如下:
1)構(gòu)圖模塊:根據(jù)當前會話序列構(gòu)建局部會話圖,以及根據(jù)歷史會話序列構(gòu)建全局會話超圖.
2)局部表示學習模塊:將構(gòu)建的局部會話圖通過門控圖神經(jīng)網(wǎng)絡(luò)(GGNN)生成物品局部會話特征表示.
3)全局表示學習模塊:將構(gòu)建的全局會話超圖通過超圖卷積神經(jīng)網(wǎng)絡(luò)(HGCN)生成物品全局會話特征表示.
4)聚合模塊:通過注意力機制將反向位置嵌入融合到物品局部會話特征表示和物品全局會話特征表示中得到會話表示.
5)預(yù)測模塊:根據(jù)聚合模塊得到的會話表示和物品全局會話特征表示線性組合得到最終表示預(yù)測下一個交互物品.
(1)
通過公式(1)最小化損失函數(shù)L(·).其中|St|是訓練集的大小,mi是序列si的長度.
本節(jié)定義了兩個圖模型,局部會話圖和全局會話超圖,以表示當前序列中不同級別之間的物品傳遞信息.局部會話序列表示當前會話序列中成對物品-物品關(guān)系的傳遞信息,全局會話序列表示所有會話序列中物品-物品關(guān)系的復(fù)雜高階信息.
圖2中顯示了單個會話s={v1,v2,v3,v2,v4}的局部會話圖.在圖中每個節(jié)點都與自身有連接,因此可以在建模中融合自身的信息.局部會話圖由有向圖表示,可以很好地表示會話序列中物品之間的順序相關(guān)性.對于本文構(gòu)造的局部圖的每一個節(jié)點,都可能有4種類型的邊與其相連,分別表示為rin,rout,rin-out和rself.rin表示其它節(jié)點傳遞信息到該節(jié)點.rout表示該節(jié)點將信息傳輸?shù)狡渌?jié)點.rin-out表示該節(jié)點和節(jié)點之間存在雙向傳輸信息,rself表示該節(jié)點自身的傳遞信息.
圖2 局部會話圖Fig.2 Local session graph
全局會話超圖用于表示物品的全局信息.全局會話超圖是一個連接任意多個頂點的超邊組成的無向超圖.超圖G可以表示為三元組G=(V,E,W),V,E和W分別是節(jié)點集,超邊和超邊的權(quán)重.V表示系統(tǒng)中的所有物品,每個v∈V代表一個物品.E表示所有歷史會話序列,每個e∈E表示會話序列.每個w(e)∈W是超邊e的權(quán)重.在代數(shù)中,W可以定義為對角矩陣W∈|E|×|E|,超圖可以用關(guān)聯(lián)矩陣H∈|V|×|E|表示,其條目h(v,e)定義為:
(2)
根據(jù)超圖的定義,可以計算超邊的度矩陣D=∑e∈Ew(e)h(v,e)和所有頂點的度矩陣為B=∑v∈Vh(v,e),其中D和B都是對角矩陣.
在超圖中,如果任意兩個超邊具有公共頂點,則它們是連通的.并且超邊內(nèi)的所有頂點都是完全連接的,因此超圖包含物品之間的高階未配對關(guān)系,可用于物品全局級物品的特征表示.圖3中顯示了3個會話序列形成的超圖,虛線中的3個圓是超邊,由它們之間的公共頂點v2,v3和v4連接,并計算其對應(yīng)的關(guān)聯(lián)矩陣.
圖3 全局會話超圖Fig.3 Global session hypergraph
門控圖神經(jīng)網(wǎng)絡(luò)(GGNN)用于獲取局部會話序列中成對物品-物品關(guān)系的傳遞信息.在局部會話圖中,節(jié)點向量表示的更新函數(shù)如下:
(3)
(4)
(5)
(6)
(7)
其中H∈d×2d,Wz,Wr,Wc∈2d×d,Gz,Gr,Gc∈d×d表示權(quán)重矩陣,和分別表示更新門和重置門,為會話s中的節(jié)點序列,σ(·)表示激活函數(shù),⊙表示對應(yīng)元素相乘.表示局部會話圖的出度矩陣,表示局部會話圖的入度矩陣.公式(3)用于不同節(jié)點之間的信息傳播,在鄰接矩陣的作用下提取鄰域的潛在向量,并將其作為輸入到圖神經(jīng)網(wǎng)絡(luò)中.公式(4)和公式(5)通過更新門和重置門分別決定要保留和丟棄的信息.公式(6)根據(jù)前一狀態(tài)、當前狀態(tài)和重置門構(gòu)造候選狀態(tài).公式(7)表示在更新門的控制下,由前一個隱藏狀態(tài)和候選狀態(tài)得到最終狀態(tài).通過對會話圖中的所有節(jié)點進行更新,達到收斂之后,便可以得到最終的節(jié)點向量.之后使用注意力機制計算不同鄰居節(jié)點對當前節(jié)點的影響,影響程度由注意力機制計算的權(quán)重表示.給定一個節(jié)點vi,可以通過元素乘積和非線性變換計算節(jié)點vj對其的影響權(quán)重:
(8)
eij表示節(jié)點vj對于節(jié)點vi的重要性,LeakyReLU(·)表示激活函數(shù),rij表示節(jié)點vi和vj的關(guān)系,a*∈d是權(quán)重矩陣.通過權(quán)重矩陣來表示圖中所有節(jié)點對于節(jié)點vi的影響.為了使不同節(jié)點之間的權(quán)重具有可比性,使用softmax函數(shù)對其進行歸一化:
(9)
公式(9)注意力系數(shù)αij是不對稱的,因為節(jié)點的鄰居是不同的,意味著對每個節(jié)點的貢獻是不平等的.接下來,通過線性組合計算節(jié)點vi的特征表示:
(10)
通過上述計算,可以將其他節(jié)點對當前節(jié)點的影響信息和當前節(jié)點本身的信息融合在一起,以表達當前節(jié)點的局部特征表示.并且通過注意力機制,降低了噪聲對局部會話級別物品特征學習的影響.
超圖卷積神經(jīng)網(wǎng)絡(luò)(HGCN)用于獲取所有會話序列中物品之間的高階關(guān)系.在超圖上定義卷積運算的主要挑戰(zhàn)是如何傳播相鄰節(jié)點的信息.參考Feng等人[28]提出的譜圖卷積,在本文的模型中,HGCN的定義如下:
(11)
(12)
對于每個物品,本文通過合并其局部表示和全局表示獲得物品的最終表示:
(13)
(14)
其中參數(shù)W1∈d×2d和b∈d是一組可訓練的參數(shù),‖表示串聯(lián)操作.由于會話序列的長度不固定,所以選擇反向位置嵌入.相對于前向位置信息,預(yù)測物品和當前物品之間的距離包含更有效的信息.因此,反向位置信息可以更準確地表示每個物品的重要性.
會話的表示與學習到的物品信息密切相關(guān).為了獲得會話的表示,本文平均了會話序列中涉及的物品信息:
(15)
基于位置嵌入信息zi和會話表示s*,本文采用軟注意機制來計算權(quán)重:
βi=qTσ(W2zi+W3s*+c)
(16)
其中,W2,W3∈d×d和q,c∈d都是可學習的參數(shù).因此,通過線性組合操作獲得會話的最終表示:
(17)
前面的計算過程表明,會話表示S表示不僅融合了全局和局部級別上下文信息,而且還包含了所有物品的位置和順序信息,因此會話表示S可以很好地表示會話特征.
(18)
(19)
其中,yi表示為one-hot向量.
在本節(jié)中,首先介紹實驗的數(shù)據(jù)集和預(yù)處理、評估指標、基準方法和實驗參數(shù)設(shè)置,然后設(shè)計了一些列對比實驗,以回答下列4個問題:
問題1.與現(xiàn)有的會話推薦基準方法相比,GIMGNN表現(xiàn)如何?
問題2.融合全局信息是否增強了會話推薦效果?GIMGNN模型中每個模塊的性能如何?
問題3.反向位置嵌入對GIMGNN的性能影響如何?
問題4.不同超參數(shù)(dropout)的設(shè)置對GIMGNN的性能影響如何?
本文實驗將基于兩個著名的基準數(shù)據(jù)集Yoochoose和Diginetica進行.其中Yoochoose數(shù)據(jù)集來自于2015年RecSys挑戰(zhàn)賽,通過http://2015.recsyschallenge.com/challege.html獲取,數(shù)據(jù)集包括一個網(wǎng)站的點擊歷史記錄.Diginetica數(shù)據(jù)集通過https://competitions.codalab.orgcompetitions11161獲取,來自2016年CIKM杯,數(shù)據(jù)集由典型交易數(shù)據(jù)組成.
對于兩個數(shù)據(jù)集的預(yù)處理工作參考了文獻[23],首先過濾掉長度為1的會話和兩個數(shù)據(jù)集中出現(xiàn)次數(shù)少于5次的物品,然后將上周的會話(最新數(shù)據(jù))設(shè)置為測試數(shù)據(jù)集,剩余的歷史數(shù)據(jù)用于訓練集.由于Yoochoose數(shù)據(jù)集非常大,本文對Yoochoose數(shù)據(jù)集進行了額外的處理.此外,已有研究證明使用接近測試集的訓練集進行模型訓練可以提高推薦性能.因此,實驗中僅使用Yoochoose1/64作為數(shù)據(jù)集.表1列出了數(shù)據(jù)預(yù)處理后兩個數(shù)據(jù)集的統(tǒng)計信息.
表1 預(yù)處理數(shù)據(jù)統(tǒng)計Table 1 Preprocessed data statistics
為了便于與基線模型進行比較,本文選擇了常用的精度(P)和平均倒數(shù)排名(MRR)作為評估指標.在實際推薦中,系統(tǒng)通常同時推薦多個物品.為了評估不同物品數(shù)量的推薦效果,使用P@K和MRR@K以測量模型的性能,其中K表示推薦物品的數(shù)量.
P@K被計算為推薦排名列表中測試用例前K位的正確項目,并定義為:
(20)
其中N是測試集中的序列數(shù),nhit是在排名列表中前K個物品中正確推薦的物品數(shù).
MRR@K是對正確推薦的物品vt出現(xiàn)在包含K個物品的推薦列表I中的位置進行評分,其具體值等于vt在I中的排名倒數(shù).如果vt位于I的第1位時MRR@K為1,當vt未出現(xiàn)在I中時MRR@K為0.假設(shè)測試集的大小為N,取平均值MRR@K作為評估的度量:
(21)
其中rank(vt)是vt在推薦列表中的排名.
為了驗證GIMGNN模型的性能,實驗用以下9種推薦模型作為對比模型:
1)POP:推薦訓練數(shù)據(jù)集中頻率最高的前N項.
2)Item-KNN:通過余弦距離來衡量兩個物品之間的相似度,并根據(jù)相似度推薦物品.
3)FPMC[6]:同時考慮了矩陣分解和一階馬爾可夫鏈,是一種混合方法,但在計算推薦分數(shù)時,忽略了用戶的潛在表示.
4)GRU4REC[12]:通過門控神經(jīng)網(wǎng)絡(luò)(GRU)將會話序列建模為最終會話表示,并使用排名損失來訓練模型.
5)NARM[15]:基于GRU4Rec的模型,該模型擴展了注意力層,并結(jié)合了RNN的編碼狀態(tài),使模型能夠密切關(guān)注會話序列的重要特征.
6)STAMP[16]:將先前工作中的RNN編碼器替換為多重注意力,并且將當前會話中最后一項的自我注意力作為用戶的短期興趣.
7)CSRM[17]:假設(shè)歷史會話中包含與目標會話相似的用戶偏好,并將這種協(xié)作信息應(yīng)用于推薦任務(wù).
8)SR-GNN[23]:使用GRU獲得物品的嵌入表示,與STAMP類似,它通過關(guān)注最后一個物品來計算會話的特征表示.
9)GC-SAN[24]:使用自注意力網(wǎng)絡(luò)來學習會話中物品之間的全局和局部依賴信息.
在本文的實驗中,將隱向量維度大小設(shè)置為100,批處理大小設(shè)置為100.所有可學習參數(shù)均使用高斯分布初始化,平均值為0,標準偏差為0.1.學習率設(shè)置為0.001,并由Adam優(yōu)化器優(yōu)化.本文在兩個數(shù)據(jù)集上將epoch設(shè)置為20.對于GIMGNN的層數(shù)設(shè)置,不同的數(shù)據(jù)集對應(yīng)不同的層數(shù).通過實驗發(fā)現(xiàn),對于數(shù)據(jù)集Yoochoose1/64和Diginetica,當層數(shù)設(shè)置為3時,該模型的性能最佳.對于基線,如果原始論文的實驗評估機制和數(shù)據(jù)集與本文相同,本文將采用最佳實驗結(jié)果進行比較.此外,為了公平起見,還將參數(shù)設(shè)置為模型性能最佳時的參數(shù).
通過表2的實驗結(jié)果可以看出,與基線模型相比,本文提出的GIMGNN模型在兩個數(shù)據(jù)集的指標上都優(yōu)于基線模型.
表2 不同模型在兩個數(shù)據(jù)集上性實驗結(jié)果%Table 2 Experimental results of different models on two datasets%
傳統(tǒng)的POP模型實驗結(jié)果最差,因為只考慮了訓練數(shù)據(jù)集中頻率最高的前N項,而沒有考慮其它交互信息.FPMC方法通過結(jié)合矩陣分解和一階馬爾可夫鏈來捕獲用戶偏好,表現(xiàn)出比POP更好的性能,證明了用戶偏好在推薦中的重要性.在傳統(tǒng)方法中,Item-KNN模型在Yoochoose1/64和Diginetica 數(shù)據(jù)集上顯示了最佳結(jié)果.該模型根據(jù)當前會話和其他會話之間的相似性推薦物品,證明了會話之間存在一定的依賴性.然而,由于傳統(tǒng)推薦模型無法捕捉同一會話中物品之間的順序關(guān)系或順序相關(guān)性,所以推薦的準確性明顯受到影響.
從表2中不難發(fā)現(xiàn),基于深度學習的模型優(yōu)于傳統(tǒng)的推薦系統(tǒng)方法.在性能方面,GRU4REC首先使用RNN對會話序列進行建模獲取特征表示,其性能仍然低于NARM和STAMP模型.因為GRU4REC只考慮順序關(guān)系,而不考慮序列中的其余信息,因此很難獲得用戶偏好的變化.這意味著,雖然RNN非常適合序列建模,但很難解決基于會話推薦中的用戶意圖可能發(fā)生變化的問題.通過考慮會話中不同物品的重要性,NARM和STAMP使用注意機制更準確地表達用戶的意圖,在一定程度上提高了推薦效果,性能優(yōu)于GRU4REC.通過比較RNN和注意機制相結(jié)合的NARM與完全使用注意機制的STAMP的性能,本文發(fā)現(xiàn)STAMP的性能明顯優(yōu)于NARM.前一種方法通過迭代多個注意層來替換先前工作中的RNN編碼器,并將當前會話中的最后一項視為用戶的短期偏好,進一步證明了使用RNN學習用戶的表示可能會導(dǎo)致用戶意圖的偏離.與NARM和STAMP相比,CSRM方法在Diginetica數(shù)據(jù)集上表現(xiàn)出更好的性能.它使用內(nèi)存網(wǎng)絡(luò)來研究最近的m個會話,以便更好地預(yù)測用戶在當前會話中的意圖.正如CSRM的性能所示,為了更好地進行會話推薦,需要考慮其他會話對當前會話的影響.
通過SR-GNN與GC-SAN實驗結(jié)果可知,基于GNN會話模型的推薦效果明顯好于傳統(tǒng)推薦方法與深度學習方法.因為將會話序列建模為會話圖以及使用GNN可以更好的捕獲物品之間的成對傳遞關(guān)系,表明了在做出推薦時考慮物品之間的獨立的重要性.與RNN相比,GNN可以捕獲會話序列中物品之間更復(fù)雜的依賴信息.兩種基于GNN的方法將會話序列建模為簡單的圖,不能夠充分捕捉物品的成對傳遞,也無法學習物品之間的復(fù)雜高階關(guān)系,這在一定程度上影響了推薦效果.
與基線模型不同,本文提出的GIMGNN模型將歷史會話序列建模為超圖,并使用超圖神經(jīng)網(wǎng)絡(luò)(HGCN)學習物品之間的復(fù)雜高階關(guān)系.模型同時考慮了局部和全局會話級別的上下文信息,因此可以有效地表示當前會話序列中物品的特征,這也是GIMGNN具有優(yōu)異性能的原因.
在兩個數(shù)據(jù)集上進行實驗,以評估全局級特征編碼器和會話級特征編碼器的有效性.本文設(shè)計了兩種對比模型:
1)GIMGNN-NL:刪除局部表示學習模塊(GGNN),只留下全局表示學習模塊(HGCN)來捕獲全局會話級別的上下文信息.
2)GIMGNN-NG:刪除全局表示學習模塊(HGCN),只留下局部表示學習模塊(GGNN)來捕獲局部會話級別的上下文信息.
表3在Yoochoose1/64和Diginetica兩個數(shù)據(jù)集上比較了3個模型的推薦結(jié)果,并分別給出了評估指標P@20和MRR@20.從表中可知,本文提出的GIMGNN方法在推薦性能方面顯示出最佳結(jié)果.在Diginetica數(shù)據(jù)集上,GIMGNN-NL的性能優(yōu)于GIMGNN-NG,表明使用超圖神經(jīng)網(wǎng)絡(luò)(HGCN)捕捉高階信息的有效性.在Yoochoose1/64數(shù)據(jù)集上,GIMGNN-NG的性能優(yōu)于GIMGNN-NL,可能是因為Yoochoose1/64數(shù)據(jù)集中的會話平均長度比Diginetica數(shù)據(jù)集中的會話平均長度長,有助于門控圖神經(jīng)網(wǎng)絡(luò)(GGNN)有效學習會話中物品之間的依賴關(guān)系.實驗結(jié)果表明,通過考慮物品之間復(fù)雜高階信息,可以有效提高會話推薦的性能.
表3 對比模型在兩個數(shù)據(jù)集上性實驗結(jié)果%Table 3 Experimental results of contrast models on two datasets%
為了驗證位置向量對性能影響,并評估在GIMGNN中提出的反向位置向量的有效性,本節(jié)設(shè)計了一系列對比模型:
1)GIMGNN-NP:使用前向位置向量替換反向位置向量的GIMGNN模型.
2)GIMGNN-SA:使用自注意機制取代位置感知注意力的GIMGNN模型.
表4顯示了不同對比度模型的性能.從表中可以看出GIMGNN-NP在兩個數(shù)據(jù)集上表現(xiàn)不佳,因為模型無法捕捉其它物品與預(yù)測物品之間的距離.GIMGNN-SA在Diginetica數(shù)據(jù)集上的表現(xiàn)優(yōu)于GIMGNN-NP,表明會話中的最后一項包含最相關(guān)的推薦信息.然而,它在Yoochoose1/64數(shù)據(jù)集上表現(xiàn)不佳,因為它缺乏對每個物品貢獻的更全面的判斷.與這兩種變體相比,反向位置嵌入證明了模型的有效性,也驗證了反向位置信息可以更準確地表明每個物品的重要性.此外,通過注意力機制,有效過濾了當前會話中的噪聲,使得模型的性能更好.
表4 對比模型在兩個數(shù)據(jù)集上性實驗結(jié)果%Table 4 Experimental results of contrast models on two datasets%
Dropout作用是防止模型過擬合,原理是在訓練期間隨機丟棄具有給定可能性的神經(jīng)元,但將所有神經(jīng)元用于測試.在實驗中,神經(jīng)元脫落的可能性在0.0~0.9范圍內(nèi)變化,間隔為0.1,評估指標為P@20.圖4顯示了GIMGNN在兩個數(shù)據(jù)集不同dropout下的實驗性能,說明了模型在兩個數(shù)據(jù)集上的性能在開始時隨著dropout的增加而增加,當dropout增長到一定值時,模型性能開始下降.也就是說,模型的性能在曲線的拐點處最好.特別是在Yoochoose1/64和Diginetica數(shù)據(jù)集中,本文的GIMGNN模型在dropout分別為0.6和0.5時表現(xiàn)最佳.因此,本文在兩個數(shù)據(jù)集上的實驗中將dropout設(shè)置為相應(yīng)的值.
圖4 不同dropout對推薦性能的影響Fig.4 Impact of different dropout on recommended performance
基于圖神經(jīng)網(wǎng)絡(luò)的會話推薦模型是當前學術(shù)研究的熱點,物品的高階交互信息可以提高基于圖神經(jīng)網(wǎng)絡(luò)的會話模型的推薦效果.為了充分考慮物品的局部和全局會話上下文信息,本文的工作首先將當前會話序列轉(zhuǎn)換為局部會話圖,其次將所有會話序列轉(zhuǎn)換為全局會話超圖,然后使用超圖卷積神經(jīng)網(wǎng)絡(luò)(HGCN)和門控圖神經(jīng)網(wǎng)絡(luò)(GGNN)捕捉物品的全局會話特征表示和局部會話特征表示.并且,通過使用注意力機制處理融合特征來學習會話序列的最終表示.大量實驗結(jié)果表明,本文提出的GIMGNN模型始終優(yōu)于最先進的方法.然而,使用超圖卷積神經(jīng)網(wǎng)絡(luò)(HGCN)捕獲全局信息也有一個缺點,可能會將不相關(guān)的信息融合到當前會話中.因此,在未來的工作中,將研究如何構(gòu)建基于超圖的模型,以緩解無關(guān)信息對會話推薦結(jié)果的影響.