?

時間感知的雙塔型自注意力序列推薦模型

2024-01-11 13:15余文婷
計算機與生活 2024年1期
關鍵詞:注意力建模維度

余文婷,吳 云+

1.貴州大學 公共大數據國家重點實驗室,貴陽 550025

2.貴州大學 計算機科學與技術學院,貴陽 550025

在電子商務的推薦系統中,捕捉用戶的偏好以做出適當的推薦是至關重要的。在互動中,用戶的興趣是動態的并隨著時間變化。傳統的基于協同過濾的推薦模型[1-2]專注于從用戶最近一次交互中捕獲用戶的興趣,導致它們只能學習到片面的行為偏好。與之相比,基于序列建模的推薦模型[3-6]通過對用戶的交互行為序列進行建模,能夠學習用戶不同時期的行為偏好,提供更準確的推薦。因此,序列推薦在各種推薦方法中變得非常重要。

最初研究者們利用馬爾可夫鏈(Markov chain,MC)來建模序列數據。MC 假設用戶的下一次交互受之前的一次交互(或幾次交互)影響,因此基于MC的模型[7-9]可以從序列數據中捕捉到短期的項目之間相關性,但這也導致它們在復雜的長序列建模場景中難以發揮作用。近年來,深度學習網絡的出現有效地解決了這一問題。遞歸神經網絡(recurrent neural network,RNN)最先被應用于序列推薦算法研究中?;赗NN 的推薦模型包含時間關系,可以有效地建模長序列中交互之間的相關性。但是RNN 強調嚴格的順序關系,而用戶行為之間并無明確的次序,這使得基于RNN 的模型可能學習到虛假的項目相關性。隨后,自注意力機制的出現,解決了基于RNN 算法的局限性[10]。自注意力機制通過計算每個項目對的關注權重來捕捉項目間的依賴關系,淡化了交互的先后順序。

傳統的順序推薦方法假定交互間擁有相同的時間間隔,它們不考慮時間戳,僅保留互動的順序關系。然而,用戶的興趣是復雜而多變的。本文認為用戶的興趣在時間上表現為以下兩種特性:(1)興趣聚合。用戶在同一階段的互動是高度相關的。圖1顯示了Amazon's Beauty 數據集中某用戶的行為數據。根據交互的時間,本文將用戶的交互劃分為不同的階段??梢钥闯?,每個階段用戶都專注于喜歡某一類商品。(2)興趣漂移。用戶的偏好是動態的,并隨著時間的推移而變化。這意味著用戶的行為會受到興趣漂移的影響。建?;拥臅r間間隔可以學習用戶個性化的興趣漂移。如圖2 所示,假設用戶1和用戶2 擁有相同的交互序列。用戶1 在一周內完成了所有行為,而用戶2 需要三個月完成。由于交互時間間隔不同,它們的興趣漂移過程也不同,代表不同的偏好習慣。針對這種情況,推薦系統應該考慮給出不同的預測。

圖2 用戶興趣漂移示例圖Fig.2 Example of preference drift

近幾年來,許多融合時間感知的推薦模型[11-15]通過建模時間戳學習交互之間時間間隔長短對項目相關性的影響。它們利用互動間的時間間隔來提升網絡的能力,使其能夠學習時間維度上的項目相關性。然而如何更加細粒度地在序列建??蚣苤刑剿鲿r間層面項目的相關性,仍然是一個挑戰。

因此,本文對交互序列的時間關系進行建模,顯性地衡量用戶的每次交互行為對其下一次交互的影響程度。本文提出了一個新的時間感知的位置嵌入方法,量化興趣聚集和興趣漂移,賦予位置嵌入感知時間的能力。具體來說,首先按照交互時間順序將行為序列劃分為不同的階段,并將階段之間的距離定義為一個權重,稱之為興趣權重,表示階段內的交互行為與下一次交互的行為在時間上的相關性。隨后,將興趣權重與絕對位置嵌入相融合。在計算兩個互動之間的位置關系時,其時間上的關系也將會被考慮。

