鐘毅文 伊方舟 曾誠
摘要:隨著互聯(lián)網(wǎng)信息資源的爆炸式增長,“信息過載”問題日益突出,服務(wù)推薦被視為解決“信息過載”問題的一種有效手段??紤]到用戶會話中的行為數(shù)據(jù)一定程度上代表著用戶偏好,本文提出了一種新的推薦模型SRGNN,將用戶會話中的點(diǎn)擊序列抽象為一個有向的會話圖,再利用主流的圖神經(jīng)網(wǎng)絡(luò)對會話圖的結(jié)構(gòu)信息進(jìn)行特征提取,同時使用門限循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU)提取會話點(diǎn)擊序列中的時序信息以及整個會話過程中的興趣信息,并結(jié)合用戶會話中最后時刻的興趣信息為用戶進(jìn)行相關(guān)推薦。
關(guān)鍵詞:圖神經(jīng)網(wǎng)絡(luò);會話型服務(wù)推薦;用戶偏好;門限循環(huán)神經(jīng)網(wǎng)絡(luò);信息過載
中圖分類號:TP311 ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)02-0088-03
人們已經(jīng)從數(shù)據(jù)貧乏的時代,進(jìn)入了信息共享化的時代,數(shù)據(jù)量也隨之爆發(fā)式增長。雖然海量的數(shù)據(jù)蘊(yùn)含著豐富的信息和巨大的價(jià)值,但是隨之而來的也有嚴(yán)重的“信息過載” 問題。目前,解決“信息過載”問題最有效的方法是個性化推薦,例如電影推薦、音樂推薦和商品推薦等[1-2]。
推薦系統(tǒng)基于用戶的特征及產(chǎn)生的行為數(shù)據(jù),通過用戶的評分、評論、投票等行為表征用戶的偏好,然而在很多場景下,出于安全需求,用戶的上述信息無法獲得的。因此,基于用戶歷史行為記錄的推薦不再適用,于是基于用戶在某個會話期間內(nèi)的行為數(shù)據(jù)就發(fā)揮作用,即基于會話的推薦(Session-Based Recommendation)[3]?;跁挼耐扑]是根據(jù)用戶在當(dāng)前會話過程中產(chǎn)生的會話行為序列,預(yù)測用戶下一次可能會點(diǎn)擊的物品,并將可能性最高的幾個物品推薦給用戶。
基于會話的推薦系統(tǒng)能夠很好地解決用戶匿名情況下的推薦問題,同時提升用戶的體驗(yàn)感,增加平臺的留存率。因此可以得到更好的推薦效果。
1 研究方法
本文提出一種基于圖神經(jīng)網(wǎng)絡(luò)的會話型推薦模型。首先介紹基于會話的推薦場景,并對基于會話的推薦問題進(jìn)行描述,接著將介紹本章模型的提出動機(jī),并對模型中的圖神經(jīng)網(wǎng)絡(luò)(GNN)和門限循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU)介紹,然后將對模型的整體結(jié)構(gòu)與實(shí)施步驟進(jìn)行介紹,最后是實(shí)驗(yàn)結(jié)果分析。
1.1 基于會話的推薦場景
基于會話的服務(wù)推薦是根據(jù)用戶在當(dāng)前會話的交互過程中產(chǎn)生的物品點(diǎn)擊序列,為用戶推薦下一次最可能點(diǎn)擊的K 個物品。如下圖1所示,用戶先后看了一雙運(yùn)動鞋、手機(jī)、耳機(jī)、手機(jī)和耳機(jī)。基于會話的推薦系統(tǒng)會根據(jù)用戶當(dāng)前會話中的物品點(diǎn)擊序列,最終給用戶推薦耳機(jī)和手機(jī)。
上述問題可形式化定義為:[I={i1,i2,i3,…,im}]是物品集合,[S={(ts,1,is,1),(ts,2,is,2),…,(ts,n,is,n)}]是用戶一次會話的點(diǎn)擊序列,其中[ts,n]會話序列s第n次點(diǎn)擊發(fā)生的時間,[is,n]表示會話序列s第n次點(diǎn)擊的物品。因此,本文推薦任務(wù)即為構(gòu)建一個模型M,給定一個會話序列S,預(yù)測第n+1個最可能點(diǎn)擊的物品[is,n+1]。
1.2方法描述
本文提出的基于圖神經(jīng)網(wǎng)絡(luò)的會話型推薦模型(Session-based Recommendation with Graph Neural Network, SRGNN)主要由物品圖神經(jīng)網(wǎng)絡(luò)層(Item Graph Neural Network)、門限循環(huán)神經(jīng)網(wǎng)絡(luò)層(Gated Recurrent Unit, GRU)和線性變換(Liner Transformation)組成,整體結(jié)構(gòu)圖如圖2所示。
1.2.1構(gòu)建物品會話圖
首先獲取用戶會話中的物品點(diǎn)擊序列信息,將其轉(zhuǎn)換成一個有向的物品會話圖[G=(I,E)],其中每個節(jié)點(diǎn)[ik∈I]表示物品,每條邊([ik,ik+1])[ ∈E]表示用戶在點(diǎn)擊了物品[ik]后,又點(diǎn)擊了物品[ik+1]。為方便后續(xù)圖神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),我們?yōu)槊總€有向會話圖構(gòu)建一個節(jié)點(diǎn)關(guān)系矩陣[A],并使用鄰接矩陣存儲有向會話圖數(shù)據(jù),同時對值進(jìn)行歸一化處理。
1.2.2獲取物品嵌入向量表示
將得到的會話圖喂入圖神經(jīng)網(wǎng)絡(luò)中,通過對物品會話圖中節(jié)點(diǎn)的結(jié)構(gòu)信息進(jìn)行學(xué)習(xí),得到每個物品的嵌入向量[Ei]。學(xué)習(xí)以及更新過程的公式如下:
將物品嵌入向量[Ei]序列輸入到 GRU 網(wǎng)絡(luò)層中,通過對用戶點(diǎn)擊序列時序信息的提取與學(xué)習(xí),得到嵌入向量[S?],該嵌入向量包含了會話中的順序信息,同時也包含整個會話期間,用戶興趣的偏移情況和全局興趣信息。考慮到用戶在會話的最后時刻點(diǎn)擊的物品是用戶在當(dāng)前會話最后感興趣的物品,因此,可以將用戶在會話中最后時刻點(diǎn)擊的物品的嵌入向量[S]表示作為用戶在一次會話中的最后的興趣信息,然后與[S?]進(jìn)行線性變換,得到融合了用戶最后興趣信息的向量表示。
1.2.3生成Top-k推薦列表
將用戶得到的嵌入向量[S]與所有候選物品[S?] 進(jìn)行計(jì)算,得到每個物品的得分[Z],最后通過一個softmax 激活函數(shù)后得到輸出結(jié)果清單,具體公式描述如下:
[z=S?TS]
[y=softmax(z)]
模型使用交叉熵函數(shù)作為損失函數(shù),其中,[yi]為真實(shí)值,而[yi]是預(yù)測值。
[Ly=?i=1nyilnyi+(1?yi)ln1?yi]
根據(jù)模型對物品預(yù)測的評分值大小進(jìn)行排序,并生成 top-k 推薦列表推薦給用戶。
2 實(shí)驗(yàn)與結(jié)果分析
2.1數(shù)據(jù)集
在公開的 Yoochoose 數(shù)據(jù)集和 Diginetica 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。Yoochoose數(shù)據(jù)集由英國的在線零售商提供,并在 RecSys Challenge 2015 上公開發(fā)布。數(shù)據(jù)集的每條記錄包含會話ID、商品 ID、商品類別以及時間戳四個信息。
2.2評價(jià)指標(biāo)
在推薦領(lǐng)域,Precision@K 和 MRR@K(Mean Reciprocal Ranks, MRR)是兩種常用的評價(jià)指標(biāo),不是一般性,我們也采用這兩個指標(biāo)進(jìn)行評價(jià)。前者用于衡量基于會話的推薦系統(tǒng)的預(yù)測準(zhǔn)確性,表示推薦結(jié)果列表中top-k個推薦物品中,有正確物品的比例;后者表示平均位置排名,加入了推薦物品位置的影響,即在推薦物品列表中物品的位置越靠前,則其值越大,反之越小。
[Precision@K=n?itN]
[MRR@K=1Ni=1N1rank(i)]
其中, N 代表測試集的總樣本數(shù), rank(i) 表示第 i 個測試樣本的推薦列表中正確物品所在的排列位置。
2.3基準(zhǔn)方法
為了評估本文提出的模型的有效性,引入4 種已有推薦模型作為參照進(jìn)行了對比。
POP[4]:是一種最簡單的流行度預(yù)測方法,方法將數(shù)據(jù)集中出現(xiàn)頻率最高的商品進(jìn)行推薦。該方法思想簡單,實(shí)現(xiàn)也不復(fù)雜,在某些場景中十分有效。
S-POP[5]:該方法將當(dāng)前會話中最受歡迎的商品推薦給用戶,隨著會話的不斷變化,推薦列表也會相應(yīng)發(fā)生變化。
Item-KNN[6]:基于物品的 k-近鄰算法,通過召回和會話最相似的物品進(jìn)行推薦。主要通過計(jì)算物品向量之間的相似度,通??梢圆捎糜嘞蚁嗨贫冗M(jìn)行衡量。
NARM[15]:在循環(huán)神經(jīng)網(wǎng)絡(luò)會話推薦模型的基礎(chǔ)上,加入了注意力機(jī)制。模型利用注意力機(jī)制從隱狀態(tài)捕獲用戶在當(dāng)前會話的目的,并結(jié)合用戶瀏覽時的序列行為進(jìn)行物品推薦。
2.4實(shí)驗(yàn)結(jié)果
本文模型的參數(shù)設(shè)定如下,初始學(xué)習(xí)率為 0.001,學(xué)習(xí)率衰減系數(shù)為 0.1,訓(xùn)練的Batch 大小為 100,迭代輪數(shù)為 10 輪。物品向量以及物品類別向量的維度均為 100 維,物品圖神經(jīng)網(wǎng)絡(luò)嵌入表示層、物品類別圖神經(jīng)網(wǎng)絡(luò)嵌入表示層以及 GRU 層的隱層節(jié)點(diǎn)個數(shù)均為 100。模型的損失函數(shù)使用交叉熵?fù)p失函數(shù),使用 Adam 優(yōu)化方法對模型參數(shù)進(jìn)行求解。評價(jià)時,統(tǒng)一選用 K=20。
實(shí)驗(yàn)結(jié)果如表2所示,與其他4個基準(zhǔn)模型對比,本文提出的模型在兩個數(shù)據(jù)集上的表現(xiàn)均不同程度優(yōu)于其他模型,并且相較于最好的NARM基準(zhǔn)模型,在Yoochoose數(shù)據(jù)集上MRR指標(biāo)提高幅度達(dá)5.76%,在Diginetica數(shù)據(jù)集上MRR指標(biāo)提高幅度達(dá)4.76%。
綜上,本文提出的基于圖神經(jīng)網(wǎng)絡(luò)的會話型推薦模型在使用用戶會話信息后,可有效提升推薦的準(zhǔn)確率。
3總結(jié)
本文利用用戶的會話信息,提出了一種基于圖神經(jīng)網(wǎng)絡(luò)的會話型推薦模型,將用戶的會話點(diǎn)擊序列構(gòu)建成有向的用戶會話圖,通過圖神經(jīng)網(wǎng)絡(luò)對會話圖的結(jié)構(gòu)和信息進(jìn)行學(xué)習(xí)及提取,使用門限循環(huán)神經(jīng)網(wǎng)絡(luò)提取會話點(diǎn)擊序列中的時序信息以及整個會話過程中的興趣信息,并結(jié)合用戶會話中最后時刻的興趣信息為用戶進(jìn)行推薦。為驗(yàn)證模型的有效性,在公開的 Yoochoose 數(shù)據(jù)集和 Diginetica 數(shù)據(jù)集上進(jìn)行了對比試驗(yàn)。在 Precision 和 MRR 兩種評價(jià)指標(biāo)上,均證明了本文提出模型的有效性。
參考文獻(xiàn):
[1] Linden G,Smith B,York J.Amazon.com recommendations:item-to-item collaborative filtering[J].IEEE Internet Computing,2003,7(1):76-80.
[2] 黃立威,江碧濤,呂守業(yè),等.基于深度學(xué)習(xí)的推薦系統(tǒng)研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2018,41(7):1619-1647.
[3] Hidasi B,Karatzoglou A,Baltrunas L,et al.Session-based recommendations with recurrent neural networks[EB/OL].2015
[4] Phuong T M,Thanh T C,Bach N X.Combining user-based and session-based recommendations with recurrent neural networks[C]//Neural Information Processing,2018:487-498. DOI:10.1007/978-3-030-04167-0_44.
[5] Davidson J,Livingston B,Sampath D,et al.The YouTube video recommendation system[C]//Proceedings of the fourth ACM conference on Recommender systems - RecSys '10.September 26-30,2010.Barcelona,Spain.New York:ACM Press,2010:293-296.
[6] Li J,Ren P J,Chen Z M,et al.Neural attentive session-based recommendation[C]//Proceedings of the 2017 ACM on Conference on Information and Knowledge Management.Singapore Singapore.New York,NY,USA:ACM,2017:1419-1428.
【通聯(lián)編輯:唐一東】
2765500511379