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