【文獻閱讀】 2020-WWW-Attentive Sequential Models of Latent Intent for Next Item Recommendation

說明

1.原文鏈接

2.WWW2020其他推薦系統文章。

3.本人及翻譯軟件的翻譯水平有限,粗讀即可,精讀請看原文。

標題

1.題目:基於潛在意圖的注意力序列模型給下一個項目推薦 Attentive Sequential Models of Latent Intent for Next Item Recommendation

2.作者:​​​​​​在這裏插入圖片描述

摘要

  用戶在電子商務服務中表現出不同的意圖(如發現商品、購買禮品等),這促使他們以多種方式(如單擊、添加到購物車、添加到收藏夾、購買)與各種商品進行交互。爲了給出更好的推薦,除了考慮用戶的歷史交互之外,捕獲用戶意圖也是很重要的。然而,根據定義,這些意圖是潛在的,因爲我們只觀察用戶的交互,而不是他們的潛在意圖。爲了發現這些潛在意圖,並有效地利用它們進行推薦,本文提出了一個潛在意圖注意序列模型(簡稱ASLI)。我們的模型首先通過一個自我注意層從用戶的交互歷史中學習項目相似性,然後使用一個時間卷積網絡層從用戶對特定類別的行爲中獲得用戶意圖的潛在表示。我們使用這個表示來指導注意模型預測下一個項目。我們的實驗結果表明,我們的模型能夠捕捉用戶行爲和偏好的動態變化,從而在來自Etsy和Alibaba兩個主要電子商務平臺的數據集上獲得最先進的性能。

1.介紹

  推薦系統的基本目標是從用戶可能與之交互的大量項目中推薦候選人。爲了實現這一目標,人們提出了各種系統來學習用戶的偏好[7,16,23]。工業應用中一種流行的技術是協作過濾(CF),它利用用戶最有可能與與其歷史交互項目相似的項目交互的觀察結果[12]。爲了擴展這一概念,各種模型進一步尋求捕捉用戶反饋的順序動態[10,18]。一般來說,這些模型是在單一的交互類型(例如購買或點擊)上進行訓練的,並且不會進一步將預測分解爲不同的動作或意圖類型。

  實際上,用戶意圖可以根據上下文進行更改。考慮一下電子商務中的一個典型設置:用戶可以單擊項目,將其添加到自己的收藏夾或購物車中,或者在滿足條件時購買它們。根據用戶的意圖和偏好,與其他人相比,她更可能在特定時間點對某個項目執行一種類型的交互。例如,考慮一個用戶打算購買產品的情況;很自然,他們將單擊、添加到購物車並最終購買的項目之間會有相似之處。因此,要推薦下一次購買,不僅要考慮用戶以前購買過什麼,還要考慮她過去查看過或添加到購物車中的產品。或者,另一個用戶可能只是瀏覽產品並將其添加到購物車中,而沒有立即購買的意圖;這類商品可能具有共同的屬性(例如價格、美觀),但可能與最終購買的商品(例如更便宜的替代品)不同。因此,一個意圖(探索)導致不同的互動相比,另一個(購買)。因此,我們可以嘗試推薦滿足用戶當前目的的項目。我們認爲這是當前推薦系統無法區分意圖類型(甚至交互類型)的潛在限制。

  基於以上觀察,我們尋找一個既能發現時間相似性又能捕捉用戶意圖的系統。這項任務提出了若干挑戰。首先,雖然意圖和交互是相關的,但它們並不相同;雖然我們可以直接觀察用戶的交互,但它們的意圖是潛在的。因此,必須從用戶的交互中推斷出潛在意圖。此外,用戶的意圖可能會逐漸演變(交互之間的長期依賴關係)或突然演變(短期依賴關係),這使得很難從嘈雜的操作列表中檢測出這種漂移。

  本文針對這些挑戰,提出了一種注意序列最新模型(ASLI),它利用自我注意和時間卷積網絡來發現項目之間的相似性,捕捉用戶的隱藏意圖,並關注它們。首先,我們在用戶與之交互的所有過去項目上應用自我注意層,以從序列中發現項目的相似性;然後,我們考慮用戶在給定類別上執行的交互,並應用時間卷積網絡來推斷用戶的潛在意圖。最後,我們應用另一個注意層來解決項目和意圖之間的長期和短期依賴關係。這在學習用戶對項目的隱藏偏好方面被證明是有效的。我們進一步在兩個電子商務網站Etsy和阿里巴巴的真實數據集上展示了我們的模型的有效性。實驗表明,該模型能夠獲得序列預測任務的最新性能。

