南 寧,楊程屹,武志昊
(1.北京交通大學(xué)計算機與信息技術(shù)學(xué)院,北京 100044;2.中國民用航空局民航旅客服務(wù)智能化應(yīng)用技術(shù)重點實驗室,北京 100105;3.中國民航信息網(wǎng)絡(luò)股份有限公司,北京 101318)
(*通信作者電子郵箱cyyang@travelsky.com)
隨著互聯(lián)網(wǎng)的發(fā)展、因特網(wǎng)的普及,網(wǎng)絡(luò)中的信息量呈現(xiàn)指數(shù)式增長,人們普遍面臨信息過載[1]問題。為幫助用戶在互聯(lián)網(wǎng)中篩選有用的信息,推薦系統(tǒng)應(yīng)運而生。為滿足用戶需求,許多推薦系統(tǒng)根據(jù)用戶的歷史行為產(chǎn)生推薦。然而在實際應(yīng)用中,對許多身份未知的用戶或新用戶,他們的歷史行為是不可知的,因此出現(xiàn)了基于會話(session)的推薦。會話指用戶在一段時間內(nèi)的瀏覽(或其他操作)行為[2],可表示為一個瀏覽序列,瀏覽對象稱為物品(item)。目前,基于會話的推薦在電商平臺[3]、新聞[4]、視頻[5]等領(lǐng)域得到了廣泛的應(yīng)用。
基于會話的推薦問題的關(guān)鍵是建模會話中物品之間的關(guān)系。現(xiàn)有研究主要基于目標(biāo)會話中的序列信息,對目標(biāo)會話進行建模,捕獲會話中物品間的關(guān)系,產(chǎn)生推薦結(jié)果;但僅對目標(biāo)會話建模,缺乏對物品間全局關(guān)系的捕獲和利用,模型捕獲到的信息非常有限,難以達到理想的預(yù)測效果。在傳統(tǒng)的推薦系統(tǒng)中,基于用戶的協(xié)同過濾算法的思想是根據(jù)相似用戶的喜好進行推薦[6],雖然基于會話的推薦這一研究領(lǐng)域用戶的身份是未知的,但依然可以引入其他會話中的全局信息作為協(xié)同信息輔助預(yù)測。
針對上述問題,本文提出了基于多圖神經(jīng)網(wǎng)絡(luò)的會話感知推薦(Multi-Graph neural network-based Session Perception recommendation,MGSP)模型。該模型主要由四部分構(gòu)成:
1)構(gòu)圖模塊:根據(jù)目標(biāo)會話、訓(xùn)練集中的所有會話構(gòu)建物品轉(zhuǎn)移圖(Item-Transition Graph,ITG)和協(xié)同關(guān)聯(lián)圖(Collaborative Relation Graph,CRG)。
2)圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)模塊:對構(gòu)造的ITG 及CRG 分別應(yīng)用GNN,匯聚節(jié)點信息,生成兩類節(jié)點表示,分別定義為個性化偏好物品表示及協(xié)同信息物品表示。
3)雙層注意力模塊:考慮到捕獲到的兩類節(jié)點表示中存在隱含的依賴關(guān)系,即個性化偏好與協(xié)同信息間的隱含關(guān)系,而自注意力機制能夠捕獲節(jié)點表示間隱含的依賴關(guān)系,具有強大的提取特征的能力,故該模塊首先通過自注意力機制同時對兩類節(jié)點表示建模,捕獲個性化偏好與協(xié)同信息間的隱含關(guān)系;為捕獲用戶在會話中的長期偏好和當(dāng)前興趣,該模塊還構(gòu)造了第二層注意力機制,該注意力機制通過重點關(guān)注用戶的當(dāng)前興趣,聚合節(jié)點表示,從而達到同時捕獲會話中用戶的長期偏好和當(dāng)前興趣的目的,得到會話級別的表示。
4)預(yù)測模塊:考慮到不同特征在預(yù)測任務(wù)中的重要性不同,該模塊使用注意力機制進行信息融合,得到最終的會話表示,預(yù)測下一個交互的物品。
本文的主要工作分為三個方面:
1)提出以構(gòu)造多圖的方式引入其他會話中的協(xié)同信息,結(jié)合個性化偏好信息與協(xié)同信息產(chǎn)生推薦,提高了推薦性能。
2)構(gòu)造雙層注意力模塊:第一層注意力機制用于捕獲個性化偏好與協(xié)同信息間的隱含關(guān)系;第二層注意力機制強調(diào)用戶當(dāng)前興趣的重要性,可同時捕獲會話中用戶的長期偏好和當(dāng)前興趣,得到會話級別的表示。另外,還提出通過注意力機制進行多圖的信息融合。
3)本文在電商領(lǐng)域兩個真實公開數(shù)據(jù)集上進行了大量的實驗,結(jié)果表明,本文提出的模型在各項指標(biāo)上均優(yōu)于比較的八個基準(zhǔn)模型;此外,本文還在民航領(lǐng)域數(shù)據(jù)集上驗證了模型的有效性。
在推薦系統(tǒng)領(lǐng)域,基于會話的推薦問題自出現(xiàn)以來,始終是一個研究熱點,其目標(biāo)是根據(jù)用戶在此次會話中與物品的交互記錄(如點擊行為序列、購買行為序列、出行目的地序列等)預(yù)測用戶下一個交互的物品。本文將現(xiàn)有基于會話的推薦算法分為傳統(tǒng)方法和基于深度學(xué)習(xí)的方法兩大類。
傳統(tǒng)方法為基于傳統(tǒng)的機器學(xué)習(xí)思想提出的一系列的方法[7-10]。文獻[8]為了解決兼顧計算性能與推薦質(zhì)量的問題,提出了基于物品鄰域的方法(item-based neighborhood methods),其中物品之間的相似性通過在同一個會話中共同出現(xiàn)的頻率來衡量?;诰仃嚪纸猓∕atrix Factorization)的方法[9]是推薦系統(tǒng)中的通用方法,其基本思想是將一個用戶-物品評價矩陣分解成兩個低秩矩陣,分別表示用戶和物品的潛在因子。由于在基于會話的推薦場景下,用戶的身份是未知的,故矩陣分解方法不適用于該研究問題?;隈R爾可夫決策過程的思想,文獻[10]中提出了FPMCs(Factorized Personalized Markov Chains),將矩陣分解與馬爾可夫鏈兩種方法相結(jié)合,建模相鄰交互物品間的順序關(guān)系??傮w上看,上述傳統(tǒng)方法均忽略了序列數(shù)據(jù)中蘊含的物品間的轉(zhuǎn)移模式。
隨著深度學(xué)習(xí)的快速發(fā)展,研究人員開始嘗試?yán)蒙疃葘W(xué)習(xí)方法解決基于會話的推薦問題[11-19]。文獻[13]首次引入循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)進行基于會話的推薦,提出基于門控循環(huán)單元的GRU4Rec(Gated Recurrent Unit for Recommendation)模型。實驗結(jié)果表明,通過RNN 能夠捕獲到會話中蘊含的物品間的轉(zhuǎn)移模式,極大地提高了推薦性能。之后,文獻[15]中依然采用RNN 的方法,并引入了一系列的優(yōu)化方法,如數(shù)據(jù)增廣(Data augmentation)、預(yù)訓(xùn)練(Pre-training)等,進一步提高了實驗效果?;赗NN 的方法雖然對實驗效果具有極大的提升,但這些方法忽略了會話中蘊含的用戶的購物目的或偏好,對于會話中的信息挖掘仍然不夠充分。
文獻[16]中為解決基于RNN 的方法只考慮到會話中的轉(zhuǎn)移模式,忽略了用戶在會話中的主要目的這一問題,提出了NARM(Neural Attentive Recommendation Machine)模型,結(jié)合RNN 與注意力機制,同時捕獲用戶的序列行為特征及主要目的。之后,文獻[17]中提出了STAMP(Short-Term Attention/Memory Priority)模型,該方法使用簡單的多層感知機(Multi-Layer Perceptron,MLP)網(wǎng)絡(luò)設(shè)計了一種注意力機制,可以有效地捕獲用戶的長期偏好和當(dāng)前興趣,但該方法拋棄了會話中的序列行為特征。
最近,文獻[18]中基于圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network,GNN)強大的節(jié)點表示學(xué)習(xí)能力,提出了SR-GNN(Session-based Recommendation with Graph Neural Network)模型,將用戶的序列行為建模為圖數(shù)據(jù),使用強大的圖神經(jīng)網(wǎng)絡(luò)捕獲物品間的轉(zhuǎn)移模式,然后通過一個簡單的注意力機制捕獲用戶的長期偏好和當(dāng)前興趣。之后,文獻[19]中提出了GC-SAN(Graph Contextual Self-Attention model based on graph neural Network),采用GNN 及自注意力機制相結(jié)合的方式,分別捕獲會話中相鄰物品間的關(guān)系及物品間的全局依賴關(guān)系。上述方法主要基于目標(biāo)會話中的信息進行推薦,未顯式地建模其他會話中的協(xié)同信息。為此,本文提出了基于多圖神經(jīng)網(wǎng)絡(luò)的會話感知推薦模型MGSP,能夠有效地利用個性化偏好信息及協(xié)同信息解決基于會話的推薦問題。
本文MGSP 模型的預(yù)測流程如圖1 所示。模型的輸入是用戶當(dāng)前會話。首先需要獲取物品級別的表示,方法是基于構(gòu)圖模塊構(gòu)建圖結(jié)構(gòu)數(shù)據(jù),然后基于GNN 模塊,通過GNN 強大的節(jié)點表示學(xué)習(xí)能力學(xué)習(xí)物品的表示。由于用戶的當(dāng)前會話中蘊含的信息非常有限,本文在根據(jù)當(dāng)前會話構(gòu)圖的同時,用訓(xùn)練集中的所有會話構(gòu)建全局圖并提取出相應(yīng)的子圖,然后分別應(yīng)用GNN 從兩張圖中學(xué)習(xí)獲得兩類節(jié)點表示,即為物品級別的表示。獲得物品級別的表示后,需要對物品級別的表示進行聚合,獲得會話級別的表示。本文設(shè)計了一種雙層注意力模塊來獲取會話級別的表示,該模塊的作用在于對兩類節(jié)點表示的依賴關(guān)系進行建模,并從中提取重要的信息,獲得會話級別的表示。在獲得會話級別的表示之后,通過預(yù)測模塊獲得最終的預(yù)測結(jié)果。預(yù)測模塊的主要作用是基于注意力機制對兩張圖中學(xué)習(xí)到的信息進行信息融合,并預(yù)測下一個交互的物品?;谏鲜隽鞒谭治?,本文模型結(jié)構(gòu)如圖2 所示,主要由四部分構(gòu)成:ITG 與CRG 構(gòu)建模塊(見2.2 節(jié)),圖神經(jīng)網(wǎng)絡(luò)模塊(見2.3節(jié)),雙層注意力模塊(見2.4節(jié))和預(yù)測模塊(見2.5節(jié))。
圖1 MGSP模型的預(yù)測流程Fig.1 Prediction flowchart of MGSP model
圖2 MGSP模型的結(jié)構(gòu)Fig.2 Structure of MGSP model
基于會話的推薦是指基于用戶在此次會話中與物品的交互記錄(如點擊行為序列、購買行為序列、出行目的地序列等)預(yù)測用戶下一個交互的物品或地點。下面給出本文的符號定義。
集合V={v1,v2,…,v|V|}表示在所有會話中出現(xiàn)過的物品的集合,為了將所有物品映射到統(tǒng)一的嵌入空間,每個物品vi對應(yīng)初始嵌入si∈Rd,d表示嵌入的維度;序列S={v1,v2,…,vn}表示一個會話,其中,n表示會話S的長度,vi∈V,vi在會話S中按照用戶交互的時間順序排列。本文MGSP 模型的目標(biāo)是已知用戶當(dāng)前會話為St={v1,v2,…,vt},預(yù)測用戶在第t+1 時刻會與哪個物品發(fā)生交互,即預(yù)測vt+1。因此,對每個輸入的會話,MGSP 模型會輸出候選集中每個候選物品的偏好值=,其中表示候選物品vi的偏好值。由于推薦系統(tǒng)一般會向用戶產(chǎn)生多個推薦,因此可以從預(yù)測結(jié)果中選擇偏好值最高的N個物品構(gòu)成推薦列表。
在該模塊,本文介紹如何通過目標(biāo)會話、訓(xùn)練集中的所有會話構(gòu)建物品轉(zhuǎn)移圖(ITG)和協(xié)同關(guān)聯(lián)圖(CRG)。ITG 中蘊含著用戶的個性化偏好信息,CRG中蘊含著豐富的協(xié)同信息。
ITG 為有向加權(quán)圖,表示為Gitg=(V,Eitg),其中,V表示在目標(biāo)會話S中出現(xiàn)過的物品集合,Eitg表示物品間的有向邊集合。Gitg的構(gòu)造方法如下:在會話S中,若用戶與物品vi發(fā)生交互后又與物品vj發(fā)生了交互,則對應(yīng)的邊權(quán)加1。
CRG 為無向加權(quán)圖,表示為Gcrg=(V,Ecrg),其中,V表示在目標(biāo)會話中出現(xiàn)過的物品集合,Ecrg表示物品間的無向邊集合。為引入其他會話中的信息作為協(xié)同信息,根據(jù)訓(xùn)練集中的所有會話S構(gòu)建全局的無向加權(quán)圖。首先以訓(xùn)練集中出現(xiàn)過的所有物品為節(jié)點,然后根據(jù)物品在會話中的共現(xiàn)關(guān)系構(gòu)邊,即對訓(xùn)練集中的每一個會話S,若物品vi與vj共同出現(xiàn)在S中,則(vi,vj)對應(yīng)的邊權(quán)加1。最后,根據(jù)目標(biāo)會話中出現(xiàn)的物品集合,從全局圖中抽取出相應(yīng)的子圖,得到Gcrg。
在該模塊,本文介紹如何通過GNN 學(xué)習(xí)節(jié)點的表示。文獻[20]中基于RNN 的思想,在GNN 中引入了門控單元,提出了門控圖序列神經(jīng)網(wǎng)絡(luò)(Gated Graph Sequence Neural Network),該方法極大地增強了GNN 處理序列數(shù)據(jù)的能力。下面以ITG 為例,介紹如何通過門控圖序列神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)節(jié)點的表示。
在圖Gitg中為節(jié)點vi在t次更新之后的表示,其更新函數(shù)如下:
在該模塊,介紹如何對Sitg和Scrg進行處理,生成不同意義的會話級別的表示。該模塊設(shè)計雙層注意力機制:第一層注意力機制捕獲個性化偏好與協(xié)同信息間的隱含關(guān)系;第二層注意力用于捕獲用戶的長期偏好和當(dāng)前興趣,最終得到會話級別的表示。
自注意力機制能夠捕獲節(jié)點表示間隱含的依賴關(guān)系,具有強大的提取特征的能力。故該模塊首先通過自注意力機制同時對兩類節(jié)點表示建模,捕獲個性化偏好與協(xié)同信息間的隱含關(guān)系。將圖神經(jīng)網(wǎng)絡(luò)模塊的輸出Sitg與Scrg并入一個列表,得 到Sall=[sitg,1,sitg,2,…,sitg,n,scrg,1,scrg,2,…,scrg,n],之 后Sall的更新函數(shù)如下:
式(6)~(8)中,Wk、Wq、Wv∈Rd×d均為可訓(xùn)練參數(shù),用于將Sall投射為三個矩陣,作為自注意力模塊的輸入;式(9)中,F(xiàn)s∈Rd×d為自注意力評分矩陣,除以d的平方根是為了避免向量內(nèi)積的值過大,softmax 函數(shù)對自注意力評分進行正則化處理;式(10)根據(jù)自注意力評分矩陣更新物品表示,得到雖然自注意力機制能夠通過合適的權(quán)重聚合節(jié)點的信息,但它仍然是一個線性模型。本文引入帶ReLU 激活函數(shù)的兩層前饋神經(jīng)網(wǎng)絡(luò),賦予模型非線性的能力,并且在前饋神經(jīng)網(wǎng)絡(luò)之后添加一個殘差連接操作,這樣可以有效利用低階特征,使模型效果更加穩(wěn)定[21],具體形式如式(11)所示。
其中:Wf1,Wf2∈Rd×d為可訓(xùn)練的參數(shù)矩陣;b1,b2∈Rd為可訓(xùn)練的偏差向量;ReLU(?)為ReLU激活函數(shù)。
自注意力模塊之后,從E中可得到經(jīng)過自注意力機制處理之后的兩類物品表示:個性化偏好物品表示取E的前n行,記為Hitg=[hitg,1,hitg,2,…,hitg,n];協(xié)同信息物品表示取E的后n行,記為Hcrg=[hcrg,1,hcrg,2,…,hcrg,n]。
為捕獲用戶在會話中的長期偏好和當(dāng)前興趣,該模塊構(gòu)造第二層注意力機制。該注意力機制通過重點關(guān)注用戶的當(dāng)前興趣,聚合節(jié)點表示,從而達到同時捕獲會話中用戶的長期偏好和當(dāng)前興趣的目的,得到會話級別的表示。下面以Hitg為例,介紹聚合流程??紤]到列表中每個物品具有不同的重要性,而用戶當(dāng)前交互的物品可表示當(dāng)前興趣,應(yīng)重點關(guān)注,將列表中的每個物品與用戶當(dāng)前交互的物品計算相似度,以此衡量每個物品在會話中的重要性。計算過程如式(12)和式(13)所示:
其中:W1,W2∈Rd×d;u,b∈Rd均為可訓(xùn)練參數(shù);σ(?)表示sigmoid 函數(shù)。通過上述注意力機制,得到Hitg和Hcrg對應(yīng)的會話級別的表示,分別記為hitg和hitg。
在預(yù)測模塊,雖然會話級別的表示hitg和hitg中蘊含著用戶的長期偏好和當(dāng)前興趣,但為了進一步強調(diào)用戶當(dāng)前興趣的重要性,引入會話中最后一個交互物品的表示增強用戶的當(dāng)前興趣信息,即引入物品表示hitg,n、hcrg,n。四個表示合并得到一個維度為4 ×d的數(shù)組,為便于表示,將該數(shù)組記為H=[h1,h2,h3,h4]=[hcrg,hcrg,n,hitg,hitg,n]??紤]到四個表示在預(yù)測時發(fā)揮的重要性不同,借鑒2.4 節(jié)中的第二層注意力機制,計算H中每個嵌入與hitg,n的相似度,以此衡量四個表示的重要性,實現(xiàn)信息融合。計算過程如式(14)、(15)所示。
對候選集中的每個候選物品vi,其偏好值計算公式如式(16)所示;之后用softmax 函數(shù)將偏好值向量正則化為0 到1的值,如式(17)所示;損失函數(shù)如式(18)所示。
其中:yi為one-hot 向量,表示用戶真實交互的物品;θ為可訓(xùn)練的參數(shù)集合;λ為正則化系數(shù)。
為驗證MGSP 模型的有效性,選擇Diginetica 和Yoochoose兩個公開數(shù)據(jù)集進行評估實驗。Yoochoose 數(shù)據(jù)集(http://2015.recsyschallenge.com/challege.html)由RecSys’2015 挑戰(zhàn)賽提供,其數(shù)據(jù)為電子商務(wù)網(wǎng)站六個月的用戶點擊會話記錄;Diginetica 數(shù)據(jù)集(http://cikm2016.cs.iupui.edu/cikm-cup)由CIKM’2016提供,本文只用到了其中的交互型數(shù)據(jù)。
對兩個數(shù)據(jù)集,仿照文獻[10]的數(shù)據(jù)處理方式,首先過濾長度為1的會話及出現(xiàn)次數(shù)小于5次的物品,并過濾僅出現(xiàn)在測試集中的物品。經(jīng)過上述預(yù)處理:Yoochoose 數(shù)據(jù)集中剩余7 981 580 個會話,37 483 個物品;Diginetica 數(shù)據(jù)集中剩余204 771 個會話,43 097 個物品。仿照文獻[15]的方法,對Diginetica 數(shù)據(jù)集會話中的物品按時間戳排序,構(gòu)成用戶按時間順序排列的交互序列。仿照文獻[11]中的方法,對兩個數(shù)據(jù)集按照如下方法進行擴充:對于會話S={v1,v2,…,vn},可以獲得子序列S={v1,v2},S={v1,v2,v3},…,S={v1,v2,…,vn},其中每個子序列的最后一個物品作為標(biāo)簽數(shù)據(jù),其余物品序列作為輸入數(shù)據(jù),構(gòu)成一個樣本。在Yoochoose數(shù)據(jù)集中,選擇最后一天的數(shù)據(jù)作為測試集;在Diginetica 數(shù)據(jù)集中,選擇最后一周的數(shù)據(jù)作為測試集,余下的數(shù)據(jù)作為訓(xùn)練集。另外,對Yoochoose 數(shù)據(jù)集,仿照文獻[16]和文獻[17]中的方式,對訓(xùn)練集中的會話按時間排序,選擇最后1/64的數(shù)據(jù)作為實際的訓(xùn)練集。有關(guān)兩個數(shù)據(jù)集的統(tǒng)計數(shù)據(jù)如表1所示。
表1 數(shù)據(jù)集的統(tǒng)計信息Tab.1 Statistics of datasets
本文選用精確率(Precision)、平均倒數(shù)排名(Mean Reciprocal Rank,MRR)和歸一化折損累計增益(Normalized Discounted Cumulative Gain,NDCG)作為模型評測標(biāo)準(zhǔn)。
P@N用于衡量推薦系統(tǒng)的預(yù)測準(zhǔn)確性,表示推薦排名列表中前N個推薦物品包含正確的物品的樣本數(shù)占總樣本數(shù)的比例,計算公式為:
其中:n表示測試集中樣本總數(shù);nhit表示在前N個推薦物品中包含正確的物品的樣本數(shù)。
MRR@N用于衡量樣本中正確物品在推薦排名列表中的排名,排名越靠前,MRR 的值越大;若正確物品未包含在推薦列表中,則對MRR的增益為0。計算公式為:
其中:n表示測試集中樣本總數(shù);M表示前N個推薦物品中包含正確的物品的樣本集;ranki表示物品i在推薦排名列表中的排名。
NDCG@N綜合衡量推薦結(jié)果的準(zhǔn)確性以及正確物品在推薦排名列表中的排名,是一種全面的Top-N推薦準(zhǔn)確率評價指標(biāo),計算公式為:
其中:R(s,p)的值為0或1,針對會話s,若推薦列表中的第p個物品為正確預(yù)測物品,則R(s,p)為1,否則為0。IDCG@N(s)是進行歸一化的參數(shù),其取值是DCG@N(s)能達到的最大值,即正確預(yù)測的物品在推薦列表中排第一名時對應(yīng)的DCG@N(s)值。
本文實驗中取N=20。
為了驗證MGSP 模型的有效性,本文選擇以下模型作為對比模型:
1)POP(Popularity):根據(jù)物品在訓(xùn)練集中出現(xiàn)的頻率進行推薦。
2)Item-KNN(Item Based K-Nearest Neighbor)[8]:根據(jù)會話中點擊過的物品推薦相似的物品,其中物品間的相似度通過物品在訓(xùn)練集所有會話中共同出現(xiàn)的次數(shù)來衡量。
3)FPMC[10]:結(jié)合矩陣分解與馬爾可夫鏈兩種方法,建模相鄰交互物品間的順序行為關(guān)系。該方法不僅減少了參數(shù),還能夠同時捕捉時間信息和長期的用戶喜好信息。
4)GRU4REC[13]:首次引入RNN 來解決基于會話的推薦這一領(lǐng)域的問題,采取一定的策略提高訓(xùn)練效率,并設(shè)計了一種基于排名的損失函數(shù)。
5)NARM[16]:采用RNN 與注意力機制相結(jié)合的方法,使用RNN 捕獲用戶的序列行為特征,使用注意力機制捕獲用戶的主要目的。
6)STAMP[17]:拋棄會話中的序列行為特征,強調(diào)用戶當(dāng)前興趣的重要性,設(shè)計了一種注意力機制,有效地捕獲用戶的長期偏好和當(dāng)前興趣。
7)SR-GNN[18]:將用戶的序列行為建模為圖數(shù)據(jù),通過GNN 捕獲物品間的轉(zhuǎn)移模式,然后通過注意力機制捕獲用戶的長期偏好和當(dāng)前興趣。
8)GC-SAN[19]:在SR-GNN的基礎(chǔ)上將普通注意力機制改為自注意力機制,通過GNN 捕獲物品間的局部依賴關(guān)系,通過自注意力機制捕獲物品間的全局依賴關(guān)系。
對比模型的維度均設(shè)為100,取訓(xùn)練過程中的最優(yōu)結(jié)果,每個實驗重復(fù)10次,并取平均值作為最終結(jié)果。
本文設(shè)定隱向量的維度d=100,學(xué)習(xí)率lr=0.001,每迭代3 次學(xué)習(xí)率衰減10%,正則化系數(shù)λ=10-5,訓(xùn)練批量設(shè)定為128,使用Adam 算法優(yōu)化模型參數(shù),迭代次數(shù)設(shè)定為30,并設(shè)計了早停策略。使用均值為0、標(biāo)準(zhǔn)差為0.1的高斯分布初始化所有參數(shù)。
為驗證MGSP 模型的性能,本文設(shè)計了4 組實驗,并對實驗結(jié)果進行了分析。
第一組實驗將MGSP 模型與其他對比模型進行對比,表2給出了MGSP 模型與其他對比模型在兩種數(shù)據(jù)集上的實驗結(jié)果。從表2可以看出:
1)GRU4REC 在性能上遠(yuǎn)優(yōu)于Item-KNN、FPMC 等傳統(tǒng)方法。這表明傳統(tǒng)方法難以捕獲到序列數(shù)據(jù)中蘊含的豐富的信息,而RNN 能夠有效地捕獲物品序列中物品間的轉(zhuǎn)移模式,給出更精確的推薦。
2)基于注意力機制的NARM、STAMP 在效果上要優(yōu)于GRU4REC,表明引入注意力機制有利于捕獲會話中蘊含的用戶偏好。STAMP 提出基于用戶最后一次交互的物品捕獲用戶的當(dāng)前興趣,結(jié)合用戶的長期偏好給出推薦,且取得了不錯的效果,這表明會話中的信息具有時效性,用戶的當(dāng)前興趣對于精確推薦非常重要。
3)SR-GNN 和GC-SAN 引入GNN 來捕獲物品間的轉(zhuǎn)移模式,并通過注意力機制捕獲用戶的偏好,取得了不錯的效果,且其效果在較大程度上優(yōu)于GRU4REC、NARM,體現(xiàn)了GNN捕獲物品間的轉(zhuǎn)移模式的強大能力。
4)對比本文MGSP 模型與其他模型可以看出,MGSP 模型在每一個數(shù)據(jù)集的每一項指標(biāo)上均具有至少1 個百分點的提升,表明引入其他會話中的協(xié)同信息進行信息擴充是非常有必要的,也表明本文MGSP 模型可以有效地建模個性化偏好信息及協(xié)同信息。
表2 不同模型在兩個數(shù)據(jù)集上的性能對比 單位:%Tab.2 Performance comparison of different models on two datasets unit:%
第二組實驗針對MGSP 模型進行消融實驗,驗證模型中主要組成部分的有效性。MGSP_1表示只對ITG 建模,即只建模用戶的個性化偏好信息;MGSP_2表示只對CRG 建模,即只建模用戶的協(xié)同信息;MGSP_3 表示去掉雙層注意力模塊的第一層自注意力模塊,即不考慮個性化偏好信息與協(xié)同信息間的隱含關(guān)系;MGSP_4 表示去除模型中預(yù)測模塊的注意力機制,使用mean-pooling 操作來進行信息融合。各模型實驗結(jié)果如表3所示,從表3中可以看出:
1)MGSP_1在各項指標(biāo)上均優(yōu)于MGSP_2,表明在產(chǎn)生推薦時用戶的個性化偏好信息比協(xié)同信息重要,體現(xiàn)了個性化推薦的重要性。
2)對比MGSP_2 與MGSP 可以看出,當(dāng)對兩個圖同時建模時可以取得更好的效果,表明引入其他會話中的協(xié)同信息,可以起到很好的信息補充作用。
3)對比MGSP_3 與MGSP,前者的性能明顯下降,表明自注意力模塊能夠有效地捕獲個性化偏好信息與協(xié)同信息間的隱含關(guān)系,提高推薦準(zhǔn)確性。
4)對比MGSP_4 與MGSP,前者的性能明顯下降,表明本文提出的注意力機制可以有效地進行信息融合,提高模型的性能。
通過上述分析可以得出,MGSP 模型中的各個主要組成部分都是有效的。
表3 MGSP模型的消融實驗結(jié)果 單位:%Tab.3 Ablation experimental results of MGSP model unit:%
第三組實驗測試在不同會話長度下的MGSP 模型性能。由于SR-GNN 和GC-SAN兩個模型在對比模型中表現(xiàn)最好,所以本組實驗選擇SR-GNN 和GC-SAN 作為對比模型。設(shè)定會話長度范圍為1 到20,選擇P@20 為評估指標(biāo),在兩個數(shù)據(jù)集上進行實驗,實驗結(jié)果如圖3 所示。對比三個模型在長會話和短會話上的表現(xiàn),可以發(fā)現(xiàn)在Diginetica 數(shù)據(jù)集上會話長度為2 時預(yù)測效果最好,在Yoochoose 1/64 數(shù)據(jù)集上會話長度為3 時預(yù)測效果最好;而隨著會話長度的增加,三個模型的預(yù)測效果呈下降趨勢,但MGSP 模型的下降趨勢最為平緩,且在會話較長時效果明顯好于SR-GNN 和GC-SAN。原因可能是由于會話長度較長時,很難捕獲到用戶的興趣轉(zhuǎn)移模式或意圖,導(dǎo)致模型效果降低。另外,可以很明顯地發(fā)現(xiàn),在大部分會話長度下,MGSP模型的性能明顯優(yōu)于SR-GNN和GC-SAN。
圖3 不同會話長度下的模型性能對比Fig.3 Performance comparison of different models under different session lengths
第四組實驗測試在嵌入維度d取不同值時,MGSP 模型的性能。本組實驗仍然選擇SR-GNN 和GC-SAN作為對比模型。設(shè)定嵌入維度d的取值范圍為10 到120,選擇P@20 為評估指標(biāo),在兩個數(shù)據(jù)集上進行實驗,實驗結(jié)果如圖4 所示。從圖4可以看出,隨著嵌入維度d的增加,三個模型的性能均有所提升,但當(dāng)嵌入維度d達到60時,三個模型的性能不再隨著嵌入維度d的增加而提升。另外,可以很明顯地發(fā)現(xiàn),在各個嵌入維度下,MGSP模型的性能均優(yōu)于SR-GNN和GC-SAN。
圖4 不同嵌入維度下的模型性能對比Fig.4 Performance comparison of different models under different embedding dimensions
為驗證MGSP模型在應(yīng)用上的可擴展性,將MGSP模型遷移至其他領(lǐng)域,驗證它在其他領(lǐng)域的數(shù)據(jù)集上是否仍然具有非常好的性能。在民航領(lǐng)域,旅客出行記錄通常較少,與基于會話的推薦場景類似,因此本文將MGSP 模型應(yīng)用于民航旅客出行目的地預(yù)測問題來測試模型的性能。該實驗?zāi)K會話由旅客歷史出行序列數(shù)據(jù)構(gòu)成,目標(biāo)為預(yù)測旅客下一次出行的目的地城市。由于本實驗將旅客出行目的地預(yù)測問題視為會話推薦問題,故實驗中未涉及其他特征信息,如年齡、性別等,在實際應(yīng)用中可以通過引入額外特征信息進一步提升預(yù)測準(zhǔn)確性。本實驗使用的數(shù)據(jù)為經(jīng)過脫敏處理的旅客出行記錄,本文將該數(shù)據(jù)集稱為HVR(Historical Voyage Records)。HVR 為10 萬旅客在三年零六個月的出行記錄,涉及機場426個,完整航程記錄264 647條,航段470 239個。首先篩選歷史總航段數(shù)不低于3 的航程記錄,然后按照如下規(guī)則劃分訓(xùn)練集、測試集:對每一位旅客的歷史行程序列,將最后一次出行構(gòu)成的樣本作為測試集,之前的樣本作為訓(xùn)練集。最終獲得訓(xùn)練集155 179條,測試集34 535條。
本實驗仍選用P@N、MRR@N和NDCG@N作為模型評測標(biāo)準(zhǔn),由于機場的數(shù)量較少,故展示N為3 和5 的情況下的實驗結(jié)果。本實驗選擇的對比模型為兩個前沿模型SR-GNN 和GC-SAN,實驗結(jié)果如表4 所示。從表4 可以看出,SR-GNN 和GC-SAN 在該數(shù)據(jù)集上表現(xiàn)良好,但MGSP 模型通過多圖的構(gòu)造,利用了更加豐富的信息,在各項指標(biāo)結(jié)果上均明顯優(yōu)于SR-GNN 和GC-SAN 模型,具有約3 個百分點的提升。通過本實驗也驗證了MGSP 模型在不同領(lǐng)域都具有較好的預(yù)測性能。
表4 不同模型在HVR上的性能對比 單位:%Tab.4 Performance comparison of different models on HVR unit:%
本文提出了基于多圖神經(jīng)網(wǎng)絡(luò)的會話感知推薦模型MGSP,該模型通過構(gòu)造多圖引入其他會話中的信息作為協(xié)同信息,并設(shè)計了一種圖神經(jīng)網(wǎng)絡(luò)與注意力機制相結(jié)合的方法,同時對用戶的個性化偏好信息以及協(xié)同信息進行建模,最后通過注意力機制對兩類信息進行融合,生成精確的推薦結(jié)果。分別在電商和民航兩個場景下進行了對比實驗,實驗結(jié)果表明,本文的MGSP 模型在各項指標(biāo)上均優(yōu)于SR-GNN、GC-SAN等基準(zhǔn)模型。另外,本文還通過消融實驗驗證了模型中各組成部分的有效性。在下一步的研究工作中,將研究如何在引入?yún)f(xié)同信息時對會話進行篩選,希望通過引入相似度或相關(guān)性較高的會話來進一步提升推薦準(zhǔn)確性。