Re-rank作为一种考虑到推荐items之间关系和影响的排序模式,近年来被越来越多的应用到推荐系统中。常规的推荐系统仅仅考虑<user, item> pair,并不会考虑items间作为一个list进行推荐互相的影响。Rerank模型将常规rank模型的输出作为输入,强化items之间的关系以及items与用户的关系进行one-more-time排序。对于不同用户来说,list中items的分布应该具有比较大的差异。

Personalized Re-ranking for Recommendation​arxiv.org

Learning a Deep Listwise Context Model for Ranking Refinement​arxiv.org

这篇paper的思路很大程度上继承了DLMC(Deep Listwise Context Model)的思路,DLMC用的是rnn方法,基于搜索的场景,本文利用大火的transormer中multi head结构去拟合item间的关系和影响,基于推荐的场景。两篇paper都强调的一点是可以无缝迁移到工业界推荐系统,因为用到的特征都是前一步rank中所用到的特征,不需要做额外的特征抽取。Transformer替换RNN的优势也是较为普遍认知的,1.工程上并行化更容易2.算法上对于远距离的item关系刻画更好。由于业务场景的不同,DLMC强调的是不同query下的特征分布是不同的,比如搜索“老友记”,那相关性相比于多样性就更重要,本文强调不同用户的意图不同对推荐list的影响,比如一个没有明显购买意图的用户,推荐的多样性就变得很重要。

Model Architecture

下图是PRM的模型结构,是一个比较传统的multi head结构,主要有input layer, encoding layer和output layer三部分组成。输入Initial List是一个精排模型输出的推荐集合,输出Re-ranked List是重排序后的结果。

structure of PRM(Personalized Re-ranking Model)

Input Layer: 是该item在精排模型时的特征,  是用户与该item的一个交叉特征,通过pre-train得到的,pre-train的方法用了一个dnn的方法,简单粗暴,如下图所示,作者在后文的实验中证明了,这种方法确实对整体的precision有一定程度提升。  是一个位置的embedding,主要是利用精排模型产出的排名,通过实验,作者发现  设置为trainable的效果更好一些。上述的三组embedding是输入层的组成部分。

user-item pretrain method

Encoding Layer:利用Transformer中self-attention结构,实现任意两个item的交叉从而获得他们互相间的影响。Encoding Layer就是一个传统的Transformer结构,Q,K,V都是同一个matrix如下图所示。

transformer encoder

Output Layer:前边transformer出来的score做一个softmax。

Last but not the least,作者通过实验发现,各种成熟的re-rank算法都是有正向的收益的,这个很好理解,re-rank是一个增量的过程,可以起到一定list-wise的作用。整篇paper的工业界实现应该不是瓶颈,transformer也很好的解决了之前rnn的耗时问题,提供了我们一个做re-rank的思路。

