黨偉超,吳非凡,高改梅,劉春霞,白尚旺
(太原科技大學 計算機科學與技術學院,山西 太原 030024)
互聯網技術的發(fā)展給人類生活帶來了極大的便利,同時也讓數字信息以指數級的規(guī)模增長。用戶在獲取其感興趣的內容時遇到了阻礙。為解決大數據帶來的信息過載問題,推薦系統應運而生。推薦系統在許多應用場景(例如電子商務、音樂和新聞)中可以幫助用戶做出高效的選擇[1]。傳統的推薦系統大多是基于用戶的配置文件、長期的交互歷史完成推薦。但在許多場景下,用戶的身份可能是未知的,歷史交互信息只表示了用戶的一般偏好,并且用戶的短期偏好會隨時間推移產生變化[2],而基于會話的推薦系統可以通過會話序列數據,捕獲短期且動態(tài)的用戶偏好,有效地解決上述問題?!皶挕笔侵冈谝欢〞r間內用戶瀏覽網站發(fā)生的一系列交互行為[3]。會話數據所涉及的時間段往往較短,在一定程度上反映了用戶短期的、動態(tài)的興趣偏好。會話推薦系統是根據匿名用戶會話序列中的先前行為來預測他的未來行為,如下一次點擊[4]。以往的會話推薦大多是基于當前會話內有限的序列信息,例如用戶的歷史行為和基本信息。但除此之外,推薦系統還可以結合其它的輔助信息來優(yōu)化預測結果,例如結合相似用戶的偏好信息,可以提供更精確的推薦;結合當前用戶上下文信息,可以幫助推薦系統更好地理解用戶需求??傊?,引入輔助信息,推薦系統可以準確分析用戶的內在需求,提供更具相關性內容的推薦。然而,如何有效地整合和分析這些輔助信息,仍然是會話推薦中的一個挑戰(zhàn)。
近年來,基于圖神經網絡(graph neural network,GNN)的方法因其具有探索結構信息的特點,成為了推薦系統中較受歡迎的方法。但許多方法僅關注當前會話中的項目轉換信息,并未考慮鄰域會話包含的協作信息。單個會話構建的會話圖包含的節(jié)點和邊較少,在建模不同會話間的項目轉換方面存在缺陷。引入鄰域會話可以輔助預測用戶的未來行為,提高推薦精度。另外,不同的目標項與會話內的項目有不同的相關性。在預測特定的目標項目時,不需要將用戶的所有興趣嵌入到一個向量中,而是要有針對性地激活用戶的真實興趣,從而提高推薦的準確率。因此,本文提出基于局部-鄰域圖信息與注意力機制的會話推薦模型,稱為SR-LNG-AM(session recommendation based on local-neighborhood graph information and attention mecha-nism),主要貢獻如下:
(1)模型從當前會話和鄰域會話兩個角度構建會話圖,使用簡化圖卷積神經網絡(simple graph convolutional network,SGCN)學習項目轉換特征,并融合兩種類型的項目嵌入,得到最終的項目表示。
(2)使用軟注意力機制為會話序列中的項目賦予不同的權重,聚焦更為關鍵的信息;同時使用目標感知注意力,對用戶興趣和目標的建模,根據用戶的目標調整推薦策略,優(yōu)化會話表示,提供更加滿足用戶需求的推薦結果。
在會話推薦中,傳統的方法有基于項目的鄰域方法[5]和基于馬爾可夫鏈的序列方法[6]?;陧椖康泥徲蚍椒ǜ鶕椖康南嗨菩跃仃噥硗瓿赏扑],該方法忽略了項目的順序且僅依據最后的點擊項。基于馬爾可夫鏈(Markov chains,MC)的方法強調了相鄰項目序列之間的連續(xù)性[7],利用用戶的上一操作預測其下一操作,但無法捕捉長期偏好。Zhan等[8]提出序列感知因子化混合相似性模型S-FMSM,對一般表示和順序表示建模,并利用兩個連續(xù)項目間的一般相似性優(yōu)化順序表示學習。
深度學習技術擁有強大的序列數據建模能力,推薦系統因此迎來了深度學習浪潮[9]。例如基于循環(huán)神經網絡(RNN)的方法在推薦系統取得了不錯的效果。Hidasi等[10]提出了基于RNN的模型GRU4Rec,使用門控循環(huán)單元對短期偏好進行建模。Li等[11]提出NARM模型,使用RNN結合注意力網絡來捕獲用戶的長短期偏好,為其賦予不同權重。Liu等[12]提出了一種短期記憶優(yōu)先的模型STAMP,將一般興趣和當前興趣結合建模,用最后一次點擊反映當前興趣,強調了最后一次點擊的重要性。但上述RNN模型僅能捕獲連續(xù)項目之間的單向轉換,忽略了同一會話中跨項目之間的上下文信息。Wang等[13]提出基于協作信息的推薦模型CSRM,使用上下文感知會話圖提取跨會話信息。
近年來,圖神經網絡被廣泛應用到會話推薦領域。圖神經網絡可以對項目間的復雜轉換關系建模,在探索結構化信息方面有很大的優(yōu)勢。Wu等[14]提出SR-GNN模型,將會話序列建模為圖結構化的數據,采用門控圖神經網絡(gated graph neural network,GGNN)捕獲節(jié)點間的復雜依賴信息,并結合注意力機制區(qū)分用戶短期偏好和長期偏好。Xu等[15]提出GC-SAN模型,將自注意力機制結合GGNN捕獲相鄰項間的局部轉換信息和全局依賴關系。Yu等[16]提出TAGNN模型,在SR-GNN的基礎上結合目標感知注意力,將目標項的特征集成到會話表示。Yang等[17]提出需求感知的圖神經網絡,使用全局需求矩陣結合圖神經網絡,捕捉商品之間的關系和用戶的需求,提高了推薦的準確性。Li等[18]提出因子級的項目嵌入,使用注意力機制來捕獲用戶對不同因素的偏好,探索用戶更細粒度的興趣。
為了充分利用會話上下文信息來生成準確的興趣向量,模型將鄰域會話作輔助信息,優(yōu)化項目表示。即在當前會話類型的基礎上,引入了鄰域類型的會話。另外,在會話表示層,使用注意力機制優(yōu)化會話表示的過程,從而預測用戶行為。模型的架構如圖1所示,主要包括4個部分:

