推薦系統遇上深度學習(七十)-[阿里]推薦中的個性化重排序

本文介紹的論文是:《Personalized Re-ranking for Recommendation》
下載地址:https://arxiv.org/abs/1904.06813

排序是推薦系統中比較重要的一環,一般通過point-wise的方式對每一個物品計算一個得分,然后進行排序。但這樣做只考慮了單個物品與用戶之間的相關性,而忽略了物品之間的相互影響。因此本文在排序階段后設計了一個重排序(Re-ranking)的模塊,在考慮物品相關性的情況下對排序結果進行重排,一起來看一下。

1、背景

排序階段是推薦系統中比較重要的一環,排序的質量直接影響了用戶的體驗以及平臺的收益。排序算法整體可分為point-wise、pair-wise和list-wise。出于性能上的考慮,一般采用point-wise的方法,即對每一個候選物品給出一個評分,基于評分進行排序。這樣的做法僅僅考慮了用戶和物品之間的關系,而沒有考慮排序列表中物品之間的關系。而pair-wise和list-wise的方法盡管將物品對或者物品列表作為整體輸入,但也僅僅是盡可能優化損失函數,而并沒有從特征空間上顯式建模物品間的相互影響。(文中的這句話沒有太明白)

一些文章通過建模物品之間的相互影響來對排序階段給出的排序結果進行微調,這種做法叫做重排序(Re-ranking)。主流的方法是基于RNN的重排序。但是RNN對于建模物品之間的影響有一定的缺陷,如果兩個物品相隔較遠,它們的相關性并不能很好的刻畫。

因此本文提出了一種基于Transformer的重排序結構,相較于RNN,其優勢主要體現在兩個方面:
1)兩個物品的距離不會影響其相關性的計算
2)Transformer是并行計算,編碼效率相較于RNN更為高效(RNN一個時刻只能輸入一個物品,相當于是串行計算,而Transformer可以同時輸入所有物品,是并行計算)

除了使用Transformer之外,本文還有一個值得借鑒的地方就是將用戶特征加入了Transformer中,使得重排序更加個性化。接下來就一起看一下阿里是如何進行個性化重排序的。

2、模型介紹

2.1 整體介紹

重排序的整體框架如下圖所示:

主要分為三個部分,輸入層、編碼層和輸出層。文中用到的一些符號定義如下:

2.2 輸入層

首先,經過排序階段,我們得到了固定長度的列表S=[i1,i2,...,in],每個物品對應一個特征向量xi,長度為dfeature,此時輸入計作E。除此之外,輸入層還包含兩個部分。

個性化向量Personalized Vector (PV):用戶和每一個物品之間都會計算一個個性化向量pvi作為輸入,個性化向量通過如下的預訓練模型得到:

該模型是一個二分類模型,取最后一個layer的輸出作為個性化向量pvi

加入個性化向量之后,輸入矩陣E'為:

位置編碼信息Position Embedding (PE):與Transformer中固定的編碼信息不同,這里的位置編碼信息是可以學習,位置編碼矩陣和E'大小相同,計作PE,此時模型的輸入E''為:

在得到E''之后,經過一個單層的前向網絡來進行一定的轉換:

上圖中等式右邊的E應該是E''吧,感覺打錯了。

2.3 編碼層

編碼層是Transformer結構:

有關Transformer,我們之前有篇文章詳細介紹過,這里就不再贅述,大家可以參考:http://www.lxweimin.com/p/2b0a5541a17c

2.4 輸出層

假設第Nx個Transformer encoder block的輸出為F(Nx),通過一層全連接神經網絡和softmax層得到每個物品的重排序得分score(i)。

并基于交叉熵損失函數來進行模型參數的更新:

3、實驗結果

文中使用Precision@k和MAP@k 作為評價指標,兩個指標的計算方式如下:

有關推薦系統的評價指標,可以看本系列的第十六篇文章:http://www.lxweimin.com/p/665f9f168eff

3.1 線下實驗結果

首先,在Yhaoo Letor數據集上使用兩個模型得到的最初推薦結果,分別使用不同的模型進行重排序,實驗結果如下:

接下來,分析了不同的模型結構所對應的實驗結果:

最后,使用真實的電商數據集進行試驗,結果如下:

3.2 線上A/B實驗結果

線上使用了三個模型進行A/B實驗,實驗的評價指標包括PV、IPV、CTR和GMV。PV指24小時內店鋪內所有頁面的瀏覽總量,可累加。IPV指點擊進入寶貝詳情頁的次數。如果用戶看的越多、點擊次數越多,也可以一定程度上表示模型排序結果更好。

線上實驗結果如下:

4、總結

這篇文章主要介紹通過Transformer對排序結果進行重排序。個人感覺比較創新的點在于如何將Transformer和用戶特征進行結合,并提出了一種預訓練的模型來得到用戶的個性化向量。

但文中并沒有給出直接將這個模型應用于排序階段的效果如何,這一點也是我個人比較好奇的地方,感覺這個模型直接用在排序階段也可以得到比較好的結果,哈哈。

本文介紹就到這列,可能我的理解還有不到位的地方,歡迎大家一起討論對這篇文章的理解~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內容