鄭小麗,王巍,2,張闖,杜雨晅
1. 河北工程大學 河北省安防信息感知與處理重點實驗室,河北 邯鄲 056038
2. 江南大學 物聯網工程學院,江蘇 無錫 214122
在互聯網信息呈爆炸式增長的時代,推薦系統已經成功進化為信息服務的基礎工具之一,它能夠幫助用戶做出合理的選擇和決策,提高數據處理的效率,有效緩解信息過載問題[1-2]。傳統的推薦算法需要借助用戶個人簡介以及歷史評分(如網頁的瀏覽數據、購買記錄、社交網絡和地理位置)等語義信息來構建推薦任務以預測用戶真正感興趣物品,然而在實際應用中,由于隱私策略或用戶匿名訪問的限制,用戶的檔案資料和長期歷史配置文件大多都無法直接獲得,唯一可用的有效信息只有當前會話中的點擊行為記錄[3]。因此,基于會話的推薦方法誕生并受到了學術界和工業界的廣泛關注。
會話推薦旨在根據短期匿名會話交互軌跡行為構建交互行為模式,進一步預測用戶要點擊的下一項物品的概率[4-5]。最初,所做工作主要是馬爾可夫鏈的淺層方法捕捉序列數據中隨時間推移而動態變化的用戶興趣[6];近幾年,以神經網絡為首的深度學習技術發展火熱,深層的神經網絡已被廣泛用于從非結構化數據內容中提取高階信號特征的場景中,相關研究者也將深度神經網絡引入了會話推薦中,對蘊含在不同類型會話數據中的潛在價值進行深入挖掘,極大地帶動了會話推薦的研究進程[7]。循環神經網絡[8](recurrent neural networks, RNN)通過狀態變量將上一時刻輸出和此刻輸入進行結合共同作用影響獲得此刻的輸出結果,實現了神經網絡的“記憶存儲”功能。由于循環神經網絡對序列型數據有著與生俱來的天然建模優勢,文獻[9]首次將循環神經網絡納入會話推薦系統中提出一種基于GRU4Rec 的方法,該方法通過多層門控循環單元和采用并行架構批量處理方式學習序列信息,聚焦于單個會話的興趣演變,優化了訓練策略 ;相比而言,作為深度學習領域最活躍的研究方向之一,圖神經網絡[10](graph neural networks,GNN)憑借其卓越的性能已經被廣泛應用于個性化推薦等日常生活中,在新冠藥物研發等科學前沿領域也不乏其身影,Wu 等[11]開創性地將會話序列構建為圖數據結構來提取會話級特征,顯示出了可觀的推薦性能。然而盡管研究者們在圖會話建模方面已經取得了不錯的進展,但基于圖的會話推薦方法依然存在一定的局限性和挑戰性[12],主要總結如下:
1)由于會話數據存在隨機性和嘈雜性的特點,在會話行為序列中并不是所有的交互行為都對下一項物品預測有幫助,且模型在形成興趣表征時無法越過與用戶主要興趣不相關的物品,這阻礙了模型進行有效的意圖學習,使學習到的會話表示可能存在魯棒性差和不準確的問題[13]。
2)對于用戶行為中的噪聲點擊,傳統解決方法通常采用注意力機制由softmax 加權的方式削弱與用戶主要目的不相關物品的影響,即賦予不重要物品較小的權重比例,屬于一種隱式去噪方式,但是經過多次迭代后,這種小權重嘈雜點擊仍會積累大量的噪聲,容易形成無效的意圖學習[14]。
3)雖然現有的基于會話預測方法利用強大的表示學習方法在低維空間中編碼項目的順序相關性,但它們也存在一定的局限性。用戶興趣本質上是由用戶意圖驅動,而用戶意圖會隨時間推移發生動態性變化,用戶對物品的興趣也會隨之不斷改變,這種變化容易使得模型存在無法準確分析隱式反饋數據內部復雜的相互依賴關系和不能充分捕捉用戶真實偏好動態變化規律的問題[15]。
為此,提出融合對比學習的圖神經網絡會話推薦模型(comparative learning graph neural network for session-base recommendation,CLSR-GNN),該模型首先將會話數據轉換為圖,并通過圖神經網絡的圖拓撲結構聚合圖上項目的特征信息,得到項目隱含向量表示,作為局部會話表示,這種特征提取方式能夠增強模型表達能力,可以更為充分和準確地學習具有豐富語義的項目表示;其次,為了更好地了解用戶的真實意圖、降低噪聲行為干擾作用、避免嘈雜點擊的累積,對基于項目的隱含向量先用軟注意力分配給每個項目不同注意力分數值生成注意力參數矩陣,利用噪聲濾除器對注意力系數進行更加細致的處理,過濾掉權重低于特定閾值的項目,生成有效的全局會話向量表示,顯示過濾掉與用戶主要目的不相關的物品;再次,為使模型去噪效果達到更佳,將經過噪聲過濾的全局嵌入表示和原會話全局嵌入表示分別作為正樣本和負樣本,聯合對比學習框架對兩者建立監督信號進行優化訓練,達到更好地抑制噪聲干擾的效果,獲得高質量的會話特征向量表示,更為有效地挖掘項目之間深層次的關聯,增加模型魯棒性和可解釋性;最后,采用門控機制來自適應地融合全局偏好和局部偏好表示,有效建模會話中用戶與項目交互序列中的復雜轉換關系,結合全局和局部物品特征來揭示會話序列中用戶的興趣變化規律,獲得更準確的會話向量表示,從而形成個性化推薦,預測用戶將要點擊的下一項物品。實驗結果表明,該算法顯示出了較好的推薦性能,具有合理性和優越性。
隨著深度學習的發展,圖神經網絡異軍突起,成為了圖計算和圖挖掘任務的最佳方法[16]。從圖的視角重新看待傳統推薦模型,不難看出,傳統模型一般只利用了圖上的一階鄰居節點信息,如在矩陣分解模型中,對于給定的用戶,它僅用到了其一階鄰居的信息,因此導致模型的推薦性能受限[17]。與傳統模型相比,圖神經網絡模型可以通過消息傳播機制讓節點聚合到大部分高階鄰居的信息,即有效地捕獲高階關系以實現更準確的表征學習[18-19]。圖作為一種通用類型的數據結構,也被引入了會話推薦任務建模中,Wu 等[11]采用門控圖網絡作為項目特征編碼器,并利用軟注意力機制將項目特征和會話特征聚合在一起,進行用戶興趣學習;Xu 等[20]設計了多層自注意力網絡,利用了自注意力機制和圖神經網絡的互補性,以獲得情境化的非局部表征,保持了模型的簡單性和靈活性,實現了較好的推薦效果;Qiu等[21]提出了一種加權注意力圖結構和一個讀出函數來學習物品和會話的嵌入的模型框架來協同處理會話圖中的潛在順序關聯;Wang 等[22]提出了一種結合上下文信息加強的模型,以更加細粒度的方式考慮所有會話中的物品轉換,更好地推斷出了用戶在當前會話中的興趣偏好;Yang等[15]利用圖卷積神經網絡構建多關系物品圖,同時考慮目標行為和輔助行為信息,構建全局item2item 關系圖,進而建模用戶動態興趣。
自監督學習[23]是一種新興的機器學習方法,旨在通過自監督的方式從原始數據中學習更好的數據表示。最初它被用于計算機視覺領域進行表征學習[24],然后又將自監督學習擴展到圖表示學習中[25]。而對比學習(contrastive learning)是自監督學習中的一種,用來解決"標注少或無標注"的問題。對比學習是通過對比具有互信息最大化的一致和不一致視圖來幫助模型學習不同視圖中相似性較大的表征,進而形成編碼豐富的圖或節點表示[26],簡而言之,其主要思想為利用對比學習可以使模型中樣本和與之相似的正樣本之間的距離遠大于樣本和與之不相似的負樣本之間的距離。隨著對比學習在CV 和NLP 領域的成功應用,它也被相關研究者引入了推薦系統任務中。Zhou等[27]使用特征掩碼來創建自監督信號,但由于會話數據的稀疏性,屏蔽特征不能產生強大的自監督信號,因此并不適用于會話推薦建模;Xia 等[28]將會話數據構建為超圖,創新性地把自監督學習融入到了網絡訓練中,通過最大化地學習模型里2 個通道中會話表示之間的互信息,并將其作為改進推薦的輔助任務來進一步提升模型整體性能;Yang 等[29]設計了一個通用的知識圖譜對比學習框架,利用來自知識圖譜增強過程的額外監督信號來指導跨視圖對比學習,在梯度下降中為無偏的用戶–商品交互分配更大的權重,并進一步抑制噪聲,在具有稀疏性用戶–商品交互、長尾和嘈雜的知識圖譜實體的推薦場景中取得了較好的推薦性能。
會話推薦是要預測下一項要點擊的物品,無需訪問用戶的長期歷史數據。假設有n個匿名會話序列,所有會話序列涉及的物品數有m個,它們組成的集合分別為S=(vs,1,vs,2,···,vs,n)和V={v1,v2,···vm}。其中,Si∈V表示在會話S中用戶點擊的某一項。會話推薦任務是預測給定的會話S中用戶在下一時刻要點擊的所有物品的概率分布,取前k項形成排名列表進行top-k推薦。
CLSR-GNN 模型的整體框架如圖1 所示。模型主要由3 部分組成:1)特征提取部分。會話數據注入模型中,全部構建為會話圖,然后利用圖神經網絡組件捕捉會話圖中的物品轉換關系的高階結構信息,生成物品局部特征嵌入。2)去噪優化部分。為更好地刻畫用戶興趣表征,對得到的物品嵌入先通過軟注意力機制獲取不同物品的注意力權重向量,然后對權重矩陣設置相應去噪函數,過濾掉權重低于特定閾值的項目,越過與用戶主要目的不相關的項目,形成去噪增強的全局特征嵌入表示。采用對比學習框架對去噪增強的全局特征嵌入和原會話全局嵌入構建優化策略,進而輔助模型去噪,形成更加準確的會話級全局特征表示。3)模型預測。結合門控機制來自適應地融合局部和全局嵌入表示獲得最終會話表示,進行推薦預測。