圖1 SR-LNG-AM的模型結構
(1)圖神經網絡,模型使用簡化圖卷積網絡(simple graph convolution network,SGCN)分別從當前會話和鄰域會話兩個角度捕獲項目轉換信息,得到當前會話和鄰域會話的項目嵌入。
(2)卷積融合,將兩種類型的項目嵌入融合為最終的項目表示。
(3)注意力機制,通過軟注意力機制生成全局嵌入向量,目標注意力機制生成目標嵌入向量。
(4)預測,將局部嵌入、全局嵌入及目標嵌入線性組合得到會話嵌入,再與節(jié)點的初始嵌入計算每個候選項的概率,預測下一個點擊項。

會話圖是由當前會話s和鄰域會話集Ns構建的,其中,Ns是由與當前會話s最相似的r個先前會話組成,而相似度是依據會話之間重復項的數量來計算。鄰域會話的提取如圖2所示,首先計算先前會話和當前會話的余弦相似度,相似度大于0.5的會話滿足相似條件,之后再按照相似度降序排列,對Top-R個會話進行采樣以構成鄰域會話集Ns。

圖2 鄰域會話提取過程
在完成鄰域會話的提取后,將當前會話s及其鄰域會話Ns構建為會話圖Gs,如圖3所示。其中每個節(jié)點表示出現在會話s中或鄰域會話集Ns中的項目。每條邊 (vi,vj) 表示在會話s或Ns中的任何鄰域會話中,用戶點擊項目vi之后又點擊了項目vj。另外,Vs表示當前會話s中所包含的項目集,VNs表示鄰域會話集Ns中包含的項目集。

圖3 構建會話圖
圖神經網絡在處理結構數據和探索結構信息時有很大的優(yōu)勢。它采用嵌入傳播來迭代聚合鄰域信息,依據圖神經網絡的消息傳遞結構可以將項目轉換信號編碼到項目嵌入[9]。在圖結構中,每個節(jié)點聚合其相鄰項節(jié)點傳遞的消息。
構建的會話圖是由當前會話s和鄰域會話Ns的項目節(jié)點構建的,它們分別反映了用戶的當前行為和全局協作信息,會對推薦結果產生不同的影響。因此,提取這兩種類型的相鄰項節(jié)點信息時應分開考慮。對于當前會話類型,僅聚合來自Vs中的相鄰項節(jié)點的消息;對于鄰域會話類型,僅聚合來自VNs中的相鄰項節(jié)點的消息。當前會話和鄰域會話都使用簡化圖卷積網絡(SGCN)捕獲會話圖上的項目嵌入。SGCN在GCN的基礎上消除了非線性,并折疊權重矩陣,只有相鄰的嵌入傳播到下一層,項目嵌入的更新過程如下
(1)
(2)


