阿里提出基於Transformer的個性化重排序模型PRM,首次用於大規模在線系統

在推薦系統中,個性化排序是推薦系統的核心部分之一。阿里巴巴的研究人員在近期的一篇論文中提出了基於Transformer的重排序結構PRM,解決當前point-wise方式排序模型只考慮單個物品與用戶之間相關性而忽略物品間相關性的問題,效果好於LambdaMART以及List-wise方式的DLCM,同時還開源了論文所使用的電商場景數據集。該論文已經被RecSys 2019 會議錄用。本文是AI前線第102篇論文導讀,我們將對這項研究工作進行詳細解讀。

概覽

在推薦系統中,排序至關重要。排序算法給出的排序表的質量對推薦系統的收益和用戶滿意度有很大的影響。爲了優化排序性能,業界提出了大量的排序算法。通常,推薦系統中的排序只考慮用user-item對的特性,而不考慮來自列表中其他item的影響,特別是那些鄰近的item。儘管pairwise和listwise的LTR(learning to rank)試圖以item對或item列表爲輸入來解決問題,但它們只專注於優化損失函數,以更好地利用label。它們沒有明確地模擬特徵空間中item之間的相互影響。

一些文獻傾向於對item之間的相互影響進行顯式建模,來重新定義由先前排序算法生產的列表,稱爲重新排序。主要思想是將intra-item模式編碼到特徵空間中,來建立評分函數。編碼特徵向量的state-of-the-art的方法是基於RNN的,例如GlobalRerank和DLCM。它們將初始列表按順序輸入到基於RNN的結構中,並在每個時間步輸出編碼向量。然而,基於RNN的方法對列表中item之間的交互進行建模的能力有限。前一編碼項的特徵信息隨着編碼距離的增加而降低。受機器翻譯中使用的Transformer架構的啓發,我們提議使用Transformer來建模item之間的相互影響。結構採用注意力機制,其中任何兩個item都可以直接相互作用,而不會在編碼距離上退化。同時,由於Transformer的並行化,encoding部分比基於RNN的方法更高效。

在推薦系統中,除了考慮item之間的交互作用外,還應考慮交互的個性化編碼函數,以便重新排序。推薦系統的重新排序是用戶特定的,取決於用戶的偏好和意圖。對於一個對價格敏感的用戶來說,“價格”特徵之間的交互在重排序模型中應該更爲重要。典型的全局編碼函數可能不是最優的,因爲它忽略了每個用戶的特徵分佈之間的差異。例如,當用戶關注價格比較時,具有不同價格的類似item往往在列表中更集中。當用戶沒有明顯的購買意向時,推薦列表中的item往往更加多樣化。因此,我們在Transformer結構中引入了一個個性化模塊來表示用戶的偏好和對item交互的意圖。在我們的個性化重排序模型中,列表中的item和用戶之間的交互可以同時被捕獲。

本文主要貢獻如下:

問題 我們提出了一個個性化的推薦系統重排序問題,據我們所知,這是第一次在大規模的在線系統重排序任務中顯式地引入個性化的重排序信息。實驗結果證明了在列表表徵中引入用戶表徵進行重排序的有效性。

模型 我們使用具有個性化嵌入的Transformer來計算初始輸入排序表的表徵,並輸出重新排序的分數。與基於RNN的方法相比,self-attention機制使我們能夠更有效、更高效地建模任意兩個item之間用戶特定的相互影響。

數據 我們發佈了一個在本文中使用的大規模數據集(電子商務重排序數據集)。這個數據集是從一個真實的電子商務推薦系統中構建的。數據集中的記錄包含一個推薦列表,記錄用戶-點擊標籤和特徵以便進行排名使用。

評估 我們進行了離線和在線實驗,結果表明我們的方法明顯優於最先進的方法。在線A/B測試表明,我們的方法實現了更高的點擊率和更高的實際系統收益。

重排序模型公式

在這一部分中,我們首先給出一些關於如何學習推薦系統的排序和重新排序方法的初步知識。然後闡述了本文要解決的問題。本文使用的符號見表1。