圖1 CLSR-GNN 模型整體框架
2.3.1 會話圖構建
首先,將每個會話序列構建為有向圖Gs,公式為
式中:Gs為所有會話序列有向圖的集合,Vs為圖中節點集合,Es為邊的集合。Vi,s為會話S中的第i個節點(物品),(Vi-1,s,Vi,s)∈Es在圖上顯示為Vi-1,s指向Vi,s的有向邊,(Vi-1,s,Vi,s)對應邊的值為1,兩物品之間無交互記為0。因此,每個會話中物品轉移關系可以用2 個矩陣來存儲,分別是MIn、MOut共2 個加權矩陣,來詮釋圖中項目的轉移順序。此外,為防止序列中重復行為的影響,需對每條邊作歸一化加權處理,這里的加權操作由該邊出現次數除以該邊起始節點的出度數計算獲得,結果如圖2 所示。

圖2 會話圖和鄰接矩陣示例
2.3.2 圖神經網絡學習
本文利用圖神經網絡學習項目的表征。為更加結構化地利用交互數據,GNN 經過逐次迭代鄰居節點信息和消息傳播機制,進行動態融合用戶核心興趣。會話序列推薦模型采用均值方式歸一化求和鄰接矩陣進行信息聚合,每個節點根據鄰節點的信息進行更新[22],公式為
式中:,∈均為可訓練的參數矩陣,bIn,bOut∈Rd是偏差向量,MtIn,MtOut∈分別指節點vi,s對應的出度和入度鄰接關系矩陣,[v1,v2,···,vn]為t-1時刻會話中所有物品的節點嵌入向量。提取節點的鄰域信息,然后將它們和上一時刻的狀態輸入到圖神經網絡中,最后GNN層的輸出計算如下:
2.4.1 注意力權重計算
將得到的局部節點表示輸入到軟注意力機制中用來捕獲全局會話偏好表示,注意力權重計算公式為
式中參數q∈Rd和W1,W2∈Rd×d控制項目嵌入向量的參數矩陣。
最后將獲得的和vi∈V對hi進行刻畫,計算vi對應的概率,結合softmax 得到,具體公式為
選取會話推薦中廣泛使用的交叉熵損失函數作為模型的訓練函數:
2.4.2 噪聲濾除器
一般情況下,采用注意力機制對無關項目分配小的權重也可以起到去除噪聲作用。但是,通常會假設將最后一項作為用戶當前意圖的線索,最后一項會被用來計算其他項的重要性。這種做法就可能產生2 個問題:1)用于計算其他項目注意權重的所選項目(即最后1 個項目)也可能是嘈雜的點擊;2)小權重的嘈雜點擊仍然會積累大量的噪聲,阻礙用戶有效的意圖學習。為有效緩解噪聲帶來的干擾作用,本模型設置噪聲濾除函數來顯示去除掉無用的特征增強模型魯棒性,噪聲濾除函數具體表達式為
式中λ是控制去噪程度的參數,通過λ與平均注意力權重的乘積計算得出閾值大小。留下超出閾值的權重值,低于閾值的權重置為0。該做法可以顯式地過濾掉有噪聲的點擊,并學習當前會話的精確嵌入,以增強會話意圖學習。
此時去噪增強后的全局會話嵌入表示計算如下:
本模型從獲取全局會話級表示角度出發,采用對比學習框架對去噪增強的全局特征嵌入和原會話全局嵌入構建優化策略,進而輔助模型去噪,形成更加準確的興趣表征。前后思路各異,但均以獲得全局特征表示為目的,它們的區別在于有無去噪學習處理,即它可以雙向促進更好的監督對方,相輔相成更好的表示數據。本模型對比學習的損失函數為
式中:Sglong和S′glong表示模型無去噪處理和有去噪處理學習到的2 種全局會話序列表示;是負樣本,對Sglong進行操作獲取;fD有辨識功能,它以2 個向量作為輸入,評估相似性。具體來說,2 個向量之間的點積被記為fD函數,σ是sigmoid 激活函數。雙方可以進行最大限度的信息利用,促進同一全局嵌入表示不同處理方式的一致性,將不同點盡可能放大便于發現。最后推薦部分和對比學習共同產生效果:
式中δ代表對比損失的權重。
通過以上操作能夠結合序列中的各種信息,同時考慮到噪聲干擾,推薦性能有效提高。
不同的用戶可能有不同的行為習慣。例如,一些用戶可能會頻繁地瀏覽項目頁面并任意地單擊各種項目,經過長時間反復比較查看測評才會決定下單。而另一種用戶可能會只單擊他們想要購買的項目,較短時間內做出決策。不言而喻,在這些情況下,全局會話嵌入和局部會話嵌入對下一個項目預測的貢獻是不同的。所以,定義了以下門控機制來計算最終的用戶偏好表示:
式中:[ ; ]表示拼接操作,σ為sigmoid 激活函數,Wg∈R1×2d為模型的可訓練參數。最后,通過對Sglabol和Slocal的加權求和得到當前會話的用戶偏好表示:
本模型旨在根據用戶匿名會話序列預測用戶的近期行為,為驗證模型的準確性和優越性,在公開的Diginetica 和Tmall[30]2 個數據集上進行訓練和測試。其中,Diginetica 數據集來自CIKM Cup 2016 挑戰賽,是從搜索引擎日志中提取的電商交易型用戶會話數據,包括600 684 個用戶對184 047 件商品共計993 483 次用戶點擊記錄,每條數據包含會話ID、項目ID、項目類別、時間戳等信息;Tmall 數據集源于IJCAI-15 競賽,是中國最大在線購物平臺(天貓)記錄的用戶行為日志,大約有963 923 個戶對235 320 7 個商品的44 528 127次交互記錄,有時間戳、商品類別信息等。上述2 個數據集均是電商場景下的數據集,在規模大小和稀疏性方面各不相同。為方便起見,在實驗過程中,參照文獻[30-31]對3 個數據集進行如下預處理,過濾出現次數少于5 次的項目對應的數據,移除少于2 個項目的所有會話數據。此外,將最后一周的會話數據設置為測試數據,剩下的反復實驗可以用到。最后如表1 所示。