在近幾年的研究中,將項目特征引入序列的建??蚣苤衃16-19],通過建模項目與特征之間的相關性來提高推薦的準確性。此外,由于數據稀疏性問題,對于僅出現一次或幾次的項目,模型很難學習到準確的項目表示,并且由于用戶興趣的多樣性,模型難以判斷哪個特征會最終影響用戶的交互。為此,本文將項目特征建模引入整體推薦框架中,在傳統序列建模的基礎上增加了一個特征級的自注意力模塊,用于建模特征級的序列模式,同時采用多維度的注意力分數計算方式,分別從特征-特征、項目-項目以及項目-特征三個維度考慮特征之間的相關性,并且該模塊融合了時間感知位置嵌入,能夠學習到特征隨時間的變化過程。

本文的主要貢獻如下:

(1)本文將用戶的交互序列視為具有不同時間間隔的序列,通過交互之間的時間間隔提取用戶階段性興趣特征,并提出興趣權重用來捕獲用戶興趣漂移過程,在此基礎上,結合興趣權重提出了時間感知的位置嵌入方法。

(2)基于時間感知位置嵌入,本文提出了一個時間感知的雙塔自注意力網絡。TiDSA(time-aware sequential recommendation model based on dual-tower self-attention)分別從項目級和特征級建模序列模式。特別的是,在特征級自注意力模塊,TiDSA 采用多維度特征建模方法,通過從三個不同的維度計算特征-特征、項目-項目以及特征-項目的注意力分數,捕獲多維度的特征相關性。結合時間感知位置嵌入,TiDSA 通過統一地建模時間與項目以及特征之間的關系來學習用戶偏好的時間動態性。

(3)本文在四個不同的真實推薦數據集進行了一系列實驗來驗證TiDSA 的推薦效果。結果表明,與經典的基線模型相比,TiDSA 在兩個排名指標上都取得了優秀的結果。

1 相關工作

1.1 序列推薦算法

早期,順序推薦的研究利用馬爾可夫鏈從用戶交互序列中捕捉順序模式?;隈R爾可夫鏈的模型首先生成一個項目-項目轉移的概率矩陣,然后使用這個矩陣來預測下一次的互動。Shani 等人[7]將推薦生成視為一個序列優化問題,并使用馬爾可夫鏈解決。后來He 等人[8]將矩陣分解和一階馬爾可夫鏈結合起來,分別對來自用戶交互的長期和短期偏好表示進行建模。隨后,文獻[9,20]將其擴展到高階馬爾可夫鏈。然而所有基于馬爾可夫鏈的方法都存在相同的缺點,即它們假設用戶的下一次交互只與之前的交互或幾個交互有關,導致它們只能對幾個相鄰項目之間的局部順序模式進行建模。隨著深度神經網絡的發展,大量的深度學習網絡被應用于順序推薦,如RNN 及其變種網絡(如門控遞歸單元、長短時記憶)。Hidasi 等人[3]提出GRU4Rec,使用門控遞歸單元對順序模式進行建模。除了遞歸神經網絡外,各種深度學習模型也被引入到順序推薦中。例如,文獻[21-22]利用卷積神經網絡(CNN)建模用戶關系,文獻[23]通過記憶網絡存儲更多序列信息,文獻[24-25]則通過自注意力機制建模序列關系。

盡管基于RNN 和基于自注意力網絡的模型在模擬用戶序列模式方面表現良好,但它們忽略了交互的時間信息。研究人員嘗試對RNN 與自注意力網絡進行改進。其中,文獻[12]與文獻[13]分別對LSTM(long short-term memory)與GRU(gated recurrent unit)網絡進行改進,設計了時間門控來捕獲相鄰兩次交互之間的興趣轉移,以此來獲取交互之間的時間相關性。文獻[14]改進了自注意力網絡,在計算注意力分數時加入了相對時間間隔,探索不同時間間隔對下一次交互的影響。此外,也有研究人員對序列數據進行處理,如進行會話劃分、長短序列劃分。文獻[26]將序列劃分為長期序列與短期序列,研究長期序列中交互項目與短期項目之間的時間長短對下一次交互預測的影響。這些方法通過建模交互的時間間隔來學習交互的時間相關性。然而它們僅考慮了互動的時間距離對序列模式的影響,這在時間信息的建模上仍存在局限性。本文將交互序列分割成階段,并對用戶交互的時間間隔以及階段聚合進行建模,這有助于網絡學習更細粒度的時間屬性。

1.2 融合上下文的序列推薦算法