學習排序(通常稱爲LTR)方法廣泛應用於實際系統中的排序,以生成用於信息檢索的有序列表和推薦。LTR方法根據item的特徵向量學習全局評分函數。有了這個全局函數,LTR方法通過對候選集合中的每個item進行評分來輸出一個有序列表。此全局評分函數通常通過最小化以下損失函數L來學習:

其中R是所有用戶的推薦請求集。Ir是請求r的候選項集。xi表示項i的特徵空間。yi是項i的label,即單擊或不單擊。P(yi | x i;θ)是預測的點擊概率。L是用損失函數。

然而,xi不能足夠學習一個好的打分函數。我們發現推薦系統的排名應該考慮以下額外信息:(a)item對之間的相互影響;(b)用戶與item之間的交互。item對之間的相互影響可以直接從初始列表Sr中得到,Sr是LTR爲請求r生成的排序列表。一些文獻提出瞭如何更好地利用item對的互信息的方法。

然而,很少有工作考慮用戶和item之間的交互。item對的相互影響程度因用戶而異。本文引入一個個性化矩陣PV來學習user-specific的編碼函數,該函數能夠建模item對之間的個性化相互影響。模型的損失函數可以表示爲方程2。

其中Sr是前一個排序模型給出的初始列表。θˆ是我們重新排序模型的參數。X是列表中所有item的特徵矩陣。

個性化重排序模型

在這一部分中,我們首先概述了我們提出的個性化重新排序模型(PRM)。然後詳細介紹了模型的各個組成部分。

4.1模型架構

PRM模型的體系結構如圖1所示。該模型由輸入層、編碼層和輸出層三部分組成。它將先前排序方法生成的item的初始列表作爲輸入,並輸出重新排序的列表。詳細結構將在以下章節中單獨介紹。

4.2 輸入層

輸入層的目標是準備初始列表中所有項的綜合表徵,並將其feed到編碼層。首先,我們有一個固定長度的初始序列表S=[i1,i2,…,in],由前面的排序方法給出。與前面的排序方法一樣,我們得到了原始特徵矩陣X∈Rn×d(feature)。X中的每一行表示每個項目i的原始特徵向量Xi。

Personalized Vector (PV) 對兩個項目的特徵向量進行編碼可以模擬它們之間的相互影響,但是這些影響對用戶的影響程度是未知的。需要學習用戶特定的編碼函數。雖然整個初始列表的表示部分反映了用戶的偏好,但對於一個強大的個性化編碼函數來說是不夠的。如圖1(b)所示,我們將原始特徵矩陣X∈Rn×d(feature)與個性化矩陣PV∈Rn×d(pv)連接,得到中間嵌入矩陣E′∈Rn×(d(feature)+d(pv)),如方程3所示。PV由一個預先訓練的模型生成,該模型將在下一節介紹。PV的性能增益將在評估部分介紹。

Position Embedding (PE) 爲了利用初始列表中的序列信息,我們在輸入嵌入中注入一個位置嵌入PE∈Rn×(d(feature)+d(pv))。然後利用方程4計算編碼層的嵌入矩陣。在本文中,我們使用了一個可學習的PE,我們發現它略優於其他文獻中使用固定位置的嵌入。

最後用一個簡單的前饋網絡將特徵矩陣E′′n∈Rn×(d(feature)+d(pv))轉化爲E∈Rn×d,其中d是編碼層每個輸入向量的嵌入維數。E可表示爲方程式5。

式中,W E∈R(d(feature)+d(pv))×d是投影矩陣,b(E)是d維向量。

4.3 編碼層

圖1(a)中編碼層的目標是集成項對和其他額外信息的相互影響,包括用戶偏好和初始列表的排序順序。爲了實現這一目標,我們採用了類似於Transformer的編碼器,因爲Transformer已經在許多NLP任務中被證明是有效的,特別是在機器翻譯中,與基於RNN的方法相比,它具有強大的編碼和解碼能力。Transformer中的self-attention機制特別適合於我們的重排序任務,因爲它直接建模任意兩個item之間的相互影響,而不考慮它們之間的距離。如果沒有距離衰減,Transformer可以捕獲初始列表中彼此相距較遠的項之間的更多交互。如圖1(b)所示,我們的編碼模塊由Transformer編碼器的Nx塊組成。每個塊(圖1(a))包含一個注意層和一個前饋網絡(FFN)層。