阿里 Re-rank Recommendation 读后感相关推荐

  1. 阿里新一代Rank技术

    分享嘉宾:周国睿 阿里 高级算法专家 编辑整理:崔媛媛 出品平台:DataFunTalk 导读:本文的主题为新一代Rank技术,由来自阿里巴巴定向广告团队的周国睿老师分享,主要介绍当前团队在排序算法方 ...

  2. 精排模型-从MLP到行为序列:DIN、DIEN、MIMN、SIM、DSIN

    ©作者 | Glenn 单位 | 腾讯 研究方向 | 数据挖掘.计算广告 背景 如下图 [1][2],阿里妈妈的精排模型,经历了从传统 LR.MLR 到深度模型 GwEN,再到用户兴趣建模的过程. 传 ...

  3. 《阿里铁军》的读书笔记和读后感范文2600字

    <阿里铁军>的读书笔记和读后感范文2600字: 在中国互联网,有一个流传很广的说法是,百度强在技术,腾讯强在产品,阿里强在运营.虽然发展到今天,已经不能再用这样简单的视角来看待这三个巨头, ...

  4. 《阿里管理红宝书》读后感

    原文:阿里管理红宝书 使命.愿景.价值观 使命用来凝聚人,愿景让大家看到未来远大的目标,价值观是大家达成共识的做事方法和标准. 深刻理解拼多多的使命.愿景.价值观. 使命:多实惠多乐趣,让消费者买到更 ...

  5. 读后感《我回阿里的29个月》

    原文地址:https://www.huxiu.com/article/180457.html?winzoom=1 以现在的计算机编码发展水平,只要你能想得到,没有什么功能是写不出来的,缺的只是时间和投 ...

  6. 一天造出10亿个淘宝首页,阿里工程师如何实现?

    双11手淘首页的几个重要推荐场景截图如下: 如上图所示,左一场景为AIO综合会场,包括AIO日常场景(淘抢购.有好货.清单等).双11人群会场及行业会场:中间为AIOplus场景卡片综合会场,包括5张 ...

  7. greenplum 数据库如何增加列_Greenplum行存与列存的选择以及转换方法-阿里云开发者社区...

    背景 数据在数据库中的存储形式多种多样,比较常见的如 1. PostgreSQL的堆表,以行的形式存储,(当变成字段压缩后的长度超过数据块的四分之一时,会以TOAST的形式存储到TOAST表). 2. ...

  8. Comprehensive Guide to build a Recommendation Engine from scratch (in Python) / 从0开始搭建推荐系统...

    https://www.analyticsvidhya.com/blog/2018/06/comprehensive-guide-recommendation-engine-python/, 一篇详细 ...

  9. 推荐系统遇上深度学习,9篇阿里推荐论文汇总!

    作者 | 石晓文 转载自小小挖掘机(ID: wAIsjwj) 业界常用的推荐系统主要分为两个阶段,召回阶段和精排阶段,当然有时候在最后还会接一些打散或者探索的规则,这点咱们就不考虑了. 前面九篇文章中 ...

最新文章

  1. Android渗透测试Android渗透测试入门教程大学霸
  2. [转载] 中华典故故事(孙刚)——02 半路杀出个程咬金
  3. C语言检查一个字符串是否为另一个字符串的子字符串的算法(附完整源码)
  4. java填写xls模板_Java 新建excle文件并填充模版内容
  5. C++:成绩类Score
  6. Fiddler软件基本配置教程
  7. poj 2828 Buy Tickets 线段树!!!
  8. FISCO BCOS(十二)——— 区块链关键概念
  9. python图像处理(十一)——图像锐化与边缘检测之Roberts算子、Prewitt算子、Sobel算子、Laplacian算子
  10. 小区防盗系统 c语言,住宅小区防盗报警系统方案以及系统组成
  11. 基于三菱FX系列与扫码枪232的通讯
  12. 空降过来的男领导如何管理女性团队?我的一些实操技巧
  13. Debian Linux及kali程序安装卸载方式
  14. Mac tips - 打开【键盘重复按键】功能
  15. 数学建模更新13(MATLAB绘制三维图【上】)
  16. python hdf5_使用Python将大量数字写入HDF5文件
  17. 配置数据源(DataSource)
  18. 如何保证邮件系统的安全?
  19. JAVA_GUI之“注册登陆界面”
  20. 滴滴欲垄断 还需跨过这三座大山

热门文章

  1. Web前端开发笔记——第二章 HTML语言 第八节 表单标签
  2. java 接口的访问权限_证明接口interface中定义的方法的访问权限为public
  3. ab压力测试(了解ab工具,实验对网页进行测试)
  4. java写 IP十进制转变_java实现ip地址与十进制数相互转换
  5. html效果属性是,htmltransition属性
  6. 安卓+php推,使用 PHP 消息队列实现 Android 与 Web 通信
  7. java list数组排序_浅谈对象数组或list排序及Collections排序原理
  8. linux 下查看应用版本信息,Linux下查看版本信息
  9. c语言中左右对齐的作用,c语言中右对齐的符号
  10. 主板用什么软件测试呢,什么软件检测主板能用什么cpu