2.動機

2.1作爲交互的類別上的操作

  在電子商務環境中,項目的數量通常遠遠大於類別的數量,因此用戶-項目交互比用戶-類別交互要稀疏得多。例如,對於Etsy,稀疏性(觀察到的可能交互的分數)在用戶項級別僅爲0.02%,而在用戶類別級別爲1.68%。這意味着從行爲中推斷意圖可能比從類別中推斷意圖更困難。爲了更好地理解稀疏性問題,請考慮一個用戶在“發現”狀態下單擊“婚紗”類別中的項目的情況。當她發現有趣的東西時,她把它們放進購物車裏。但最終她改變了“購買”的意圖,因爲她從“禮物和紀念品”類別中找到了更便宜的商品。如圖1(a)所示。在用戶與“婚紗”中的特定商品進行交互後,可能很難從“禮物和紀念品”中檢測出對特定商品的微妙興趣,因爲它們只是各自類別中許多商品中的兩個實例。然而,“禮物與紀念品”和“婚紗”之間的聯繫要簡潔得多,而且隨着從一個類別到另一個類別的轉換數據越來越密集,我們可以更容易地瞭解用戶的興趣。基於這些原因,我們考慮用戶的類別交互以發現潛在意圖。

在這裏插入圖片描述

2.2 意圖的潛在因素模型

  爲了更好地理解意圖爲什麼是一個重要因素,我們嘗試在觀察到的狀態(即項)和我們定義的交互之間建立依賴關係。如果我們希望預測兩者,我們將根據過去項目和交互作用的順序計算它們的聯合概率。具體來說,如果我們想計算用戶u的下一個項P和下一個交互i的概率,那麼聯合概率可以表示爲:P(p,iSpu,Siu).P(p,i|S_p^u,S_i^u). 在這裏,SpuS_p^uSiuS_i^u 分別爲歷史訪問的項目和歷史進行的交互的序列。有幾種方法可以根據變量之間的相互依賴性假設(例如,項依賴於交互,反之亦然)來分解此概率。基於這個假設,分解可以變得簡單也可以變得複雜。例如,如果我們假設項依賴於交互作用,那麼因子分解變成:P(iSiu)P(p,iSpu,Siu)P(i|S_i^u)P(p,i|S_p^u,S_i^u)。如果假設相互作用依賴於項,則可以導出類似的構造。如果我們假設項目和交互作用都是條件獨立的,並且給定了其他潛在變量,那麼我們可以簡化相同聯合概率的分解。我們把這個變量表示爲θθ。然後,將聯合概率分解如下:
P(p,iθ,Spu,Siu)=P(pθ,Spu)×P(iθ,Siu) P(p,i|\theta,S_p^u,S_i^u) = P(p |\theta,S_p^u) \times P(i|\theta,S_i^u)
  直觀地說,我們在這裏引入的潛在變量可以定義爲內容的某種表示(購物、瀏覽、發現新項目等)。我們將此稱爲用戶的“潛在意圖”,並設計一個可以參與其中的模型,以便給出更好的推薦。

3. 提出的模型