Attention Layer 我們在本文中使用的注意函數定義爲方程式6:

其中矩陣Q、K、V分別表示查詢、鍵和值。d是矩陣K的維數,以避免內積的大值。softmax用於將內積的值轉換爲值向量V的加權。在我們的論文中,我們使用self-attention,其中Q,K和V是從同一個矩陣投影的。

爲了模擬更復雜的相互影響,我們使用如等式7所示的多頭attention:

其中WQ,WK,WV∈Rd×d.WO∈Rhd×d(model)是投影矩陣。h是頭的數目。在下一節的燒蝕研究中將研究不同h值的影響。

Feed-Forward Network 這種位置前饋網絡(FFN)的主要功能是增強具有非線性和輸入向量不同維數之間相互作用的模型。

Stacking the Encoding Layer 在這裏,我們使用attention模塊後面接position-wise的FFN作爲一個Transformer的編碼器塊。通過疊加多個塊,可以得到更復雜、更高階的互信息。

4.4 輸出層

輸出層的功能主要是爲每個項目i=i1,…,in(在圖1(b)中標記爲score(i))生成一個分數。我們使用一個線性層,後跟一個softmax層。softmax層的輸出是每個項目的點擊概率,標記爲P(yi | X,PV;θˆ)。我們用P(yi | X,PV;θˆ)作爲得分(i)對項目進行一步重排序。分數(i)的公式爲:

其中F(Nx)是Transformer編碼器Nx塊的輸出。WF是可學習投影矩陣,bF是偏差項。n是初始列表中的item數。

在訓練過程中,我們使用點擊數據作爲標籤,並最小化方程9所示的損失函數。

4.5 個性化模型

在這一節中,我們將介紹一種計算每個個性化矩陣PV的方法,它表示用戶和項之間的交互。直接的方法是通過重新排序損失,用PRM模型以端到端的方式學習PV。然而,如第3節所述,重新排序的任務是優化先前排序方法的輸出。在重新排序任務時學習到的特定於任務的表徵缺少用戶的通用偏好。在此基礎上,利用預先訓練好的神經網絡生成用戶的個性化嵌入PV,作爲PRM模型的額外特徵。訓練前的神經網絡是從整個平臺的點擊日誌中學習的。

圖1(c)顯示了本文中使用的預訓練模型的結構。這個sigmoid層輸出用戶u在給定用戶的所有行爲歷史(Hu)和用戶的側信息的情況下,對項目i的點擊概率(P(yi | Hu,u;θ′)。用戶側信息包括性別、年齡、購買水平等。該模型的損失由點交叉熵函數計算,如方程10所示。

其中D是在平臺上顯示給用戶u的一組項。θ是預訓練模型的參數矩陣。yi是項目i上的標籤(點擊或不點擊)。我們使用sigmoid 層之前的隱向量作爲個性化向量pvi(在圖1(c)中),來輸入到我們的PRM模型中。

圖1(c)顯示了預訓練模型的一種可能架構,其他通用模型,如FM、FFM、DeepFM、DCN、FNN和PNN也可以用作生成PV的替代方案。

實驗結果

在本節中,我們首先介紹用於評估的數據集和基線。然後將我們的方法與這些數據集上的基線進行比較,以評估我們的PRM模型的有效性。同時,進行了消融研究,以幫助瞭解我們模型的哪一部分對整體性能的貢獻最大。

5.1 數據集

我們基於兩個數據集評估我們的方法:Yahoo和E-commerce重新排名數據集,沒有可供推薦的具有上下文信息的公開重新排名數據集。因此,我們從一個流行的電子商務平臺構建電子商務重排序數據集。兩個數據集的概述如表2所示。

Yahoo Letor 數據集 我們使用同Seq2Slate中相同的方法對Yahoo Letor數據集進行處理,以適合推薦的排名模型。首先,我們使用閾值Tb將評分(0到4)轉換爲二進制標籤。其次,我們使用衰減因子η來模擬item的展現概率。Yahoo Letor數據集中的所有文檔都由專家打分,前提是用戶完整地查看了每個查詢的所有文檔。然而,在實際的推薦場景中,用戶以自頂向下的方式查看item。由於移動應用程序的屏幕只能顯示有限數量的item,因此一個item的排名位置越高,用戶查看該item的概率就越小。本文用1/pos(i)η作爲衰減概率,其中pos(i)是項目i在初始列表中的排名位置。

電子商務重排數據集 該數據集包含一個來自真實世界推薦系統的點擊式數據形式的大規模記錄。數據集中的每條記錄都包含每個用戶的推薦列表,其中包含用戶的基本信息、單擊標籤和原始功能以進行排名。

5.2 基準線

學習排名(LTR)和重新排名方法都可以作爲我們的基線。

LTR LTR方法用於兩個任務。首先,LTR方法可以根據每個用戶請求r的候選集Ir生成重新排序模型的初始列表Sr。其次,使用pairwise或listwise損失函數的LTR方法可以作爲重新排序的方法,以初始列表Sr爲輸入,再進行一次排序。本文中使用的典型LTR方法包括:

1)SVMRank 這是一種具有代表性的學習排序方法,它利用pairwise損失來建立評分函數模型。