(3)
(4)
其中,Mi∈R2×d兩種項目嵌入的串聯,ck∈R1×d是濾波器的卷積結果。
目標嵌入的構造是為了綜合考慮與目標項目相關的歷史行為信息,并將其用于預測候選項。其中,目標項也指所預測的候選項。對于目標項而言,用戶在會話內的點擊序列通常只符合其興趣的一部分,需要有針對性地激活與目標項相關的用戶興趣。因此,目標注意力機制考慮了每個項目相對于目標項目的重要性,而不是僅計算它們的注意力權重。目標嵌入可以更準確地捕捉到每個項目與目標項目之間的關聯程度,使得推薦系統可以更有針對性地關注相關的項目。目標注意力的公式為
(5)
式中:Wt∈Rd×d為可訓練的參數,m表示所有會話中項目集合的大小,vt為目標項目。
最后,對于每個會話,用戶對于目標項的興趣表示為starget∈Rd×d,目標嵌入會隨著目標項的不同而不同,其公式為
(6)

(7)
(8)
其中,W1,W2∈Rd×d,q,b∈Rd×d均為可訓練的參數;σ(·) 表示sigmoid函數。
最后,對局部嵌入、全局嵌入和目標嵌入串聯進行線性變換,生成的最終的會話嵌入
s*=W3[starget;slocal;sglobal]
(9)
式中:W3∈Rd×3d為可訓練的參數矩陣。

(10)
(11)

在訓練過程中,采用交叉熵作為損失函數
(12)
式中:yi表示真實交互項目的one-hot向量。
本文的實驗數據來自于推薦系統研究的常用數據集:Yoochoose數據集、Diginetica數據集。這兩個數據集都是實際電子商務應用場景中收集的真實數據,包含了用戶的點擊和購買數據。另外Diginetica數據集還包含了產品的屬性信息,如類別、描述等。為了公平地進行比較,本文按照文獻[15]中數據集的預處理方式。具體來說,對于所有的數據集,過濾掉缺乏足夠信息的會話及難以準確為用戶推薦的項目,即長度為1的會話和在整個數據集中僅出現少于5次的項目。另外,刪除了僅在測試集中與用戶進行交互的項目,以確保模型在推薦過程中具有可靠性和準確性。表1中訓練集會話數和測試集會話數的值表示增強后的樣本數量。由于Yoochoose數據量龐大,實驗只使用Yoochoose訓練序列中最近的1/64。預處理后的數據集統計見表1。

表1 預處理后的數據集統計
本文采用召回率(Recall)和平均倒數排名(mean reciprocal ranks,MRR)評估提出的模型的性能,指標的詳細定義請參見文獻[15]和文獻[20]。Recall@N是正確推薦項占實際點擊項的分數,MRR@N是衡量正確推薦項在推薦列表中的排名。

為了驗證本文所提模型SR-LNG-AM的優(yōu)越性,在上述兩個數據集下進行實驗,并用以下幾種基線模型進行對比分析:
(1)POP(popularity):根據物品在會話中的頻率進行推薦,推薦的物品集中在與用戶交互次數較多的項目上。
(2)Item-KNN[5](item based K-nearest neighbor):將兩個物品在不同會話中共現的次數構建成項目間的相關性矩陣,以此度量項目之間的相似度,并使用K最近鄰算法來為用戶推薦項目。
(3)FPMC[19](factorizing personalized Markov chains):通過矩陣分解和馬爾科夫鏈分別學習項目轉換模式及順序行為,以此預測用戶的下一個行為。
(4)NARM[11]:采用RNN結合注意力機制,將順序性和用戶的總體偏好融合,捕獲用戶的主要興趣。
(5)STAMP[12]:對最后一次點擊所反映的當前興趣進行建模,將當前興趣和一般興趣結合的同時突出了當前興趣的重要性。
(6)CSRM[13]:將跨會話信息應用到推薦任務,構建了時序卷積網絡模型,并通過會話相似性來優(yōu)化會話表示。
(7)SR-GNN[14]:將會話信息視為一個會話圖,通過GGNN對圖中節(jié)點進行特征提取,并使用注意力機制捕獲用戶的長期興趣。
(8)GC-SAN[15]:把普通的注意力機制改進為自注意力機制,并通過自注意力機制來考慮項目間的全局依賴關系。
(9)TAGNN[16]:使用目標感知注意力生成目標嵌入,并集成到會話嵌入。
與其它9個基準方法相比,本文所提出的模型SR-LNG-AM同樣具有較好的表現。具體實驗結果見表2,其中,加粗的字體為本文模型的實驗結果。從表中可以觀察到。

