沈義峰,金辰曦,王 瑤,張家想,盧先領(lǐng)+
1.江南大學(xué) 輕工過程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,江蘇 無錫214122
2.江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫214122
當(dāng)用戶在面對(duì)海量的數(shù)據(jù)時(shí),推薦系統(tǒng)既可以作為一種有效的方法過濾冗余的信息,也可以根據(jù)用戶的標(biāo)簽信息和用戶-物品歷史交互信息得到用戶的興趣模型,從而主動(dòng)地給用戶推薦其感興趣的物品。在現(xiàn)有推薦系統(tǒng)中,利用用戶-物品的交互信息為基礎(chǔ)的建模主要方式有兩種。
(1)傳統(tǒng)推薦方法:基于內(nèi)容的推薦方法[1]和協(xié)同過濾的推薦方法[2]。這些方法都側(cè)重于挖掘用戶與物品的靜態(tài)關(guān)聯(lián),而忽略了用戶物品交互中用戶的潛在偏好,未考慮到用戶潛在興趣對(duì)未來購(gòu)買行為的影響。例如,當(dāng)用戶購(gòu)買歷史上有某品牌手機(jī)時(shí),靜態(tài)推薦系統(tǒng)只能重復(fù)推薦該品牌手機(jī)或根據(jù)協(xié)同過濾方法推薦其他用戶所購(gòu)買的物品,而未挖掘用戶本身的潛在偏好,最終導(dǎo)致不可靠的推薦。
(2)序列推薦方法[3-4]:用戶與物品的交互形成一系列行為序列。在早期對(duì)序列模式的處理上,經(jīng)常利用基于馬爾科夫鏈[5]的方法提取物品間的過渡矩陣,但這些方法很難有效捕捉不同信息之間的關(guān)系。隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,基于循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[6-7]的方法在序列建模上獲得了巨大的成功,但基于RNN 的方法很難建模物品的長(zhǎng)期依賴關(guān)系且耗時(shí)巨大?;谧宰⒁饬C(jī)制[8]的方法在序列建模任務(wù)上取得了很好的效果。然而大多數(shù)基于自注意力機(jī)制的方法只考慮到物品層級(jí)的關(guān)系模式,而忽略了大量的輔助信息,例如物品之間的時(shí)間間隔、物品的屬性信息等。有效地融合輔助信息可以從不同的層級(jí)挖掘序列的關(guān)系模式。
因此,本文提出了一種融合時(shí)間信息及屬性特征級(jí)信息的聯(lián)合推薦模型。首先利用感知時(shí)間的自注意力模型建模物品與時(shí)間上下文的關(guān)系。將物品和每一個(gè)屬性的嵌入表示拼接起來輸入到注意力單元中,以獲得每個(gè)屬性的特征權(quán)重,經(jīng)過屬性特征加權(quán)求和可以生成新的物品嵌入表示信息。之后,將新的物品嵌入表示信息輸入到自注意力區(qū)塊中,學(xué)習(xí)了序列中物品-屬性特征之間隱式的關(guān)系。最終將感知時(shí)間間隔的輸出表示和基于屬性特征級(jí)的輸出表示連接起來進(jìn)入全連接層做預(yù)測(cè)。
本文的主要貢獻(xiàn)有:(1)提出了一種新的混合推薦模型;(2)利用物品和屬性的聯(lián)合嵌入表示共同提取物品-屬性之間的關(guān)聯(lián)模式;(3)在兩個(gè)真實(shí)數(shù)據(jù)集中進(jìn)行了實(shí)驗(yàn),結(jié)果表明本文所提出的模型優(yōu)于其他基準(zhǔn)模型。
序列推薦系統(tǒng)通過建模物品-物品之間的過渡矩陣來捕捉序列物品之間的關(guān)系模式。最先用于序列推薦的是基于馬爾科夫鏈的方法。Rendle 等人[9]在2010年提出了個(gè)性化馬爾科夫鏈分解模型(factorizing personalized Markov chains for next-basket recommendation,F(xiàn)PMC),通過個(gè)性化過渡矩陣預(yù)測(cè)下一個(gè)物品。因過渡矩陣只考慮了當(dāng)前物品與前一個(gè)物品之間的關(guān)系,所以FPMC 模型只能通過最近的一個(gè)交互物品捕獲局部的依賴關(guān)系,無法在復(fù)雜的場(chǎng)景下利用其他特征信息挖掘更多的隱式關(guān)系。
隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,基于RNN 的推薦算法迅速涌現(xiàn)出來。Hidasi等人[10]提出了GRU4Rec(gate recurrent unit for recommendation)方法,首次將GRU 引入到會(huì)話推薦中用來建模序列物品之間的關(guān)系。Chen 等人[11]針對(duì)基于RNN 模型中物品之間的關(guān)聯(lián)度不強(qiáng)的問題,提出了基于用戶記憶網(wǎng)絡(luò)的序列模型。Ying 等人[12]通過利用兩層分層注意力網(wǎng)絡(luò)模型解決了用戶長(zhǎng)期偏好隨時(shí)間推移而不斷演變的問題。Liu 等人[13]提出了一種新的短時(shí)注意優(yōu)先模型,該模型從會(huì)話上下文的長(zhǎng)時(shí)記憶中捕捉用戶的一般興趣,同時(shí)考慮用戶最近一次點(diǎn)擊作為當(dāng)前興趣,最后將一般興趣和當(dāng)前興趣結(jié)合向用戶做推薦。Ma 等人[14]提出了一個(gè)層級(jí)門網(wǎng)絡(luò)和貝葉斯個(gè)性化排名相結(jié)合的方法聯(lián)合捕捉用戶的長(zhǎng)期和短期興趣。在上述基于RNN 的序列推薦算法中,雖然可以建模更復(fù)雜的序列關(guān)系,但它們都需要大量高密度的關(guān)聯(lián)數(shù)據(jù)且往往不能并行化計(jì)算。
近幾年來,一種基于自注意力的序列-序列方法Transformer 在機(jī)器翻譯任務(wù)中取得了巨大的成功。Transformer 模型極大地依賴于“自注意力”模塊以便捕捉語句中的復(fù)雜結(jié)構(gòu)。受Transformer 的啟發(fā),Kang 等人[15]提出了基于自注意力的序列模型,通過兩層Transformer 去捕捉序列物品之間的關(guān)系,既能夠捕捉較長(zhǎng)的交互信息也能夠基于相對(duì)較少的用戶行為做出預(yù)測(cè)。Sun 等人[16]提出了雙向的Transformer 模型,從用戶-物品序列左右兩個(gè)方向提取交互信息,融合左右兩側(cè)的信息來對(duì)下一個(gè)物品做預(yù)測(cè)。Li 等人[17]基于自注意力模型提出了感知時(shí)間間隔的自注意力的序列模型,探索不同的時(shí)間間隔對(duì)下一個(gè)物品預(yù)測(cè)的影響。Zhang 等人[18]提出了特征級(jí)自注意力網(wǎng)絡(luò)的序列推薦方法,分別建模屬性之間的特征級(jí)關(guān)系和物品之間的關(guān)系來更深層次地挖掘用戶的潛在偏好來預(yù)測(cè)下一件可能交互的物品。Wu 等人[19]利用自注意力機(jī)制建模時(shí)間動(dòng)態(tài)的影響,之后使用BiRNN 建模上下文信息加權(quán)不同的時(shí)間動(dòng)態(tài)。
在現(xiàn)有的基于自注意力機(jī)制的方法中,大多數(shù)都未融入有效的邊信息來輔助建模。因此,本文有效地融合序列中的上下文信息以及更細(xì)粒度的物品信息以挖掘序列中各類隱式的序列模式,從而增強(qiáng)推薦性能。
為了便于后續(xù)的描述,本文使用U和I分別表示用戶集合和物品集合,對(duì)于每一個(gè)用戶u∈U,為按時(shí)間次序交互的物品序列,按交互順序所對(duì)應(yīng)的時(shí)間序列為。此外,每一個(gè)物品i都有一些屬性,例如種類、商標(biāo)以及描述信息等。本文目標(biāo)是分別建模物品與時(shí)間信息之間的相互關(guān)系以及物品屬性與物品自身的關(guān)系來預(yù)測(cè)下一個(gè)時(shí)間點(diǎn)用戶可能感興趣的物品。
在現(xiàn)有的序列推薦算法中,大多數(shù)只關(guān)注序列物品和用戶現(xiàn)在行為之間的建模,但在建模過去的歷史行為對(duì)未來預(yù)測(cè)的影響時(shí),往往忽略了時(shí)間上下文信息和更細(xì)粒度的信息。因此,本文提出了一種新的融合時(shí)間信息和物品特征的推薦算法(recommendation algorithm integrating time context and featurelevel information,ITFR)。ITFR 模型主要包括三部分:第一部分利用感知時(shí)間間隔的自注意力層捕捉時(shí)間間隔與物品之間的關(guān)系模式;第二部分利用基于物品屬性的自注意力層,挖掘物品與屬性的隱式特征的關(guān)系;第三部分是全連接層和預(yù)測(cè)層,將上述兩個(gè)自注意力層的輸出表示進(jìn)行拼接進(jìn)入全連接層,之后與物品集中的物品嵌入表示做點(diǎn)積來預(yù)測(cè)下一個(gè)物品的輸出。ITFR 模型結(jié)構(gòu)如圖1 所示。
從圖1 中可以看出,基于時(shí)間信息的自注意力模型[17]共分為兩層:第一層是物品、物品位置以及時(shí)間間隔的嵌入表示;第二層是感知時(shí)間間隔的自注意力區(qū)塊層。物品的嵌入表示矩陣為M∈R|I|×d,將訓(xùn)練序列轉(zhuǎn)為一個(gè)固定長(zhǎng)度的序列s=(s1,s2,…,sn),n表示模型能夠處理的最大長(zhǎng)度。如果序列的長(zhǎng)度大于n,則僅考慮最近的n個(gè)交互的物品。如果序列的長(zhǎng)度小于n,則在序列左側(cè)補(bǔ)0 向量使序列的長(zhǎng)度為n。對(duì)于時(shí)間序列也做了相似的操作,將時(shí)間序列轉(zhuǎn)成一個(gè)固定長(zhǎng)度的序列t=(t1,t2,…,tn)。其中物品i和物品j之間的時(shí)間間隔為|ti-tj|,用戶交互的固定長(zhǎng)度序列中兩個(gè)物品之間的時(shí)間間隔矩陣Ru,物品之間的最小時(shí)間間隔表示為=min(Ru)。為了避免過大的時(shí)間間隔,采用比例化時(shí)間間隔的方法。
圖1 ITFR 模型框架圖Fig.1 Architecture diagram of ITFR model
歸一化時(shí)間間隔后的用戶的關(guān)系矩陣Mu∈Nn×n為:
2.3.1 嵌入表示層
將用戶-物品交互序列中物品的嵌入表示為EI∈Rn×d:
在基于自注意力的序列推薦(self-attentive sequential recommendation,SASRec)[15]方法中,融入位置的嵌入表示會(huì)提升自注意力模塊的性能,因此在本模型中加入兩個(gè)可學(xué)習(xí)的位置嵌入矩陣和分別作為自注意力機(jī)制的Key 和Value。
2.3.2 感知時(shí)間間隔的自注意力區(qū)塊層
自注意力層的輸入由序列物品的嵌入表示、相對(duì)時(shí)間間隔的嵌入表示和物品位置的嵌入表示三部分組成。將自注意力層的輸出序列嵌入表示為:
則每個(gè)輸出的嵌入表示為:
WV∈Rd×d是Value 的可學(xué)習(xí)的權(quán)重參數(shù)。權(quán)重系數(shù)αij通過Softmax 函數(shù)計(jì)算。
cij是當(dāng)前物品與序列物品的關(guān)系函數(shù)。
WQ∈Rd×d和WK∈Rd×d是Query 和Key 的可學(xué)習(xí)的權(quán)重矩陣。d表示每個(gè)物品的維度。為了增強(qiáng)模型的性能,在自注意力層后用了殘差連接、層歸一化函數(shù)和以ReLU 為激活函數(shù)的兩層全連接層,最終得到物品信息和位置信息以及時(shí)間間隔信息的聯(lián)合輸出表示:
W1,W2∈Rd×d,b1,b2是d維向量,根據(jù)文獻(xiàn)[17],在堆疊了兩個(gè)自注意力模塊后,得到了物品嵌入表示、位置信息以及時(shí)間間隔的聯(lián)合表示O2。
在實(shí)際的場(chǎng)景中,用戶對(duì)物品的興趣往往是基于其屬性信息而言的。例如,用戶往往會(huì)對(duì)某一類別的品牌感興趣或其商標(biāo)感興趣。因此融合物品的嵌入表示和每一個(gè)屬性的嵌入表示進(jìn)行注意力加權(quán),即可知道物品的哪一個(gè)屬性決定了用戶的選擇。
2.4.1 嵌入表示層
對(duì)于物品i,將它的屬性向量表示為Ai={vec1,},vecj表示第j個(gè)屬性的向量表示,J表示物品屬性的個(gè)數(shù)。由于物品的屬性類型總是復(fù)雜多樣的,包括類別型特征、數(shù)值型特征以及文本特征型。當(dāng)屬性是類別型特征時(shí),其向量表示是一個(gè)one-hot 向量,需要將其轉(zhuǎn)變成一個(gè)低維的稠密型向量。當(dāng)屬性是數(shù)值型時(shí),其向量表示是一個(gè)標(biāo)量。具體的表示如下:
其中,Vj是一個(gè)embedding 矩陣,vecj是屬性的向量表示。
(1)將同一用戶所有交互物品的文本屬性信息拼接成長(zhǎng)文本。利用預(yù)訓(xùn)練的LDA 主題模型得到長(zhǎng)文本的主題分布,并獲取每個(gè)主題下前5 個(gè)主題詞。
(2)利用Word2vec 模型[22]訓(xùn)練新的長(zhǎng)文本,以便獲得長(zhǎng)文本中每個(gè)詞的詞向量。
(3)對(duì)主題詞做歸一化處理,計(jì)算每個(gè)詞占主題的權(quán)重。根據(jù)權(quán)重大小進(jìn)行排序,權(quán)重越大的詞越靠前。
(4)將每個(gè)主題詞的權(quán)重和其詞向量做內(nèi)積并求和,得到該主題的詞向量。
(5)計(jì)算單個(gè)物品描述信息的文本向量,即利用單個(gè)文本中每個(gè)詞向量求和除以單個(gè)文本總的詞數(shù)。
(6)利用歐氏距離判斷單個(gè)文本向量和每個(gè)主題向量的相似度并根據(jù)距離從小到大排序。
(7)根據(jù)相似度排序提取前5 個(gè)主題詞向量,利用平均池化的方法將5個(gè)詞向量聚合為1個(gè)向量表示。
2.4.2 物品-屬性的自注意力層
自注意力區(qū)塊的輸入為:
在基于物品-屬性的自注意力模型中,自注意力區(qū)塊包含了自注意力層、殘差連接歸一化層以及前饋網(wǎng)絡(luò)層,和感知時(shí)間的序列模型基本是相同的,僅區(qū)塊的輸入和殘差連接部分不一樣。根據(jù)文獻(xiàn)[15],由于物品和屬性的維度設(shè)置低,在低維度下將維度分解到多個(gè)子空間的效果明顯比在單個(gè)子空間的效果差。因此本文使用了單頭的注意力。則經(jīng)過自注意力層后的輸出為:
WQ,WK,WV∈R2d×2d是可學(xué)習(xí)的參數(shù)矩陣。
最終,自注意力區(qū)塊的輸出為:
其中,W1,W2,b1,b2是模型的參數(shù)。為了捕捉到更復(fù)雜的特征關(guān)聯(lián)模式,通常需要經(jīng)過多個(gè)自注意力區(qū)塊。因此在獲得第一個(gè)自注意力區(qū)塊表示后會(huì)直接進(jìn)入到下一個(gè)自注意力塊中,經(jīng)過多個(gè)自注意力區(qū)塊后的輸出表示為Os。
通過拼接感知時(shí)間間隔自注意力區(qū)塊的輸出O2和基于物品-屬性的自注意力區(qū)塊的輸出Os,獲得時(shí)間間隔信息的物品級(jí)關(guān)系和物品屬性特征級(jí)關(guān)系的聯(lián)合表示。之后將聯(lián)合表示輸入到全連接層。
W2s∈R3d×d,b2s∈Rd。利用聯(lián)合表示和物品的嵌入表示做點(diǎn)積得到用戶對(duì)當(dāng)前物品的偏好得分。
是O2s中第t行表示,M∈RI×d是物品的嵌入表示矩陣,yt,i表示根據(jù)前t個(gè)物品的相關(guān)信息(時(shí)間間隔信息、屬性特征信息)計(jì)算用戶對(duì)物品i的偏好得分。
模型的損失函數(shù):
λ是正則化參數(shù),是一組嵌入矩陣集。在每一個(gè)正樣本i中,都會(huì)隨機(jī)負(fù)采樣一個(gè)負(fù)樣本j來與之配對(duì)。
為了驗(yàn)證本文所提出的ITFR 模型的推薦性能,本文采用了Pytorch 深度學(xué)習(xí)框架,實(shí)驗(yàn)采用的操作系統(tǒng)是Windows 10,顯卡RTX2060,CPU 型號(hào)是i7-9750H,Python 版本為3.6。在Pycharm2019 集成開發(fā)工具和Pytorch 深度學(xué)習(xí)框架下進(jìn)行實(shí)驗(yàn)和分析。
本文實(shí)驗(yàn)采用了Amazon 公開數(shù)據(jù)集下的子數(shù)據(jù)集Beauty 和MovieLens-1M 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。兩個(gè)數(shù)據(jù)集下都包含了用戶-物品交互的時(shí)間戳信息,并且利用物品的細(xì)分類和品牌以及文本描述信息作為屬性信息。在對(duì)數(shù)據(jù)預(yù)處理的過程中,將用戶的交互記錄按交互時(shí)間升序排列,利用每個(gè)用戶的時(shí)間戳減去最小的時(shí)間戳,得到用戶物品的相對(duì)時(shí)間間隔信息。之后,對(duì)相對(duì)時(shí)間間隔歸一化處理。此外,為了避免冷啟動(dòng)對(duì)推薦性能的影響,過濾了交互次數(shù)少于5 次的用戶和物品。表1 展示了兩個(gè)數(shù)據(jù)集的詳細(xì)信息。
表1 兩個(gè)數(shù)據(jù)集的詳細(xì)數(shù)據(jù)Table 1 Statistics for two datasets
在對(duì)比模型上,實(shí)驗(yàn)分別選取了基于馬爾科夫鏈的推薦模型FPMC、基于GRU4Rec 的推薦模型GRU4Rec+、基于卷積神經(jīng)網(wǎng)絡(luò)的推薦模型(convolutional sequence embedding recommendation model,Caser)以及基于自注意力機(jī)制的推薦模型SASRec。將本文所提的ITFR 模型與對(duì)比模型進(jìn)行比較:
(1)FPMC,個(gè)性化馬爾科夫鏈分解模型,引入了基于馬爾科夫鏈的個(gè)性化轉(zhuǎn)移矩陣,用以捕捉用戶的一般偏好信息和行為的動(dòng)態(tài)遷移。實(shí)驗(yàn)中模型的參數(shù)為:用戶和物品的表示向量維度為128,學(xué)習(xí)率是0.001。
(2)GRU4Rec+,基于會(huì)話的RNN 推薦模型,在基于會(huì)話的推薦中引入了GRU 模型,在此模型的基礎(chǔ)上加入了屬性信息提升推薦性能。實(shí)驗(yàn)中模型的參數(shù)為:迭代次數(shù)為10,物品和屬性的表示向量維度是100,學(xué)習(xí)率是0.001。
(3)Caser,卷積序列嵌入推薦模型,其在序列推薦中使用基于卷積神經(jīng)網(wǎng)絡(luò)的卷積濾波器構(gòu)建了高階的馬爾科夫鏈模型。實(shí)驗(yàn)中模型的參數(shù)為:迭代次數(shù)為30,用戶與物品的表示向量維度為50,水平過濾器的數(shù)量是8,垂直過濾器的數(shù)量是4。
(4)SASRec,基于自注意力的序列推薦模型,利用了多頭注意力機(jī)制推薦下一個(gè)物品。實(shí)驗(yàn)中的模型參數(shù)為:用戶與物品的表示向量維度為50,自注意力區(qū)塊的數(shù)量為2,自注意力區(qū)塊中頭的個(gè)數(shù)是1,迭代次數(shù)為30,學(xué)習(xí)率為0.001。
實(shí)驗(yàn)中,在對(duì)數(shù)據(jù)集經(jīng)過處理之后,將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。即最后一個(gè)物品做測(cè)試,倒數(shù)第二個(gè)物品作為驗(yàn)證集,其余的物品作為訓(xùn)練集。采用命中率(hit ratio,HR)和歸一化折損累計(jì)增益(normalized discounted cumulative gain,NDCG)作為評(píng)價(jià)指標(biāo)。命中率是衡量推薦的準(zhǔn)確程度,歸一化折損累計(jì)增益則考慮了更多的推薦的物品是否放在用戶更容易關(guān)注到的位置,即強(qiáng)調(diào)了推薦列表的順序性。
在實(shí)驗(yàn)中,對(duì)于兩組數(shù)據(jù)集,設(shè)置物品和屬性的嵌入表示向量維度均為50,batch size 為128,正則化系數(shù)λ為5×10-5。模型采用了Adam 優(yōu)化器優(yōu)化,學(xué)習(xí)率為0.001。在Beauty 數(shù)據(jù)集中,最大交互序列長(zhǎng)度為50;在MovieLens-1M 數(shù)據(jù)集中,最大交互序列的長(zhǎng)度為200?;谖锲?屬性的自注意力區(qū)塊的數(shù)量設(shè)置為2。
本文所提出的ITFR 模型和其他基準(zhǔn)模型的對(duì)比如表2 所示。
表2 ITFR 與其他基準(zhǔn)模型的性能對(duì)比Table 2 Performance comparison of ITFR and other benchmark models
通過分析,可得出以下結(jié)論:
(1)在Beauty 數(shù)據(jù)集中,基于馬爾科夫鏈的模型(FPMC)比基于神經(jīng)網(wǎng)絡(luò)的模型(Caser、GRU4Rec+)在NDCG@10性能指標(biāo)上表現(xiàn)更好。而在MovieLens-1M 數(shù)據(jù)集中,F(xiàn)PMC 比Caser、GRU4Rec+在NDCG@10 的性能要差。由此可見,在稀疏型數(shù)據(jù)集上,時(shí)間信息對(duì)于序列物品的建模具有一定的作用。
(2)基于自注意力的模型(SASRec)在兩個(gè)性能指標(biāo)上比基于神經(jīng)網(wǎng)絡(luò)的模型(GRU4Rec+、Caser)表現(xiàn)更好,表明基于自注意力機(jī)制的方法自適應(yīng)地為當(dāng)前物品分配不同的權(quán)重比基于神經(jīng)網(wǎng)絡(luò)的方法能夠更好地捕捉物品之間的依賴關(guān)系。
(3)本文的模型結(jié)合序列的時(shí)間信息以及物品-特征的聯(lián)合信息,并利用了自注意力機(jī)制分別融合感知時(shí)間間隔的物品表示和基于物品-特征的表示。在兩個(gè)不同的數(shù)據(jù)集中的兩個(gè)性能指標(biāo)上均好于其他的4 個(gè)基線模型。
本文提出的ITFR 算法主要優(yōu)勢(shì)在于:算法利用兩個(gè)分離的自注意力區(qū)塊分別去捕捉序列中的物品級(jí)間的關(guān)系模式及屬性特征級(jí)間的關(guān)系模式。在感知時(shí)間間隔的自注意力區(qū)塊中,將物品信息、絕對(duì)位置信息、時(shí)間間隔信息作為自注意力層的輸入,捕捉序列物品和時(shí)間間隔的關(guān)系。與SASRec 模型[15]相比,其將時(shí)間間隔信息充分地利用起來,把時(shí)間信息作為額外輔助信息進(jìn)一步挖掘物品與時(shí)間信息之間的隱式關(guān)聯(lián),進(jìn)而從時(shí)間的角度去預(yù)測(cè)用戶在未來點(diǎn)的興趣。在物品-屬性特征級(jí)的自注意力區(qū)塊中,在建模物品之間的關(guān)系模式上考慮更細(xì)粒度的屬性信息,將屬性信息也作為輔助信息挖掘物品-屬性之間的隱式關(guān)聯(lián)。最后ITFR 算法結(jié)合了時(shí)間上下文信息和屬性信息,將融入時(shí)間信息的物品級(jí)表示和物品屬性特征級(jí)表示拼接起來,向用戶做出更為合理精準(zhǔn)的推薦。
3.4.1 超參數(shù)的影響
(1)用戶和物品維度d的影響
在ITFR 模型中,超參數(shù)d是很重要的一個(gè)參數(shù)。d越大,則其向量表示也越復(fù)雜。圖2、圖3 展示了兩個(gè)數(shù)據(jù)集中不同維度下HR@10 和NDCG@10的性能。從圖中可以看出本文所提出的模型在兩個(gè)性能指標(biāo)上超過了其他的基準(zhǔn)模型。其中,在Beauty數(shù)據(jù)集中,當(dāng)d=50 時(shí),本文提出的模型在NDCG@10 性能指標(biāo)上較基于馬爾科夫鏈的方法FPMC 提升了11.9%,較基于神經(jīng)網(wǎng)絡(luò)的方法GRU4Rec+提升了21.4%,較基于自注意力機(jī)制的方法SASRec 提升了5.1%。在MovieLens-1M 數(shù)據(jù)集中,當(dāng)d=50 時(shí),ITFR模型取得最好的性能。ITFR 模型在NDCG@10 性能指標(biāo)上較基于馬爾科夫鏈的方法FPMC 提升了23.5%,較基于神經(jīng)網(wǎng)絡(luò)的方法GRU4Rec+提升了9.3%,較基于自注意力機(jī)制的方法SASRec 提升了1.5%。這表明本文提出的ITFR 算法的優(yōu)越性。
圖2 在Beauty 數(shù)據(jù)集中參數(shù)d 對(duì)不同模型的影響Fig.2 Influence of d on different models in Beauty dataset
圖3 在MovieLens-1M 數(shù)據(jù)集中參數(shù)d 對(duì)不同模型的影響Fig.3 Influence of d on different models in MovieLens-1M dataset
(2)序列長(zhǎng)度N的影響
在兩個(gè)數(shù)據(jù)集中序列長(zhǎng)度N的不同也會(huì)對(duì)模型性能產(chǎn)生不同的影響。表3 展示了當(dāng)N取不同長(zhǎng)度時(shí),模型在兩個(gè)數(shù)據(jù)集中的性能指標(biāo)。從表中可以看出,在Beauty 數(shù)據(jù)集中,當(dāng)N=50 時(shí),模型在兩個(gè)性能指標(biāo)上的效果最好。在MovieLens-1M 數(shù)據(jù)集中,當(dāng)N=200 時(shí),取得了最好的性能效果。通過在兩種不同類型數(shù)據(jù)集中的對(duì)比,可知在稀疏數(shù)據(jù)集中,由于用戶平均序列長(zhǎng)度短,其推薦性能更容易受到最近交互物品的影響。而在稠密型數(shù)據(jù)集中,用戶的平均序列長(zhǎng)且擁有豐富的物品屬性信息和物品間的時(shí)間間隔信息,使模型能夠更好地捕捉物品時(shí)間和物品屬性特征級(jí)之間的關(guān)系模式。
表3 在兩個(gè)數(shù)據(jù)集中不同序列長(zhǎng)度的性能對(duì)比Table 3 Performance comparison of different sequence lengths in two datasets
3.4.2 對(duì)比實(shí)驗(yàn)
為驗(yàn)證本文提出的時(shí)間上下文信息和物品屬性特征級(jí)信息的融合對(duì)推薦性能的影響,通過以下實(shí)驗(yàn)進(jìn)行對(duì)比。對(duì)比感知時(shí)間間隔的推薦算法(time interval aware self-attention for sequential recommendation,TiSASRec)[17]與基于物品屬性的特征級(jí)推薦算法(item-attribute feature-level recommendation,IAFR),為了公平起見,三種算法在同一個(gè)數(shù)據(jù)集中使用相同的超參數(shù),在Beauty數(shù)據(jù)集中設(shè)置最大序列長(zhǎng)度為50,最大的時(shí)間間隔為512,正則化系數(shù)λ為0.000 05。在MovieLens-1M 數(shù)據(jù)集中設(shè)置最大序列長(zhǎng)度為200,最大時(shí)間間隔為2 048,正則化系數(shù)λ為0.000 05。三種算法在兩個(gè)數(shù)據(jù)集的兩種性能指標(biāo)對(duì)比如圖4、圖5 所示。從圖中可以得出:(1)對(duì)比TiSASRec,在Beauty 數(shù)據(jù)集中,ITFR 算法在HR@10 和NDCG@10兩個(gè)指標(biāo)上分別提升了7.4%和11.2%。在MovieLens-1M 數(shù)據(jù)集中,ITFR 算法在HR@10 和NDCG@10 指標(biāo)上分別提升了2.3%和2.0%。由此可以得出本文的ITFR 算法可以更深層次地挖掘物品-屬性的隱式信息,從而提升推薦性能。(2)對(duì)比IAFR,在Beauty 數(shù)據(jù)集中,ITFR 算法在HR@10 和NDCG@10 指標(biāo)上分別提升了3.7%和2.8%。在MovieLens-1M 數(shù)據(jù)集中,ITFR 算法在HR@10 和NDCG@10 兩個(gè)指標(biāo)上分別提升了0.97%和1.50%。由此可以得出本文所提出的ITFR 算法利用時(shí)間間隔作為額外輔助信息挖掘時(shí)間間隔和物品之間的關(guān)系模式的有效性。(3)從三種算法的性能對(duì)比數(shù)據(jù)上看,基于物品-屬性細(xì)粒度的特征級(jí)信息對(duì)推薦性能的影響要高于時(shí)間信息對(duì)推薦性能的影響??赡艿脑蚴牵瑢?duì)于用戶而言,屬性信息相對(duì)于時(shí)間間隔信息所受到的關(guān)注更大,其對(duì)用戶行為的影響更高。
圖4 Beauty 數(shù)據(jù)集中三種模型的性能Fig.4 Performance of three models in Beauty dataset
圖5 MovieLens-1M 數(shù)據(jù)集中三種模型的性能Fig.5 Performance of three models in MovieLens-1M dataset
本文提出了融合時(shí)間上下文和特征級(jí)信息的推薦算法(ITFR),該算法首先利用兩個(gè)自注意力區(qū)塊分別捕捉了序列時(shí)間上下文信息與物品之間的關(guān)系以及物品-屬性細(xì)粒度特征之間的關(guān)系。然后將兩個(gè)自注意力區(qū)塊的輸出嵌入表示拼接起來輸出到全連接層中做下一個(gè)物品的預(yù)測(cè)。最后,在兩個(gè)真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn)表明,本文算法在推薦性能上優(yōu)于其他基線模型。
盡管ITFR 模型在兩個(gè)數(shù)據(jù)集中均有提升,但是在稠密數(shù)據(jù)集上的推薦性能的提升并不是很大。因此下一步的工作是如何有效地利用各類異構(gòu)信息與用戶信息之間的聯(lián)系來進(jìn)一步挖掘它們之間的隱式特征,以構(gòu)建更為精準(zhǔn)的推薦模型。