?

基于用戶長短期歷史的多興趣召回算法

2024-03-24 03:10歐中洪宋美娜
南京大學學報(自然科學版) 2024年1期
關鍵詞:物品向量建模

張 旭,歐中洪,宋美娜

(北京郵電大學計算機學院,北京,100876)

目前推薦系統多興趣召回領域的研究主要聚焦于針對用戶短期歷史行為記錄的建模,忽視了用戶長期歷史行為記錄中隱含的用戶長期興趣偏好以及建立用戶短期和長期興趣偏好間的關聯關系等問題.同時,在推薦系統用戶長行為序列建模領域中,主流研究往往采用單個全局用戶嵌入向量來表示用戶的興趣偏好,但這樣會使用戶多個興趣的不同信息混合在一起,導致召回階段的物品檢測不準確.本文定義并構造了一種基于用戶長短期歷史的多興趣召回算法模型,通過在兩個開源數據集上進行的實驗和對比分析,驗證了提出的算法模型的有效性.

本文的主要貢獻如下.

(1)提出一種基于用戶長短期歷史的多興趣召回算法LSMNet(Long and Short Multi-Interest Network),成功建模用戶長歷史紀錄下的多個不同興趣偏好.

(2)通過使用圖神經網絡對用戶短期歷史表征進行增強,并利用結構化自注意力機制提取用戶多個短期興趣偏好.對于用戶長期興趣偏好,使用Transformer 結構進行建模.最后,利用門控融合網絡對長短期偏好進行融合,得到用戶的最終興趣偏好.

(3)在不同的公開數據集上進行了實驗,結果證明LSMNet 模型可以有效地捕捉用戶長期歷史中的興趣偏好.

1 相關工作

在推薦系統的早期研究階段,召回算法主要分兩大類,即基于內容的推薦算法和基于協同過濾的推薦算法.基于協同過濾的算法主要分兩類,即基于模型的協同過濾算法[1-3]和基于記憶的協同過濾算法[4-6].

召回算法按照使用幾個向量代表用戶興趣偏好分為單興趣召回算法和多興趣召回算法.多興趣召回算法(如Octopus[7]模型)與經典單興趣召回算法(如Youtube DNN[8]和FAT 模型[9])相比,使用了更復雜的模型結構,并用多個高維稠密向量來代表用戶潛在的興趣偏好.和單興趣召回算法相比,多興趣召回算法避免將用戶的多個興趣混合在一起,提高了召回階段候選集的準確性,實現了千人萬面效果.然而,目前的主流研究都忽視了用戶長期歷史行為記錄中蘊含的潛在信息,沒有將用戶的長期歷史和短期歷史綜合考慮.

另一方面,召回算法按照模型輸入的用戶歷史行為記錄長度分為短期歷史召回算法和長短期歷史召回算法.如Youtube DNN,MIND 和FAT等模型均為短期歷史召回算法模型,只基于用戶最近的歷史行為記錄建模.長短期歷史召回算法對用戶長期歷史和短期歷史使用不同的模型進行建模,并將得到的用戶長期興趣偏好和短期興趣偏好進行融合.如SHAN 模型[10]使用兩層注意力網絡建模用戶長期偏好并與用戶短期歷史進行融合.ADNNet 模型[11]使用卷積神經網絡建模用戶短期偏好,利用門控循環單元建模用戶長期偏好,通過自注意力機制將兩者進行融合.

2 基于用戶長短期歷史的多興趣召回算法

本節介紹基于用戶長短期歷史的多興趣召回算法的模型結構,模型結構如圖1 所示.

圖1 LSMNet 的整體架構圖Fig.1 The overall architecture of LSMNet

2.1 嵌入層在召回任務中,輸入數據由物品的ID 組成,但神經網絡無法直接處理ID 類特征,一種常用的做法是借助嵌入變換用一個低維度稠密向量表示物品.具體計算如下:

其中,xi表示用戶在第i個位置上點擊的物品對應的ID,Witem代表物品嵌入矩陣,ei表示用戶在第i個位置上點擊的物品對應的嵌入向量.

因為Transformer 結構和圖神經網絡中不能區分物品的先后順序,所以為每個位置加上對應的嵌入向量.最終用戶的物品嵌入向量如下:

其中,E表示用戶歷史嵌入向量,pi表示第i個位置對應的嵌入向量.

2.2 長期興趣偏好提取模塊對于物品嵌入E,將其輸入2.1 中的Transformer 編碼器來提取用戶的長期興趣偏好.具體的計算過程如下:

其中,LayerNorm表示層級歸一化,W1和W2表示前饋網絡層的權重參數,b1和b2表示前饋網絡層的偏置項,max 表示取最大值,V為自注意力層的輸入,Y為物品嵌入E經過一層Transformer 編碼器編碼后的向量.通過堆疊上述Transformer編碼器,并將每一層編碼器的輸出輸入至下一層,最終得到用戶長期興趣偏好Ilong.