2) LambdaMart 這是一種具有代表性的學習排序方法,它使用list-wise損失來建模評分函數。LambdaMart是根據[31]的評估,在那些配備列表損失函數的LTR方法中最先進的LTR。

3)DNN-basedLTR 這是在我們的在線推薦系統中部署的LearningTo rank的方法。它使用標準的Wide&Deep網絡結構[9]通過pointwise損失函數對評分函數進行建模。

Re-ranking 正如在相關工作部分中提到的,現有的重新排序方法包括DLCM、Seq2Slate 和GualalRerank。DLCM 和GlobalRerank 專注於信息檢索中的重新排序。Seq2Slate重點關注推薦和信息檢索的重新排名。本文只選擇DLCM作爲基線方法。Seq2Slate和GlobalRerank沒有被選爲基線,因爲它們都使用解碼器結構來生成重新排序的列表。Seq2Slate使用pointer network按順序生成重新排序的列表。GlobalRerank使用帶有注意機制的RNN作爲解碼器。解碼器結構逐個輸出item。item是否被選中取決於之前選擇的item。

因此,Seq2Slate和GlobalRerank不能並行地進行在線推理。在推理階段Seq2Slate和GlobalRerank的時間複雜度爲O(n)×RT,其中N是初始列表的長度,RT是單個排名或重新排序請求的時間。Seq2Slate和GlobalRerank重新排序的延遲是不可接受的,因爲在線推薦服務有嚴格的延遲標準。

4)DLCM 它是一種基於LTR方法生成的初始列表的信息檢索重排序模型。GRU用於將本地上下文信息編碼爲全局向量。將全局向量與每個特徵向量相結合,得到了比LTR的全局排序函數更強大的評分函數。

5.3 評價指標

對於離線評估,我們使用精度和映射來比較不同的方法。更具體地說,我們使用Precision@5,Precision@10表示Precision,MAP@5,MAP@10和MAP@30表示MAP。在我們的實驗中,初始列表的最大長度爲30,MAP@ 30表示總MAP。度量的定義如下。

Precision@k 定義爲所有測試樣本的top-k推薦項中點擊項的分數,如等式11所示。

其中R是測試數據集中所有用戶請求的集合。Sr是由重排序模型爲每個請求r∈r給出的項的有序列表,Sr(i)是第i項。1是指示是否單擊項i的函數。

MAP@k 是測試數據集中被k截斷的所有排名列表的平均精度的縮寫。定義如下。

對於在線A/B測試,我們使用PV、IPV、CTR和GMV作爲度量標準。PV和IPV定義爲用戶查看和單擊的項目總數。CTR是點擊率,可通過IPV/PV計算。GMV是用戶在推薦item上花費的總金額(收入)。

5.4 實驗設置