傳統的序列推薦算法在建模用戶興趣時僅考慮項目ID 中蘊含的序列模式,這使得模型信息獲取不充分,進而影響模型的性能。為此,研究人員將用戶或項目上下文信息引入到建模過程中。Zhang等人[16]提出FDSA(feature-level deeper self-attention network)模型,分別對項目ID 和項目特征的序列數據進行建模,提高推薦的準確性。此外,除了項目的屬性特征,研究人員也嘗試將文本特征與圖片特征引入到序列建模過程中。Cui等人[19]融合圖片與文本特征獲取多模態數據,并利用RNN 動態捕獲用戶的興趣。Lin 等人[27]設計了獲取用戶上下文信息的輔助學習任務,來獲取特定類型用戶喜歡項目的變化趨勢,進而增加模型預測的準確性。然而,文本特征和圖片特征等上下文信息的提取多采用預訓練模型,在最終的特征融合模塊仍存在融合不充分問題。因此,本文將重點研究屬性特征對模型的提升作用。

2 本文方法

本章包含三部分內容。首先是問題陳述,隨后詳細介紹時間感知位置嵌入方法,最后以自下而上的方式闡述了TiDSA 的關鍵組成部分:嵌入層、雙塔型自注意層和預測層。TiDSA 模型結構如圖3 所示。

2.1 問題陳述

定義U={u1,u2,…,u|U|}表示用戶集,I={i1,i2,…,i|I|}表示項目集,其中|U|和|I|分別表示用戶個數和項目個數。由于用戶行為序列長度不固定,首先將其轉換為固定長度。對于長度小于n的序列,采用左填充“0”的方式使其長度達到n;而對于長度大于n的序列,截取最新n次交互作為該用戶的行為序列,得到用戶u的行為序列表示t時刻用戶交互的項目。隨后,定義Ci={ai,1,ai,2,…,ai,|C|}表示項目i的特征集合。例如類別、品牌和價格等。此外,定義表示用戶u的交互時間戳序列。最終,模型的目標是預測用戶u在(n+1)時刻的交互項目。

2.2 時間感知位置嵌入方法

本文為建模時間層面的項目相關性,提出了一種新的時間感知位置嵌入方法。首先,由于用戶興趣的聚集性,本文將行為序列Su劃分為m階段,使每個階段擁有相同的時間間距。給定用戶u的交互時間序列,設置階段的間距為ε,用戶的交互行為被劃分到不同的階段中:

其中,mi∈[1,2,…,m]表示項目i所在的階段。

為了量化興趣偏移,本文將階段距離之差定義為興趣權重,用來衡量不同階段內的交互行為對下一次交互預測的影響程度。興趣權重定義如式(2)所示:

其中,ri表示項目i的興趣權重??梢钥闯?,同一階段內的交互擁有相同的興趣權重,表明它們對下一次交互預測的影響程度相同。

定義Pu=[p1,p2,…,pi,…,pn]表示絕對位置嵌入,其中Pu∈Rn×d并且d表示向量維度。時間感知位置嵌入定義如式(3)所示:

其中,⊙表示哈達瑪積,hi表示項目i的時間感知位置嵌入向量。

如Hu∈Rn×d圖4 所示,將序列中所有項目的位置嵌入向量拼接得到用戶u的位置嵌入矩陣Hu=[h1,h2,…,hi,…,hn]。與傳統的絕對位置嵌入不同,時間感知位置嵌入引入了用戶時間層面的個性化信息,能夠標識具有不同行為習慣的用戶。

圖4 時間感知位置嵌入的生成Fig.4 Sample of generating time-aware positions

2.3 TiDSA 模型結構

2.3.1 嵌入層

在大多數相關研究中,用戶交互序列中的項目通過項目ID 唯一標識[28]。然而基于這種表示方法的模型在具有高稀疏性的數據中不能很好地工作。對于只出現一次或幾次的項目,它們無法有效學習到準確的項目表示,會極大地限制模型的推薦準確性。為此,本文引入了一個特征級的自注意力模塊來學習特征級序列模式,作為項目級序列模式的補充。在嵌入層中,本文分別對項目ID 和項目的特征進行編碼。

(1)項目ID 嵌入表示:本文將項目ID 視為項目的一個特殊屬性,通過嵌入查找操作將所有的項目轉換為d維的嵌入向量M∈R|I|×d。對于每個序列,檢索n個項目的嵌入,并將它們堆疊得到項目嵌入矩陣。

