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