對於基線和PRM模型,我們對那些臨界超參數使用相同的值。Yahoo Letor數據集的隱藏維度d(model)設置爲1024,電子商務重新排序數據集的隱藏維度d(model)設置爲64。我們的PRM模型中Adam優化器的學習率與[28]相同。使用負對數似然損失函數,如等式9所示。

p(dropout)設置爲0.1。Yahoo Letor數據集的批大小設置爲256,電子商務重新排序數據集的批大小設置爲512。這些設置是通過微調基線來獲得的,以獲得更好的性能。我們還嘗試了不同的實驗設置,實驗結果與當前設置一致,並進行了修正。屬於模型自定義部分的其餘設置將在評估部分的相應部分中列出。

5.5 離線實驗

在本節中,我們首先對Yahoo Letor數據集和電子商務重新排名數據集進行離線評估。然後給出了在線A/B測試的結果。我們還進行了消融研究,以幫助發現PRM模型的哪一部分對性能貢獻最大。

5.5.1 雅虎Letor數據集離線評估

在本節中,我們將對Yahoo Letor數據集進行評估,以討論以下問題:

1)RQ0:我們的PRM模型是否優於最先進的方法?爲什麼?

2)RQ1:性能是否隨不同LTR方法生成的初始列表而變化?

評價結果見表3。我們比較了基於LambdaMART和SVMRank分別生成的兩個不同初始列表的基線和PRM-BASE模型。PRM-BASE是PRM模型的變體,沒有個性化模塊。注意,Yahoo Letor數據集不包含用戶相關信息,因此我們只進行PRM-BASE比較。SVMRank和LambdaMart也用於重新排序。對於SVMRank,我們使用[19]中的實現。對於LambdaMart,我們使用來自RankLib的實現。

表3顯示,與所有基線相比,我們的PRM-BASE實現了穩定且顯著的性能改進。

當基於SVMRank生成的初始列表時,PRM-BASE 在MAP上超越DLCM 1.7%,在Precision@5上超出1.4%。與SVMRank相比,在MAP和精度分別提高了5.6%和5.7%。基於LambdaMART生成的初始列表,PRM-BASE在MAP和Precision@5上的性能分別比DLCM高0.7%和2.1%。與LambdaMART相比,PRM-BASE在MAP上提高了2.6%,在Precision@5上提高了3.1%。

PRM-BASE使用與DLCM相同的訓練數據,不包含個性化模塊。相對於DLCM的性能增益主要來自於Transformer強大的編碼能力。多頭注意機制在模擬兩個item之間的實際影響方面表現得更好,特別是當編碼列表的長度變長時。在我們的模型中,注意機制可以模擬O(1)編碼距離內任何item對之間的相互作用。

由於PRM-BASE採用Transformer結構,因此有許多子模塊可能對性能有影響。我們進行消融研究,以幫助我們瞭解哪一個子設計最有助於突破底線。消融研究是在SVMRank生成的初始列表上進行的。當使用LambdaMART生成的初始列表時,發現了類似的結果,由於空間有限,本文省略了這些結果。表4顯示了三部分的消融結果:第一部分(第一行)顯示了基線DLCM的性能。第二部分(第二排)“Default”是PRM-BASE模型的最佳性能。第三部分(剩餘行)展示了PRM模型的不同燒蝕變體,包括:移除位置嵌入(PE)、移除殘餘連接(RC)、移除dropout層、使用不同數量的塊和在多個頭部注意力中使用不同數量的頭部。注意,我們在“Default”PRM模型中設置了b=4和h=3。

如表4所示,去除位置嵌入後,我們的模型的性能大大降低。這證實了初始列表給出的順序信息的重要性。在去除位置嵌入後,我們的模型從候選集而不是有序列表中學習評分函數。注意,即使沒有位置嵌入,我們的PRM-BASE仍然可以達到與DLCM相當的性能,這進一步證實了我們的PRM-BASE模型可以比DLCM更有效地編碼初始列表。

當去除殘餘連接和脫落層時,模型的映射分別略微下降了0.1%和0.7%,這表明我們的模型對梯度消失和過擬合等問題不太嚴重。我們的模型的性能首先隨着塊的數量(1-?2-?4)而增加,然後隨着塊的數量(4-?6-?8)而減少,因爲當我們將8個編碼塊堆疊在一起時會發生過度擬合。