(2)特征嵌入表示:特征分為離散型和連續型兩類。給定項目i的特征集Ci={ai,1,ai,2,…,ai,|C|},對于離散型特征,通過嵌入查找操作檢索得到它們的嵌入表示;而對于連續型特征,將檢索得到的嵌入向量乘以它們的值得到最終的嵌入表示。將所有特征的嵌入向量堆疊得到項目i的特征嵌入矩陣。對于序列中的其他項目,采用同樣的方式獲取它們的特征嵌入向量。通過堆疊操作得到特征嵌入矩陣EA∈Rn×|C|×d。具體操作如圖5所示。

圖5 特征嵌入矩陣的生成Fig.5 Sample of generating feature embedding

最終,將時間感知位置嵌入矩陣Hu分別與項目嵌入矩陣EI和特征嵌入矩陣EA,i相結合,如式(4)所示:

其中,“+”表示element-wise加法。

2.3.2 雙塔型自注意力層

該層由項目級自注意力模塊和特征級自注意力模塊組成,分別建模特征級與項目級的序列模式。

(1)特征級自注意力模塊:傳統的特征級序列建模方式多采用拼接或池化等技術對特征嵌入矩陣進行壓縮,例如池化、拼接等。這些技術只能從二維的角度學習特征之間的相關性。由于用戶興趣的多樣性,推薦模型難以把握哪些特征會影響用戶的選擇。為此,在傳統自注意力分數的基礎上,增加了特征維度以及項目維度的自注意力分數,將從三個不同的維度捕獲特征與特征、項目與項目以及特征與項目之間的相關性。

具體來說,給定特征嵌入矩陣EA∈Rn×|C|×d,首先,通過線性映射得到三個矩陣QueryQA=[qi,j]、KeyKA=[ki,j]和ValueVA=[vi,j],i∈[1,2,…,n]和j∈[1,2,…,|C|],如式(5)所示:

隨后,依次計算三個不同維度的注意力分數。

①特征維度。計算同一項目不同類別的特征的注意力權重,如式(6)所示:

其中,[qz,j]∈QA和[kz,j′]∈KA為一個向量,表示項目z的不同特征向量,j,j′∈[1,2,…,|C|]?!?”為哈達瑪乘積。

②項目維度。衡量同類特征中不同項目之間的相關性,如式(7)所示:

其中,[qi,z]和[ki′,z]表示項目i與項目i′中對應的特征z的向量,i,i′∈[1,2,…,n]。同樣的,通過哈達瑪乘積計算它們的相關性。

③項目與特征交叉維度。該維度相當于傳統的自注意力層,計算所有Query 向量與Key 向量之間的注意力分數,得到的每個自注意力分數都融合了來自不同項目、不同特征帶來的綜合影響,如式(8)所示:

其中,[qi,j]∈QA和[kz,j′]∈KA表示一個向量,并且i,i′∈[1,2,…,n]和j,j′∈[1,2,…,|C|]。

最后,將三個維度的注意力分數通過加權求和得到最終的注意力分數,如式(9)所示:

其中,α1、α2和α3為三個可訓練參數,表示三種注意力分數對應的權重。為避免內積值過大的比例因子。

受文獻[29]啟發,本文采用多頭注意力,在h個子空間中分別學習不同維度的特征交互,如式(10)所示:

隨后,通過一個雙層的前饋神經網絡賦予模型非線性特征。本文采用GELU(Gaussian error linear unit)[5]作為激活函數。

隨著網絡的加深,本文采用Layer Normalization和Dropout操作來緩解過擬合和梯度消失問題。

其中,g(x)表示自注意力層和前饋神經網絡層。

最終,通過堆疊b(b>1)個自注意力模塊學習復雜的特征級序列模式。

其中,?k∈[1,2,…,b]。

(2)項目級自注意力模塊:該模塊采用傳統的Transformer 網絡來捕獲項目之間的相關性。給定EI作為本模塊的輸入,首先通過線性映射得到自注意力層的三個輸入矩陣QI、KI和VI。其注意力分數計算如式(14)所示:

同樣地,利用多頭注意力來學習不同子空間的信息,并通過Layer Normalization 和Dropout 操作來緩解過擬合和梯度消失問題。

2.3.3 預測層

