李清風(fēng),金 柳,馬慧芳,張若一
(1.西北師范大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,甘肅 蘭州 730070;2.中國(guó)交通信息科技集團(tuán)有限公司,北京 100088)
隨著在線平臺(tái)的快速發(fā)展和在線用戶行為類型的急劇增加,多行為推薦MBR(Multi-Behavior Recommendation)方法[1]在提升用戶體驗(yàn)方面發(fā)揮了至關(guān)重要的作用。與傳統(tǒng)的推薦方法[2]不同,MBR通常利用多種類型的用戶交互行為來(lái)學(xué)習(xí)用戶對(duì)目標(biāo)行為(即購(gòu)買)的偏好。不同類型的交互行為可以從不同的意圖維度表征用戶偏好,并相互補(bǔ)充以更好地學(xué)習(xí)用戶偏好。最近,一些研究試圖通過(guò)引入行為相關(guān)性來(lái)顯式建模用戶的多種行為類型。例如,神經(jīng)多任務(wù)推薦NMTR (Neural Multi-Task Recommendation) 方法[3]假設(shè)用戶行為類型有一個(gè)總順序,然后根據(jù)先驗(yàn)知識(shí)對(duì)行為類型進(jìn)行排序并利用一個(gè)多任務(wù)學(xué)習(xí)框架來(lái)聯(lián)合優(yōu)化模型。類似地,高效異質(zhì)協(xié)同過(guò)濾EHCF (Efficient Heterogeneous Collaborative Filtering)方法[4]采用遷移學(xué)習(xí)范式來(lái)關(guān)聯(lián)多種行為類型,然后通過(guò)基于全部數(shù)據(jù)的非抽樣方法優(yōu)化模型。另一種研究方法是通過(guò)生成特定行為類型的表示來(lái)建模行為間依賴。例如,基于圖卷積網(wǎng)絡(luò)的多行為推薦MBGCN(Multi-Behavior recommendation with Graph Convolutional Network)方法[5]提出一個(gè)關(guān)系感知的嵌入傳播層來(lái)捕獲不同行為類型下高跳鄰居傳遞的協(xié)同信號(hào),從而增強(qiáng)對(duì)目標(biāo)行為的偏好學(xué)習(xí)。但是,由于觀察到的用戶交互數(shù)據(jù)稀少,這些基于監(jiān)督學(xué)習(xí)范式的模型仍然受到稀疏監(jiān)督信號(hào)的影響,而無(wú)法精確推斷出用戶偏好,從而導(dǎo)致推薦性能下降。
對(duì)比學(xué)習(xí)是一種經(jīng)典的自監(jiān)督學(xué)習(xí),旨在從原始數(shù)據(jù)本身去挖掘自監(jiān)督信號(hào),用來(lái)補(bǔ)充那些僅來(lái)自觀察到的交互數(shù)據(jù)里經(jīng)典的監(jiān)督信號(hào)。這種新技術(shù)被認(rèn)為是緩解稀疏監(jiān)督信號(hào)問(wèn)題的良藥,引起了研究人員的廣泛關(guān)注。受對(duì)比學(xué)習(xí)在計(jì)算機(jī)視覺(jué)和自然語(yǔ)言處理領(lǐng)域的啟發(fā),已有研究將對(duì)比學(xué)習(xí)運(yùn)用到推薦系統(tǒng)。常見方法是通過(guò)從原始用戶項(xiàng)目交互圖中隨機(jī)刪除一些節(jié)點(diǎn)或邊以生成增強(qiáng)視圖,然后利用對(duì)比學(xué)習(xí)提取自監(jiān)督信號(hào)。例如,自監(jiān)督圖學(xué)習(xí)SGL (Self-supervised Graph Learning)方法[6]總結(jié)了基于圖的3種隨機(jī)增強(qiáng)操作類型,包括節(jié)點(diǎn)丟失、邊丟失和隨機(jī)游走,然后將它們集成到一個(gè)通用的自監(jiān)督學(xué)習(xí)框架中用于推薦。在多行為推薦場(chǎng)景中,對(duì)比元學(xué)習(xí)CML (Contrastive Meta Learning)方法[7]采用元學(xué)習(xí)范式來(lái)保存多行為上下文信息,并通過(guò)最大化多行為視圖的一致性來(lái)優(yōu)化用戶表示。值得注意的是,SGL方法在用戶項(xiàng)目交互圖上進(jìn)行丟棄操作可能會(huì)使數(shù)據(jù)更加稀疏,CML方法簡(jiǎn)單考慮不同行為的特性而忽略高階語(yǔ)義信息,從而使得推薦性能次優(yōu)。
為了解決上述問(wèn)題,本文提出雙視圖對(duì)比學(xué)習(xí)引導(dǎo)的多行為推薦DVCL(Dual-View Contrastive Learning)方法來(lái)挖掘自監(jiān)督信號(hào),以增強(qiáng)多行為推薦。首先,分別構(gòu)建交互視圖和折疊視圖,并設(shè)計(jì)2個(gè)不同的視圖編碼器分別學(xué)習(xí)用戶和項(xiàng)目的表示。具體來(lái)說(shuō),在交互視圖中,用戶表示和項(xiàng)目表示通過(guò)聚合其直接鄰居的信息來(lái)學(xué)習(xí),這能夠捕獲局部結(jié)構(gòu);在折疊視圖中,用戶表示和項(xiàng)目表示沿多個(gè)折疊路徑傳遞消息來(lái)學(xué)習(xí),目的是捕獲高階結(jié)構(gòu)。交互視圖編碼器作為主編碼器用于主推薦任務(wù),折疊視圖編碼器則充當(dāng)輔助編碼器用以增強(qiáng)前者。此外,設(shè)計(jì)新穎的跨視圖協(xié)同對(duì)比學(xué)習(xí)機(jī)制,使得2個(gè)編碼器可以彼此獲得互補(bǔ)的結(jié)構(gòu)信息。然后,通過(guò)優(yōu)化對(duì)比學(xué)習(xí)目標(biāo)函數(shù)以細(xì)化視圖編碼器和用戶表示。迭代這個(gè)過(guò)程的好處有2方面,一是隨著跨視圖協(xié)同對(duì)比學(xué)習(xí)的進(jìn)行,生成的用戶樣本變得更有信息量(困難樣本),這可以為每個(gè)編碼器提供更有意義的信息;二是利用2方面的結(jié)構(gòu)信息,創(chuàng)建更實(shí)用的自監(jiān)督信號(hào),從而改進(jìn)交互視圖編碼器以進(jìn)行推薦。最后,采用多任務(wù)聯(lián)合學(xué)習(xí)策略優(yōu)化模型參數(shù)。在2個(gè)真實(shí)數(shù)據(jù)集上進(jìn)行不同的實(shí)驗(yàn)驗(yàn)證了本文方法的有效性。
設(shè)用戶集合為U={u1,u2,…,um},項(xiàng)目集合為V={v1,v2,…,vn},其中,m和n分別表示用戶數(shù)和項(xiàng)目數(shù),u和v分別表示U中的任意一個(gè)用戶和V中的任意一個(gè)項(xiàng)目。設(shè)Y(1),Y(2),…,Y(K)表示用戶-項(xiàng)目關(guān)于K種行為的交互矩陣,其中K表示交互行為類型數(shù)。y(k)uv=1表示用戶u和項(xiàng)目v有過(guò)第k種類型的行為交互,反之y(k)uv=0。默認(rèn)第K種行為視為目標(biāo)行為(即購(gòu)買行為),其余前K-1種行為視為輔助行為。進(jìn)一步定義相關(guān)視圖概念如下:
定義1(交互視圖) 將用戶和項(xiàng)目視作節(jié)點(diǎn),基于多行為交互關(guān)聯(lián),交互視圖定義如式(1)所示:
(1)
交互視圖描述了用戶與項(xiàng)目間直接多行為交互關(guān)系,可以通過(guò)學(xué)習(xí)交互視圖局部結(jié)構(gòu)來(lái)學(xué)習(xí)用戶行為偏好。
定義2(用戶折疊視圖) 為了描述用戶間高階關(guān)系,用戶折疊視圖定義如式(2)所示:
(2)
本文問(wèn)題定義如下:
輸入:給定目標(biāo)用戶u,目標(biāo)項(xiàng)目v,交互視圖GI和折疊視圖GF。
輸出:目標(biāo)用戶在目標(biāo)行為下與目標(biāo)項(xiàng)目的交互概率。
為了描述清晰起見,本文涉及到的常用符號(hào)定義總結(jié)如表1所示。
Table 1 Commonly used notations definition
圖1給出了DVCL方法的工作過(guò)程。具體地,首先根據(jù)用戶多行為交互數(shù)據(jù)分別得到交互視圖和折疊視圖。接著,利用2個(gè)非對(duì)稱視圖編碼器(即交互視圖編碼器Interactive view encoder和折疊視圖編碼器Fold view encoder),同時(shí)捕獲用戶和項(xiàng)目在交互視圖和折疊視圖上局部和高階異質(zhì)交互關(guān)系。在學(xué)習(xí)到2個(gè)視圖上用戶和項(xiàng)目的嵌入表示后,利用跨視圖協(xié)同對(duì)比學(xué)習(xí)自適應(yīng)捕獲2個(gè)視圖上不同的結(jié)構(gòu)信息,以細(xì)化視圖編碼器和用戶項(xiàng)目嵌入表示。最后,采用多任務(wù)聯(lián)合學(xué)習(xí)優(yōu)化DVCL方法參數(shù),并輸出目標(biāo)用戶在目標(biāo)行為下與目標(biāo)項(xiàng)目交互的概率。
Figure 1 Process of our proposed DVCL method
交互視圖編碼器旨在學(xué)習(xí)交互視圖下用戶(或項(xiàng)目)的嵌入。輕量化圖卷積網(wǎng)絡(luò)LightGCN (Light Graph Convolution Network)[8]是一種使用簡(jiǎn)單的消息傳遞和聚合機(jī)制的方法,不需要特征變換或非線性激活。交互視圖編碼器的嵌入傳播層基于LightGCN捕捉協(xié)同信號(hào)以及用戶項(xiàng)目異質(zhì)交互局部圖結(jié)構(gòu)。用戶(或項(xiàng)目)嵌入通過(guò)累積來(lái)自所有行為類型下有過(guò)交互的項(xiàng)目(或用戶)傳遞的消息來(lái)學(xué)習(xí)。
具體來(lái)說(shuō),首先聚合用戶u在第k種行為類型下的鄰居,如式(3)所示:
(3)
(4)
(5)
值得注意的是,每個(gè)嵌入層被賦予1/(L+1)的統(tǒng)一權(quán)重,這通常會(huì)取得良好的性能。在交互視圖上項(xiàng)目嵌入的學(xué)習(xí)過(guò)程類似于用戶嵌入的學(xué)習(xí)過(guò)程,因此本文省略了這一部分描述。
折疊視圖編碼器旨在學(xué)習(xí)折疊視圖下的用戶(或項(xiàng)目)嵌入,建模用戶(或項(xiàng)目)之間的高階關(guān)系。這種高階關(guān)系意味著存在一條路徑,使得2個(gè)用戶(項(xiàng)目)在同一行為類型下與同一個(gè)項(xiàng)目(用戶)進(jìn)行過(guò)交互。每條這樣的路徑都代表著特定的語(yǔ)義相似性,使用特定于折疊視圖的圖卷積網(wǎng)絡(luò)來(lái)編碼該特征,如式(6)所示:
(6)
然后,利用式(7)線性聚合多層表示:
(7)
因?yàn)榇嬖贙種交互行為類型,可以獲得用戶u的K種行為類型下的嵌入。然后利用行為級(jí)注意力機(jī)制將它們?nèi)诤蠟樽罱K嵌入zu,如式(8)~式(10)所示:
(8)
(9)
(10)
交互視圖旨在通過(guò)用戶項(xiàng)目直接交互關(guān)系學(xué)習(xí)用戶偏好,折疊視圖旨在學(xué)習(xí)用戶之間高階關(guān)系,2個(gè)視圖相關(guān)又互補(bǔ)。本文提出跨視圖協(xié)同對(duì)比學(xué)習(xí)來(lái)融合局部和高階的信息,從而提升嵌入質(zhì)量。從上述2個(gè)視圖中分別獲得節(jié)點(diǎn)u在2個(gè)視圖中的嵌入qu和zu之后,通過(guò)多層感知機(jī)MLP (Multi-Layer Perceptron)進(jìn)一步進(jìn)行特征變換,將節(jié)點(diǎn)表示映射到計(jì)算對(duì)比損失的表示空間,如式(11)和式(12)所示:
(11)
(12)
(13)
其中,I(·)表示指示函數(shù)。構(gòu)造集合Su={u′∣u′∈Uandu(u′)≠0},并將其中元素按u(u′)的數(shù)值大小降序排列。設(shè)置閾值Npos,如果|Su|>Npos,則將集合Su內(nèi)前Npos個(gè)用戶作為用戶u的正樣本,以此構(gòu)造正樣本集合Pu,否則將保留Su內(nèi)所有用戶節(jié)點(diǎn)作為正樣本集合。將除去正樣本用戶剩余的所有用戶視為用戶u的負(fù)樣本集合Nu。遵循信息噪聲對(duì)比估計(jì)InfoNCE (Information Noise Contrastive Estimation)[10],最大(小)化正(負(fù))樣本對(duì)之間一致性。跨視圖對(duì)比損失形式化如式(14)所示:
(14)
(15)
其中,ρ表示平衡2種視圖學(xué)習(xí)效果的系數(shù)。可以通過(guò)反向傳播優(yōu)化DVCL方法的參數(shù)和節(jié)點(diǎn)嵌入。
在得到用戶和項(xiàng)目的密集向量表示后,本文將交互視圖下最終的用戶表示和項(xiàng)目表示投影到預(yù)測(cè)層來(lái)預(yù)測(cè)用戶在目標(biāo)行為類型下的偏好,如式(16)所示:
(16)
(17)
其中,O={(u,v+,v-)∣(u,v+)∈O+,(u,v-)∈O-},O+和O-分別表示用戶u觀察到的目標(biāo)行為類型交互集合和未觀察到的目標(biāo)行為類型交互集合。
本文利用多任務(wù)學(xué)習(xí)策略[11]來(lái)聯(lián)合訓(xùn)練不同但相關(guān)的任務(wù),最終聯(lián)合學(xué)習(xí)目標(biāo)函數(shù)定義如式(18)所示:
(18)
其中,Θ表示DVCL所有可學(xué)習(xí)參數(shù),ζ和η分別用來(lái)控制跨視圖協(xié)同對(duì)比學(xué)習(xí)和L2正則化強(qiáng)度,通過(guò)聯(lián)合訓(xùn)練同時(shí)優(yōu)化跨視圖對(duì)比學(xué)習(xí)損失和BPR損失。
DVCL方法的偽代碼如算法1所示。
算法1 用于多行為推薦雙視圖對(duì)比學(xué)習(xí)的DVCL方法輸入:用戶集合U,項(xiàng)目集合V,用戶-項(xiàng)目多行為交互矩陣集合{Y(1),Y(2),…,Y(K)}。輸出:對(duì)于每個(gè)u∈U返回一個(gè)推薦項(xiàng)目列表。1.構(gòu)建交互視圖GI和折疊視圖GF;2.根據(jù)式(3)~式(10)學(xué)習(xí)用戶和項(xiàng)目分別在交互視圖和折疊視圖上的嵌入表示;3.for u∈Udo4. 根據(jù)式(11)和式(12)將用戶和項(xiàng)目嵌入轉(zhuǎn)換到計(jì)算對(duì)比損失空間;5. 根據(jù)式(13)計(jì)數(shù)用戶u與用戶j在所有行為下的折疊路徑數(shù)目,從而得到正樣本集合Pu和負(fù)樣本集合Nu;6. 根據(jù)式(14)和式(15)計(jì)算跨視圖協(xié)同對(duì)比學(xué)習(xí)損失 Iu和 Fu;7. 根據(jù)式(16)計(jì)算用戶u與項(xiàng)目v的交互概率;8. 根據(jù)式(17)計(jì)算目標(biāo)行為下BPR損失 main;9.end for10.根據(jù)式(18)聯(lián)合優(yōu)化所有目標(biāo)函數(shù);11.為每個(gè)用戶返回一個(gè)降序排列的項(xiàng)目推薦列表;
本節(jié)在2個(gè)真實(shí)世界的電子商務(wù)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),以證明DVCL方法的有效性,旨在回答以下4個(gè)研究問(wèn)題:
(1)問(wèn)題1:與最先進(jìn)的方法相比,DVCL方法在推薦應(yīng)用方面會(huì)更有效嗎?
(2)問(wèn)題2:DVCL中各種模塊(雙視圖學(xué)習(xí)、跨視圖協(xié)同對(duì)比學(xué)習(xí)機(jī)制)對(duì)DVCL的最終性能有何影響?
(3)問(wèn)題3:與最先進(jìn)的方法相比,DVCL在緩解交互數(shù)據(jù)稀疏方面表現(xiàn)如何?
(4)問(wèn)題4:傳播層深度l如何影響DVCL的性能?
2個(gè)真實(shí)世界的電子商務(wù)數(shù)據(jù)集具體信息如下所示:
(1)Beibei(https://www.beibei.com/):這是從國(guó)內(nèi)最大的嬰幼兒用品電商平臺(tái)貝貝網(wǎng)收集的數(shù)據(jù)集。在這個(gè)數(shù)據(jù)集中,有21 716個(gè)用戶和7 977個(gè)商品,它們有3種類型的行為,包括瀏覽、添加購(gòu)物車和購(gòu)買。
(2)Taobao(https://www.beibei.com/):這是從中國(guó)最大的電子商務(wù)平臺(tái)淘寶網(wǎng)站上收集的數(shù)據(jù)集。該數(shù)據(jù)集包含48 749個(gè)用戶和39 493個(gè)商品,具有3種類型的行為,包括瀏覽、添加購(gòu)物車和購(gòu)買。
遵循現(xiàn)有方法[3,4],首先合并重復(fù)的用戶-項(xiàng)目交互,然后過(guò)濾掉少于5次購(gòu)買交互的用戶和項(xiàng)目。之后,把用戶的最后一次購(gòu)買記錄作為測(cè)試數(shù)據(jù),倒數(shù)第2次記錄作為驗(yàn)證數(shù)據(jù),剩下的記錄作為訓(xùn)練數(shù)據(jù)。表2總結(jié)了這2個(gè)數(shù)據(jù)集的統(tǒng)計(jì)細(xì)節(jié)。
Table 2 Statistical details of the datasets
實(shí)驗(yàn)采用HR@N和NDCG@N分析DVCL方法的推薦性能。其中,HR@N是一個(gè)基于召回的指標(biāo),它衡量測(cè)試項(xiàng)目是否在前N項(xiàng)項(xiàng)目排名列表中(1表示是,0表示否)。NDCG@N是一個(gè)位置敏感的指標(biāo),它為項(xiàng)目排名列表中位置靠前的命中分配較高的分?jǐn)?shù)。2個(gè)指標(biāo)的值越大,表示方法的推薦性能越好。
本文將DVCL與各種先進(jìn)的方法進(jìn)行比較,以證明其有效性?;€方法分為2類,一類是僅利用目標(biāo)行為數(shù)據(jù)的單行為方法,另一類是利用所有行為類型數(shù)據(jù)的多行為方法。完全遵循原始論文的調(diào)整策略來(lái)設(shè)置基線方法參數(shù)。
單行為推薦方法包括:
(1)神經(jīng)協(xié)同過(guò)濾NCF (Neural Collaborative Filtering)方法[12]: 一種結(jié)合矩陣分解MF(Matrix Factorization)和MLP的深度學(xué)習(xí)方法。
(2)高效神經(jīng)矩陣分解ENMF (Efficient Neural Matrix Factorization)方法[13]: 一種用于推薦的非抽樣學(xué)習(xí)方法。
(3)LightGCN[8]: 一種基于圖神經(jīng)網(wǎng)絡(luò)的方法,它刪除了非必要的特征變換和非線性激活,使其更適合于推薦任務(wù)。
多行為推薦方法包括:
(1)NMTR[3]: 一種深度學(xué)習(xí)方法,它對(duì)多種類型的行為依賴進(jìn)行建模并通過(guò)多任務(wù)學(xué)習(xí)策略進(jìn)行聯(lián)合學(xué)習(xí)。
(2)MBGCN[5]: 一種基于圖神經(jīng)網(wǎng)絡(luò)的方法,它綜合考慮各種行為類型對(duì)用戶影響程度,并通過(guò)多層信息傳播捕捉高階連接。
(3)EHCF[4]: 一種基于遷移學(xué)習(xí)的方法,每個(gè)行為的預(yù)測(cè)以遷移方法相關(guān)聯(lián),捕捉行為之間的復(fù)雜關(guān)系。
實(shí)驗(yàn)通過(guò)驗(yàn)證集調(diào)整超參數(shù),并根據(jù)測(cè)試數(shù)據(jù)評(píng)估方法性能。訓(xùn)練使用的負(fù)樣本是從用戶在購(gòu)買行為下未交互的項(xiàng)目集合中隨機(jī)采樣得到的,負(fù)采樣率設(shè)置為4。最大訓(xùn)練輪次epoch設(shè)置為300。采用早停策略來(lái)預(yù)防過(guò)擬合問(wèn)題,即如果在驗(yàn)證數(shù)據(jù)上的HR@100在連續(xù)40個(gè)epoch內(nèi)沒(méi)有增加則提前停止。批量大小設(shè)置為1 024,嵌入維度設(shè)置為64,并且Adam的學(xué)習(xí)速率為0.001。將丟棄率Dropout設(shè)置為0.2,以防止過(guò)度擬合。嵌入傳播層數(shù)設(shè)置為1。對(duì)于查看、添加購(gòu)物車和購(gòu)買行為,系數(shù)參數(shù)λk在貝貝數(shù)據(jù)集上分別設(shè)置為1/6,5/6和0,在淘寶數(shù)據(jù)集上分別設(shè)置為2/6,4/6和0。溫度參數(shù)τ和平衡參數(shù)ρ分別設(shè)置為0.2和0.5??刂茀f(xié)同對(duì)比學(xué)習(xí)L2和正則化約束強(qiáng)度大小的參數(shù)ζ和η分別設(shè)置為0.05和0.000 1。
為了避免實(shí)驗(yàn)偶然誤差對(duì)實(shí)驗(yàn)結(jié)果的影響,本文方法所有實(shí)驗(yàn)均運(yùn)行5次,最終用平均值進(jìn)行量化。
4.3.1 性能對(duì)比(問(wèn)題1)
不同方法在2個(gè)數(shù)據(jù)集上的性能比較結(jié)果如表3所示,其中帶下劃線數(shù)字表示基線方法中的最佳性能,粗體數(shù)字表示所有方法中的最佳性能。為了評(píng)估不同推薦長(zhǎng)度TOP-N對(duì)性能的影響,將N的值設(shè)置為10,50和100。
Table 3 Performance comparison on two datasets
從性能對(duì)比中可以得出以下重要觀察結(jié)果:
(1)多行為推薦方法通常比單行為推薦方法表現(xiàn)得更好。對(duì)比多行為推薦方法和單行為推薦方法,可以發(fā)現(xiàn)引入額外的輔助行為可以提升在目標(biāo)行為上的推薦性能。
(2)對(duì)比學(xué)習(xí)可以有效緩解監(jiān)督信號(hào)稀疏的問(wèn)題。結(jié)合表2和表3分析可以發(fā)現(xiàn),與最先進(jìn)的基線方法EHCF相比,本文提出的DVCL在淘寶數(shù)據(jù)集上提升尤為明顯。然而,淘寶數(shù)據(jù)集的交互數(shù)據(jù)比貝貝數(shù)據(jù)集更加稀疏,這說(shuō)明跨視圖對(duì)比學(xué)習(xí)可以從原始數(shù)據(jù)本身挖掘監(jiān)督信號(hào),補(bǔ)充經(jīng)典推薦監(jiān)督信號(hào)進(jìn)一步緩解數(shù)據(jù)稀疏問(wèn)題,提升推薦性能。
(3)DVCL在2個(gè)數(shù)據(jù)集上始終優(yōu)于其他基線方法。
此外,本文還進(jìn)行了單樣本配對(duì)t檢驗(yàn),以證明與最佳基線相比,所有的改善都具有統(tǒng)計(jì)學(xué)意義(p值< 0.01)。與最近提出的基于標(biāo)準(zhǔn)學(xué)習(xí)的最佳基線EHCF方法相比,DVCL在貝貝數(shù)據(jù)集上的HR@100和NDCG@100分別提高了8.2%和7.9%,在淘寶數(shù)據(jù)集上分別提高了14.6%和16.5%。這種實(shí)質(zhì)性的改進(jìn)可歸因于2個(gè)原因:(1)雙視圖學(xué)習(xí)機(jī)制捕獲局部和高階結(jié)構(gòu)信息,從2個(gè)視圖學(xué)習(xí)到的表示相關(guān)但又互補(bǔ);(2)提出的跨視圖對(duì)比學(xué)習(xí),能從2個(gè)視圖中明確提取更豐富的監(jiān)督信號(hào),以補(bǔ)充僅來(lái)自交互的監(jiān)督信號(hào)。
4.3.2 模型消融實(shí)驗(yàn)(問(wèn)題2)
為了驗(yàn)證雙視圖學(xué)習(xí)、跨視圖協(xié)同對(duì)比學(xué)習(xí)和差異性約束的有效性,本文設(shè)計(jì)了如下幾個(gè)DVCL的變體用于消融實(shí)驗(yàn):
(1)DVCL-I:僅使用交互視圖來(lái)學(xué)習(xí)用戶/項(xiàng)目嵌入。
(2)DVCL-F:僅使用折疊視圖來(lái)學(xué)習(xí)用戶/項(xiàng)目嵌入。
(3)DVCL-S:去除了跨視圖協(xié)同對(duì)比學(xué)習(xí)機(jī)制,然后僅使用2個(gè)視圖上的用戶/項(xiàng)目嵌入的簡(jiǎn)單求和來(lái)獲得最終嵌入。
4.3.3 數(shù)據(jù)稀疏問(wèn)題的有效性分析(問(wèn)題3)
數(shù)據(jù)稀疏問(wèn)題是推薦系統(tǒng)面臨的一個(gè)關(guān)鍵挑戰(zhàn)。相比于整個(gè)用戶項(xiàng)目交互空間,可觀察到的用戶項(xiàng)目交互僅僅是一小部分,其中貝貝數(shù)據(jù)集交互稀疏率為6.4e-3,淘寶數(shù)據(jù)集交互稀疏率為1.03e-3。因此,本文進(jìn)一步研究了DVCL如何緩解目標(biāo)行為記錄很少的用戶的問(wèn)題。具體來(lái)說(shuō),在貝貝數(shù)據(jù)集和淘寶數(shù)據(jù)集上分別統(tǒng)計(jì)了6 056和11 846個(gè)有5~8次購(gòu)買記錄的用戶。最后,DVCL與其他基線方法(NMTR、MBGCN和EHCF)的對(duì)比實(shí)驗(yàn)結(jié)果如圖2所示??梢园l(fā)現(xiàn),DVCL在2個(gè)數(shù)據(jù)集上的HR@100和NDCG@100指標(biāo)始終優(yōu)于最好的基線方法EHCF。由于DVCL從不同方面對(duì)異構(gòu)行為關(guān)系進(jìn)行建模,并利用對(duì)比學(xué)習(xí)機(jī)制從2個(gè)視圖中提取有益信息相互補(bǔ)充,因此它可以為稀疏交互的用戶實(shí)現(xiàn)良好的性能,這說(shuō)明了對(duì)比學(xué)習(xí)在緩解數(shù)據(jù)稀疏問(wèn)題上的巨大潛力。
Figure 2 Performance comparison with sparse data
在2個(gè)數(shù)據(jù)集上的消融實(shí)驗(yàn)結(jié)果如表4所示。從表4可以得出以下結(jié)論:
Table 4 Performance comparison of DVCL variants on two datasets
(1)DVCL-I始終比DVCL-F表現(xiàn)更好。交互視圖捕獲用戶項(xiàng)目直接交互關(guān)系,折疊視圖捕獲高階關(guān)系,這說(shuō)明用戶交互的直接項(xiàng)目鄰居傳遞的信息在建模用戶行為偏好中更重要,而用戶的折疊用戶鄰居相比而言更容易帶來(lái)噪聲,影響嵌入學(xué)習(xí)。因此,本文選擇交互視圖編碼器作為主編碼器。
(2)DVCL-S始終比DVCL-I和DVCL-F性能更好。交互視圖捕獲局部的交互信息,折疊視圖捕獲高階關(guān)系,這驗(yàn)證了雙視圖建模的合理性,2個(gè)視圖能相互補(bǔ)充信息并提高用戶/項(xiàng)目的嵌入學(xué)習(xí)質(zhì)量,提高推薦性能。
(3)DVCL的性能在DVCL-S的基礎(chǔ)上得到了進(jìn)一步提高,這驗(yàn)證了跨視圖協(xié)同對(duì)比學(xué)習(xí)機(jī)制的有效性。相比于簡(jiǎn)單地通過(guò)求和來(lái)進(jìn)行信息融合,跨視圖協(xié)同對(duì)比學(xué)習(xí)能更有效地融合互補(bǔ)的局部和高階信息,并從2個(gè)互補(bǔ)視圖中提取影響用戶偏好的高階因素來(lái)引導(dǎo)用戶偏好學(xué)習(xí)。
4.3.4 傳播層數(shù)影響(問(wèn)題4)
本節(jié)探究在2個(gè)視圖編碼器上基于圖卷積網(wǎng)絡(luò)的傳播層深度l對(duì)于整體方法性能的影響,在{1,2,3,4}選擇l,實(shí)驗(yàn)結(jié)果如圖3所示??梢园l(fā)現(xiàn),對(duì)于貝貝數(shù)據(jù)集和淘寶數(shù)據(jù)集來(lái)說(shuō),l=1都達(dá)到了最佳性能。當(dāng)層數(shù)變多時(shí),DVCL性能會(huì)有一定程度的下降,原因是多層嵌入傳播雖然使2個(gè)視圖能夠捕捉高階協(xié)同信號(hào),但這樣做在一定程度上破壞了原本獨(dú)立但又互補(bǔ)的2個(gè)視圖,引入噪聲降低了對(duì)比學(xué)習(xí)性能。
Figure 3 Effect of layer number on method performance
本文研究了通過(guò)雙視圖對(duì)比學(xué)習(xí)增強(qiáng)多行為推薦的問(wèn)題。具體來(lái)說(shuō),在2個(gè)獨(dú)立但互補(bǔ)的視圖上學(xué)習(xí)用戶/項(xiàng)目表示,然后引入跨視圖協(xié)同對(duì)比學(xué)習(xí)以從中捕獲局部和高階結(jié)構(gòu)信息,然后利用BPR損失優(yōu)化參數(shù)。在2個(gè)基準(zhǔn)數(shù)據(jù)集上進(jìn)行的大量實(shí)驗(yàn)表明,DVCL始終優(yōu)于先進(jìn)的推薦方法,其性能在貝貝數(shù)據(jù)集上平均提升了8%,在淘寶數(shù)據(jù)集上平均提升了15%。未來(lái),將考慮設(shè)計(jì)用戶行為類型間的對(duì)比學(xué)習(xí)去挖掘用戶不同行為類型之間的共性,以進(jìn)一步揭示用戶偏好,并在行為融合過(guò)程中考慮用戶不同行為類型的交互數(shù)來(lái)細(xì)粒度建模用戶不同行為類型重要性。隨著在線平臺(tái)的快速發(fā)展和在線用戶行為類型的急劇增加,相信多行為推薦在未來(lái)會(huì)受到越來(lái)越多的關(guān)注。