李清風,金 柳,馬慧芳,張若一
(1.西北師范大學計算機科學與工程學院,甘肅 蘭州 730070;2.中國交通信息科技集團有限公司,北京 100088)
隨著在線平臺的快速發展和在線用戶行為類型的急劇增加,多行為推薦MBR(Multi-Behavior Recommendation)方法[1]在提升用戶體驗方面發揮了至關重要的作用。與傳統的推薦方法[2]不同,MBR通常利用多種類型的用戶交互行為來學習用戶對目標行為(即購買)的偏好。不同類型的交互行為可以從不同的意圖維度表征用戶偏好,并相互補充以更好地學習用戶偏好。最近,一些研究試圖通過引入行為相關性來顯式建模用戶的多種行為類型。例如,神經多任務推薦NMTR (Neural Multi-Task Recommendation) 方法[3]假設用戶行為類型有一個總順序,然后根據先驗知識對行為類型進行排序并利用一個多任務學習框架來聯合優化模型。類似地,高效異質協同過濾EHCF (Efficient Heterogeneous Collaborative Filtering)方法[4]采用遷移學習范式來關聯多種行為類型,然后通過基于全部數據的非抽樣方法優化模型。另一種研究方法是通過生成特定行為類型的表示來建模行為間依賴。例如,基于圖卷積網絡的多行為推薦MBGCN(Multi-Behavior recommendation with Graph Convolutional Network)方法[5]提出一個關系感知的嵌入傳播層來捕獲不同行為類型下高跳鄰居傳遞的協同信號,從而增強對目標行為的偏好學習。但是,由于觀察到的用戶交互數據稀少,這些基于監督學習范式的模型仍然受到稀疏監督信號的影響,而無法精確推斷出用戶偏好,從而導致推薦性能下降。
對比學習是一種經典的自監督學習,旨在從原始數據本身去挖掘自監督信號,用來補充那些僅來自觀察到的交互數據里經典的監督信號。這種新技術被認為是緩解稀疏監督信號問題的良藥,引起了研究人員的廣泛關注。受對比學習在計算機視覺和自然語言處理領域的啟發,已有研究將對比學習運用到推薦系統。常見方法是通過從原始用戶項目交互圖中隨機刪除一些節點或邊以生成增強視圖,然后利用對比學習提取自監督信號。例如,自監督圖學習SGL (Self-supervised Graph Learning)方法[6]總結了基于圖的3種隨機增強操作類型,包括節點丟失、邊丟失和隨機游走,然后將它們集成到一個通用的自監督學習框架中用于推薦。在多行為推薦場景中,對比元學習CML (Contrastive Meta Learning)方法[7]采用元學習范式來保存多行為上下文信息,并通過最大化多行為視圖的一致性來優化用戶表示。值得注意的是,SGL方法在用戶項目交互圖上進行丟棄操作可能會使數據更加稀疏,CML方法簡單考慮不同行為的特性而忽略高階語義信息,從而使得推薦性能次優。
為了解決上述問題,本文提出雙視圖對比學習引導的多行為推薦DVCL(Dual-View Contrastive Learning)方法來挖掘自監督信號,以增強多行為推薦。首先,分別構建交互視圖和折疊視圖,并設計2個不同的視圖編碼器分別學習用戶和項目的表示。具體來說,在交互視圖中,用戶表示和項目表示通過聚合其直接鄰居的信息來學習,這能夠捕獲局部結構;在折疊視圖中,用戶表示和項目表示沿多個折疊路徑傳遞消息來學習,目的是捕獲高階結構。交互視圖編碼器作為主編碼器用于主推薦任務,折疊視圖編碼器則充當輔助編碼器用以增強前者。此外,設計新穎的跨視圖協同對比學習機制,使得2個編碼器可以彼此獲得互補的結構信息。然后,通過優化對比學習目標函數以細化視圖編碼器和用戶表示。迭代這個過程的好處有2方面,一是隨著跨視圖協同對比學習的進行,生成的用戶樣本變得更有信息量(困難樣本),這可以為每個編碼器提供更有意義的信息;二是利用2方面的結構信息,創建更實用的自監督信號,從而改進交互視圖編碼器以進行推薦。最后,采用多任務聯合學習策略優化模型參數。在2個真實數據集上進行不同的實驗驗證了本文方法的有效性。
設用戶集合為U={u1,u2,…,um},項目集合為V={v1,v2,…,vn},其中,m和n分別表示用戶數和項目數,u和v分別表示U中的任意一個用戶和V中的任意一個項目。設Y(1),Y(2),…,Y(K)表示用戶-項目關于K種行為的交互矩陣,其中K表示交互行為類型數。y(k)uv=1表示用戶u和項目v有過第k種類型的行為交互,反之y(k)uv=0。默認第K種行為視為目標行為(即購買行為),其余前K-1種行為視為輔助行為。進一步定義相關視圖概念如下:
定義1(交互視圖) 將用戶和項目視作節點,基于多行為交互關聯,交互視圖定義如式(1)所示:

(1)
交互視圖描述了用戶與項目間直接多行為交互關系,可以通過學習交互視圖局部結構來學習用戶行為偏好。
定義2(用戶折疊視圖) 為了描述用戶間高階關系,用戶折疊視圖定義如式(2)所示:
(2)
本文問題定義如下:
輸入:給定目標用戶u,目標項目v,交互視圖GI和折疊視圖GF。
輸出:目標用戶在目標行為下與目標項目的交互概率。
為了描述清晰起見,本文涉及到的常用符號定義總結如表1所示。

Table 1 Commonly used notations definition
圖1給出了DVCL方法的工作過程。具體地,首先根據用戶多行為交互數據分別得到交互視圖和折疊視圖。接著,利用2個非對稱視圖編碼器(即交互視圖編碼器Interactive view encoder和折疊視圖編碼器Fold view encoder),同時捕獲用戶和項目在交互視圖和折疊視圖上局部和高階異質交互關系。在學習到2個視圖上用戶和項目的嵌入表示后,利用跨視圖協同對比學習自適應捕獲2個視圖上不同的結構信息,以細化視圖編碼器和用戶項目嵌入表示。最后,采用多任務聯合學習優化DVCL方法參數,并輸出目標用戶在目標行為下與目標項目交互的概率。

Figure 1 Process of our proposed DVCL method
交互視圖編碼器旨在學習交互視圖下用戶(或項目)的嵌入。輕量化圖卷積網絡LightGCN (Light Graph Convolution Network)[8]是一種使用簡單的消息傳遞和聚合機制的方法,不需要特征變換或非線性激活。交互視圖編碼器的嵌入傳播層基于LightGCN捕捉協同信號以及用戶項目異質交互局部圖結構。用戶(或項目)嵌入通過累積來自所有行為類型下有過交互的項目(或用戶)傳遞的消息來學習。
具體來說,首先聚合用戶u在第k種行為類型下的鄰居,如式(3)所示:
(3)

(4)

(5)
值得注意的是,每個嵌入層被賦予1/(L+1)的統一權重,這通常會取得良好的性能。在交互視圖上項目嵌入的學習過程類似于用戶嵌入的學習過程,因此本文省略了這一部分描述。
折疊視圖編碼器旨在學習折疊視圖下的用戶(或項目)嵌入,建模用戶(或項目)之間的高階關系。這種高階關系意味著存在一條路徑,使得2個用戶(項目)在同一行為類型下與同一個項目(用戶)進行過交互。每條這樣的路徑都代表著特定的語義相似性,使用特定于折疊視圖的圖卷積網絡來編碼該特征,如式(6)所示:
(6)

然后,利用式(7)線性聚合多層表示:
(7)
因為存在K種交互行為類型,可以獲得用戶u的K種行為類型下的嵌入。然后利用行為級注意力機制將它們融合為最終嵌入zu,如式(8)~式(10)所示:
(8)
(9)
(10)

交互視圖旨在通過用戶項目直接交互關系學習用戶偏好,折疊視圖旨在學習用戶之間高階關系,2個視圖相關又互補。本文提出跨視圖協同對比學習來融合局部和高階的信息,從而提升嵌入質量。從上述2個視圖中分別獲得節點u在2個視圖中的嵌入qu和zu之后,通過多層感知機MLP (Multi-Layer Perceptron)進一步進行特征變換,將節點表示映射到計算對比損失的表示空間,如式(11)和式(12)所示:
(11)
(12)