3.1 問題定義

  表1中描述了標記。我們考慮了從交互項中捕獲用戶的隱藏意圖以獲得最相關的下一項推薦的問題。爲此,我們將潛在意圖定義爲用戶互動的一種表示形式,可用於預測(或“解釋”)下一項和下一項互動。假設P={1,,p,,P}\mathcal{P}=\{1,\dots,p,\dots,|\mathcal{P}|\}是所有產品的集合,C={1,,c,,C}\mathcal{C}=\{1,\dots,c,\dots,|\mathcal{C}|\}是所有類別的集合,並且A={1,,a,,A}\mathcal{A}=\{1,\dots,a,\dots,|\mathcal{A}|\}是所有動作的集合。如果用戶對類別cc中的項目pp採取動作aa,則pca\mathbf{p},\mathbf{c}和\mathbf{a}是產品,類別和動作的對應dd維嵌入。如上所述,我們已將互動定義爲特定類別(即i=c+a\mathbf{i} = \mathbf{c} + \mathbf{a})中動作的組合。然後,我們將問題表達如下:給定一系列產品和用戶交互,Su=(<p1,i1>,<p2,i2>,,<pSu,iSu>)\mathcal{S^u}=(<\mathbf{p}^1,\mathbf{i}^1>,<\mathbf{p}^2,\mathbf{i}^2>,\dots,<\mathbf{p}^{|\mathcal{S^u}|},\mathbf{i}^{|\mathcal{S^u}|}>),在每個步驟中,目標是捕獲隱藏的或潛在的意圖,並使用它來預測下一項和互動,即給定(<p1,i1>,,<pSu1,iSu1>)(<\mathbf{p}^1,\mathbf{i}^1>,\dots,<\mathbf{p}^{|\mathcal{S^u}|-1},\mathbf{i}^{|\mathcal{S^u}|-1}>),預測(<p2,i2>,,<pSu,iSu>)(<\mathbf{p}^2,\mathbf{i}^2>,\dots,<\mathbf{p}^{|\mathcal{S^u}|},\mathbf{i}^{|\mathcal{S^u}|}>),在這裏Su|\mathcal{S^u}|是用戶uu的序列的長度。
在這裏插入圖片描述

3.2 前言

  3.2.1 自注意力網絡。自我注意模型是最近提出的順序模型,在各種NLP任務中都達到了最先進的性能[21]。自我注意首先嚐試計算查詢和鍵之間的相似度得分,並將其用作值的注意權重。在這裏,查詢,鍵和值可以是相同的對象(例如,項目序列)。具體來說,自我注意被定義爲:
Attention(Q,K,V)=softmax(QKTd)V........................(1)Attention(\mathbf{Q},\mathbf{K},\mathbf{V}) = softmax(\frac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d}})\mathbf{V} ........................(1)
  其中Q\mathbf{Q}K\mathbf{K}V\mathbf{V}分別是查詢,鍵和值。這些是通過輸入嵌入的線性投影來計算的。特別地,Q=SWQ,K=SWK,V=SWV\mathbf{Q}=\mathbf{SW}^Q,\mathbf{K}=\mathbf{SW}^K,\mathbf{V}=\mathbf{SW}^V.其中,SRn×d\mathbf{S} \in \mathbb{R}^{n \times d}爲一個矩陣,它描述具有dd維輸入嵌入的長度爲nn的序列,即S=[e1;,en]WQWKWVRd×d\mathbf{S}=[\mathbf{e}^1;\dots,\mathbf{e}^n]。\mathbf{W}^Q,\mathbf{W}^K,\mathbf{W}^V \in \mathbb{R}^{d \times d}爲投影矩陣。Q\mathbf{Q}V\mathbf{V}之間的注意力得分除以可以避免點積的較大值(尤其是具有很多維數)。爲了保持因果關係並防止信息從頭到尾泄漏,注意力通過禁止Qi\mathbf{Q}_iKj(j>i)\mathbf{K}_j(j>i)之間的所有鏈接被修改。注意,由於自注意力操作不知道順序,所以每個位置被分配一個學習嵌入,該學習嵌入被添加到輸入嵌入。這個層的的複雜度由公式1可知爲O(n2d)\mathcal{O}(n^2d).
  時間卷積網絡(TCN).與自注意力相比,卷積具有固定的上下文窗口。我們可以用許多不同的方法進行卷積。在我們的任務中,我們考慮基於固定的核大小在一維空間(即序列)中執行卷積,該核大小在輸入序列上滑動並通過一組權重來確定上下文元素的重要性。
  如果我們執行具有權重WRd×l\mathbf{W} \in \mathbb{R}^{d×l}的深度卷積,參數的數量可以從d2ld^2l減少到dldl,其中ll是核寬度。具體地說,輸入序列S\mathbf{S}中每個元素i的輸出計算如下:
DepthwiseConv(S,Wc,:,i,c)=j=1lWc,jSi+j[l+1]/2),c........................(2)\mathrm{DepthwiseConv(\mathbf{S},\mathbf{W}_{c,:}},i,c)=\sum_{j=1}^{l}{\mathbf{W}_{c,j} \ast \mathbf{S}_{i+j-[l+1]/2),c} }........................(2)
  這裏的cc是當前信道。潛在空間的每一維都可以看作一個信道,所以通常是c=dc=d,這一層的計算複雜度爲O(ndl)\mathcal{O}(ndl)
  前饋網絡(FFN)。雖然自注意力模型和卷積模型都能夠通過自適應權重聚集序列信息,但它們仍然是線性模型。爲了引入非線性,下一步是將這些模型的輸出饋送到兩層前饋網絡(FFN)。具體地說,如果ot\mathbf{o}^t是第t步的輸出(來自Self-Content或TCN),則:
FFN(ot)=W2(ReLU(W1ot+b1))+b2\mathrm{FFN}(\mathbf{o}^t)=\mathbf{W}_2(\mathrm{ReLU}(\mathbf{W}_1\mathbf{o}^t+\mathbf{b}_1))+\mathbf{b}_2
  其中,ReLU\mathrm{ReLU}是校正的線性單元激活函數[3]、W1\mathbf{W}_1W2\mathbf{W}_2d×dd \times d的權重矩陣,b1&b2\mathbf{b}_1 \& \mathbf{b}_2dd維的偏置向量。我們應該注意到,FFN是逐點應用的,即每個步驟的輸出分別作爲輸入。因此,兩個步驟的輸出之間沒有交互,並且防止了任何信息泄漏。由於我們採用的是逐點FFN,其計算複雜度爲O(nd2)\mathcal{O}(nd^2)

ASLI高級概述

  我們在圖1(A)中顯示了ASLI的高級摘要。在ASLI中,我們首先將自我注意應用於項目序列,以計算來自所有位置的項目的相似度。我們不再將自我關注應用於這些輸出,因爲我們想要探索項目序列的哪一部分與用戶隱藏的意圖最相關。爲了捕捉潛在的意圖,直觀地說,我們需要一個隱藏的表示,而不是用戶的行爲。如前所述,這帶來了獨特的挑戰,因爲用戶的逐項操作非常稀疏。爲了緩解稀疏性問題,我們的關鍵建模決策之一是將類別操作視爲交互。在ASLI中,我們選擇TCN來從這些交互中獲取特性,因爲它相對較淺且易於並行化。稍後,爲了確保這個潛在特徵捕捉到意圖,我們使用它對下一次交互(通過前饋網絡)和下一項(通過共同注意的轉換器層)進行雙重預測。我們在第一層的輸出(計算項目相似性)之間進行共同關注,並發現隱藏的意圖,因爲我們希望解決它們之間的長期和短期依賴關係,並更好地瞭解項目與用戶意圖的相關性。