2.3 短期興趣偏好提取模塊短期興趣偏好提取模塊由兩個子模塊組成,即圖交互子模塊和結構化自注意力子模塊.圖交互子模塊負責將用戶短期歷史序列在圖視角下進行交互計算,結構化自注意力子模塊將經由圖交互子模塊的物品嵌入轉換為多個用戶短期興趣偏好.

2.3.1 圖交互子模塊圖交互子模塊以用戶歷史交互物品嵌入E為輸入,重新記為E0,上標表示在圖交互子模塊中的迭代次數,0 表示原始輸入.使用對應的小寫字母代表某個物品,用小標表示該物品所處的位置,如表示兩輪圖算法迭代后第r個位置的物品的嵌入.

首先構建一張線性圖,以物品作為圖節點,為相鄰的歷史物品間添加一條有向邊,有向邊的方向從較遠交互物品指向較近交互物品.在圖上新構建一個節點C,為該節點與用戶所有輸入歷史物品間添加一條無向邊,并初始化節點C的嵌入c0為所有歷史物品嵌入的平均值.具體計算如下:

為了使物品信息能在圖結構上進行傳播,將節點更新過程分為兩步并不斷重復L次,L為超參數.第一步更新所有物品節點的嵌入,第二步更新新增節點c的嵌入.

(1)第一步,以第l次迭代為例,第r個物品節點具體的更新計算如下:

其中,MultiHead表示多頭自注意力層,詳細計算參考式(5);表示第r個物品的初始嵌入,表示第r個物品上一輪中的嵌入,表示前一個物品上一輪中的嵌入;cl-1表示節點C上一輪中的嵌入;為第l次迭代第r個物品臨時向量;輸出表示第r個物品第l次迭代后的嵌入.對每個物品節點按上述公式同時進行更新,得到第l次迭代后所有物品嵌入El.

(2)第二步,以第l次迭代為例,節點C的更新過程如下:

其中,El表示第一步計算得到的第l輪迭代后的所有物品嵌入,cl-1表示節點C在第l-1 輪迭代后的嵌入,ql為第l輪迭代中臨時向量,cl表示節點C在第l輪迭代后的嵌入.

經過兩步L輪迭代后,得到最終物品嵌入EL,并將其輸入結構化自注意力子模塊中.

2.3.2 結構化自注意力子模塊對于圖交互子模塊的輸出物品嵌入EL,重新用H標記,使用結構化自注意力機制從中提取用戶多個短期興趣偏好.具體計算如下:

其中,Softmax表示歸一化指數函數,Ws1∈RK×4d和Ws2∈R4d×4表示權重矩陣,K表示用戶興趣偏好數量,d表示隱藏層維度,tanh 表示雙曲正切函數,HT表示物品嵌入H的轉置,Ishort∈RK×d表示用戶多個短期興趣偏好,A為計算過程中的臨時變量.

2.4 興趣融合模塊通過長期興趣偏好提取模塊和短期興趣偏好提取模塊分別得到用戶的長期興趣偏好Ilong和短期興趣偏好Ishort,使用興趣融合模塊對長短期興趣偏好進行融合.興趣融合模塊由門控融合網絡組成,對于每一個短期興趣偏好,使用門控融合網絡計算其與長期興趣偏好的權重值并加權求和.例如,對第j個短期興趣偏好,具體的計算流程如下:

其中,W1和W2為可學習的權重映射矩陣,b為偏置項,Gj為第j個興趣偏好計算過程中長期興趣偏好的權重,Vj表示用戶的第j個融合興趣偏好.將用戶的所有興趣偏好進行拼接,得到用戶最終的興趣偏好V:

3 模型訓練推理

在得到用戶最終興趣偏好V后,對于某一個交互物品i,可以找到與物品嵌入ei最相似的用戶興趣向量,如下所示:

其中,argmax 表示取最大值所對應的小標,v表示與物品嵌入ei最相似的用戶興趣偏好,VT表示V的轉置.

給定訓練樣本(u,i),通過上述步驟得到ei和v,可以計算用戶u點擊物品i的可能性:

其中,I 表示物品集.

模型訓練時的損失函數為最小化負對數似然,具體計算如下:

其中,U表示所有用戶,Iu表示用戶u的交互物品集.

模型推理時,根據目標用戶的多個興趣偏好,每個興趣偏好召回一定數量的候選物品集,將這些候選物品集合按點積相似度從大到小排序,取前Top-K 個物品作為目標用戶召回物品候選集.

4 實驗與結果

4.1 數據集介紹MovieLens 數據集由用戶對電影的評分信息和時間戳組成,同時包含了電影和用戶的部分元數據特征.用戶特征含有用戶的性別、年齡和所在地,物品特征含有電影標題和電影類型.

MovieLens 提供了多種大小的數據集,本文選擇MovieLens-1M 數據集來衡量召回階段的相關性能.MovieLens-1M 數據集共包含2000 年4 月25 日至2002 年2 月28 日6040 名用戶對3952部電影的1000209 條評分,評分范圍為1~5 的整數.

Taobao 數據集[12]是阿里巴巴提供的一個淘寶用戶行為數據集,可用于隱式反饋推薦問題的研究.Taobao 數據集包含2017 年11 月25 日至2017 年12 月3 日987994 名有行為的用戶在4162024 件物品上的100150807 條行為.行為包括點擊、喜歡、購買、加購,額外特征只包含商品類目特征.