我們還嘗試了多頭注意層的不同設置(h=1,2,3,4)。表4中沒有觀察到明顯的改善,這與NLP任務得出的結論不同[26]。在自然語言處理中的實驗表明,在多腦注意機制中使用更多的腦時,由於以下原因可以捕獲更多的信息,因此通常是有幫助的。

(1)從方程7中我們發現,每個頭部的函數起着將原始特徵向量映射到不同子空間的作用。因此,使用更多的頭,我們可以在不同的子空間中建模更多的項目交互。

(2)[26]表明使用更多的頭有助於編碼長序列的信息。這是合理的,因爲某個項的輸出向量是列表中所有項向量的加權和。當序列變長時,列表中的每個項對輸出向量的貢獻都變小。但是,在我們的重新排序設置中,初始列表中的所有項都是高度同質的。當將原始特徵向量映射到更多不同的子空間時,有一些小的改進。因此,我們建議只使用一個磁頭來節省計算成本,因爲性能改善並不明顯。

5.5.2 電子商務重排名數據集離線評估

我們對電子商務排名數據集進行離線評估,以回答以下問題。

RQ2:個性化模塊的用戶體驗的性能如何?

評價結果見表5。對於我們的PRM模型,我們不僅評估了PRM-BASE的性能,還評估了帶有預先訓練的個性化向量PV(稱爲PRM-個性化預訓練)的模型變體的性能。由於我們之前對Yahoo Letor數據集的評估已經證實,我們的模型和DLCM在所有指標上都取得了更好的性能,而且DLCM[1]也有一致的結果,因此我們忽略了與SVMRank和LambdaMART在我們的電子商務重新排名數據集上的比較。初始列表是由一個基於DNN的LTR方法生成的,該方法部署在我們的實際推薦系統中。

當比較PRM-BASE和DLCM時,表5顯示了與表3一致的結果。我們的PRM-BASE在MAP和精度@5上分別比DLCM高出2.3%和4.1%。回想一下,在Yahoo Letor數據集上,PRM-BASE在MAP上實現了1.7%的改進,在Precision@5上實現了1.4%的改進。我們的電子商務重排序數據集的性能增益比Yahoo Letor數據集的性能增益大得多。這與Yahoo-Letor數據集的屬性密切相關。

我們對Yahoo-Letor數據集的統計顯示,平均點擊率爲30%,這意味着對於每一個包含30個推薦文檔的查詢,大約有9個文檔被用戶點擊。然而,在我們真實世界的電子商務重新排名數據集中,平均點擊率不超過5%。這意味着在Yahoo Letor數據集上的排名要比在電子商務重新排名數據集上的排名容易得多。兩個數據集上相同排序方法的MAP值也證實了這一點:DLCM在Yahoo-Letor數據集上可以達到0.64 MAP,而在電子商務重排序數據集上只能達到0.28 MAP。結合表5和表3,我們發現排名任務越難,PRM模型的改進就越大。

表5顯示,與PRM-BASE相比,我們的PRM個性化預訓練實現了顯著的性能改進。PRM個性化Pretrain在MAP上的性能比PRM-BASE高4.5%,在精度@5時的性能比PRM-BASE高6.8%。這主要由個性化向量PV導入,該向量PV由一個預先訓練的模型學習,其體系結構如圖1(c)所示。PRM個性化預訓練模型有兩個優點:(1)預訓練模型可以充分利用較長的用戶日誌週期,提供更通用、更具代表性的用戶偏好嵌入。(2)通過長期的通用用戶嵌入,我們的PRM模型能夠更好地學習用戶特定的編碼功能,能夠更準確地捕捉每個用戶的項目對之間的相互影響。請注意,預訓練模型的架構與我們的PRM模型的耦合度不高,其他通用模型[16、23、24、30、36]也可以用作生成PV的替代方案。

5.6 在線實驗