表2 不同模型在公開數據集下的性能對比
(1)在所有推薦模型中,POP只根據項目的頻率來完成推薦,性能表現最差。Item-KNN考慮了項目之間的相似度,提高了推薦準確率。FPMC采用矩陣分解和馬爾科夫鏈提升推薦結果。但傳統的推薦方法忽略了項目的順序性,在捕獲項目轉換信息方面存在缺陷。
(2)所有基于神經網絡的推薦方法都優(yōu)于其它傳統的推薦方法。其中,基于注意力機制NARM和STAMP的性能明顯提高,表明了深度學習可以挖掘出用戶的潛在偏好,以及注意力機制可以聚焦于推薦任務中更為關鍵的信息。CSRM雖然考慮了多個會話之間的協作信息,提高了模型性能,但未能準確模擬出會話間的復雜項目轉換。SR-GNN和GC-SAN使用圖神經網絡學習圖節(jié)點的特征表示,從而捕獲用戶偏好,取得了不錯的效果,體現圖神經網絡強大的特征提取和學習能力。TAGNN在SR-GNN基礎上結合了目標感知注意力,優(yōu)化了會話表示。
(3)本文所提模型在數據集的各項指標上比其它基準模型表現更好,驗證了引入鄰域會話可以增加會話上下文信息,為模型輸入更多特征,輔助預測;另外使用目標注意力機制對目標相關性信息進行提取,驗證了局部-鄰域圖模型與注意力機制結合的有效性,體現了SR-LNG-AM的優(yōu)越性。
SR-LNG-AM在會話表示層使用注意力機制優(yōu)化了會話表示,以下實驗比較了不同注意力機制下對會話嵌入的影響:
(1)普通注意力機制模型(AM-Soft):使用軟注意力機制生成全局嵌入,再融合局部嵌入得到會話表示。
(2)自注意力機制模型(AM-Self):使用自注意力機制生成全局嵌入,再融合局部嵌入得到會話表示。
(3)自注意力機制結合目標注意力機制(AM-Self-Target):使用自注意力生成全局嵌入,使用目標注意力生成目標嵌入,再融合局部嵌入得到會話表示。
實驗結果見表3,從AM-Soft與AM-Self對比可以看出軟注意力機制在本文實驗環(huán)境下捕獲項目間全局依賴關系時比自注意力機制更適用;AM-Self-Target在自注意力機制的基礎上,引入目標感知注意力,提高了推薦準確率,這驗證了引入目標感知注意力可以根據目標項有針對性地激活用戶興趣,優(yōu)化會話表示。SR-LNG-AM使用軟注意力機制捕獲項目的全局依賴關系,使用目標感知注意力生成目標嵌入,在實驗過程中得到了最優(yōu)的結果,表明了模型結合軟注意力機制和目標注意力機制的有效性。

表3 不同注意力機制下模型的表現
鄰域會話包含了豐富的協作信息,通過相似用戶的行為信息,輔助模型為當前用戶生成更準確的推薦列表。引入鄰域會話雖然可以擴大信息范圍,增加會話上下文信息,但也會導致更多噪音。因此,本文設計了不同鄰域會話數量的對比實驗,以研究鄰域會話數量對模型性能的影響。
從圖4中可以觀察到,當鄰域數量為0時,即不引入鄰域會話,模型的性能最低。在引入了鄰域會話之后,模型的性能首先隨著鄰域數量的增加而提高,表明了鄰域會話的協作信息的有效性。隨后,在Yoochoose 1/64上鄰域數量為120時模型指標達到最高;在Diginetica上鄰域數量為100時模型指標達到最高。之后,指標開始下降,原因可能是由于會話相似度會隨著鄰域數量的增加而降低,相似度較低的會話引入了越來越多的噪聲,導致捕獲的項目轉換關系不夠準確。因此,合理利于鄰域會話可以為模型提供補充信息,提高預測能力。

圖4 不同鄰域數量下的性能對比
為解決會話推薦問題中對會話上下文信息利用不足的問題,本文提出了基于局部-鄰域圖信息與注意力機制的會話推薦模型。模型通過當前會話來提取相似的鄰域會話,將兩種類型的會話序列構建成會話圖,從兩個角度提取項目轉換信息,并融合成最終的項目表示;之后使用軟注意力機制生成全局嵌入,使用目標注意力機制生成目標嵌入,并結合局部嵌入得到會話表示,在此基礎上進行推薦。本文基于兩個真實數據集進行實驗,提高了各項指標,驗證了鄰域會話信息對推薦的輔助作用以及目標注意力機制對會話表示的優(yōu)化作用。會話推薦的輔助信息除鄰域會話外,還包括會話內項目的停留時間,停留時間往往隱含了用戶的興趣變化。在之后的研究工作中,通過分析用戶歷史行為數據中的時間間隔和用戶在不同時間段的行為變化,模擬用戶的興趣演化過程,準確捕獲用戶興趣,以進一步提升推薦準確性。