對于兩個數據集,首先去除出現次數小于五次的冷門物品,再去除歷史行為少于五次的不活躍用戶.對于每個用戶的歷史行為記錄,參考SDM(Sequential Deep Matching)[13]的方法進行處理,并將所有用戶的倒數第二件物品作為驗證集,將所有用戶的倒數第一件物品作為測試集.

4.2 評估指標介紹命中率(Hit Rate,HR)[14]對所有的用戶整體考慮推薦預測結果的準確性,表示有多少比例的用戶的預測物品結果中至少包含一件與用戶有交互的物品.

歸一化折損累積增益(Normalized Discounted Cumulative Gain,NDCG)[14]主要用來衡量和評價搜索算法,也適用于推薦系統評估.在推薦系統領域中,根據測試集和推薦的預測結果順序,依次計算累計增益(Cumulative Gain,CG)、折損累計增益(Discounted Cumulative Gain,DCG)、理想折損累計增益(Ideal Discounted Cumulative Gain,IDCG).歸一化折損累積增益定義為折損累計增益經過理想折損累計增益歸一化后的結果.

4.3 實驗對比模型選取六種主流的推薦召回算法作為基線算法,與提出的算法進行對比研究.

(1)MIND[15]:是深度學習多興趣召回經典算法之一,使用共享權重的膠囊神經網絡建模用戶多個興趣偏好.

(2)Comirec-SA[14]:使用自注意力層從用戶歷史行為中提取用戶多個興趣偏好.

(3)Comirec-DR[14]:同樣使用膠囊神經網絡建模用戶多個興趣偏好.和MIND 相比,Comirec-DR 使用獨享權重的膠囊神經網絡,即不同的低層膠囊和不同的高層膠囊使用不同的參數.

(4)Transformers4Rec[16]:利 用Transformer結構建模用戶興趣偏好,用戶最近行為對應的向量代表用戶興趣偏好.

(5)SHAN[10]:首先通過一層注意力網絡建模用戶的長期興趣偏好,再利用一層注意力網絡聯合用戶的長期興趣偏好和短期興趣偏好來計算最終的用戶興趣偏好.

(6)SDM[13]:通過帶殘差的LSTM(Long-Short Term Memory)加自注意力機制的復雜模型對用戶短期興趣進行建模,利用注意力機制對用戶長期興趣進行建模,最終通過門控神經網絡融合用戶長期興趣和用戶短期興趣.

所有模型使用Tensorflow[17]實 現,并使用Adam[18]優化器對模型進行優化學習.

4.4 實驗結果對比實驗的結果如表1 所示,表中黑體字表示性能最優.

表1 不同召回模型的性能對比Table 1 Performance of different recall models

由表可見,LSMNet 的表現均優于其他基線模型.具體地,在MovieLens 數據集上,LSMNet的HR@50 和NDCG@100 分別提升4.49% 和2.31%;在Taobao 數據集上,LSMNet 的HR@100 和NDCG@100 分別提升8.55% 和5.68%.實驗結果充分證明了該算法的有效性.

雖然和MIND 相比,Comirec-DR 去除了共享參數,理論上應該有更大的模型容量,但其在兩個數據集上的表現卻各有優劣,可能因為和Movie-Lens 數據集相比,Taobao 數據集含有更多噪聲.

雖然SHAN 考慮了用戶長期歷史行為,但是因為其模型結構比較簡單,表現不佳.和SHAN相比,SDM 的模型結構更復雜,所以SDM 在兩個數據集上都獲得了次優表現.

4.5 消融實驗對比定義LSMNet 去除長期興趣偏好提取模塊的模型為LSMNet-L,去除圖神經網絡的模型為LSMNet-G.表2 展示了LSMNet 模型去掉部分模塊后的性能表現.由表可見,去除長期歷史建模模塊或圖神經網絡后,模型的性能明顯下降,而且去除長期歷史建模模塊后,模型性能的下降更明顯.充分證明了建模用戶長期歷史和圖神經網絡的有效性.

表2 模型各模塊的消融實驗結果對比Table 2 Performance of each module of LSMNet in ablation experiments

5 結論

本文提出一種基于用戶長短期歷史的多興趣召回算法,利用圖神經網絡和結構化自注意力捕捉用戶短期興趣偏好,利用Transformer 架構捕捉用戶長期興趣偏好,并通過門控融合網絡融合用戶長短期興趣偏好得到最終用戶興趣偏好.實驗結果表明,本文提出的基于用戶長短期歷史的多興趣召回算法,其性能表現優于許多已有的召回算法.該算法是可行且高效的.

猜你喜歡
物品向量建模
稱物品
向量的分解
聚焦“向量與三角”創新題
“雙十一”,你搶到了想要的物品嗎?
聯想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運動”為例
誰動了凡·高的物品
基于PSS/E的風電場建模與動態分析
不對稱半橋變換器的建模與仿真
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉圓錐曲線
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合