表1 實驗數據集的統計信息
為評估提出模型的推薦性能,本文采用Precision@k和MRR@k共2 種推薦系統常用的top-k評價指標來對模型準確性進行測試。Precision@k表示準確率,用于衡量推薦預測的準確性;MRR@k表示平均倒數排名,推薦列表中正確物品倒數等級的平均值。
為了證明提出的 CLSR-GNN 算法的有效性,本文從多個角度對所提模型分析實驗:
1)基準模型
為了評估該模型性能,實驗選取以下模型作為對比模型:
Pop[32]:僅利用基于重復出現的項目進行推薦。
IitemKNN[33]:考慮項目向量之間的余弦相似度捕捉用戶興趣。
FPMC[34]:經典的基于一階馬爾科夫鏈和矩陣分解的傳統推薦算法。
GRU4Rec[35]:使用GRU 對會話序列進行建模,并將用戶興趣編碼為最終狀態。
Caser[36]:采用卷積神經網絡學習序列特征,為學習序列模式提供了一個靈活的網絡結構。
SR-GNN[11]:在會話推薦中首次使用圖神經網絡會話序列的經典模型。
LSKGCN[37]:考慮到長短興趣來對用戶意圖建模。
S2-DHCN[28]:將數據建模為超圖獲取高階項目特征并結合圖卷積網絡進行學習。
2)超參數設置
實驗設定隱藏向量維度為100,訓練批次大小設定為100,初始學習率為0.001 且每訓練迭代3 次學習率衰減10%,正則化系數 L2=10-5,在實驗中,按照 8∶1∶1 的比例在用戶維度上隨機劃分數據集來構建訓練集、驗證集和測試集,對所有參數采用均值為0、標準差為0.1 的高斯分布進行初始化,使用Adam 算法優化模型參數,訓練迭代輪數(epochs)設定為500,并且當驗證集上的評測指標在 10 輪內沒有變化時提前結束訓練。
3.4.1 基準模型比較
在會話推薦任務中,設置不同的推薦個數會直接影響測評的結果。為了將所提模型和基準模型進行更加準確的比較,將推薦個數k的范圍設置為20 進行測試。將提出的模型和基準模型在Diginetica 數據集和Tmall 數據集上的Precision@20、MRR@20 的實驗結果分別如表2 所示,其中基線模型中最優結果已用下劃線標出。