ASLI

  3.4.1 嵌入層:我們在圖1(B)中顯示了ASLI的詳細架構。我們首先將用戶u的訓練序列Su\mathcal{S^u}變換成固定長度(N)的序列,其中nn表示我們的模型可以處理的最大步數。對於項目pp、種類cc和動作aa,我們有相應的嵌入pcc\mathbf{p},\mathbf{c},\mathbf{c},由c\mathbf{c}a\mathbf{a}構造交互嵌入,即i\mathbf{i}=c\mathbf{c}+a\mathbf{a},如果序列長度大於nn,則考慮最近的nn個動作。如果序列長度小於nn,則向左填充,直到長度爲nn。填充使用恆定的零向量0\mathbf{0}
  3.4.2 自注意力層:這一層的目標是根據用戶的順序交互發現項目之間的相似性。我們可以通過在項目序列上應用自注意力來計算來自不同位置的項目之間的相似度得分。我們考慮添加到當前項嵌入p\mathbf{p}[21]的當前步驟或位置tt的可學習位置嵌入t\mathbf{t}。這樣,我們構建了一個序列矩陣,Sp\mathbf{S}_p使用它來計算查詢、鍵和值,即Q=SpWQK=SpWKV=SpWV\mathbf{Q}=\mathbf{S}_p\mathbf{W}^Q,\mathbf{K}=\mathbf{S}_p\mathbf{W}^K,\mathbf{V}=\mathbf{S}_p\mathbf{W}^V。最後,我們用等式1並得到輸出。然後,我們應用剩餘連接來利用任何低級信息[5]和層歸一化[1]來穩定和加速訓練。圖1(b)中的左下角方塊顯示了它的架構。
  3.4.3 TCN層。在這一層中,我們對相互作用的序列矩陣Si應用深度卷積(公式2),DepthwiseConv(Si,W)\mathrm{DepthwiseConv}(\mathbf{S}_i,\mathbf{W}),隨後是剩餘連接和層歸一化。這一層(在圖1(b)中顯示爲右下角的塊)給了我們潛在的意圖表示,我們使用它作爲查詢來預測下一項。我們還將其用作前饋網絡的輸入,該網絡給出了一個嵌入oit\mathbf{o}_i^t,以預測下一次交互(圖1(b)中的中間塊)。
  3.4.5 損失函數。爲了訓練模型,我們採用了逐點損失,其中我們考慮了一個積極的例子和一個消極的例子[9,13]。因爲我們預測每一步中的下一項和下一交互,所以每一步都有一個基本事實,即ppii。爲了預測下一項,我們從數據中隨機抽樣一個負項(用戶以前沒有交互過的項)。然後計算模型輸出與正反例之間的點積,得到一個分數。此分數用於計算排名損失,按以下方式得到下一項的排名損失:
Lranking=SuSt[1,,n][log(σ(ropt))+log(σ(ropt))]\mathcal{L}_{ranking}=-\sum_{S^u \in S}\sum_{t \in [1,\dots,n]}\Big[ log(\sigma(r_{o_p^t}))+log(\sigma(r_{o_{p^{'}}^t})) \Big]
  這裏,roptr_{o_p^t}是正項pp的點積,roptr_{o_{p^{'}}^t}是負項pp^{'}的分數。類似地,爲了預測下一個交互,我們具有下一個交互ii的基本事實。然後,我們隨機抽樣該用戶沒有觀察到的類別-動作對的組合,並構造負交互ii^{'}.我們同樣計算分數並計算交互損失。具體來說,
Linteraction=SuSt[1,,n][log(σ(roit))+log(σ(roit))]\mathcal{L}_{interaction}=-\sum_{S^u \in S}\sum_{t \in [1,\dots,n]}\Big[ log(\sigma(r_{o_i^t}))+log(\sigma(r_{o_{i^{'}}^t})) \Big]
  這裏,roitr_{o_i^t}roitr_{o_{i^{'}}^t}是正項和負項的交互。我們最終的損失函數爲L=Lranking+Linteraction\mathcal{L}=\mathcal{L}_{ranking}+\mathcal{L}_{interaction}.

4 實驗

  在這一部分中,我們介紹了我們的實驗裝置和實證結果。我們的實驗旨在回答以下研究問題:RQ1:與其他推薦模型相比,我們捕獲潛在意圖的模型性能如何?RQ2:我們架構的各個組件有什麼影響?RQ3:我們模式的培訓效率和可擴展性如何?

4.1 數據集

  爲了展示ASLI的表現,我們考慮了兩個流行的電子商務網站的數據集:阿里巴巴和Etsy。表2顯示了預處理後這些數據集的統計數據。按照下一個項目推薦[13,24]的設置,對於每個用戶,我們測試最後一個項目,驗證之前的項目,並與序列的其餘部分一起訓練。
在這裏插入圖片描述
  天貓是阿里巴巴提供的公開數據集。最初,它包含來自10,000個用戶記錄的大約1200萬個操作。用戶可以執行四種類型的操作,即點擊、添加到收藏夾、添加到購物車和購買。對於預處理,我們遵循與[7,8,18]相同的步驟,刪除任何交互少於5次的用戶或項目。另外,請注意,某些項目可能會被用戶多次點擊,這可能會導致對某些動作的偏向。爲了解決這個問題,我們只考慮用戶採取的第一個這樣的操作。經過預處理後,我們獲得了9883個用戶、569,658個項目、6,352個類別和2,454,115個操作。
  Etsy是一個專注於個性化和手工物品的電子商務平臺。該數據集包含在2018年10月15日至2018年12月15日期間收集的擁有推薦模塊賬戶的用戶的活動日誌。在[4]之後篩選數據,這樣操作少於20個的所有項目或用戶都會被刪除。經過處理,它包含6,690個用戶、119,310個項目、608個類別和215,227個操作。
  爲了公平比較,我們還準備了一個版本的天貓,也就是天貓-Small,它的預處理方式和Etsy一樣。它包含6,280個用戶、47,759個項目、130個類別和439,497個操作。

4.2 評價指標

  我們報告了推薦系統中兩個流行的top-k度量的結果,即:HitRate@k\mathrm{HitRate@k}NDCG@k\mathrm{NDCG@k}[7,9]。Hitrate@k是地面真實項在前k個預測項中出現的次數,而NDCG@k(歸一化折扣累積增益)是一個位置感知度量,它爲較高的位置分配更大的權重。具體地說,如果用戶的基本事實項的排名是ranku,rankukrank_u,並且rank_u≤k,則該用戶的NDCG@k\mathrm{NDCG@k}計算如下:1log2(ranku+1)\frac{1}{\mathrm{log}_2 (rank_u+1)}。如果ranku>krank_u>k,則NDCG@k\mathrm{NDCG@k}爲0。對於排名項目,我們爲每個基本事實項目考慮100個負樣本。對於kk值,我們選擇5和10。

4.3 基線

  爲了顯示模型的有效性,我們將ASLI與兩組推薦基線進行了比較。第一組包含一般的非序列推薦模型:

  • MostPop: 一個簡單的基線,它根據項目的受歡迎程度對項目進行排名。
  • BPR-MF: 貝葉斯個性化排名使用排名損失來分解用戶項目交互矩陣[17]。

  第二組包含兩個最近提出的序列深度學習模型:

  • NextItRec: 這是[24]中提出的下一項推薦的卷積模型。NextItRec使用一維擴展卷積網絡來獲得過去L個項目的上下文。
  • SASRec: 這是一個基於自注意力的序列模型,用於下一項推薦[13]。

  由於其他序列模型(如FPMC[18]、Fossil[8]、改進的GRU4Rec[10]、CASER[20])已被上述序貫模型超越,我們省略與它們的比較。

4.4 實施細節

  我們在TensorFlow中實現了我們提出的模型,並在一個GPU(NVIDIA 1080)上進行了所有的實驗。我們使用ADAM優化器[14]來更新模型參數。基於每個用戶的平均操作次數,我們將Etsy的最大序列長度定爲50,天貓-Small的最大序列長度爲100,天貓的最大序列長度爲300。NextItRec的批處理大小爲32,其餘的批處理大小爲128。對於所有的模型,200個潛在維度都得到了令人滿意的結果。爲了調整其他特定於模型的超參數,我們遵循方法作者建議的策略。對於我們的模型,我們從{0.10.20.30.40.5}\{0.1,0.2,0.3,0.4,0.5\}執行網格搜索後,將dropout設置爲0.3,將學習率從{0.10.010.0010.00010.00001}\{0.1,0.01,0.001,0.0001,0.00001\}設置爲0.001。我們還調優了TCN層的內核大小,這將在後面討論。

4.5 表現

  爲了回答RQ1,我們在表3中報告了每個模型的性能。從表中,我們的第一個觀察結果是所有連續深度學習模型組的表現都優於非連續組。在第一組的兩個基線模型中,BPR-MF的表現明顯好於基於受歡迎程度的模型MostPop。雖然BPR-MF可以學習靜態的用戶偏好,但它不能捕獲序列動態。因此,所有能夠學習這種動態的深序列模型的性能都優於BPR-MF。在序列模型中,我們可以觀察到,NextItRec在短序列數據(Etsy)上的表現一般要好於長序列數據(無論是天貓還是天貓-Small)。此外,與基於自我注意的模型SASRec相比,Etsy獲得了更高的命中率@20(0.4265比0.4123)。據推測,這要歸功於NextItRec中擴展內核的固定大小,這使得它能夠更好地捕獲短長度序列的序列模式,而不是較長序列的序列模式。除此之外,SASRec的表現總體上要好於NexItRec。總體而言,ASLI在所有指標下都取得了最好的性能,除了天貓-Small在NDCG下的性能比SASRec差(k=5時NDCG大約低4%,k=10時大約低2%)。這個結果顯示了我們的模型對類別數量的一個最重要的依賴關係。使用只有一個類別的數據集的示例可以更好地解釋這種依賴關係。在這種情況下,我們的模型將幾乎平等地對待所有類別操作,因此,它將不能完全提取用於發現意圖的有用模式。這個例子,無論多麼簡單,都爲解釋天貓小數據集的性能差距提供了直觀的推理。值得注意的是,天貓-Small是使用Etsy的方案進行預處理的,這個數據集只有130個類別,這可能是NDCG中性能下降的原因。在天貓和Etsy數據集中,分類數都要高得多(超過500個),並且我們的模型在所有度量下都取得了最好的性能。例如,在NDCG下,這兩個數據集的改善至少爲4.8%。在擊球率下,這是**6%**或更多。接下來,我們討論了不同注意力的影響,以及核大小ll對回答RQ2的影響。

在這裏插入圖片描述

4.6 注意力對潛在意圖的影響

  爲了選擇對最後一個注意力層的查詢,除了潛在意圖之外,我們還可以潛在地使用項、動作或類別的嵌入。表4比較了這些查詢選擇。這裏,‘Seq’表示從第一自注意力層輸出的序列。SASRec嘗試從第一層查找項目的內在屬性,並使用“Seq-Seq”注意力來解析第一層中遺漏的任何依賴項。“Seq-Item”表示使用項嵌入作爲第二層中的查詢。SEQ-Item的性能比SeqSeq差,可能是因爲它冗餘地計算項目與序列的相似度,並且可能會丟失第一層中發現的相似度。當使用動作或類別時,性能顯著提高,表明兩者都是重要因素,因此將兩者用作發現潛在意圖並關注它的交互會產生更好的推薦。
在這裏插入圖片描述

4.7 核大小 ll 對性能的影響

  在我們的模型中,TCN層的核大小 ll 是一個關鍵的超參數。爲了分析其效果,我們將其大小從5變化到25(間隔爲5),並在圖2中的兩個數據集顯示NDCG@5。如果我們增加l,我們將使用更大的上下文大小來提取潛在意圖,這可能會導致性能提高。有趣的是,從圖中我們發現,任意增加 ll 可能不會帶來更好的性能。在我們的例子中,10和20的內核大小在天貓和Etsy上運行得更好。下面討論回答RQ3的實驗結果。
在這裏插入圖片描述

4.8 訓練效率和可擴展性

  爲了實證地展示我們模型的訓練效率,我們測試了我們的模型與其他序列模型相比的收斂速度。圖3顯示了天貓數據集的收斂結果。我們看到,雖然ASLI的每個epoch時間比SASRec快,但它比其他兩個算法收斂得更快(在20個epoch內或大約350秒內)。我們認爲這主要是因爲我們對下一個項目和下一個交互的聯合優化有助於模型快速瞭解項目之間的關係。在可伸縮性方面,我們應該注意到我們的模型的總體計算複雜度是O(n2d+ndl+nd2)\mathcal{O}(n^2d+ndl+nd^2)(由自注意力、TCN和FFN層得到)。由於nn通常較大,所以複雜度由n2dn^2d項主導。然而,自注意力和TCN層在GPU中都是完全可並行的,並且可以很容易地進行擴展。例如,當我們將天貓的nn從50增加到600時,每個epoch的時間從7秒增加到45秒。(爲簡潔起見,未顯示完整結果)。
在這裏插入圖片描述

5 相關工作

  傳統的推薦系統通過交互矩陣關注用戶和項目。這些交互可以是顯式的(例如,評級),也可以是隱式的(例如,點擊、購買、評論等)[12,17]。流行的方法包括矩陣分解(MF)方法,該方法旨在從交互矩陣中發現潛在維度[15,19]。由於對“未觀察到的”數據(即,用戶未與之交互的項)的解釋不明確,因此對隱含行爲進行建模是具有挑戰性的。爲了解決這個問題,已經提出了逐點[12]和成對[17]的方法。
  推薦可以通過考慮時間動態來改進。例如,TimeSVD++[2]通過將時間分成幾個部分,並在每個部分中分別對用戶和項目進行建模,從而在Netflix挑戰中取得了很好的結果。這樣的模型對於理解表現出時間“漂移”的數據集至關重要[2,23]。
  序列推薦(或下一項推薦)與時態推薦略有不同,因爲它只考慮動作的順序,而不考慮時間戳。FPMC使用矩陣因式分解,並增加了項-項轉換項來捕捉長期偏好和短期轉換[18]。由於前一項爲下一步操作提供了“上下文”,基於第一階MC的方法表現出很強的性能,特別是在稀疏數據集上[7]。
  一些方法採用高階MC,它考慮了更多先前的項[6]、[8]。例如,GRU4Rec使用門控循環單元(GRU)對基於會話的推薦的點擊序列進行建模[11],改進後的版本進一步提高了其Top-N推薦性能[10]。在每個時間步長中,RNN將上一步的狀態和當前動作作爲其輸入。這些依賴關係降低了RNN的效率,儘管已經提出了諸如“會話並行”之類的技術來提高效率[11]。卷積網絡最近已被應用於順序推薦設置。CASER[20]將L個前一項的嵌入矩陣視爲“圖像”,並應用卷積運算來提取過渡,而NextItRec[24]則應用一維膨脹卷積來獲得上下文。基於自我注意的[13,25]網絡也因其在各種NLP任務中的巨大成功而被提出用於順序推薦。最近,[22]提出了一種混合通道目的路由網絡來模擬匿名會話中物品的不同目的。雖然這些方法可以對動態用戶偏好或項目目的進行建模,但它們沒有考慮用戶意圖的影響。我們將推薦視爲一項聯合任務,即預測下一次交互和下一項,目標是通過一個統一的框架對兩者進行建模,以發現用戶的潛在意圖。

總結

  在本文中,我們提出了ASLI,它通過從用戶的交互中捕獲用戶隱藏的意圖來獲得更好的推薦。除了發現條目之間的相似性外,ASLI還利用TCN層獲得用戶意圖的潛在表示,用於查詢注意力層以發現哪些條目與用戶意圖最相關。通過實驗,我們發現我們的模型在兩個真實世界的數據集上的性能要優於目前最先進的模型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章