基於用戶的複雜多模式興趣提取與建模的序列推薦方法
2024-04-13 05:30:05
1.本發明屬於數據挖掘與推薦系統領域,具體涉及一種基於用戶的複雜多模式興趣提取與建模的序列推薦方法。
背景技術:
2.隨著移動計算技術的快速發展,人與設備之間的接觸變得更加容易。在數位化的過程中產生了海量的服務和數據,用戶不可避免地會面臨難以從海量數據中找到所需內容的困境,也就是所謂的信息過載。個性化推薦系統是通過建模用戶興趣並推薦相關內容來解決信息過載問題。特別的,個性化推薦系統可以幫助用戶從海量數據中發現他們感興趣的產品/內容/項目,以及為產品提供商創造增加收入的機會。
3.通常,用戶是按一定順序訪問在線物品。因此,序列推薦成為中學術界和工業界構建推薦系統的熱門話題。給定用戶的歷史物品交互序列,序列推薦旨在預測用戶可能感興趣的下一個物品。
4.序列推薦將按順序排列的物品交互序列作為輸入。目前國內外的研究人員進行序列推薦的方法主要可以分為三類,基於矩陣分解的方法、基於馬爾可夫鏈的方法和基於深度學習的方法。基於矩陣分解的方法依靠時序矩陣分解來挖掘用戶不斷變化的興趣。基於馬爾可夫鏈的方法使用一階或高階馬爾可夫鏈來學習用戶的長期興趣和短期變化。受自然語言處理方法在序列建模上優勢的啟發,基於深度學習的方法被用來增強特徵學習。基於卷積神經網絡(convolutional neural network,cnn)的方法如caser應用cnn來學習物品嵌入序列。基於循環神經網絡(recurrent neural network,rnn)的方法使用rnn或rnn的變體如門控循環單元(gated recurrent unit,gru)和長短期記憶網絡(long short-term memory network,lstm)進行序列推薦。最近,由於圖神經網絡(graph neural network,gnn)能夠有效地學習物品之間的高階關係,研究人員將gnn用於序列推薦任務。sr-gnn通過將gnn應用於基於物品序列構建的圖來學習物品嵌入。surge利用gnn從嘈雜的序列中動態提取用戶興趣。此外,基於注意力的方法如sasrec採用自注意力機制來自適應選擇相關物品建模用戶興趣,tlsan通過注意力網絡學習長期和短期興趣。一般來說,基於深度學習的方法優於其他兩類方法。
5.現有序列推薦方法在建模用戶興趣時通常分為長期和短期興趣。長期興趣和短期興趣的區別主要在於用於興趣挖掘的序列長度不同。但是隨著長度的變化,用戶的興趣也會隨之產生一定的變化,因此現有基於長短期興趣的方法無法準確地建模用戶的興趣表示。
技術實現要素:
6.鑑於目前序列推薦從長期興趣和短期興趣角度建模用戶興趣存在的缺陷,本發明從動態興趣和靜態興趣角度提出一種基於用戶的複雜多模式興趣提取與建模的序列推薦方法,並在動靜態興趣建模過程中考慮進化興趣增強特徵建模,實現更準確的用戶個性化
序列推薦。
7.本發明提供了一種基於用戶的複雜多模式興趣提取與建模的序列推薦方法,該方法的具體步驟是:
8.步驟1、獲取用戶的歷史物品交互序列,選擇最近的長度為m的序列作為長期序列,最近的長度為n的序列的作為短期序列,要求m>n。基於自學習的物品嵌入矩陣將序列中涉及的物品進行嵌入得到長期嵌入序列f
l
和短期嵌入序列fs。
9.步驟2、將長期嵌入序列f
l
和短期嵌入序列fs分別輸入兩個獨立的多頭自注意力(multi-head self-attention)模塊,得到更新的長期嵌入序列和短期嵌入序列
10.步驟3、將更新的長期嵌入序列中最後一個物品的嵌入向量作為用戶的長期動態興趣計算更新的長期嵌入序列與最後一個物品的嵌入向量的注意力權重並進行加權求和得到用戶的長期靜態興趣相同的,在更新的短期嵌入序列的基礎上得到短期動態興趣和短期靜態興趣
11.步驟4、將長期動態興趣和長期靜態興趣進行拼接然後進行非線性變化得到用戶長期進化興趣相同的,在短期動態興趣和短期靜態興趣的基礎上得到用戶短期進化興趣
12.步驟5、將長期動態興趣和短期動態興趣進行逐元素求和得到用戶動態興趣pd。相同的,得到用戶的靜態興趣p
x
和進化興趣py。
13.步驟6、計算動態興趣pd、靜態興趣p
x
和進化興趣py與最後一個物品的嵌入向量的注意力權重並進行加權求和到融合的用戶興趣p。
14.步驟7、計算p與所有物品嵌入f的乘積作為每個物品的推薦得分,為用戶推薦分數最高的若干個物品。
15.本發明具有的有益效果:從動態興趣和靜態興趣角度建模用戶興趣,在長短期序列的基礎上建模多層次動靜態興趣,實現更加精確和符合實際的用戶興趣建模。動態興趣和靜態興趣的區別在於興趣在一段時間內是否保持穩定。動態興趣隨時間不斷變化,靜態興趣在一段時間內幾乎保持不變。在動靜態興趣之外,考慮靜態興趣到動態興趣轉變的進化興趣,通過動態興趣、靜態興趣和進化興趣自適應融合,實現更準確的用戶個性化序列推薦。
附圖說明
16.圖1為本發明基於用戶的複雜多模式興趣提取與建模的序列推薦方法實施例的模型框架圖。
具體實施方式
17.本發明針當前序列推薦方法從長期興趣和短期興趣角度建模用戶興趣存在的缺陷,設計了一種基於用戶的複雜多模式興趣提取與建模的序列推薦方法。
18.下面將對本發明所設計的一種基於用戶的複雜多模式興趣提取與建模的序列推
薦方法做具體說明,方法的執行過程如圖1所示。
19.本發明的具體步驟如下:
20.步驟(1).序列劃分和向量嵌入:獲取用戶的歷史物品交互序列h=(h1,h2,
…
,h
t
),其中hi為第i個交互行為對應的物品,選擇最近的長度為m的序列作為長期序列,最近的長度為n的序列作為短期序列,要求m>n。基於自學習的物品嵌入矩陣將序列中涉及的物品進行嵌入得到長期嵌入序列和短期嵌入序列其中k表示所有序列中所有物品種類個數,其中有物品種類個數,其中d表示向量嵌入維度。假設用戶交互序列為(a1,a2,a3,a4,a5,a6),令m=6,n=3,劃分得到長期序列(a1,a2,a3,a4,a5,a6)和短期序列(a4,a5,a6)。對其進行嵌入後得到長期嵌入序列和短期嵌入序列
21.步驟(2).基於多頭自注意力機制物品嵌入向量更新:將長期嵌入序列f
l
和短期嵌入序列fs分別輸入兩個獨立的多頭自注意力(multi-head self-attention)模塊。具體的,就長期嵌入序列f
l
而言,為了學習到物品之間的序列關係,為序列上的每個物品分配一個自學習的位置向量並更新物品向量為得到位置更新後的長期嵌入序列對結合位置向量的嵌入序列進行多頭自注意力機制學習。多頭機制能夠從不同空間建模不同信息,從而提高模型的表徵能力,每個注意力頭執行獨立的自注意力學習。具體而言,對於第j個注意力頭,通過g
l
分別得到以下三個矩陣:
[0022][0023]
其中和為三個參數矩陣。執行注意力運算得到在該注意力頭下更新的嵌入序列
[0024][0025]
其中o表示注意力頭的數量。將o個注意力頭得到的進行拼接得到更新的長期嵌入序列其中相同的,得到多頭自注意力機制後更新的短期嵌入序列對於步驟(1)中例子而言,得到更新後長期嵌入序列和短期嵌入序列
[0026]
步驟(3).初始動靜態興趣建模:將長期嵌入序列中最後一個物品的嵌入向量作為用戶的長期動態興趣計算長期序列中的每一個向量與的注意力權重
[0027]
[0028]
其中為需要訓練的參數,relu為激活函數,基於得到的權重進行加權求和得到長期靜態興趣
[0029][0030]
相同的,在短期嵌入序列的基礎上得到短期動態興趣和短期靜態興趣具體而言,
[0031][0032][0033][0034]
對於步驟(2)中例子而言,長期動態興趣為短期動態興趣為計算對於的注意力權重並加權求和後得到長期靜態興趣,計算對於的注意力權重並加權求和後得到短期靜態興趣。
[0035]
步驟(4).初始進化興趣學習:將長期動態興趣和長期靜態興趣進行拼接然後進行非線性變化得到用戶長期進化興趣
[0036][0037]
為需要訓練的參數。相同的,在短期動態興趣和短期靜態興趣的基礎上得到用戶短期進化興趣
[0038]
步驟(5).將長期動態興趣和短期動態興趣進行逐元素求和得到用戶動態興趣
[0039][0040]
其中
⊕
表示逐元素相加。相同的,將長期靜態興趣和短期靜態興趣進行逐元素求和得到用戶的靜態興趣p
x
;將長期進化興趣和短期進化興趣進行逐元素求和得到用戶的進化興趣py。
[0041]
步驟(6).興趣融合:分別計算動態興趣pd、靜態興趣p
x
和進化興趣py與最後一個物品的嵌入向量的注意力權重,具體定義為:
[0042][0043]
[0044][0045]
進行加權求和並變換得到融合的用戶興趣
[0046]
p=wr(α
p
pd+α
x
p
x
+αypy)
[0047]
其中為需要訓練的參數。
[0048]
步驟(7).推薦:計算p與所有物品嵌入f的乘積作為每個物品的推薦得分,為用戶推薦分數最高的若干個物品。