(13)
其中,I(·)表示指示函數。構造集合Su={u′∣u′∈Uandu(u′)≠0},并將其中元素按u(u′)的數值大小降序排列。設置閾值Npos,如果|Su|>Npos,則將集合Su內前Npos個用戶作為用戶u的正樣本,以此構造正樣本集合Pu,否則將保留Su內所有用戶節點作為正樣本集合。將除去正樣本用戶剩余的所有用戶視為用戶u的負樣本集合Nu。遵循信息噪聲對比估計InfoNCE (Information Noise Contrastive Estimation)[10],最大(小)化正(負)樣本對之間一致性。跨視圖對比損失形式化如式(14)所示:
(14)


(15)
其中,ρ表示平衡2種視圖學習效果的系數。可以通過反向傳播優化DVCL方法的參數和節點嵌入。
在得到用戶和項目的密集向量表示后,本文將交互視圖下最終的用戶表示和項目表示投影到預測層來預測用戶在目標行為類型下的偏好,如式(16)所示:
(16)

(17)
其中,O={(u,v+,v-)∣(u,v+)∈O+,(u,v-)∈O-},O+和O-分別表示用戶u觀察到的目標行為類型交互集合和未觀察到的目標行為類型交互集合。
本文利用多任務學習策略[11]來聯合訓練不同但相關的任務,最終聯合學習目標函數定義如式(18)所示:
(18)
其中,Θ表示DVCL所有可學習參數,ζ和η分別用來控制跨視圖協同對比學習和L2正則化強度,通過聯合訓練同時優化跨視圖對比學習損失和BPR損失。
DVCL方法的偽代碼如算法1所示。