表2 CLSR-GNN 和基準模型在2 個數據集上的性能比較
從表2 中可以直觀地看出在不同的數據集上:1) CLSR-GNN 模型和SRGNN 以及S2-DHCN模型明顯優于設置的傳統的會話推薦模型,原因是這些模型考慮到了會話數據中蘊含的順序信息,同時結合了用戶的長短期興趣,捕捉用戶興趣的動態變化性,進而達到了高效的推薦性能。該結果還可以表明利用圖神經網絡增強的會話偏好編碼器表現出不凡的效果,能夠從會話序列中學習更為精確的會話表示。2) 縱觀表2 中所有數據,基于深度學習的模型雖然都表現出了一定的效果,但是引入自監督對比學習技術的CLSRGNN 模型和S2-DHCN 模型表現略勝一籌。這是因為2 個模型都考慮到了噪聲問題,并且都經過對比學習輔助任務的引入探索了會話中內在的序列依賴性,通過提供的自監督目標任務來發現額外的語義信息,使得學習到的會話表征更清晰,進而使得模型表現出更加優秀的性能。3) 同樣使用圖神經網絡和注意力機制的SRGNN 提取會話級表示的能力沒有聯合對比學習去噪優化的CLSR-GNN 強。這進一步證實CLSR-GNN 中過濾掉用戶無關行為數據的重要性,基于對比學習的輔助任務和目標監督任務構成了一種相互補充的模式機制,通過學習適用于基于會話的推薦的魯棒表示,可以解決隱式反饋和弱監督問題原則上表征固有的數據相關性問題。
3.4.2 模型穩定性分析
為保證模型穩定性和實驗結果的可靠性,本小節將推薦數量k的范圍設置為10~100,間隔設置為 10,總共分為10 組實驗。在Diginetica 數據集上運行的Precision@20 和MRR@20 指標結果值如圖3 所示。

