任 豪 劉柏嵩 孫金楊 董 倩 錢江波
(寧波大學(xué)信息科學(xué)與工程學(xué)院 浙江寧波 315211)(janeyren@126.com)
序列推薦(sequential recommendation, SR)[1-2]算法旨在利用馬爾可夫鏈[3]、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)、 卷 積 神 經(jīng) 網(wǎng) 絡(luò) (convolutional neural network, CNN)[4-5]以 及 圖 神 經(jīng) 網(wǎng) 絡(luò) (graph neural network, GNN)[6-9]等技術(shù)從一系列具有時間先后關(guān)系的行為序列中挖掘用戶動態(tài)行為模式,預(yù)測用戶可能感興趣的或點(diǎn)擊的下一個項(xiàng)目.傳統(tǒng)推薦算法從用戶長期靜態(tài)歷史行為中挖掘其偏好,忽略該用戶在當(dāng)前狀態(tài)下的興趣偏好的挖掘和利用;序列推薦算法則綜合考慮用戶的長期歷史偏好和當(dāng)前興趣偏好,注重用戶動態(tài)行為偏好的挖掘和捕捉,在新聞推薦、朋友推薦、音樂推薦、點(diǎn)擊率預(yù)測等實(shí)際場景下發(fā)揮重要作用.當(dāng)前,以GNN為基礎(chǔ)模型建模用戶興趣偏好的序列推薦模式被證明在同等條件下其推薦最為有效[6].但此類算法的有效性嚴(yán)重依賴于豐富的歷史行為數(shù)據(jù),對于新用戶或非活躍用戶來說,其已知的歷史行為數(shù)據(jù)相對稀疏,此時,用戶意圖預(yù)測的準(zhǔn)確性較低,推薦效果受數(shù)據(jù)稀疏性影響明顯.利用遷移學(xué)習(xí)從其他相關(guān)領(lǐng)域遷移合適的領(lǐng)域知識輔以解決當(dāng)前領(lǐng)域的問題是緩解數(shù)據(jù)稀疏性影響的一種有效方法[10].在現(xiàn)實(shí)情況下,用戶往往同時與多個領(lǐng)域的項(xiàng)目進(jìn)行交互.自然地,當(dāng)用戶在域A中的交互歷史較少時,可以考慮從包含更多行為數(shù)據(jù)的相關(guān)域B中獲取相關(guān)數(shù)據(jù),遷移相關(guān)領(lǐng)域B中用戶的共同偏好以提高域A的推薦效果.近年來,部分工作[11-17]開始考慮利用遷移學(xué)習(xí)增強(qiáng)序列推薦算法的性能,跨域序 列 推 薦(cross-domain sequential recommendation,CDSR)算法被提出來,用以降低數(shù)據(jù)稀疏性問題對建模用戶偏好準(zhǔn)確性的影響.但是現(xiàn)有跨域序列推薦算法仍存在2個方面問題:
1)大多數(shù)推薦算法僅考慮用戶在域間的共同偏好特征的提取與遷移,忽略不同領(lǐng)域中域間獨(dú)有特征的利用,導(dǎo)致經(jīng)過跨域知識遷移之后的用戶偏好表示近乎完全相同,進(jìn)而降低某個領(lǐng)域中項(xiàng)目與用戶偏好的匹配度.
2)用戶行為序列中蘊(yùn)含的可用信息的挖掘與利用尚不充分.大多數(shù)情況下只利用項(xiàng)目間的相對時序關(guān)系初步建模序列中項(xiàng)目間的轉(zhuǎn)換關(guān)系,忽略序列項(xiàng)目間的復(fù)雜轉(zhuǎn)換關(guān)系的挖掘,導(dǎo)致用戶的意圖預(yù)測不準(zhǔn)確.
受協(xié)同過濾思想啟發(fā),針對上述問題,提出基于時間和關(guān)系感知的圖協(xié)同過濾跨域序列推薦(time and relation-aware graph collaborative filtering for crossdomain sequential recommendation,TRaGCF)算法.該算法主要包括3個模塊:1)為獲得用戶行為序列中項(xiàng)目間高階復(fù)雜的時序依賴關(guān)系,提出時間感知圖注意力(time-aware graph attention,Ta-GAT),從已知的用戶歷史行為序列中獲取項(xiàng)目的域間序列級嵌入表示;2)從域內(nèi)用戶?項(xiàng)目交互二部圖中挖掘用戶的行為偏好,提出關(guān)系感知圖注意力(relation-aware graph attention,Ra-GAT)學(xué)習(xí)項(xiàng)目協(xié)同表示以及用戶協(xié)同偏好表示,為用戶偏好的跨域遷移提供基礎(chǔ);3)為同時提高2個領(lǐng)域中的推薦效果,提出用戶偏好特征雙 向 遷 移 模塊 (user preference feature bi-directional transfer module,PBT)模塊,遷移域間用戶共有偏好,同時保留用戶的域間特有偏好.
本文的主要貢獻(xiàn)包括4個方面:
1)針對CDSR問題,提出了TRaGCF算法,將圖協(xié)同過濾引入到序列推薦算法中,建立用戶偏好跨域遷移的橋梁,從而緩解數(shù)據(jù)稀疏對推薦結(jié)果的影響.
2) 為從用戶偏好特征學(xué)習(xí)過程中區(qū)分不同關(guān)系發(fā)揮的作用,提出關(guān)系感知圖注意力提取項(xiàng)目協(xié)同表示和用戶協(xié)同偏好嵌入表示,為用戶偏好的跨域遷移提供基礎(chǔ).
3)提出用戶偏好特征雙向遷移模塊,實(shí)現(xiàn)不同域之間的用戶共有偏好遷移,并保留用戶的域間特有偏好.
4)在2個公開的數(shù)據(jù)集上驗(yàn)證算法的正確性和有效性.實(shí)驗(yàn)結(jié)果表明,跨域遷移用戶偏好過程中保留域內(nèi)用戶特有偏好對全面用戶畫像十分必要.
GNN[18-19]在非歐氏空間中能有效建模項(xiàng)目間復(fù)雜的高階關(guān)系,使得GNN成為大多數(shù)序列推薦算法的基礎(chǔ)模型之一,通過將序列化問題轉(zhuǎn)換為圖問題以求解相應(yīng)的推薦問題,取得可喜的成果[6,20-21].Wu等人[6]提出基于圖神經(jīng)網(wǎng)絡(luò)的序列推薦算法(sessionbased recommendation with graph neural networks, SRGNN),將一個會話中用戶交互序列構(gòu)建為一個有向圖,再利用門控圖神經(jīng)網(wǎng)絡(luò)(gated graph neural network,GGNN)提取用戶的偏好表示,取得較好推薦效果.此后,包括基于圖上下文自我注意力網(wǎng)絡(luò)的會話推薦模 型(graph contextualized self-attention network for session-based recommendation,GC-SAN)[22]在內(nèi)的多種變體相繼被提出,Qiu等人[9]提出構(gòu)造一種帶有自環(huán)的會話圖,借助多頭注意力來學(xué)習(xí)項(xiàng)目間的轉(zhuǎn)換模式,重新考慮會話中的項(xiàng)目序列模式以得到相應(yīng)的推薦.基于注意力機(jī)制的個性化圖神經(jīng)網(wǎng)絡(luò)(personalized graph neural networks with attention mechanism, APGNN)[23]算法模型則利用自注意力挖掘用戶歷史會話和當(dāng)前會話中的項(xiàng)目間細(xì)粒度轉(zhuǎn)換關(guān)系建模其動態(tài)偏好,以用戶身份信息作為指導(dǎo)做相應(yīng)的個性化推薦;基于全局上下文增強(qiáng)圖神經(jīng)網(wǎng)絡(luò)的會話推薦(global context enhanced graph neural networks for session-based recommendation,GCE-GNN)[24]模型首先構(gòu)建會話圖和全局會話圖,再利用注意力機(jī)制學(xué)習(xí)項(xiàng)目的會話級和全局級嵌入表示;基于記憶增強(qiáng)圖神經(jīng)網(wǎng)絡(luò)的序列推薦(memory augmented graph neural networks for sequential recommendation, MA-GNN)[25]
模型則利用共享記憶網(wǎng)絡(luò)編碼項(xiàng)目間的長期依賴關(guān)系,建模用戶的長短期興趣.雖這些算法的推薦性能已有明顯改善,但它們都只考慮2個連續(xù)項(xiàng)目之間的簡單的成對轉(zhuǎn)換關(guān)系,忽略了非連續(xù)項(xiàng)目間的高階復(fù)雜的轉(zhuǎn)換關(guān)系,從而導(dǎo)致部分可用信息丟失.盡管上述研究表明,基于GNN的序列推薦算法性能優(yōu)于其他序列推薦算法,但仍存在3點(diǎn)不足: 1)對項(xiàng)目間高階轉(zhuǎn)換關(guān)系的挖掘尚不充分;2)項(xiàng)目間的時間信息對建模項(xiàng)目間轉(zhuǎn)換關(guān)系的貢獻(xiàn)研究不夠;3)極少有工作同時考慮用戶的當(dāng)前興趣和全局興趣偏好.
數(shù)據(jù)稀疏和冷啟動問題是推薦系統(tǒng)中常見的問題,在序列推薦場景中這些問題的影響尤為明顯.Ma等人[11]提出一種全新的跨域序列推薦算法,解決在具有共享賬戶條件下的跨域推薦問題.該算法首先利用2個并行的RNN組成一個并行信息共享網(wǎng)絡(luò)(parallel information-sharing network,π-Net),以 2 個域間共享賬戶作為知識遷移橋梁,通過共享賬戶過濾單元(shared account filter unit,SFU)提取特定用戶的表示來識別不同的用戶行為;再利用門控機(jī)制過濾掉可能對另一個域有用的信息,跨域信息遷移單元(cross-domain transfer unit,CTU)自適應(yīng)地聚合每個時間戳中SFU的輸出特征并將其遷移到另一個域中,實(shí)現(xiàn)2個域同時推薦.隨后,郭磊等人[12]用自注意力網(wǎng)絡(luò)替代RNN對π-Net進(jìn)一步提出基于自注意力的跨域推薦模型(self-attention-based cross-domain recommendation model,SCRM),解決 RNN 無法建模項(xiàng)目間長期依賴問題.π-Net和SCRM算法都是特定的多用戶共享賬號的跨域推薦問題,而對于更一般情況下的跨域推薦場景來說,這2個算法都能不完全適用.于是,Ma 等人[13]進(jìn)一步提出混合信息流網(wǎng)絡(luò)(a mixed information flow network,MIFN),通過行為遷移單元從行為信息流中提取出與用戶偏好相關(guān)的有用信息,并將其遷移到目標(biāo)域中;以知識圖譜作為基礎(chǔ)知識遷移單元,建立不同領(lǐng)域中項(xiàng)目間關(guān)聯(lián)關(guān)系.除此之外,Ma等人[13]還提出一種跨域圖卷積機(jī)制來區(qū)分知識圖譜中的項(xiàng)目,達(dá)到“在合適時機(jī)遷移合適的知識”的目的.基于并行循環(huán)網(wǎng)絡(luò)的跨域推薦算法模型(cross-domain hierarchical recurrent model, CDHRM)[15]則通過2個并行的RNN挖掘用戶跨域行為中項(xiàng)目的關(guān)聯(lián)性,實(shí)現(xiàn)跨域序列推薦.該算法同時考慮用戶的當(dāng)前興趣偏好和用戶全局興趣偏好,解決用戶跨域行為交互過程存在的異步遷移問題.
協(xié)同過濾(collaborative filtering,CF)[26]是現(xiàn)代推薦系統(tǒng)中的最常見的技術(shù)之一,通過將用戶?項(xiàng)目交互關(guān)系映射到2個空間中分別得到用戶的嵌入表示和項(xiàng)目的嵌入表示,二者執(zhí)行內(nèi)積運(yùn)算得到預(yù)測評分.近年來,GNN在非歐氏空間中對非線性高階關(guān)系特征學(xué)習(xí)的高效性使其自然地被引入到CF中來,從用戶?項(xiàng)目交互二部圖中學(xué)習(xí)用戶和項(xiàng)目的表示以預(yù)測用戶的偏好.圖卷積矩陣補(bǔ)全模型(graph convolutional matrix completion,GCMC)[27]在編碼用戶?項(xiàng)目交互特征時,利用圖卷積網(wǎng)絡(luò)(graph convolutional network,GCN)來探索用戶與項(xiàng)目間的關(guān)聯(lián).Wang等人[28]提出的神經(jīng)圖協(xié)同過濾(neural graph collaborative filtering,NGCF)將GCN集成到嵌入表示學(xué)習(xí)過程,通過堆疊多個嵌入傳播層,捕獲協(xié)作信號,建立用戶與項(xiàng)目之間的高級連接,但其設(shè)計(jì)較復(fù)雜.LRGCCF[29]證明了NGCF中非線性變換函數(shù)對協(xié)同過濾效果沒有提升,甚至限制了其應(yīng)用于更大的數(shù)據(jù)集的可能性.此外,LR-GCCF利用殘差學(xué)習(xí)解釋了所有圖層的輸出間存在關(guān)聯(lián)的原因.隨后,輕量圖卷積網(wǎng) 絡(luò)(light graph convolutional network, LightGCN)[30]刪除包括激活函數(shù)、非線性轉(zhuǎn)換函數(shù)等對CF無明顯促進(jìn)作用的2個操作來簡化NGCF,進(jìn)一步降低模型復(fù)雜度.此外,考慮到用戶間和項(xiàng)目間存在異構(gòu)信息,多圖卷積協(xié)同過濾(multi-graph convolution collaborative filtering ,Multi-GCCF)模型[31]分別構(gòu)造了 2 個獨(dú)立的用戶?用戶圖和項(xiàng)目?項(xiàng)目圖,利用一個多圖編碼層來整合用戶?用戶圖、用戶?項(xiàng)目圖和項(xiàng)目?項(xiàng)目圖所提供的信息,編碼用戶表示以及項(xiàng)目表示.利用上述模型建模用戶偏好表示時需要有足夠的用戶?項(xiàng)目交互數(shù)據(jù),算法性能受到數(shù)據(jù)稀疏影響明顯,無法直接用于跨域場景中.
跨域序列推薦旨在從給定的某用戶在一段時間內(nèi)的交互行為序列中挖掘其興趣偏好,以預(yù)測該用戶在多個域中最可能同時與之交互的下一個項(xiàng)目,緩解序列推薦中的數(shù)據(jù)稀疏的影響,這里以用戶重疊的2個域?yàn)槔M(jìn)行說明.
設(shè)VA={vA1,v2A,…,vmA} 是域A中m個非重復(fù)項(xiàng)目集合,VB={v1B,v2B,…,vnB} 是域B中n個非重復(fù)項(xiàng)目集合,U={u1,u2,…,uM} 表示域A和域B中所有的共有M個非重復(fù)用戶集合.為建模項(xiàng)目間時序依賴關(guān)系,本算法中同時給定用戶在A和B兩個域中的交互行為序列.以用戶u1為例,設(shè)其在域A中的交互序列為sA={v1A,v2A,…,viA}, 其 在 域B中 的 行 為 序 列 為sB={v1B,v2B,…,vBj},其中vdi表示用戶u1在領(lǐng)域d∈{A,B}中與項(xiàng)目vi交互過,則跨域序列推薦的目標(biāo)是根據(jù)已知的sA和sB的情況下預(yù)測某個用戶下一項(xiàng)交互的項(xiàng)目,即分別預(yù)測域A和域B中的候選項(xiàng)目被推薦出來的概率
TRaGCF算法處理過程為:1)在初始化階段,通過嵌入層得到用戶和項(xiàng)目的初始化嵌入表示.2)在項(xiàng)目的域內(nèi)序列級表示學(xué)習(xí)階段,將域A( 或B)中給定的用戶行為序列構(gòu)造為一個加權(quán)有向圖GA(或GB),提出一種改進(jìn)的時間感知圖注意力獲得域內(nèi)項(xiàng)目的序列級表示.3)在跨域項(xiàng)目和用戶協(xié)同表示學(xué)習(xí)階段,為給定用戶項(xiàng)目交互行為構(gòu)造跨域交互類二部圖,提出Ra-GAT分別學(xué)習(xí)項(xiàng)目和用戶的協(xié)同表示.4)在特征聚合與特征遷移階段,將項(xiàng)目的協(xié)同表示和序列級嵌入表示聚合成為最終的項(xiàng)目表示;用戶特征表示則分為特征聚合和特征遷移2部分,用戶偏好特征聚合方式類似于項(xiàng)目表示的聚合方法,用戶特征遷移通過本文提出的PBT雙向遷移用戶域間共享偏好與域內(nèi)特有偏好以聚合得到域內(nèi)用戶的終極表示.5)在預(yù)測與推薦階段,通過每個域內(nèi)用戶和項(xiàng)目終極表示的點(diǎn)積計(jì)算出候選項(xiàng)目被推薦的概率,做出相應(yīng)的下一項(xiàng)推薦.TRaGCF模型如圖1所示.
利用一層嵌入層對給定用戶u和項(xiàng)目v進(jìn)行初始化為huj和hvj,其中j∈{A,B}.對于域A
其中P和Q分別表示用戶和項(xiàng)目的可學(xué)習(xí)參數(shù)矩陣,xu和xv分別表示用戶u∈U和項(xiàng)目v∈V的獨(dú)熱編碼,和分別表示域A和域B中相同用戶的嵌入表示向量.類似地,得到在域B的用戶初始化嵌入表示
項(xiàng)目的域內(nèi)序列級表示可從用戶某個領(lǐng)域中給定的歷史行為序列中挖掘更多項(xiàng)目間的高階復(fù)雜的轉(zhuǎn)換關(guān)系,從而建模項(xiàng)目間更長的時序依賴關(guān)系.給定某個用戶的歷史行為序列,項(xiàng)目間交互時間信息可反映項(xiàng)目間關(guān)聯(lián)關(guān)系,且項(xiàng)目間關(guān)聯(lián)關(guān)系的緊密程度與交互時間差的多少成反比.基于此,提出機(jī)制Ta-GAT學(xué)習(xí)項(xiàng)目的序列級表示.由于域A和域B中計(jì)算方法完全相同,僅以域A為例,域B則可自然得到.
在TRaGCF中,首先用類似于SR-GNN[6]中的會話圖的構(gòu)建方法在域A和域B中分別構(gòu)建有向序列圖GA={VA,EA,WA} 和GB={VB,EB,WB},序列圖構(gòu)造的示意圖如圖2所示.其中,V={v1,v2,…,vm}是有向圖中的節(jié)點(diǎn)集合,vm表示用戶在某個領(lǐng)域中交互過的項(xiàng)目;E表示有向圖中的有向邊的集合,考慮到節(jié)點(diǎn)間邊的方向和類型可能反映出節(jié)點(diǎn)間的不同關(guān)系,且當(dāng)2個節(jié)點(diǎn)間存在雙向連邊時,該節(jié)點(diǎn)項(xiàng)目間的關(guān)聯(lián)程度則相對于僅存在一條連邊的項(xiàng)目間的關(guān)聯(lián)性更大,為此設(shè)定4種類型的邊,即rij={rout,rin,rin-out,rself},rout表示只有1條從vi到vj的有向邊,rin則表示僅有1條從vj到vi的有向邊,rin-out表 示 節(jié) 點(diǎn)vi和vj間 存 在雙向連邊,rself表示節(jié)點(diǎn)的自連邊,用于自身關(guān)系的更新與傳遞;權(quán)值矩陣WA(或WB)是通過序列中項(xiàng)目間的交互時間計(jì)算出的時間感知權(quán)重矩陣,則項(xiàng)目間的時間權(quán)重 ωi,j計(jì)算為其 中ti,j表 示 項(xiàng) 目vi和vj的 交 互 時 間 差 ,tmax和tmin分 別表示給定序列中相鄰2個項(xiàng)目的交互時間差的最大值和最小值,其中 ωi,j的取值與項(xiàng)目vi和vj關(guān)系的緊密程度成正比,且該值越大,將對應(yīng)的項(xiàng)目推薦給用戶的可能性越大.
Fig.1 The frame of TRaGCF圖1 TRaGCF 模型框架
其次,根據(jù)圖2構(gòu)造的時間感知序列圖學(xué)習(xí)序列中項(xiàng)目的表示,即節(jié)點(diǎn)間消息聚合與節(jié)點(diǎn)表示更新.不同鄰居項(xiàng)目節(jié)點(diǎn)的重要程度不同,2個節(jié)點(diǎn)連邊的類型和對應(yīng)的時間間隔長短可反映出2個項(xiàng)目的關(guān)聯(lián)程度.為此,考慮2個項(xiàng)目時間感知權(quán)重以及利用邊類型感知注意力建模項(xiàng)目之間不同的關(guān)聯(lián)程度,提出一種改進(jìn)的邊類型感知注意力,計(jì)算為
其 中 αij表 示2個 項(xiàng) 目 節(jié) 點(diǎn)vi和vj的 關(guān) 聯(lián) 程 度 ,rij表示這2個節(jié)點(diǎn)間邊的類型, γ?和W[i,j] 分別表示邊類型感知注意力權(quán)重和時間感知權(quán)重.進(jìn)一步,為增加節(jié)點(diǎn)間的可比性,將上述注意力權(quán)重執(zhí)行歸一化處理:
Fig.2 Time-aware sequential graph圖2 時間感知序列圖
βij表示不同的鄰居衛(wèi)星節(jié)點(diǎn)對目標(biāo)項(xiàng)目節(jié)點(diǎn)的貢獻(xiàn),其值是不等的,用來衡量其傳遞到當(dāng)前節(jié)點(diǎn)的信息量.考慮到節(jié)點(diǎn)前一階段的表示對當(dāng)前項(xiàng)目的表示有一定的影響,顯式聚合該節(jié)點(diǎn)上一次的序列級表示,即
考慮到單層Ta-GAT可聚合來自目標(biāo)節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)的信息,為了建模項(xiàng)目間的高階復(fù)雜關(guān)系,聚合更多可用的輔助信息,進(jìn)一步堆疊多層Ta-GAT得到項(xiàng)目的k階表示:
其中,aggregate()表示聚合函數(shù).
該模塊旨在從給定的用戶和項(xiàng)目的交互行為中挖掘更多的信息用于后續(xù)推薦.首先建立如圖3所示的用戶?項(xiàng)目交互二部圖H={U,V,E},其中U表示用戶集,V表示項(xiàng)目集,e=(u,v)∈E表示用戶u和項(xiàng)目v之間有交互行為.
Fig.3 A user-item interaction bipartite graph圖3 用戶?項(xiàng)目交互二部圖
從圖3中可以看出,對于任意用戶節(jié)點(diǎn)u,其直接相連的一定是項(xiàng)目節(jié)點(diǎn)v,反之亦然.對于特定用戶,其偏好可能受其交互過的項(xiàng)目的影響,也可能受和其品味相同的用戶的行為左右,受R-GCN(relational graph convolutional network)[32]的啟發(fā),本文中將“u→v”和“v→u”看成是2種不同類型的邊,分別代表 “喜歡”和“被喜歡”2種含義,并在最終的推薦中發(fā)揮不同作用.為此,提出Ra-GAT用于學(xué)習(xí)用戶和項(xiàng)目協(xié)同表示學(xué)習(xí),以域A為例,項(xiàng)目和用戶協(xié)同表示學(xué)習(xí)過程為
其中Hi∈{hu,hv}, ? 表示節(jié)點(diǎn)間的2種邊的類型,Γr(i)表示節(jié)點(diǎn)i∈{u,v}的鄰居節(jié)點(diǎn)集,和是2個可學(xué)習(xí)的參數(shù)矩陣,表示節(jié)點(diǎn)i和節(jié)點(diǎn)j間的關(guān)系注意力.計(jì)算為
其中a是 一個轉(zhuǎn)換矩陣,⊕表示拼接.由于不同層的可學(xué)習(xí)參數(shù)矩陣和不同, σdij是層獨(dú)立,可有效地建模交互圖中節(jié)點(diǎn)間的更為復(fù)雜的轉(zhuǎn)換關(guān)系,豐富用戶和項(xiàng)目的協(xié)同嵌入表示.類似地可得,域B中的用戶和項(xiàng)目的協(xié)同表示.
為學(xué)習(xí)用戶和項(xiàng)目的跨域協(xié)同表示,構(gòu)造如圖4所示的跨域交互圖.以圖4中的路徑為例,對于項(xiàng)目vi,可從與其直接相連的鄰居節(jié)點(diǎn)中聚合部分信息更新其表示,同時,節(jié)點(diǎn)也同樣聚合了部分來自其一跳鄰居節(jié)點(diǎn)vj的 信息,則項(xiàng)目vi和vj便可建立跨域關(guān)聯(lián)路徑為:
Fig.4 Cross-domain interaction graph圖4 跨域交互圖
由于項(xiàng)目的屬性特征是穩(wěn)定的,這里僅考慮將用戶的偏好表示跨域遷移.不同于大多數(shù)傳統(tǒng)跨域推薦算法中僅考慮用戶的跨域共享偏好,本文中同時考慮用戶的域間特有偏好,則定義域A和 域B中 用戶u的特征雙向遷移過程為
TA()和TB()分別定義為域A和 域B的特征遷移函數(shù),C(k)為用戶u在域A和 域B中 的k階共有特征偏好,A(k)和B(k)則分別表示用戶u在域A和 域B中 的k階域間特有特征偏好(或)是由式(7)計(jì)算得到; ηuA和 ηuB分別表示在域A和 域B中的用戶表示相關(guān)的權(quán)重因子,計(jì)算如式(15)(16); λA和 λB是2個范圍在[0,1]之間的超參數(shù),用于控制用戶特征在對應(yīng)域內(nèi)的保留比例.
其中,和分別表示在域A和 域B中 用戶節(jié)點(diǎn)u的一跳鄰居節(jié)點(diǎn)的數(shù)量,即表示用戶u在域A和 域B中的交互過的項(xiàng)目數(shù)量;若用戶在特定領(lǐng)域中擁有更多的交互記錄,則其在該域中的偏好特征就越明顯,推薦過程中該領(lǐng)域中的偏好占比就越大,從其他領(lǐng)域中遷移過來的偏好特征的作用相對減弱.如此,用戶u經(jīng)過特征遷移后在域A中的表示:
類似可得到其在域B中的最終的嵌入表示.
經(jīng)過項(xiàng)目的序列級表示學(xué)習(xí)模塊和用戶項(xiàng)目的協(xié)同表示學(xué)習(xí)模塊以及用戶特征的雙向遷移模塊后,分別得到項(xiàng)目的序列級表示和項(xiàng)目的協(xié)同表示以及用戶在2個域中的偏好表示和.將項(xiàng)目的序列級表示和協(xié)同表示拼接后作為該域中項(xiàng)目的最后嵌入表示,與該域中的用戶行為偏好表示執(zhí)行點(diǎn)積運(yùn)算得到相應(yīng)的項(xiàng)目被推薦的概率.以域A為例,項(xiàng)目v被推薦給用戶u的概率為
采用二元交叉熵函數(shù)作為模型訓(xùn)練和優(yōu)化時目標(biāo)函數(shù):
其中S+和S?分別表示給定的交互歷史記錄集和通過隨機(jī)采樣的方式構(gòu)造的用戶交互歷史記錄集.由于2個域的推薦模型完全相同,式(19)的目標(biāo)函數(shù)在2個域的推薦中均適用,不做特別區(qū)分.
驗(yàn)證問題1.驗(yàn)證TRaGCF在跨域場景下的有效性和正確性,分析產(chǎn)生這樣推薦效果的原因.
驗(yàn)證問題2.TRaGCF中不同的功能模塊對推薦效果有怎樣的貢獻(xiàn)并分析原因.
驗(yàn) 證 問題3.驗(yàn) 證 超 參數(shù) λA和 λB對 于算 法 性 能的影響并分析原因.
本節(jié)將從實(shí)驗(yàn)數(shù)據(jù)集選取及處理、評價指標(biāo)、對比方法以及參數(shù)設(shè)置4個方面介紹實(shí)驗(yàn)設(shè)置.
1)數(shù)據(jù)集的選取及預(yù)處理
為驗(yàn)證所提算法TRaGCF的有效性,選擇更加適合跨域序列推薦算法的Amazon數(shù)據(jù)集作為驗(yàn)證數(shù)據(jù)集,其中包含來自多個域中的用戶項(xiàng)目交互數(shù)據(jù)(如用戶ID、項(xiàng)目ID、評分以及交互時間戳等);此外,Amazon數(shù)據(jù)集包含了多個領(lǐng)域中重復(fù)用戶的交互信息,滿足跨域序列推薦的場景.具體地,選取Movie-Book以及Food-Kitchen構(gòu)建執(zhí)行行為遷移的2組數(shù)據(jù)集.Movie域和Book域中分別包含用戶的觀影記錄以及閱讀記錄;Food域和Kitchen域中分別包含用戶的食物購買記錄以及器具采購記錄.
按照Ma等人[11]的數(shù)據(jù)預(yù)處理方法對所選擇數(shù)據(jù)預(yù)處理.為滿足跨領(lǐng)域推薦的基本要求,選擇在2個領(lǐng)域都有交互的用戶作為目標(biāo)用戶,去掉沒有交互記錄的用戶或者項(xiàng)目,僅保留交互項(xiàng)目超過10個的用戶和出現(xiàn)頻次大于10的項(xiàng)目.為滿足序列推薦的要求,首先將用戶的交互記錄按照時間排序,把完整的交互序列分割成幾個小的序列,每個小序列包含一定時間內(nèi)的連續(xù)交互行為,且要求每個小序列中至少包含3個交互項(xiàng)目,實(shí)際上分割后的一個小序列可以看成是1次會話.經(jīng)過預(yù)處理之后的數(shù)據(jù)集如表1所示:
Table 1 The Statistics of the Datasets After Preprocessing表1 預(yù)處理之后的數(shù)據(jù)集統(tǒng)計(jì)分析
2)評價指標(biāo)
實(shí)驗(yàn)選取召回率(Recall)和平均倒數(shù)排名(mean reciprocal rank,MRR)作為模型性能的評價指標(biāo).其中MRR表示樣本中正確推薦的項(xiàng)目在推薦列表中的排名.被正確推薦出來的項(xiàng)目在推薦列表中的排名越靠前,其MRR的值越大;被正確推薦的項(xiàng)目排名越靠后,則其MRR的值越??;若當(dāng)前的推薦列表中沒有正確推薦的項(xiàng)目,則其MRR為0.Recall是指推薦列表中的top-k個項(xiàng)目中推薦出來的項(xiàng)目占樣本中所有相關(guān)項(xiàng)目的總數(shù),是衡量推薦全面性的常用指標(biāo),k∈{5,10,20}.
3)基線模型算法的選擇
為全面檢驗(yàn)本文算法的有效性,選取單域推薦算法(POP,Item-KNN)、單域序列推薦算法(GRU4REC,NARM,STAMP,SR-GNN)、跨域推薦算法(CoNet)以及跨域序列推薦算法(CDIE-C,CDHRM,π-Net,MIFN)作為對比算法,其中:
PoP根據(jù)訓(xùn)練數(shù)據(jù)中項(xiàng)目的受歡迎程度將排名最高的項(xiàng)目推薦出來.
Item-KNN[33]根據(jù)會話中項(xiàng)目向量的余弦相似度做出相應(yīng)的推薦.該算法中引入正則化以解決推薦長尾問題.
GRU4REC[34]利用基于排序損失的門控循環(huán)單元(gated recurrent unit,GRU)建模用戶行為序列用于序列推薦,是經(jīng)典的基于RNN的序列推薦模型之一.
NARM[35]將注意力與RNN結(jié)合,建模用戶的主要意圖和順序行為,是對GRU4REC的一種改進(jìn).
STAMP[36]利用注意力層來代替以往工作中所有的RNN編碼項(xiàng)目表示,完全依靠當(dāng)前會話中最后一項(xiàng)的自注意力來捕捉用戶的短期興趣.
SR-GNN[6]利用GGNN來獲取項(xiàng)目表示,通過計(jì)算與最后一個項(xiàng)目的自注意力來獲取會話嵌入表示,是本文模型的重點(diǎn)參考之一.
CoNet[37]利用基礎(chǔ)協(xié)同過濾模型從每個域中分別提取用戶和項(xiàng)目的特征表示,再利用十字交叉網(wǎng)絡(luò)實(shí)現(xiàn)域間用戶偏好的雙向遷移.
CDIE-C[38]基于共聚類的異構(gòu)跨域項(xiàng)目表示學(xué)習(xí)方法.通過共聚類提取跨域項(xiàng)目的聚類級項(xiàng)目表示,聯(lián)合單領(lǐng)域會話和跨域會話學(xué)習(xí)項(xiàng)目的跨域綜合表示,可用于解決用戶不重疊時的跨域推薦問題.
CDHRM[15]利用2個并行的RNN挖掘用戶跨域行為中項(xiàng)目的關(guān)聯(lián)性,實(shí)現(xiàn)跨域序列推薦.該算法同時考慮了用戶的當(dāng)前興趣偏好和用戶全局興趣偏好,解決部分用戶重疊情況下存在用戶跨域行為交互過程的異步遷移問題.
π-Net[11]通過并行的GRU單元分別循環(huán)提取并跨域共享來自不同領(lǐng)域中的有用信息,解決共享賬戶的跨域序列推薦問題.
MIFN[13]將知識圖譜作為跨域序列推薦中的域間信息遷移的橋梁,是本文重點(diǎn)參考的模型之一.
表2和表3分別為TRaGCF同所選擇對比模型在Movie-Book和Food-kitchen數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果.在單域推薦場景和跨域推薦場景下,序列推薦算法的整體性能好于非序列推薦,說明序列推薦在建模用戶行為模式方面的有效性;在序列推薦場景下,跨域推薦的效果明顯好于單域推薦的效果,說明跨域推薦用戶模式的遷移有助于提升推薦性能,且對于數(shù)據(jù)稀疏性問題的解決有一定的效果.從總體結(jié)果上來看,k的取值與算法的性能成線性關(guān)系,這是由于序列推薦本質(zhì)上是top-k推薦,即盡量使被正確推薦出來的k個項(xiàng)目在待推薦列表中排在盡量靠前的位置,當(dāng)推薦的項(xiàng)目數(shù)越多,被正確推薦出來的項(xiàng)目的可能性越大.
在單域推薦場景下,基于傳統(tǒng)的推薦算法效果相較于序列推薦效果更差,說明建模用戶項(xiàng)目偏好時考慮時序模式有助于準(zhǔn)確把握用戶興趣;同時,以Movie-Book數(shù)據(jù)集為例,SR-GNN的性能明顯好于GRU4REC,表明利用GNN建模項(xiàng)目間的關(guān)聯(lián)關(guān)系比RNN更有效,也說明挖掘項(xiàng)目間的高階復(fù)雜轉(zhuǎn)換關(guān)系有助于建模用戶意圖;STAMP和NARM的推薦效果好于GRU4REC,表明借助注意力機(jī)制有助于區(qū)分不同項(xiàng)目對用戶偏好的貢獻(xiàn),有助于用戶偏好的獲取.在Food-Kitchen數(shù)據(jù)集中可以得到類似的結(jié)論.
Table 2 Experimental Results on Amazon Movie-Book表2 在Amazon Movie-Book上的實(shí)驗(yàn)結(jié)果 %
Table 3 Experimental Results on Amazon Food-Kitchen表3 在Amazon Food-Kitchen上的實(shí)驗(yàn)結(jié)果 %
在跨域推薦場景下,考慮利用用戶行為序列建模用戶興趣偏好的算法性能明顯好于簡單的跨域推薦算法CoNet性能,說明用戶行為序列中蘊(yùn)含更多的用戶偏好信息,也說明時序信息在促進(jìn)用戶興趣挖掘方面的重要作用.而π-Net的推薦性能明顯好于CDHRM,說明在跨域推薦中考慮用戶的行為序列中的序列模型有助于其偏好的挖掘,但以域間重疊用戶的興趣偏好作為跨域遷移的橋梁,更有助于用戶意圖的把握.而MIFN的推薦效果在CDHRM和π-Net的基礎(chǔ)上又有一定的提升,這表明考慮從不同領(lǐng)域中的用戶行為序列中挖掘用戶偏好同時適當(dāng)?shù)乩闷渌o助信息(項(xiàng)目間的內(nèi)在關(guān)聯(lián))可增加域間的關(guān)聯(lián),提升推薦效果.特別地,在Movie-Book數(shù)據(jù)集的提升效果更為明顯,這是因?yàn)橄噍^于Food-Kitchen數(shù)據(jù)集,電影和圖書之間的內(nèi)在關(guān)聯(lián)更多,對推薦的指導(dǎo)性意義明顯.
此外,TRaGCF在Movie-Book和Food-Kitchen數(shù)據(jù)集的性能相較于跨域序列推薦CDHRM,π-Net,MIFN都有提升.一方面說明GNN建模項(xiàng)目間的轉(zhuǎn)換關(guān)系比RNN有效,這對建模用戶的行為偏好有益,單域場景下有類似的作用;另一方面,除了從用戶本身的歷史行為挖掘其偏好,適當(dāng)考慮其相同品味的用戶的行為偏好對指導(dǎo)目標(biāo)用戶的推薦也有一定的促進(jìn)作用,這是協(xié)同過濾思想的重要體現(xiàn).在Movie-Book數(shù)據(jù)集上推薦性能的提高沒有Food-Kitchen數(shù)據(jù)集明顯,說明在該領(lǐng)域中有相似的用戶與相同項(xiàng)目交互的可能性更大,因?yàn)樵擃I(lǐng)域中項(xiàng)目間的分類明顯,相同的項(xiàng)目關(guān)聯(lián)性強(qiáng),不同的項(xiàng)目間差異性大.然而,TRaGCF的性能相比MIFN提升不明顯.由于TRaGCF中所有有用信息的提取均來源于用戶?項(xiàng)目交互數(shù)據(jù)以及項(xiàng)目本身固有屬性,而MIFN則是以引入外部知識圖譜的形式建立起域間項(xiàng)目的關(guān)聯(lián),相較于TRaGCF引入更加豐富的外部數(shù)據(jù).盡管如此,MIFN算法存在用戶行為數(shù)據(jù)挖掘和利用不充分的問題,我們則充分考慮上述問題,通過引入圖協(xié)同過濾以及2種圖注意力機(jī)制來充分挖掘和利用有限的可用數(shù)據(jù),解決因外部數(shù)據(jù)支撐不足而產(chǎn)生推薦效果不佳的問題.
為進(jìn)一步驗(yàn)證模型不同模塊的功能,設(shè)計(jì)消融實(shí)驗(yàn):在Food-Kitchen數(shù)據(jù)集實(shí)驗(yàn)中,以Recall@20和MRR@20作為評價指標(biāo),實(shí)驗(yàn)結(jié)果如表4所示:
Table 4 Comparison Results of the Contributions of Different Modules of TRaGCF表4 TRaGCF各功能模塊貢獻(xiàn)對比結(jié)果 %
1)TRaGCF-SBM.去掉原模型中項(xiàng)目的序列級嵌入表示學(xué)習(xí)模塊,最后的推薦預(yù)測模塊直接將用戶的協(xié)同偏好表示和項(xiàng)目的協(xié)同表示執(zhí)行點(diǎn)積運(yùn)算.
2)TRaGCF-CBM.去掉原模型的項(xiàng)目和用戶協(xié)同表示的關(guān)系感知注意力機(jī)制后得到.
從表4中可看出,TRaGCF-SBM在2個域的推薦數(shù)據(jù)集上的性能都是最差的,這說明無論是Food域還是Kitchen域的推薦,從用戶歷史行為序列中挖掘項(xiàng)目間的序列依賴模式對提升跨域推薦效果的貢獻(xiàn)更大,也側(cè)面證明了提出跨域序列推薦算法的必要性;同時,F(xiàn)ood域推薦的性能變化量相對于Kitchen域的性能變化量更大,這是由于Food域中食品間的關(guān)聯(lián)關(guān)系更為密切,充分挖掘各項(xiàng)目間復(fù)雜的關(guān)聯(lián)關(guān)系對提升推薦效果是有益的;而Kitchen域中不同的項(xiàng)目間的關(guān)聯(lián)關(guān)系對推薦的結(jié)果影響相對較弱,因?yàn)橛脩敉ǔ葱栀徺I家用電器,并不會受到相同用戶行為的影響.TRaGCF-CBM的性能變化不是十分明顯,但確實(shí)對推薦效果有一定的影響,且在Food域的推薦效果的變化相對于Kitchen域來說稍顯明顯,可能是在Food域用戶和項(xiàng)目間的特征關(guān)系相對復(fù)雜一些,此時區(qū)分用戶和項(xiàng)目間的不同關(guān)聯(lián)關(guān)系的效果明顯一些,由此說明了在關(guān)聯(lián)關(guān)系較為復(fù)雜的場景下,區(qū)分不同關(guān)系對推薦結(jié)果的影響十分必要.
在用戶特征偏好雙向遷移模塊,通過調(diào)整 λA和λB的取值情況控制不同域中、域間特有信息的保留比例.為簡化實(shí)驗(yàn)流程,每次只考慮單個超參數(shù)的影響,即λ=λA=λB,設(shè)定其取值范圍為[0.5,1],每次增加的步長為0.1.圖5為實(shí)驗(yàn)結(jié)果,圖5(a)(b)是在Movie-Book數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,圖5(c)(d)是在Food-Kitchen數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果.可以看出,在Movie-Book數(shù)據(jù)集上 λ=0.6, λ=0.7時取得最好的結(jié)果,在Food-Kitchen數(shù)據(jù)集上 λ=0.8時效果最優(yōu).實(shí)驗(yàn)結(jié)果說明,在用戶偏好遷移過程中保留域內(nèi)特有偏好的必要性,且在不同的場景下用戶域內(nèi)特有偏好的保留比例是不同的.
Fig.5 The impact ofλon the performance of the model圖5 λ對模型性能的影響
本文研究基于圖協(xié)同過濾跨域序列推薦問題,提出了一種新的基于時間和關(guān)系感知的圖協(xié)同過濾跨域序列推薦算法TRaGCF,通過挖掘用戶的高階行為模式來解決推薦過程數(shù)據(jù)稀疏性問題.具體來說,將圖協(xié)同過濾引入到序列推薦中,建立用戶偏好在跨域雙向遷移過程中的橋梁,從而緩解數(shù)據(jù)稀疏對推薦結(jié)果的影響;分別提出時間感知圖注意力和關(guān)系感知圖注意力建模用戶歷史行為序列中項(xiàng)目間深層高階復(fù)雜的關(guān)聯(lián)關(guān)系,挖掘用戶的高階行為模式,預(yù)測用戶當(dāng)前的意圖并為其推薦合適的項(xiàng)目.在2個跨域序列數(shù)據(jù)集上驗(yàn)證模型的有效性,同時驗(yàn)證跨域遷移過程中保留用于域間特有偏好的必要性.TRaGCF算法雖然取得了較好的結(jié)果,但仍具有一定的局限性.如本文算法中僅建模成對項(xiàng)目間的關(guān)聯(lián)關(guān)系,現(xiàn)實(shí)情況下用戶的意圖可能受到之前幾個連續(xù)交互項(xiàng)目的共同影響,此時,項(xiàng)目間的更為復(fù)雜的關(guān)系沒有被充分挖掘.此外,本文算法中假設(shè)2個領(lǐng)域的用戶完全重疊,下一步將考慮將算法模型推廣至用戶只有部分重疊的場景中.
作者貢獻(xiàn)聲明:任豪提出了算法思路和實(shí)驗(yàn)方案,并完成了相關(guān)實(shí)驗(yàn)、實(shí)驗(yàn)結(jié)果分析及論文撰寫;劉柏嵩對算法框架以及實(shí)驗(yàn)方案提出指導(dǎo)意見并參與論文修改;孫金楊協(xié)助任豪對本文實(shí)驗(yàn)方案提出改進(jìn)意見,并對算法進(jìn)行針對性優(yōu)化提升;董倩負(fù)責(zé)對實(shí)驗(yàn)結(jié)果分類整理,并協(xié)助任豪完善實(shí)驗(yàn)結(jié)果分析;錢江波提出部分指導(dǎo)意見并修改論文.