推荐系统遇上深度学习(一零九)-[阿里]排列视角下的重排序过程

今天给大家介绍一篇阿里在重排(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阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容