我們還在一個真實世界的電子商務推薦系統中進行在線A/B測試,測試內容包括PV、IPV、CTR和GMV這些指標的含義在前面的“評估指標”一節中進行了解釋。這些指標評估用戶在推薦系統中瀏覽(PV)、點擊(IPV、CTR)和購買(GMV)的意願。對於每種算法,都有成千上萬的用戶和數百萬的在線測試請求。

表6顯示了三種方法相對於線上基礎排序(DNN-based的LTR)的相對改進。

首先,在線A/B測試表明,無論採用何種重新排序方法,重新排序都有助於提高在線度量。再次,我們可以得出結論,重新排序通過考慮初始列表中item的相互影響有助於提高性能。值得注意的是,在我們的在線系統中,PV有0.77%的增長(DLCM v.s Without re-ranking)是非常顯著的,因爲這意味着用戶在使用重新排名方法後會看到大約數十億個額外的item。

第二,我們可以得出結論,與DLCM相比,PRM-BASE模型帶來了額外的0.50%的瀏覽item絕對增長和額外的0.69%的點擊item絕對增長。最後,通過使用個性化模塊,我們的PRM個性化預訓練模型比PRM-BASE模型能進一步提高GMV 6.29%的絕對值。回想一下,在電子商務重排序數據集的離線實驗中,與PRM-BASE相比,PRM個性化Pretrain在MAP上增加了4.5%。結果表明,利用預先訓練好的用戶描述,個性化編碼函數可以更精確地捕捉item對之間的交互,爲重排序方法帶來顯著的性能提升。

5.7 可視化注意力權重

我們將模型學習到的注意力權重可視化,以回答以下問題。

RQ3:self-attention機制能從不同的方面學習有意義的信息嗎,例如,item的位置和特點?

特徵上的注意力 我們首先將item之間的平均注意力權重可視化爲兩個特徵:類別和價格。在測試數據集上計算的結果如圖2所示。熱圖中的每個塊表示屬於七個主要類別的item之間的平均注意力權重。塊顏色越深,權重就越大。從圖2(a)我們可以得出結論,注意機制可以成功地捕獲不同類別的相互影響。類別相似的item往往具有較大的注意力權重,說明它們之間的相互影響較大。例如,“男鞋”對“女鞋”的影響要大於對“電腦”的影響。“電腦”、“手機”和“家用電器”由於都是電子產品,所以彼此之間的注意力權重很大,這一點也很容易理解。類似的情況可以在圖2(b)中觀察到。在圖2(b)中,我們根據價格將項目分爲7個級別。項目之間的價格越接近,相互影響就越大。

位置上的注意力 圖3顯示了初始列表中不同位置的平均注意權重。首先,圖3(a)顯示了我們的模型中的自我注意機制可以捕捉到不考慮編碼距離和推薦列表中位置偏差的相互影響。排在列表前面的item通常更容易被點擊,因此對列表末尾的item有更多的影響。例如,我們觀察到第一個位置的item對第30個位置的item的影響比第26個位置的item的影響更大,儘管後者更接近它。與圖3(b)相比,位置嵌入的效果也很明顯,圖3(b)中每個位置之間的注意權重分佈更加均勻。

結論&未來工作

本文提出了一種個性化的重排序模型(PRM),用於改進由最新的學習排序方法給出的初始列表。在重排序模型中,我們使用Transformer網絡對item之間的依賴關係和用戶與item之間的交互進行編碼。個性化向量可以進一步改善重排序模型的性能。在線和離線實驗都表明,我們的PRM模型可以極大地提高公開基準數據集和我們發佈的真實數據集的排名性能。我們發佈的真實數據集可以使研究人員研究推薦系統的排序/重排序算法。

我們的工作在特徵空間中顯式地建模複雜的item-item之間的關係。我們相信對標籤空間的優化也會有幫助。另一個未來的方向是通過重新排名來學習多樣化。儘管我們的模型在實際中並沒有損害排名的多樣性。在我們的重新排名模型中引入多元化目標是值得嘗試的,我們將在今後的工作中進一步探索這一方向。

論文原文鏈接:

https://arxiv.org/abs/1904.06813

數據集地址:

https://github.com/rank2rec/rerank

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