算法1 用于多行為推薦雙視圖對比學習的DVCL方法輸入:用戶集合U,項目集合V,用戶-項目多行為交互矩陣集合{Y(1),Y(2),…,Y(K)}。輸出:對于每個u∈U返回一個推薦項目列表。1.構建交互視圖GI和折疊視圖GF;2.根據式(3)~式(10)學習用戶和項目分別在交互視圖和折疊視圖上的嵌入表示;3.for u∈Udo4. 根據式(11)和式(12)將用戶和項目嵌入轉換到計算對比損失空間;5. 根據式(13)計數用戶u與用戶j在所有行為下的折疊路徑數目,從而得到正樣本集合Pu和負樣本集合Nu;6. 根據式(14)和式(15)計算跨視圖協同對比學習損失 Iu和 Fu;7. 根據式(16)計算用戶u與項目v的交互概率;8. 根據式(17)計算目標行為下BPR損失 main;9.end for10.根據式(18)聯合優化所有目標函數;11.為每個用戶返回一個降序排列的項目推薦列表;
本節在2個真實世界的電子商務數據集上進行實驗,以證明DVCL方法的有效性,旨在回答以下4個研究問題:
(1)問題1:與最先進的方法相比,DVCL方法在推薦應用方面會更有效嗎?
(2)問題2:DVCL中各種模塊(雙視圖學習、跨視圖協同對比學習機制)對DVCL的最終性能有何影響?
(3)問題3:與最先進的方法相比,DVCL在緩解交互數據稀疏方面表現如何?
(4)問題4:傳播層深度l如何影響DVCL的性能?
2個真實世界的電子商務數據集具體信息如下所示:
(1)Beibei(https://www.beibei.com/):這是從國內最大的嬰幼兒用品電商平臺貝貝網收集的數據集。在這個數據集中,有21 716個用戶和7 977個商品,它們有3種類型的行為,包括瀏覽、添加購物車和購買。
(2)Taobao(https://www.beibei.com/):這是從中國最大的電子商務平臺淘寶網站上收集的數據集。該數據集包含48 749個用戶和39 493個商品,具有3種類型的行為,包括瀏覽、添加購物車和購買。
遵循現有方法[3,4],首先合并重復的用戶-項目交互,然后過濾掉少于5次購買交互的用戶和項目。之后,把用戶的最后一次購買記錄作為測試數據,倒數第2次記錄作為驗證數據,剩下的記錄作為訓練數據。表2總結了這2個數據集的統計細節。

Table 2 Statistical details of the datasets
實驗采用HR@N和NDCG@N分析DVCL方法的推薦性能。其中,HR@N是一個基于召回的指標,它衡量測試項目是否在前N項項目排名列表中(1表示是,0表示否)。NDCG@N是一個位置敏感的指標,它為項目排名列表中位置靠前的命中分配較高的分數。2個指標的值越大,表示方法的推薦性能越好。
本文將DVCL與各種先進的方法進行比較,以證明其有效性。基線方法分為2類,一類是僅利用目標行為數據的單行為方法,另一類是利用所有行為類型數據的多行為方法。完全遵循原始論文的調整策略來設置基線方法參數。
單行為推薦方法包括:
(1)神經協同過濾NCF (Neural Collaborative Filtering)方法[12]: 一種結合矩陣分解MF(Matrix Factorization)和MLP的深度學習方法。
(2)高效神經矩陣分解ENMF (Efficient Neural Matrix Factorization)方法[13]: 一種用于推薦的非抽樣學習方法。
(3)LightGCN[8]: 一種基于圖神經網絡的方法,它刪除了非必要的特征變換和非線性激活,使其更適合于推薦任務。
多行為推薦方法包括:
(1)NMTR[3]: 一種深度學習方法,它對多種類型的行為依賴進行建模并通過多任務學習策略進行聯合學習。
(2)MBGCN[5]: 一種基于圖神經網絡的方法,它綜合考慮各種行為類型對用戶影響程度,并通過多層信息傳播捕捉高階連接。
(3)EHCF[4]: 一種基于遷移學習的方法,每個行為的預測以遷移方法相關聯,捕捉行為之間的復雜關系。
實驗通過驗證集調整超參數,并根據測試數據評估方法性能。訓練使用的負樣本是從用戶在購買行為下未交互的項目集合中隨機采樣得到的,負采樣率設置為4。最大訓練輪次epoch設置為300。采用早停策略來預防過擬合問題,即如果在驗證數據上的HR@100在連續40個epoch內沒有增加則提前停止。批量大小設置為1 024,嵌入維度設置為64,并且Adam的學習速率為0.001。將丟棄率Dropout設置為0.2,以防止過度擬合。嵌入傳播層數設置為1。對于查看、添加購物車和購買行為,系數參數λk在貝貝數據集上分別設置為1/6,5/6和0,在淘寶數據集上分別設置為2/6,4/6和0。溫度參數τ和平衡參數ρ分別設置為0.2和0.5。控制協同對比學習L2和正則化約束強度大小的參數ζ和η分別設置為0.05和0.000 1。
為了避免實驗偶然誤差對實驗結果的影響,本文方法所有實驗均運行5次,最終用平均值進行量化。
4.3.1 性能對比(問題1)
不同方法在2個數據集上的性能比較結果如表3所示,其中帶下劃線數字表示基線方法中的最佳性能,粗體數字表示所有方法中的最佳性能。為了評估不同推薦長度TOP-N對性能的影響,將N的值設置為10,50和100。

Table 3 Performance comparison on two datasets
從性能對比中可以得出以下重要觀察結果:
(1)多行為推薦方法通常比單行為推薦方法表現得更好。對比多行為推薦方法和單行為推薦方法,可以發現引入額外的輔助行為可以提升在目標行為上的推薦性能。
(2)對比學習可以有效緩解監督信號稀疏的問題。結合表2和表3分析可以發現,與最先進的基線方法EHCF相比,本文提出的DVCL在淘寶數據集上提升尤為明顯。然而,淘寶數據集的交互數據比貝貝數據集更加稀疏,這說明跨視圖對比學習可以從原始數據本身挖掘監督信號,補充經典推薦監督信號進一步緩解數據稀疏問題,提升推薦性能。
(3)DVCL在2個數據集上始終優于其他基線方法。
此外,本文還進行了單樣本配對t檢驗,以證明與最佳基線相比,所有的改善都具有統計學意義(p值< 0.01)。與最近提出的基于標準學習的最佳基線EHCF方法相比,DVCL在貝貝數據集上的HR@100和NDCG@100分別提高了8.2%和7.9%,在淘寶數據集上分別提高了14.6%和16.5%。這種實質性的改進可歸因于2個原因:(1)雙視圖學習機制捕獲局部和高階結構信息,從2個視圖學習到的表示相關但又互補;(2)提出的跨視圖對比學習,能從2個視圖中明確提取更豐富的監督信號,以補充僅來自交互的監督信號。
4.3.2 模型消融實驗(問題2)
為了驗證雙視圖學習、跨視圖協同對比學習和差異性約束的有效性,本文設計了如下幾個DVCL的變體用于消融實驗:
(1)DVCL-I:僅使用交互視圖來學習用戶/項目嵌入。
(2)DVCL-F:僅使用折疊視圖來學習用戶/項目嵌入。
(3)DVCL-S:去除了跨視圖協同對比學習機制,然后僅使用2個視圖上的用戶/項目嵌入的簡單求和來獲得最終嵌入。
4.3.3 數據稀疏問題的有效性分析(問題3)
數據稀疏問題是推薦系統面臨的一個關鍵挑戰。相比于整個用戶項目交互空間,可觀察到的用戶項目交互僅僅是一小部分,其中貝貝數據集交互稀疏率為6.4e-3,淘寶數據集交互稀疏率為1.03e-3。因此,本文進一步研究了DVCL如何緩解目標行為記錄很少的用戶的問題。具體來說,在貝貝數據集和淘寶數據集上分別統計了6 056和11 846個有5~8次購買記錄的用戶。最后,DVCL與其他基線方法(NMTR、MBGCN和EHCF)的對比實驗結果如圖2所示。可以發現,DVCL在2個數據集上的HR@100和NDCG@100指標始終優于最好的基線方法EHCF。由于DVCL從不同方面對異構行為關系進行建模,并利用對比學習機制從2個視圖中提取有益信息相互補充,因此它可以為稀疏交互的用戶實現良好的性能,這說明了對比學習在緩解數據稀疏問題上的巨大潛力。

Figure 2 Performance comparison with sparse data
在2個數據集上的消融實驗結果如表4所示。從表4可以得出以下結論:

Table 4 Performance comparison of DVCL variants on two datasets
(1)DVCL-I始終比DVCL-F表現更好。交互視圖捕獲用戶項目直接交互關系,折疊視圖捕獲高階關系,這說明用戶交互的直接項目鄰居傳遞的信息在建模用戶行為偏好中更重要,而用戶的折疊用戶鄰居相比而言更容易帶來噪聲,影響嵌入學習。因此,本文選擇交互視圖編碼器作為主編碼器。
(2)DVCL-S始終比DVCL-I和DVCL-F性能更好。交互視圖捕獲局部的交互信息,折疊視圖捕獲高階關系,這驗證了雙視圖建模的合理性,2個視圖能相互補充信息并提高用戶/項目的嵌入學習質量,提高推薦性能。
(3)DVCL的性能在DVCL-S的基礎上得到了進一步提高,這驗證了跨視圖協同對比學習機制的有效性。相比于簡單地通過求和來進行信息融合,跨視圖協同對比學習能更有效地融合互補的局部和高階信息,并從2個互補視圖中提取影響用戶偏好的高階因素來引導用戶偏好學習。
4.3.4 傳播層數影響(問題4)
本節探究在2個視圖編碼器上基于圖卷積網絡的傳播層深度l對于整體方法性能的影響,在{1,2,3,4}選擇l,實驗結果如圖3所示。可以發現,對于貝貝數據集和淘寶數據集來說,l=1都達到了最佳性能。當層數變多時,DVCL性能會有一定程度的下降,原因是多層嵌入傳播雖然使2個視圖能夠捕捉高階協同信號,但這樣做在一定程度上破壞了原本獨立但又互補的2個視圖,引入噪聲降低了對比學習性能。

Figure 3 Effect of layer number on method performance
本文研究了通過雙視圖對比學習增強多行為推薦的問題。具體來說,在2個獨立但互補的視圖上學習用戶/項目表示,然后引入跨視圖協同對比學習以從中捕獲局部和高階結構信息,然后利用BPR損失優化參數。在2個基準數據集上進行的大量實驗表明,DVCL始終優于先進的推薦方法,其性能在貝貝數據集上平均提升了8%,在淘寶數據集上平均提升了15%。未來,將考慮設計用戶行為類型間的對比學習去挖掘用戶不同行為類型之間的共性,以進一步揭示用戶偏好,并在行為融合過程中考慮用戶不同行為類型的交互數來細粒度建模用戶不同行為類型重要性。隨著在線平臺的快速發展和在線用戶行為類型的急劇增加,相信多行為推薦在未來會受到越來越多的關注。