為了應對項目冷啟動問題,本文將項目的特征作為項目的信息補充。在預測階段,將特征級自注意力模塊的輸出與項目級自注意力模塊的輸出相拼接作為預測層的輸入。

2.4 模型訓練

本文中,用戶行為被轉換為一個固定長度的序列,定義ot表示模型在t時刻的期望輸出:

TiDSA 以用戶行為序列作為輸入,旨在訓練模型預測用戶下一次交互的能力。為此,輸出序列{o1,o2,…,ot,…,on}中的元素都代表一個預測結果。預測值與標簽越接近,表示模型的性能就越好。

本文采用標準交叉熵作為優化器:

其中,D表示所有的訓練樣本,yi表示訓練樣本中的標簽,為預測層的輸出。

3 實驗

3.1 數據集

實驗所有數據集分別來自兩個不同領域的四個公共數據集。它們具有不同的大小和稀疏性。

(1)Amazon Beauty,Sports,and Toys:這是來自Amazon[30]的商品評論數據集。本實驗將使用其中的三個子集“Beauty”“Sport and Outdoors”和“Toys and Games”。方便起見,下文采用“Beauty”“Sports”和“Toys”作為簡稱。此外,實驗使用類別、品牌和價格作為項目的特征。

(2)Yelp(https://www.yelp.com/dataset):這是一個商務推薦數據集。由于其數據量巨大,本次實驗僅使用了2019 年1 月至6 月的交易記錄。

在數據預處理上,實驗遵循文獻[4-5]中的做法。對于所有數據集,忽略所有的評分和評論數據,并將所有的記錄轉換為隱式反饋1,表明用戶與該項目進行了交互。隨后,將用戶的交互行為按時間戳排序,為每個用戶構造交互序列。此外,為保證數據質量,刪除反饋少于5 次的用戶。經預處理后的數據集信息如表1 所示。

表1 預處理后數據集統計特征Table 1 Statistics of datasets after preprocessing

3.2 基線模型

為了驗證TiDSA 的有效性,該模型與以下具有代表性的基線模型進行了比較,包括不考慮序列建模的PopRec、基于RNN 的GRU4Rec、基于自注意力機制的SASRec 和BERT4Rec、融合特征建模的FDSA,以及時間感知建模的TiSASRec。此外,本文還改進了SASRec模型,命名為SASRec+。

(1)PopRec:此模型為最簡單的基線。根據受歡迎程度對項目進行排序,并根據排序結果,將最受歡迎的項目推薦給用戶。

(2)GRU4Rec[3]:該模型利用GRU 建模用戶交互序列。本次實驗采用嵌入向量來表示項目,而非onehot向量。

(3)SASRec[4]:該模型是一種基于自注意力機制的序列推薦。

(4)SASRec+:該模型在SASRec 模型的基礎上,引入了時間感知位置嵌入。SASRec+可以看作TiDSA 的簡易版本,即它只建模項目級的序列模式。

(5)BERT4Rec[5]:該模型利用雙向自注意力機制對用戶序列進行建模。

(6)FDSA[16]:該模型構建了一個特征建模模塊,用于建模特征級的序列模式。

(7)TiSASRec[14]:該模型顯性地將交互時間間隔引入Transformer網絡中。

3.3 實驗設置

對于GRU4Rec、SASRec 和TiSASRec,使用原作者提供的源代碼進行實驗。對于BERT4Rec,利用PyTorch 框架進行復現該模型。所有模型均按原論文設置超參數,并在最優參數設置下得到基線結果。所有實驗均在GTX-3090Ti GPU 上進行。

TiDSA采用PyTorch實現,設置自注意力塊b=2、注意力頭數h=4、嵌入維度d=64、最大序列長度n=50。對于Beauty、Toys 和Sports 數據集,階段間距離ε=30,對于Yelp,ε=7。TiDSA 使用Adam 優化器[31],其中,學習率設置為1E-3 并采用線性衰減的方式調整學習率,β1=0.9,β2=0.99 以及正則項l2=0.001。遵循文獻[4-5]中的設置,本實驗采用留一策略,即對于每個用戶的交互序列,最后一個項目作為測試數據,倒數第二個項目作為驗證數據。批量大小設置為100,當驗證集性能在20 個周期內沒有提高,則終止訓練。

3.4 評價指標

本實驗采用兩種常用的Top-N評估指標,命中率(hit rate,HR)和歸一化折損累計增益(normalized discounted cumulative gain,NDCG)。其中,命中率用于衡量推薦的正確性,而NDCG 是一種位置感知的指標,為排名靠前的位置分配更大的權重。

由于真實數據集的項目集合巨大,將所有項目作為測試的候選項會耗費大量時間。因此,本文采用文獻[4-5,14]中的策略,隨機抽取99 個該用戶未交互的項目作為負樣本,與唯一正樣本一起進行排名,并計算對應的HR 和NDCG 的值。

3.5 實驗結果與分析

表2 顯示了所有模型在四個數據集上的模型性能。實驗結果分析如下:

表2 模型性能對比Table 2 Performance comparison of models

(1)PopRec 在所有數據集上的表現最差,這表明了個性化推薦方法的有效性和必要性。在基線模型中,SASRec、BERT4Rec、FDSA 和TiSASRec 的表現都超過了GRU4Rec。這表明,自注意力機制具有更強大的序列建模能力。此外,本次實驗中,SASRec在兩個指標上的表現比BERT4Rec 更好。一種可能的原因是在稀疏的數據集和較短的序列中,雙向Transformer 模型出現了過擬合,限制了模型的建模能力。此外,在大多數情況下,FDSA 在所有基線模型中表現最好。這表明對序列數據建模時考慮項目特征可以提高模型的性能。

(2)SASRec+中融合了時間感知位置嵌入,從實驗結果可以看出,SASRec+的表現優于SASRec,表明時間感知的位置嵌入有助于模型學習時間層面的項目相關性和把握用戶興趣動態變化的過程,能夠更好地建模序列模式。而與TiSASRec 相比,在Beauty數據集上(NDCG@10)SASRec+的模型性能提高了12%。在時間建模方面,TiSASRec 僅考慮了相鄰項目之間的時間間隔對與項目的相關性,忽略了用戶興趣在時間層面的聚集性,因此其性能不及SASRec+。

(3)TiDSA 在四個數據集上的表現都優于本文對比的基線模型。與FDSA 相比,TiDSA 的性能提升了11.7%,與TiSASRec 相比,TiDSA 的性能提升了23%。這說明了TiDSA 在建模用的動態偏好上具有明顯的優勢。

3.6 消融實驗

3.6.1 時間感知位置嵌入的影響

本小節討論時間感知位置嵌入對模型性能的影響。為此,實驗對TiDSA 進行了以下兩種修改:

(1)將時間感知位置嵌入替換為絕對位置嵌入,修改后的模型稱為TiDSA-T。

(2)刪除TiDSA 中的位置嵌入,修改后的模型稱為TiDSA-P。

為了公平,本次消融實驗在上述四個數據集中進行,并使用3.3 節中的參數設置。如表3 所示,TiDSA 擁有更出色的預測能力。這表明時間感知位置嵌入通過整合來自時間維度與空間維度的位置信息,幫助模型學習到更豐富的項目相關性。

表3 三種位置嵌入方法的比較Table 3 Comparison among three position representation methods

3.6.2 興趣權重對興趣漂移捕獲的影響

本小節討論興趣權重捕獲用戶興趣漂移的可行性與有效性。給定具體用戶的行為序列(userID:2232),本實驗對TiDSA 與TiDSA-T 的具體推薦預測(Top20)進行統計分析,其中,TiDSA-T 采用絕對位置嵌入方式,即不考慮交互時間對用戶的下一次交互的影響。

如圖6 所示,對于用戶當前興趣(Skin Care),TiDSA 給出的推薦結果中占最大比例,而對于最多交互類別(Nail&Nail Tools),由于時間的推移,存在用戶興趣漂移的可能性,TiDSA 給出較少的推薦,TiDSA-T 則是給出較平均的推薦結果。這說明,興趣權重讓TiDSA 具有較強的捕獲用戶興趣漂移的能力。

圖6 TiDSA 和TiDSA-T Top20 推薦的統計結果Fig.6 Recommended results statistics of top 20 of TiDSA and TiDSA-T

3.6.3 自注意力模塊的影響

(1)雙塔自注意力模塊對模型性能的影響

為了驗證兩個模塊的有效性,在Beauty、Toys、Sports 和Yelp 四個數據集上進行消融實驗,并采用NDCG@10 作為評估指標。在完整模型TiDSA 的基礎上,定義以下兩個消融模型,以驗證每個模塊的有效性。

①僅建模項目級的序列模式,此時,TiDSA 將退化為SASRec+模型。

②僅建模特征級的序列模式,為了方便,稱之為TiSSA。

從圖7 的結果中可以觀察到,去除任一模塊都會影響模型的性能。這表明,每個模塊都有助于提高推薦的性能。此外,特征級自注意力模塊比項目級自注意力模塊更重要??梢钥吹?,SASRec+僅考慮項目級建模產生較大的性能下降,這說明特征級自注意力模塊建模了多種特征之間的相關性,增強了序列建模中的交互相關性的提取,可以得到更準確的項目表示。

(2)特征級自注意力模塊對模型性能的影響

在特征級自注意力模塊,本文設計了三個不同維度的注意力分數計算方式。為了驗證每種注意力的有效性,在Beauty、Toys、Sports 和Yelp 四個數據集上進行消融實驗,“-FA”“-IA”“-AA”分別表示去除相應維度的注意力分數得到的模型,而其他設置保持不變。實驗采用HR@10 作為評估指標。

實驗結果如圖8 所示,可以觀察到,去除任一維度的注意力分數都會導致性能下降,它們對提高推薦性能都是有用的。此外,它們的重要性在不同的數據集上是不同的??偟膩碚f,FA、IA 和AA 的共同作用加強了模型建模項目與特征相關性的能力,并且FA 和AA 更加重要,缺少FA 或AA 都會產生較大的性能下降。

3.7 超參數的影響

本節將討論超參數對模型的影響來進一步驗證TiDSA 的穩定性。

3.7.1 維度d 的影響

嵌入維度d是一個關鍵超參數,本實驗分析了嵌入維度d從16 到64 變化時,模型性能的變化情況。為了公平,實驗保持其他超參數的值不變。如圖9 和圖10 所示,三個基線模型(SASRec、BERT4Rec 和TiSASRec)隨著d的增大會出現過擬合現象,而TiDSA 的預測能力會逐漸趨于臨界值,最終收斂。

圖9 嵌入維度d 對模型性能的影響(NDCG@10)Fig.9 Impact of embedding dimensionality d on ranking performance(NDCG@10)

圖10 嵌入維度d 對模型性能的影響(HR@10)Fig.10 Impact of embedding dimensionality d on ranking performance(HR@10)

3.7.2 最大序列長度n 的影響

圖11 顯示了最大長度n的值從10 到50 變化時,模型性能的變化過程。實驗比較了TiDSA和TiDSA-T的模型性能,可以看到,在所有數據集上TiDSA 擁有很強的穩定性。TiDSA 的性能隨著n的增加而提升,并最終收斂。另一方面,TiDSA-T 的穩定性較差,當n較大時就會導致過擬合。

圖11 最大長度n 對模型性能的影響(NDCG@10)Fig.11 Impact of maximum length n on ranking performance(NDCG@10)

4 結束語

本文將交互時間信息建模融入到用戶序列建模過程中,以捕獲用戶的偏好隨時間變化的過程,提高了推薦的準確性。首先,本文設計了一個具有時間感知能力的位置嵌入方法。它能夠學習用戶的每個歷史行為與下一次交互的相關性,獲取用戶興趣聚集與興趣漂移信息。隨后,基于時間感知位置嵌入,本文提出了時間感知的雙塔型自注意力網絡,分別從項目和特征的層面學習用戶偏好的時間動態,充分把握用戶偏好的變化過程。最后,對比實驗結果證明TiDSA 的性能優于許多先進的序列推薦基線模型。并且消融實驗結果進一步驗證了時間感知位置嵌入與雙塔型網絡對模型性能提升的促進作用。

在未來的工作中,考慮引入文本特征、圖片特征等更多項目的上下文信息,并研究如何實現不同上下文特征之間的有效融合。

猜你喜歡
注意力建模維度
讓注意力“飛”回來
聯想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運動”為例
淺論詩中“史”識的四個維度
基于PSS/E的風電場建模與動態分析
不對稱半橋變換器的建模與仿真
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
光的維度
“五個維度”解有機化學推斷題
三元組輻射場的建模與仿真
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合