圖3 模型穩定性分析
然后通過運行得到的結果計算出每組實驗對應的Precision@20、MRR@20 共2 種評價指標的方差值,為更好地觀測方差的變化情況將數據繪制成如圖4 的折線圖來呈現變化情況。從圖4 中可以看出隨著實驗組數的逐漸增加,方差值在局部位置有起伏,但是基本上保持平穩,其中Precision@20的方差大致穩定在0.007 附近上下波動,MRR@20在0.002 上下波動。

圖4 方差波動情況
3.4.3 向量嵌入維度對模型影響
為了研究向量嵌入維數d對模型推薦性能的影響。將向量嵌入維數的范圍設置為[32,64,96,128],分別在Diginetica 和Tmall 數據集上進行實驗,并使用Precision@20 值和MRR@20 值對不同向量嵌入維數的模型效果進行評價,實驗中其他參數值保持原默認值。
如圖5 所示,隨著向量嵌入維數的增加,2 個數據集上準確率和平均到排名數都呈上升趨勢,但是可以觀察到的嵌入維度取d=64 時模型的推薦性能優秀,具有較強的表示能力。

圖5 向量嵌入維度對模型影響
3.4.4 對比學習參數影響
對比學習可以自動提取與目標項目相關的項,通過訓練獲取一個有效的去噪模型來增強模型對用戶興趣的理解。在所提方法中,利用超參數δ來控制對比學習的程度。為了研究對比學習對CLSR-GNN 整體性能的影響。將超參數δ的范圍設置為{0.000 1, 0.000 5, 0.001, 0.002, 0.005,0.01,0.02},分別在Diginetica 和Tmall 數據集上進行實驗,并使用Precision@20 與MRR@20 對不同幅度對比學習下模型的性能進行評估,且實驗中其他參數取默認值保持不變。當與對比學習任務聯合優化時,CLSR-GNN 推薦性能得到了不錯的提高,不同參數δ值對應的實驗結果如圖6 所示。從圖6 可以看出,對于這2 個數據集,使用較小的δ值進行學習可以同時促進Precision@20 和MRR@20,但隨著δ逐漸變大時,性能就會下降。這可能是因為較大的δ造成模型過度學習,有用信息可能被去除,形成不太準確的引導,使模型表現不佳。

圖6 對比學習參數 δ對模型影響
本文設計了一種融合對比學習的圖神經網絡會話推薦模型來解決基于會話的推薦中的2 個挑戰,即用戶意圖的動態變化和用戶行為的不確定性。不同于在之前的研究,CLSR-GNN 模型設計一種噪聲濾除器顯示地過濾掉會話中的噪聲項目。結合對比學習策略進行聯合優化去噪,在2 個真實數據集上進行的設置對比實驗,證明了CLSR-GNN 模型的有效性。直接過濾掉會話中的噪聲項有助于挖掘用戶的真實意圖。以上這些研究拓寬了對基于會話的推薦任務的理解,并賦予了推薦系統準確預測用戶行為的新的潛力。下一步將研究如何賦予模型多尺度特征功能和輕量化模型結構,以實現更加快速且精確的推薦模型設計。