摘 要:現(xiàn)有基于多興趣框架的序列推薦方法僅從用戶近期交互序列中學(xué)習(xí)得到用戶多興趣表示,忽略了數(shù)據(jù)集中項(xiàng)目間的關(guān)聯(lián)信息。針對(duì)這一問題,提出了一種關(guān)聯(lián)項(xiàng)目增強(qiáng)的多興趣序列推薦方法IAMIRec(item associa-tions aware multi-interest sequential recommendation method)。首先通過數(shù)據(jù)集中用戶交互序列計(jì)算得到項(xiàng)目關(guān)聯(lián)集合和對(duì)應(yīng)的項(xiàng)目關(guān)聯(lián)矩陣,然后根據(jù)項(xiàng)目關(guān)聯(lián)矩陣通過多頭自注意力機(jī)制建模用戶的近期交互序列,最后使用多興趣框架學(xué)習(xí)得到用戶的多個(gè)興趣向量并進(jìn)行top-N推薦。在三個(gè)數(shù)據(jù)集上對(duì)該方法進(jìn)行了測(cè)試與分析,IAMIRec在recall、NDCG(normalized discounted cumulative gain)和hit rate指標(biāo)上的表現(xiàn)均優(yōu)于相關(guān)方法。實(shí)驗(yàn)結(jié)果說明 IAMIRec可以實(shí)現(xiàn)更優(yōu)的推薦性能,也表明引入項(xiàng)目關(guān)聯(lián)信息可以有效增強(qiáng)用戶的多興趣表示。
關(guān)鍵詞:推薦系統(tǒng);多興趣框架;項(xiàng)目關(guān)聯(lián);自注意力機(jī)制
中圖分類號(hào):TP301.6 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1001-3695(2023)02-024-0456-07
doi: 10.19734/j.issn.1001-3695.2022.06.0333
Item associations aware multi-interest sequential recommendation method
Zhang Jiea, Chen Kejiaa,b
(a. School of Computer Science, b. Jiangsu Key Laboratory of Big Data Security amp; Intelligent Processing, Nanjing University of Posts amp; Telecommunications, Nanjing 210023, China)
Abstract:Existing sequential recommendation methods based on multi-interest frameworks only learn the multi-interest representations from users’ recent interaction sequences, ignoring the association information between items in the dataset. To address this problem, this paper proposed an item associations aware multi-interest sequential recommendation method (IAMIRec). Firstly, this method obtained the item association set and matrix by calculating the user’s interaction sequence in the dataset, then modeled the user’s recent interaction sequence by the association martix and the multi-head self-attention mecha-nism, and used the multi-interest framework to model the user’s multiple interest vectors. It used the obtained multiple interest vectors to the top-N recommendation for users. This paper tested and analyzed the model on three datasets, IAMIRec outperformed related methods on recall, NDCG, and hit rate metrics. The results show that IAMIRec can achieve better recommendation performance, and also show that it can effectively enhance the multi-interest representation of users through item associations information.
Key words:recommendation system; multi-interest framework; item associations; self-attention mechanism
0 引言
推薦系統(tǒng)是一種為用戶提供建議的軟件,它通過分析用戶的歷史行為來提供個(gè)性化的建議。對(duì)用戶來說,推薦系統(tǒng)可以增強(qiáng)用戶的使用體驗(yàn);而對(duì)商家來說,推薦系統(tǒng)所提供的個(gè)性化建議可以提升點(diǎn)擊轉(zhuǎn)換率。例如,在電子商務(wù)領(lǐng)域,商品推薦系統(tǒng)會(huì)根據(jù)用戶歷史的交互行為數(shù)據(jù)來預(yù)測(cè)該用戶感興趣的項(xiàng)目并展示給用戶[1]。隨著數(shù)據(jù)量的增大,傳統(tǒng)的推薦方法,如矩陣分解,以靜態(tài)的用戶—項(xiàng)目交互作為建模目標(biāo),得到了用戶的一般偏好[2];受限于矩陣規(guī)模和數(shù)據(jù)的稀疏程度,該類方法并不能取得較好的推薦性能。值得注意的是,用戶的歷史交互行為是有時(shí)間先后順序的,用戶的偏好也可能會(huì)隨著時(shí)間的變化而改變;因此相較于靜態(tài)推薦方法,序列推薦逐漸成為了一個(gè)新的研究熱點(diǎn)。
序列推薦方法的最終目標(biāo)是通過用戶的歷史交互序列建模得到用戶偏好向量[3],但是每個(gè)用戶的興趣是多種多樣的,單一的低維偏好向量并不足以表示用戶的多個(gè)興趣。因此,一系列基于多興趣框架的序列推薦方法[4~6]被提出,這些方法對(duì)用戶近期交互序列進(jìn)行建模后,每位用戶會(huì)得到K個(gè)興趣向量而不是1個(gè)偏好向量,模型會(huì)基于這K個(gè)興趣向量來完成top-N推薦。
已有的基于多興趣框架的序列推薦方法均只對(duì)用戶近期交互序列進(jìn)行建模,忽略了數(shù)據(jù)集中項(xiàng)目之間的關(guān)聯(lián)信息。項(xiàng)目關(guān)聯(lián)信息是指在所有用戶的交互序列中,任意兩個(gè)項(xiàng)目在序列中相鄰出現(xiàn)的次數(shù),次數(shù)越多說明這兩個(gè)項(xiàng)目的關(guān)聯(lián)性越大。由于在很多場(chǎng)景中項(xiàng)目的屬性信息是不完整的,通過統(tǒng)計(jì)得到的項(xiàng)目關(guān)聯(lián)信息可以作為每個(gè)項(xiàng)目的屬性,以增強(qiáng)對(duì)項(xiàng)目的建模,同時(shí)將項(xiàng)目關(guān)聯(lián)信息與序列推薦模型相結(jié)合,可實(shí)現(xiàn)在大規(guī)模數(shù)據(jù)集上的top-N推薦。
為此,本文提出了關(guān)聯(lián)項(xiàng)目增強(qiáng)的多興趣序列推薦方法IAMIRec,首先使用項(xiàng)目關(guān)聯(lián)信息計(jì)算模塊統(tǒng)計(jì)訓(xùn)練集中的項(xiàng)目關(guān)聯(lián)信息,得到項(xiàng)目關(guān)聯(lián)集合和項(xiàng)目關(guān)聯(lián)矩陣;然后利用關(guān)聯(lián)矩陣,通過多頭自注意力機(jī)制建模用戶的近期交互序列;接著使用多興趣框架從建模后的序列中抽取得到用戶的多個(gè)興趣向量;最后根據(jù)獲得的多個(gè)興趣向量來完成模型訓(xùn)練或top-N推薦。大量的實(shí)驗(yàn)結(jié)果證明,本文提出的關(guān)聯(lián)項(xiàng)目增強(qiáng)的多興趣序列推薦方法是有效的,該方法能夠提供更優(yōu)的推薦性能。
1 相關(guān)工作
1.1 序列推薦方法
傳統(tǒng)的推薦算法,如基于協(xié)同過濾的推薦算法和基于內(nèi)容的推薦算法,處理的是靜態(tài)的用戶—項(xiàng)目交互數(shù)據(jù),更加注重從全局的角度學(xué)習(xí)到用戶和項(xiàng)目的表示。但是,用戶發(fā)生交互是有時(shí)間先后順序的,靜態(tài)方法無法捕捉到時(shí)序信息,因此丟失了對(duì)用戶偏好變化和交互行為習(xí)慣的建模。序列推薦正是一種從用戶的歷史交互序列中學(xué)習(xí)得到用戶偏好的方法,目前已被廣泛應(yīng)用于各類推薦場(chǎng)景中,它更注重于從每位用戶的歷史交互序列中挖掘用戶的交互偏好,利用交互偏好建模該用戶并完成個(gè)性化的推薦。相較于數(shù)據(jù)集中的項(xiàng)目總數(shù)量,每位用戶的歷史交互序列中項(xiàng)目數(shù)量較少,序列推薦方法僅需根據(jù)這些項(xiàng)目就可以完成對(duì)用戶偏好的學(xué)習(xí)和表示,因此在大規(guī)模的工業(yè)界推薦系統(tǒng)中,序列推薦方法具有更優(yōu)的可行性。
早期的序列推薦方法使用馬爾可夫鏈(Markov chain)來建模每個(gè)用戶的交互序列,如FPMC[7]為用戶引入了基于馬爾可夫鏈的個(gè)性化轉(zhuǎn)移矩陣,通過馬爾可夫鏈來捕捉序列中用戶的長(zhǎng)期偏好信息和時(shí)間信息;同時(shí),為解決轉(zhuǎn)移矩陣中數(shù)據(jù)稀疏的問題,該模型引入了矩陣分解以減少模型參數(shù)并改善推薦效果。
近年來出現(xiàn)了眾多基于深度神經(jīng)網(wǎng)絡(luò)的序列推薦方法,相較于馬爾可夫鏈取得了更優(yōu)的性能。循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)是一類處理時(shí)序數(shù)據(jù)的深度網(wǎng)絡(luò),它可以有效地對(duì)上下文時(shí)序依賴進(jìn)行建模。典型的RNN有長(zhǎng)短期記憶網(wǎng)絡(luò)(long short term memory,LSTM)和門控循環(huán)單元網(wǎng)絡(luò)(gated recurrent unit,GRU);相較于LSTM,GRU的結(jié)構(gòu)更為簡(jiǎn)單,在序列推薦中的使用也更為廣泛。GRU4Rec[8]首次將GRU應(yīng)用于序列推薦,通過多層GRU網(wǎng)絡(luò)和一個(gè)前向傳播層完成對(duì)用戶歷史交互序列的建模,并通過softmax計(jì)算用戶與某個(gè)項(xiàng)目發(fā)生交互的概率。隨著圖神經(jīng)網(wǎng)絡(luò)(graph neural network,GNN)[9,10]的快速發(fā)展,將序列視為有向圖并利用GNN來建模序列的方法越來越多。SR-GNN[11] 提出了一種基于會(huì)話的圖神經(jīng)網(wǎng)絡(luò)推薦模型,是GNN與序列推薦的首次結(jié)合,該方法首先將會(huì)話序列建模為圖結(jié)構(gòu),然后在圖結(jié)構(gòu)上學(xué)習(xí)序列的嵌入表示,最終得到用戶的偏好向量;SASRec[12] 是一種基于多頭自注意力機(jī)制對(duì)用戶歷史交互序列進(jìn)行建模的方法。
除了與用戶發(fā)生交互的項(xiàng)目外,對(duì)于序列推薦方法來說,每次交互發(fā)生的時(shí)間也是一種重要的信息。Ti-SASRec[13] 在SASRec的基礎(chǔ)上加入了時(shí)間間隔編碼模塊,通過計(jì)算序列中任兩次交互的時(shí)間間隔并學(xué)習(xí),得到了時(shí)間間隔的嵌入向量,增強(qiáng)了序列的最終表示;文獻(xiàn)[14]則對(duì)歷史交互序列按時(shí)間戳進(jìn)行分片,在每個(gè)時(shí)間片中完成對(duì)用戶交互序列的建模,然后再利用GRU對(duì)每個(gè)時(shí)間片進(jìn)行編碼,最終得到用戶的偏好向量。還有一部分方法通過引入外部知識(shí),如知識(shí)圖譜,以增強(qiáng)模型對(duì)項(xiàng)目嵌入的表示。KV-MN[15]設(shè)計(jì)了一個(gè)基于記憶網(wǎng)絡(luò)的知識(shí)圖譜表示模塊,通過TransE[16]等實(shí)體—關(guān)系嵌入學(xué)習(xí)方法學(xué)習(xí)得到對(duì)應(yīng)項(xiàng)目的嵌入表示,再使用GRU完成對(duì)整個(gè)序列的編碼。HSRec[17]先利用知識(shí)圖譜中實(shí)體間的高階路徑捕獲項(xiàng)目間的潛在語義關(guān)系,再將其與用戶歷史交互序列的嵌入向量相結(jié)合。不過,在利用知識(shí)圖譜增強(qiáng)序列推薦前需要完成圖譜中實(shí)體與推薦系統(tǒng)中項(xiàng)目的對(duì)齊,受限于實(shí)體對(duì)齊的準(zhǔn)確性,該類方法的泛化性有限。
1.2 多興趣框架
一般的序列推薦方法最終會(huì)將每個(gè)用戶建模為單一的低維嵌入向量,即用戶的偏好表示,但是用戶的興趣是多種多樣的,單一的低維嵌入向量不足以表達(dá)用戶的多種興趣。MIND[4]是最先提出多興趣框架的序列推薦方法,其核心是為每個(gè)用戶建模出K個(gè)不同的興趣向量而不是1個(gè)單一的偏好向量。從交互序列中建模K個(gè)興趣向量的過程類似于聚類,在MIND中使用了膠囊網(wǎng)絡(luò)[18,19]并基于“行為到興趣”的動(dòng)態(tài)路由機(jī)制更新膠囊網(wǎng)絡(luò)的參數(shù)。膠囊網(wǎng)絡(luò)最初用于計(jì)算機(jī)視覺領(lǐng)域,解決了卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)無法較好地學(xué)習(xí)各類特征之間的空間關(guān)系問題。與一般的神經(jīng)網(wǎng)絡(luò)不同,膠囊網(wǎng)絡(luò)的輸入輸出都是一組膠囊向量而不是一組神經(jīng)元標(biāo)量。在MIND中,輸入的一組膠囊向量就是該用戶的序列編碼,輸出的多個(gè)膠囊向量就是用戶的多個(gè)興趣向量。后來,ComiRec[5]提出了基于自注意力機(jī)制[20]的多興趣建模方法,替代了MIND中的膠囊網(wǎng)絡(luò),性能得到了一定的提升。目前,最新的方法PIMI[6]考慮了交互序列中的時(shí)間間隔信息,并使用自注意力機(jī)制對(duì)用戶的多個(gè)興趣向量進(jìn)行建模,取得了當(dāng)前最優(yōu)的性能。
1.3 圖神經(jīng)網(wǎng)絡(luò)
在推薦系統(tǒng)中,用戶和項(xiàng)目可視為節(jié)點(diǎn),交互可視為邊,利用圖神經(jīng)網(wǎng)絡(luò)可完成對(duì)用戶—項(xiàng)目二部圖的建模。近年來的相關(guān)方法有NGCF[21]、LightGCN[22]和DGCF[23],這些模型均在圖中構(gòu)建和傳播信息,并得到用戶和項(xiàng)目的嵌入。不過,由于用戶—項(xiàng)目圖的規(guī)模龐大且較為稀疏,直接通過圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)整個(gè)二部圖節(jié)點(diǎn)嵌入表示的計(jì)算代價(jià)過高,無法用于較大規(guī)模的推薦系統(tǒng)中。因此,有一部分序列推薦方法如SR-GNN[11]、SASRec[12]、Ti-SASRec[13],利用圖神經(jīng)網(wǎng)絡(luò)對(duì)每個(gè)用戶的交互序列進(jìn)行建模,在降低了計(jì)算復(fù)雜度的同時(shí)提升了推薦性能。
上述提到的所有基于多興趣框架的序列推薦方法,包括PIMI,都沒有利用數(shù)據(jù)集中的項(xiàng)目關(guān)聯(lián)信息來增強(qiáng)對(duì)序列的表示。本文提出的模型IAMIRec主要針對(duì)這一問題,設(shè)計(jì)了項(xiàng)目關(guān)聯(lián)信息計(jì)算模塊,并改進(jìn)了用戶近期交互序列的嵌入學(xué)習(xí)方法,最終提高了推薦的性能。
2 問題定義
1)序列推薦
對(duì)于一個(gè)給定的數(shù)據(jù)集,假設(shè)U代表所有用戶的集合,I代表所有項(xiàng)目的集合。數(shù)據(jù)集中的某個(gè)用戶u∈U,其歷史交互序列由項(xiàng)目序列Iu={iu1,iu2,…}和時(shí)間序列Tu={tu1,tu2,…}組成。序列推薦的任務(wù)是根據(jù)該用戶的交互序列Iu和Tu預(yù)測(cè)其接下來將要發(fā)生交互的項(xiàng)目iunext(該交互發(fā)生于tunext時(shí)刻)。
2)多興趣框架
多興趣框架是為序列推薦方法而設(shè)計(jì)的,在完成對(duì)用戶u近期交互序列Iu和Tu的建模后,多興趣框架將從建模后的序列編碼Eu中抽取K個(gè)d維向量作為用戶的K個(gè)興趣表示。
3)項(xiàng)目關(guān)聯(lián)集合
對(duì)于任一i∈I,項(xiàng)目關(guān)聯(lián)集合記為Si。取數(shù)據(jù)集中的任一項(xiàng)目序列Iu={iu1,iu2,…},對(duì)于序列中相鄰的兩個(gè)項(xiàng)目iua和iua+1,如果其滿足項(xiàng)目關(guān)聯(lián)條件tua+1-tualt;Ltime(即交互時(shí)間間隔tua+1-tua小于給定的時(shí)間間隔閾值Ltime),則認(rèn)為iua+1是與iua有關(guān)聯(lián)的,將iua+1加入到Siua中(具體操作將在3.2節(jié)中詳細(xì)闡述)。在對(duì)所有交互序列進(jìn)行計(jì)算后,最終得到數(shù)據(jù)集的項(xiàng)目關(guān)聯(lián)集合S={S1,S2,S3,…,S|I|}。
3 模型介紹
3.1 模型總覽
IAMIRec主要利用項(xiàng)目關(guān)聯(lián)信息增強(qiáng)對(duì)用戶近期交互序列的表示并建模出用戶的多個(gè)興趣向量,進(jìn)而完成top-N推薦任務(wù)。相較于一般的序列推薦模型只關(guān)注每個(gè)用戶自身的交互序列,IAMIRec在不引入其他外部屬性的情況下,利用全局的項(xiàng)目關(guān)聯(lián)信息來增強(qiáng)每個(gè)用戶的序列嵌入表示;而相較于基于圖神經(jīng)網(wǎng)絡(luò)的推薦方法,IAMIRec避免了對(duì)用戶—項(xiàng)目全局二部圖進(jìn)行計(jì)算,在降低時(shí)間復(fù)雜度的同時(shí),將全局項(xiàng)目關(guān)聯(lián)信息和每個(gè)用戶的個(gè)性化序列信息進(jìn)行了融合。
本文模型主要由五個(gè)模塊組成,如圖1所示,各模塊的簡(jiǎn)介如下:
a)項(xiàng)目關(guān)聯(lián)信息計(jì)算模塊,該模塊的作用是將全局信息通過項(xiàng)目關(guān)聯(lián)的形式引入序列推薦中。模塊根據(jù)訓(xùn)練集中的每條交互序列得到該數(shù)據(jù)集的項(xiàng)目關(guān)聯(lián)集合S,并依據(jù)集合S進(jìn)一步計(jì)算得到用于聚合模塊的項(xiàng)目關(guān)聯(lián)矩陣A。
b)交互時(shí)間間隔表示模塊,該模塊對(duì)每個(gè)用戶的時(shí)間序列進(jìn)行編碼,以引入用戶個(gè)性化的行為偏好。對(duì)于用戶u∈U,該模塊對(duì)其近期交互序列中的時(shí)間序列Tu進(jìn)行編碼,利用任意兩次交互的時(shí)間間隔學(xué)習(xí)得到時(shí)間序列的嵌入表示Eutime,并送入到聚合模塊中。
c)聚合模塊,該模塊利用得到的項(xiàng)目關(guān)聯(lián)矩陣A和每個(gè)用戶交互序列的時(shí)間間隔嵌入Eutime,使用多頭自注意力機(jī)制完成對(duì)交互序列Iu的編碼,獲得序列的最終表示Eu。
d)多興趣抽取模塊,該模塊從序列的最終表示Eu中通過自注意力機(jī)制完成對(duì)用戶K個(gè)興趣向量的抽取,得到每個(gè)用戶的多個(gè)興趣向量Euinterest。
e)訓(xùn)練和預(yù)測(cè)模塊,在訓(xùn)練階段,該模塊會(huì)從用戶的K個(gè)興趣向量Euinterest中選擇一個(gè)與待預(yù)測(cè)項(xiàng)目嵌入表示eutarget最相關(guān)的興趣ou,用于模型參數(shù)的訓(xùn)練;而在預(yù)測(cè)階段,該模塊會(huì)利用這K個(gè)興趣向量Euinterest從整個(gè)商品集合中進(jìn)行top-N推薦。
3.2 項(xiàng)目關(guān)聯(lián)信息計(jì)算模塊
為避免信息泄露,本文僅利用訓(xùn)練集中的用戶交互序列完成項(xiàng)目關(guān)聯(lián)集合的計(jì)算。首先針對(duì)每個(gè)數(shù)據(jù)集設(shè)定一個(gè)時(shí)間間隔閾值Ltime;然后對(duì)于訓(xùn)練集中的每一條項(xiàng)目序列Iu,如果序列中相鄰的兩個(gè)項(xiàng)目iua和iua+1的交互時(shí)間間隔滿足tua+1-tualt;Ltime,則認(rèn)為iua+1是與iua有關(guān)聯(lián)的,將iua+1加入項(xiàng)目iua的集合Siua中。對(duì)所有的序列重復(fù)上述操作,便可以得到整個(gè)數(shù)據(jù)集的項(xiàng)目關(guān)聯(lián)集合S。
對(duì)于S中每個(gè)項(xiàng)目集合Si,統(tǒng)計(jì)各個(gè)項(xiàng)目的出現(xiàn)次數(shù)并按出現(xiàn)次數(shù)對(duì)Si中的項(xiàng)目進(jìn)行去重和降序排序,如果Si為空,則在Si中加入訓(xùn)練集中出現(xiàn)數(shù)量最多的前Ltop個(gè)項(xiàng)目;如果去重后的項(xiàng)目數(shù)量少于Ltop個(gè),則重復(fù)將當(dāng)前項(xiàng)目i加入到Si中,直至Si中項(xiàng)目的數(shù)量為L(zhǎng)top。
為了更加清晰地描述該模塊的計(jì)算過程,圖2給出了一個(gè)具體的示例。圖2中,某數(shù)據(jù)集有六個(gè)項(xiàng)目,訓(xùn)練集中共有三條序列;對(duì)于每條序列,如果相鄰兩個(gè)項(xiàng)目的時(shí)間間隔大于設(shè)定的Ltime,則該段箭頭用虛線表示。本模塊首先需要得到項(xiàng)目關(guān)聯(lián)集合S。在圖2中共有12組兩兩相鄰的項(xiàng)目對(duì),其中兩組超出時(shí)間間隔閾值Ltime(序列1中的〈i2,i3〉和〈i5,i6〉),剩下的十組參與計(jì)算。對(duì)于i1,它有三組兩兩相鄰的項(xiàng)目對(duì),分別是序列1中的〈i1,i2〉、序列2中的〈i1,i2〉和序列3中的〈i1,i4〉,因此i1的項(xiàng)目關(guān)聯(lián)集合為{i2,i2,i4}。對(duì)其他項(xiàng)目重復(fù)上述操作,可以得到圖2下半部分左側(cè)的項(xiàng)目關(guān)聯(lián)集合S。接下來對(duì)S進(jìn)行去重、排序、補(bǔ)全計(jì)算,得到項(xiàng)目關(guān)聯(lián)矩陣A。這里假設(shè)Ltop為3。對(duì)于i1,它的項(xiàng)目關(guān)聯(lián)集合為{i2,i2,i4};根據(jù)集合中每個(gè)項(xiàng)目出現(xiàn)的次數(shù)對(duì)集合內(nèi)項(xiàng)目進(jìn)行去重和降序排序,得到{i2,i4};由于Ltop為3,需要進(jìn)行補(bǔ)全,即加入1次i1。對(duì)于其他項(xiàng)目重復(fù)上述操作,即可得到項(xiàng)目關(guān)聯(lián)矩陣A,在此例中它是一個(gè)規(guī)模為6×3的矩陣。
3.3 交互時(shí)間間隔表示模塊
e)經(jīng)過Llayer層的計(jì)算,并將每個(gè)項(xiàng)目的嵌入向量按序列順序進(jìn)行拼接得到最終的序列嵌入表示Eu,它將用于后續(xù)的多興趣抽取。
3.5 多興趣抽取模塊
該模塊將從最終的序列嵌入Eu中抽取得到用戶的K個(gè)興趣,這K個(gè)興趣將用于模型參數(shù)的訓(xùn)練或進(jìn)行推薦預(yù)測(cè)。
抽取用戶多個(gè)興趣的方法有膠囊網(wǎng)絡(luò)[18,19]和自注意力機(jī)制[20],ComiRec中對(duì)比了這兩種方式抽取用戶多興趣的性能,發(fā)現(xiàn)使用自注意力機(jī)制的效果要優(yōu)于膠囊網(wǎng)絡(luò)。因此本文也使用自注意力機(jī)制從Eu中抽取用戶的K個(gè)興趣,如式(16)(17)所示。
4 實(shí)驗(yàn)與分析
4.1 實(shí)驗(yàn)設(shè)定
4.1.1 數(shù)據(jù)集
本文在三個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),分別是Amazon-Books、Amazon-Hybrid和Taobao-Buy。Amazon數(shù)據(jù)集包含亞馬遜網(wǎng)站自1996年5月至2014年7月產(chǎn)生的約1.428億條用戶交互數(shù)據(jù),整個(gè)數(shù)據(jù)集按照商品的類別被劃分為數(shù)十個(gè)子數(shù)據(jù)集,其中Amazon-Books是最大的一個(gè)子數(shù)據(jù)集。但是,用戶可能同時(shí)對(duì)多類商品感興趣,因此本文構(gòu)造了一個(gè)新的數(shù)據(jù)集Ama-zon-Hybrid,它是由Amazon數(shù)據(jù)集中五個(gè)較小的子集Electro-nics,Clothing、shoes and jewelry,CDs and vinyl,Tools and home improvement和Grocery and gourmet food混合得到的。Taobao-Buy數(shù)據(jù)集是Taobao數(shù)據(jù)集用戶購(gòu)買行為的子集。以上三個(gè)數(shù)據(jù)集經(jīng)過預(yù)處理后,僅保留出現(xiàn)次數(shù)大于5次的用戶和項(xiàng)目,處理后的數(shù)據(jù)集規(guī)模如表1所示。
本文保持了ComiRec和PIMI中對(duì)于數(shù)據(jù)的劃分方式,即將數(shù)據(jù)集按照8∶1∶1的比例劃分訓(xùn)練集、驗(yàn)證集和測(cè)試集;同時(shí)保證各集合間沒有重疊用戶,以最大程度驗(yàn)證模型的魯棒性。在對(duì)驗(yàn)證集和測(cè)試集進(jìn)行預(yù)測(cè)時(shí),模型根據(jù)每位用戶前80%的交互學(xué)習(xí)得到多興趣表示,并以此來預(yù)測(cè)最近的20%交互。
4.1.2 基準(zhǔn)方法與評(píng)價(jià)指標(biāo)
本文與六個(gè)基準(zhǔn)模型進(jìn)行比較以驗(yàn)證IAMIRec的性能,其中包括目前同類中的最新方法PIMI。六個(gè)模型分別是:
a)GRU4Rec[8],該模型首次將門控循環(huán)單元網(wǎng)絡(luò)用于交互序列的建模,相比傳統(tǒng)方法取得了較大的性能提升,是大多數(shù)序列推薦模型的基準(zhǔn)方法。
b)YouTube DNN[28],該模型是一種基于深度神經(jīng)網(wǎng)絡(luò)的大規(guī)模推薦召回方法,可以快速地建模用戶歷史交互序列并進(jìn)行top-N推薦,是工業(yè)界廣泛應(yīng)用的推薦算法。
c)MIND[4],該模型首次提出基于多興趣框架的序列推薦方法,并設(shè)計(jì)了基于動(dòng)態(tài)路由機(jī)制的膠囊網(wǎng)絡(luò)從用戶的近期交互序列中學(xué)習(xí)得到用戶的多個(gè)興趣。
d)ComiRec-DR[5],該模型改進(jìn)了MIND中的動(dòng)態(tài)路由機(jī)制,同樣使用膠囊網(wǎng)絡(luò)完成對(duì)用戶多個(gè)興趣的學(xué)習(xí)。
e)ComiRec-SA[5],該模型首次提出使用自注意力機(jī)制完成對(duì)用戶多個(gè)興趣的學(xué)習(xí)。
f)PIMI[6],該模型在ComiRec-SA的基礎(chǔ)上引入了任意兩次交互間的時(shí)間間隔信息,并使用多頭自注意力機(jī)制對(duì)用戶近期交互序列進(jìn)行編碼。
需要注意的是,MIND和ComiRec均引入了用戶和項(xiàng)目的屬性信息,而PIMI和本文模型IAMIRec沒有利用除交互發(fā)生時(shí)間外的任何外部輔助信息。
本文使用了序列推薦方法中常用的評(píng)價(jià)指標(biāo)HR(hit rate)@N、recall@N和NDCG(normalized discounted cumulative gain)@N來驗(yàn)證top-N推薦的性能。HR@N為命中率,是指所推薦的N個(gè)項(xiàng)目中至少包含一個(gè)用戶真實(shí)交互項(xiàng)目的比例;recall@N是指所推薦的N個(gè)項(xiàng)目中用戶發(fā)生真實(shí)交互的比例;NDCG@N衡量了推薦的質(zhì)量,該指標(biāo)越高說明真實(shí)交互項(xiàng)目在top-N中的順序越靠前。在后續(xù)的實(shí)驗(yàn)中,N分別取20和50。
4.1.3 實(shí)現(xiàn)細(xì)節(jié)
IAMIRec使用了TensorFlow 2.4版本實(shí)現(xiàn),Python版本為3.8,在配備了GeForce RTX 3090的Ubuntu 20.04服務(wù)器上完成了模型訓(xùn)練。對(duì)于Amazon-Books、Taobao-Buy和Amazon-Hybrid數(shù)據(jù)集,嵌入維度d均設(shè)置為64,學(xué)習(xí)率(learning rate)均設(shè)置為0.001,Llayer均設(shè)置為3,批大小(batch size)分別設(shè)置為128、256和128。在損失函數(shù)的計(jì)算中,模型為每個(gè)項(xiàng)目均隨機(jī)采樣10個(gè)負(fù)樣本。其他較為重要的超參數(shù)如表2所示。
4.2 實(shí)驗(yàn)結(jié)果與分析
4.2.1 推薦性能對(duì)比
針對(duì)于top-20和top-50推薦目標(biāo),IAMIRec在三個(gè)數(shù)據(jù)集上的性能表現(xiàn)分別如表3~5所示。本文表中每列的最優(yōu)值用粗體突出,次優(yōu)值用下畫線突出。
從實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),IAMIRec在三個(gè)數(shù)據(jù)集上均取得了最優(yōu)的性能,說明本文提出將項(xiàng)目關(guān)聯(lián)信息引入多興趣序列推薦的方法可以有效增強(qiáng)推薦性能。從表中結(jié)果可以發(fā)現(xiàn),多興趣序列推薦方法的效果普遍優(yōu)于非多興趣方法,說明為每個(gè)用戶建模出多個(gè)興趣向量的方式是有必要的。而使用了自注意力機(jī)制抽取用戶多興趣的ComiRec-SA、PIMI、IAMIRec方法性能要優(yōu)于基于膠囊網(wǎng)絡(luò)的方法,說明在多興趣抽取時(shí)使用自注意力機(jī)制更優(yōu)。PIMI首次在多興趣序列推薦模型中引入了時(shí)間間隔信息,因此獲得了當(dāng)前次優(yōu)的性能。而IAMIRec不僅考慮了時(shí)間間隔信息還引入了項(xiàng)目關(guān)聯(lián)信息,取得了同類模型中的最優(yōu)推薦性能。
4.2.2 實(shí)例分析
本節(jié)隨機(jī)從Amazon-Hybrid數(shù)據(jù)集的測(cè)試集中選取了一名ID為275471的用戶來進(jìn)行實(shí)例分析。此用戶的交互序列長(zhǎng)為20,按照4.1節(jié)所述的實(shí)驗(yàn)設(shè)定,模型會(huì)根據(jù)該用戶前16次交互(即近期交互序列)來預(yù)測(cè)其最近的4次交互(即真實(shí)值)。表6是top-20的推薦結(jié)果,對(duì)比了真實(shí)值與PIMI、IAMIRec所給出的推薦結(jié)果。
從表6中可以看出,PIMI和本文模型IAMIRec所給出的top-20結(jié)果中均預(yù)測(cè)正確了一個(gè)項(xiàng)目(用粗體標(biāo)出,項(xiàng)目ID分別為63267和364)。但是,IAMIRec預(yù)測(cè)正確的項(xiàng)目是真實(shí)值中的第一個(gè)項(xiàng)目,在20個(gè)預(yù)測(cè)結(jié)果中的排名也更高(排名第6,而PIMI預(yù)測(cè)正確的項(xiàng)目排名第11),說明了本文提出的推薦方法可以有效提高預(yù)測(cè)效果。
除此之外,將PIMI和IAMIRec計(jì)算得到的用戶和項(xiàng)目嵌入進(jìn)行降維,并通過空間分布情況來驗(yàn)證本文模型的表示學(xué)習(xí)效果,如圖3所示。一般來說,用戶和與其有交互的項(xiàng)目應(yīng)具有更近的距離。從圖中可以發(fā)現(xiàn),IAMIRec的表示學(xué)習(xí)效果要優(yōu)于PIMI;特別是四個(gè)待預(yù)測(cè)的項(xiàng)目節(jié)點(diǎn),本文方法得到的結(jié)果距離用戶節(jié)點(diǎn)更近。
4.2.3 超參數(shù)分析實(shí)驗(yàn)
該部分主要針對(duì)模型超參數(shù)Ltop、K、Ltime和Llayer進(jìn)行實(shí)驗(yàn)分析。
a)Ltop對(duì)推薦性能的影響,在三個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果分別如表7~9所示。可以發(fā)現(xiàn),Ltop對(duì)模型的性能有著較強(qiáng)的影響,不同數(shù)據(jù)集上最優(yōu)的Ltop也不同。Ltop決定項(xiàng)目關(guān)聯(lián)矩陣的大小,過多或過少的關(guān)聯(lián)項(xiàng)目均不利于增強(qiáng)對(duì)序列的建模;適中的Ltop值可以在盡可能包含更多強(qiáng)關(guān)聯(lián)項(xiàng)目的同時(shí)舍去一部分弱關(guān)聯(lián)項(xiàng)目,因而獲得了最佳的性能。
b)興趣個(gè)數(shù)K對(duì)模型性能的影響。這里以Taobao-Buy數(shù)據(jù)集為例進(jìn)行了超參數(shù)分析實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表10所示。從實(shí)驗(yàn)結(jié)果中可以看出,使用多興趣建模的推薦效果要顯著優(yōu)于不使用多興趣建模(K=1)時(shí)的效果,證明了多興趣抽取模塊的有效性。Taobao-Buy是一個(gè)綜合的數(shù)據(jù)集,用戶會(huì)與多類商品發(fā)生著交互,而將興趣個(gè)數(shù)設(shè)定為一個(gè)較大的值(8)比較小值(2~4)時(shí)的效果要好,說明多興趣框架能夠根據(jù)適當(dāng)?shù)腒分離出用戶的多個(gè)興趣向量。
c)時(shí)間間隔閾值Ltime對(duì)推薦性能的影響。以Taobao-Buy數(shù)據(jù)集為例完成了該實(shí)驗(yàn),結(jié)果如圖4所示(Ltime的單位為日,圖中從左至右分別為1、7、15、30日)。從實(shí)驗(yàn)結(jié)果來看,選取適當(dāng)?shù)腖time(即7日)可以提升推薦效果,說明Ltime可以從時(shí)間間隔的角度抑制一定的噪聲。
d)Llayer對(duì)性能的影響,這里仍以Taobao-Buy數(shù)據(jù)集為例,實(shí)驗(yàn)結(jié)果如圖5所示。實(shí)驗(yàn)結(jié)果表明,在GNN中,過少或過多的聚合層數(shù)均不利于模型學(xué)習(xí)得到最佳的序列編碼。對(duì)于該數(shù)據(jù)集,Llayer=3時(shí)能夠獲得最優(yōu)性能,這一結(jié)論也與PIMI相一致。
5 結(jié)束語
針對(duì)現(xiàn)有基于多興趣框架的序列推薦方法僅從用戶近期交互序列中學(xué)習(xí)得到用戶多興趣表示,忽略了數(shù)據(jù)集中項(xiàng)目間的全局關(guān)聯(lián)信息這一問題,本文提出了一種關(guān)聯(lián)項(xiàng)目增強(qiáng)的多興趣序列推薦方法。該方法利用了訓(xùn)練集中的項(xiàng)目關(guān)聯(lián)信息,計(jì)算得到項(xiàng)目關(guān)聯(lián)集合和對(duì)應(yīng)的項(xiàng)目關(guān)聯(lián)矩陣;與多興趣框架相結(jié)合,增強(qiáng)了近期交互序列的建模效果,獲得了更優(yōu)的用戶多興趣表示。在三個(gè)數(shù)據(jù)集上的眾多實(shí)驗(yàn)證明,本方法取得了更好的推薦性能。未來可以考慮分析時(shí)序信息對(duì)項(xiàng)目關(guān)聯(lián)的影響,并對(duì)關(guān)聯(lián)項(xiàng)目的計(jì)算方式作出進(jìn)一步的改進(jìn)。
參考文獻(xiàn):
[1]張玉潔,董政,孟祥武. 個(gè)性化廣告推薦系統(tǒng)及其應(yīng)用研究 [J]. 計(jì)算機(jī)學(xué)報(bào),2021,44(3): 531-563. (Zhang Yujie,Dong Zheng,Meng Xiangwu. Research on personalized advertising recommendation systems and their applications [J]. Chinese Journal of Compu-ters,2021,44(3): 531-563.)
[2]Verbert K,Manouselis N,Ochoa X,et al. Context-aware recommender systems for learning: a survey and future challenges [J]. IEEE Trans on Learning Technologies,2012,5(4): 318-335.
[3]Wang Shuojin,Hu Liang,Wang Yan,et al. Graph learning based re-commender systems: a review [C]// Proc of the 30th International Joint Conference on Artificial Intelligence. 2021: 4644-4652.
[4]Li Chao,Liu Zhiyuan,Wu Mengmeng,et al. Multi-interest network with dynamic routing for recommendation at Tmall [C]// Proc of the 28th ACM International Conference on Information and Knowledge Management. New York: ACM Press,2019: 2615-2623.
[5]Cen Yukuo,Zhang Jianwei,Zou Xu,et al. Controllable multi-interest framework for recommendation [C]// Proc of the 26th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. New York: ACM Press,2020: 2942-2951.
[6]Chen Gaode,Zhang Xinghua,Zhao Yanyan,et al. Exploring periodicity and interactivity in multi-interest framework for sequential recommendation [C]// Proc of the 30th International Joint Conference on Artificial Intelligence. 2021: 1426-1433.
[7]Rendle S,F(xiàn)reudenthaler C,Schmidt T L. Factorizing personalized Markov chains for next-basket recommendation [C]// Proc of the 19th International Conference on World Wide Web. New York: ACM Press,811-820.
[8]Hidasi B,Karatzoglou A,Baltrunas L,et al. Session-based recommendations with recurrent neural networks [C]// Proc of International Conference on Learning Representations. 2016.
[9]Scarselli F,Gori M,Tsoi A C,et al. The graph neural network model [J]. IEEE Trans on Neural Networks,2009,20(1): 61-80.
[10]Gori M,Monfardini G,Scarselli F. A new model for learning in graph domains [C]// Proc of IEEE International Joint Conference on Neural Networks. Piscataway,NJ: IEEE Press,2005: 729-734.
[11]Wu Shu,Tang Yuyuan,Zhu Yanqiao,et al. Session-based recommendation with graph neural networks [C]// Proc of Conference on Artificial Intelligence. Palo Alto,CA: AAAI Press,2019: 346-353.
[12]Kang Wangchen,Mcauley J. Self-attentive sequential recommendation [C]// Proc of International Conference on Data Mining. Piscataway,NJ: IEEE Press,2018: 197-206.
[13]Li Jiacheng,Wang Yujie,Mcauley J. Time interval aware self-attention for sequential recommendation [C]// Proc of the 13th International Conference on Web Search and Data Mining. New York: ACM Press,2020: 322-330.
[14]Chen Zeyuan,Zhang Wei,Yan Junchi,et al. Learning dual dynamic representations on time-sliced user-item interaction graphs for sequential recommendation [C]// Proc of the 30th ACM International Conference on Information and Knowledge Management. New York: ACM Press,2021: 231-240.
[15]Huang Jin,Zhao W X,Dou Hongjian,et al. Improving sequential recommendation with knowledge-enhanced memory networks [C]// Proc of the 41st International ACM SIGIR Conference on Research amp; Deve-lopment in Information Retrieval. New York:ACM Press,2018:505-514.
[16]Bordes A,Usunier N,Garcia-duran A,et al. Translating embeddings for modeling multi-relational data [C]// Proc of the 26th Internatio-nal Conference on Neural Information Processing Systems. Red Hook,NY: Curran Associates Inc.,2013: 2787-2795.
[17]Yang Zuoxi,Dong Shoubin. HSRec: hierarchical self-attention incorporating knowledge graph for sequential recommendation [J]. Journal of Intelligent and Fuzzy Systems,2022,42(4): 3749-3760.
[18]Sabour S,F(xiàn)rosst N,Hinton G E. Dynamic routing between capsules [C]// Proc of the 31st International Conference on Neural Information Processing Systems. Red Hook,NY: Curran Associates Inc.,2017: 3856-3866.
[19]Patrick M K,Adekoya A F,Mighty A A,et al. Capsule networks: a survey [J]. Journal of King Saud University-Computer and Information Sciences,2022,34(1): 1295-1310.
[20]Lin Zhouhan,F(xiàn)eng Minwei,Cicero N D S,et al. A structured self-attentive sentence embedding [C]// Proc of International Conference on Learning Representations. 2017.
[21]Wang Xiang,He Xiangnan,Wang Meng,et al. Neural graph collaborative filtering [C]// Proc of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM Press,2019: 165-174.
[22]He Xiangnan,Deng Kuan,Wang Xiang,et al. LightGCN: simplifying and powering graph convolution network for recommendation [C]// Proc of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM Press,2019: 639-648.
[23]Wang Xiang,Jin Hongye,Zhang An,et al. Disentangled graph colla-borative filtering [C]// Proc of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. New York: ACM Press,2020: 1001-1010.
[24]Vaswani A,Shazeer N,Parmar N,et al. Attention is all you need [C]// Proc of the 31st International Conference on Neural Information Processing Systems. Red Hook,NY: Curran Associates Inc.,2017: 6000-6010.
[25]Skorski M. Efficient sampled softmax for Tensorflow [EB/OL]. (2020-04-10). http://doi.org/10.48550/arxiv.2004.05244.
[26]Kingma D,Ba J. Adam: a method for stochastic optimization [EB/OL]. (2017-01-30). http://doi.org/10.48550/arxiv.1412.6980.
[27]Johnson J,Douze M,Jégou H. Billion-scale similarity search with GPUs [J]. IEEE Trans on Big Data,2021,7(3): 535-547.
[28]Covington P,Adams J,Sargin E. Deep neural networks for YouTube recommendations [C]// Proc of the 10th ACM Conference on Re-commender Systems. New York: ACM Press,2016: 191-198.
收稿日期:2022-06-23;修回日期:2022-08-19 基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61876091);南京郵電大學(xué)校級(jí)科研基金資助項(xiàng)目(NY221071)
作者簡(jiǎn)介:張杰(1998-),男(通信作者),安徽安慶人,碩士研究生,主要研究方向?yàn)橥扑]系統(tǒng)(1020041203@njupt.edu.cn);陳可佳(1980-),女,江蘇淮安人,副教授,碩導(dǎo),博士,主要研究方向?yàn)闄C(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、復(fù)雜網(wǎng)絡(luò).