推薦系統遇上深度學習(一零九)-[阿里]排列視角下的重排序過程

今天給大家介紹一篇阿里在重排(re-rank)方面探索的文章,論文題目為《Revisit Recommender System in the Permutation Prospective》,重點關注排列視角下的重排序過程,其大致思路可以分為兩個階段,第一階段通過beam-search方法尋找候選的物品排列順序,第二階段通過定義的LR(List Reward) 得到最優的排列順序,一起來學習一下。

1、背景

完整的推薦系統大都分為三個階段,召回、排序和重排序。隨著推薦技術的發展,各個階段都有多樣的技術和手段來提升最終的推薦效果。召回和排序階段大都使用point-wise的方法,而在重排序階段,則大都使用list-wise的方法。普遍使用的重排序的過程如下:

1)Ranking:通過排序階段的排序分,得到初始的排序列表
2)Refining:通過list-wise的模型(LSTM/self-attention)對排序分進行調整
3)Re-ranking:基于Refining階段的排序分,以貪婪的方式對列表進行重新排序

但是,上述的過程由于沒有考慮商品排列因素(permutation-variant influence),因此并不是整體最優的。舉個例子來解釋一下什么是permutation-variant influence。如下圖所示,兩個列表A-B-C和B-A-C包含相同的三個物品,但其排列并不相同,用戶對B-A-C排列有交互,而對A-B-C這樣的排列沒有交互,一個可能的原因是,將較貴的B物品放在較為便宜的物品A前面,可以增加用戶對于購買物品A的欲望,那么這種由于排列不同導致用戶反饋不同的影響因素,就稱為permutation-variant influence。

因此,對于重排序來說,一種更好的方式是考慮所有可能的物品排列方式,對每一種排序的結果進行評分,并選擇評分最高的排序結果展示給用戶。但這種方式又帶來了新的挑戰,首先,計算爆炸問題,假設rank階段后有100個物品,重排選擇10個進行展示,那么所有的排列的數量是A10010,復雜度接近O(10010)。其次,在重排序下,需要一種對物品排列好壞進行整體評估的方法,而之前的方法大都是point-wise的評估(如物品的點擊率,轉化率)。

針對上述兩個挑戰,本文提出了一個兩階段的重排序框架PRS(Permutation Retrieve System),接下來一起來介紹下。

2、PRS框架介紹

2.1 整體介紹

PRS(Permutation Retrieve System)框架的整體架構如下圖所示:

可以看到,PRS主要包含兩個階段,分別是PMatch(Permutation-Matching) 和PRank (PermutationRanking)。在PMatch階段,使用 FPSA (Fast Permutation Searching Algorithm)算法,高效生成候選的物品排列方式,在PRank階段,定義了LR(List Reward) metric并使用DPWN (Deep Permutation-Wise Network)對每個候選排列的LR進行評估,選擇LR最高的進行展示。接下來,對兩個階段的細節進行介紹。

2.2 PMatch Stage

在PMatch階段,論文提出了一種permutation-wise和結果導向的beam-search算法,稱為 FPSA (Fast Permutation Searching Algorithm),其示意圖如下圖所示:

離線訓練

離線部分主要訓練兩個模型,分別預測每個物品的pctr和繼續瀏覽的概率pNext。

線上服務

線上主要通過一種目標導向的beam-search方法產生候選的物品排列,其具體的過程如下:

1)對于初始隊列里的每個物品,都會計算其對應的pctr和pNext,為了提升系統的效率,pctr和pNext的計算與ranking階段的模型并行
2)使用beam-search方法生成k個長度為n的候選隊列,由于是beam-search方法,因此共需要n步。在每一步,基于rPV和rIPV對候選隊列進行排序。其中rPV越高,則用戶期望的瀏覽深度越高,rIPV越高,則用戶與列表的交互越多,具體計算過程如下圖:

2.3 PRank Stage

在PRank階段,定義了LR(List Reward) metric并使用DPWN (Deep Permutation-Wise Network)對每個候選排列的LR進行評估。

離線訓練

DPWN模型的結構如下圖所示:

如上圖,DPWN主要通過bi-lstm結構,預測隊列中每個物品的點擊率。具體地,第t個物品經過bi-lstm,得到對應的隱狀態ht:

隨后將隱狀態ht、用戶特征xu和物品特征xvt進行拼接,經過多層神經網絡得到第t個物品的點擊率預測概率:

損失函數為二分類的交叉熵損失。

線上服務

線上通過定義好的LR(List Reward) 對每個候選排列進行評分,來獲得能夠最大化列表收益的物品排列方式。LR這里定義為隊列中每個物品的預測點擊率之和:

3、實驗結果及分析

最后來看一下論文的實驗結果,離線實驗結果來看,PRS框架取得了明顯的收益提升:

從線上A/B測試結果來看,PRS框架線上平均耗時為7.3ms,滿足線上低延時的要求,同時在PV和IPV指標上,都有明顯的提升:

好了,論文就介紹到這里,本文也是從一個新穎的視角對重排序階段做出了較大的改進,感興趣的同學可以閱讀原文~

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

推薦閱讀更多精彩內容