今天继续来介绍CIKM20上有关推荐系统的论文。本文介绍的是京东和百度的研究人员发表的有关在大规模电商推荐系统的多目标排序上的工作。论文将兴趣建模、多任务学习、偏置学习等几部分进行融合,提出了DMT模型(Deep Multifaceted Transformers),一起来看一下。

1、背景

推荐系统精排阶段的模型多种多样,包括树模型,基于神经网络的模型,基于强化学习的模型等等。在现实世界的大规模电商推荐系统中,精排阶段面临以下几方面的挑战:

1)多目标排序:在电商场景下,对自然结果(非广告)的排序往往不只按照点击率,而是多个目标的组合,如排序公式RS = a * CTR + b * CVR。

2)多类型用户行为:电商场景下用户通常有多种类型的行为,如点击、加购和下单。不同类型的行为对于不同的目标建模的作用是不同的。当前大多数的研究通常只考虑用户点击行为序列,如何有效地使用用户不同多样的行为类型进行多目标建模,仍是一个开发话题。

3)有偏的用户反馈:电商场景下,用户的行为是存在偏置的。最为常见的偏置为位置偏置(position bias),展示位置越靠前的商品,具有更高的概率被用户点击。而论文提出了另一种偏置,叫做近邻偏置(neighboring bias,小编暂且翻译为近邻偏置),即一个商品是否被点击,会受到其相邻展示商品的影响,如下图中国排在第一个位置的iphone 11,因为它排在了第一位置,所以有更高的点击概率,但是由于相邻展示的有其他的iphones,又会在一定程度上降低其被点击的概率,如何建模和消除上述两种偏置,也是值得探讨的。

针对上述三方面的挑战,论文融合了多任务学习,多行为序列建模以及偏置学习,提出了DMT模型(Deep Multifaceted Transformers),本文将在下一节进行介绍。

2、DMT模型介绍

首先来看一下DMT模型的整体结构:

可以看到,整体架构可以拆解成Input and Embedding Layers、Deep Multifaceted Transformers Layer、Multi-gate Mixture-of-Experts Layers和Bias Deep Neural Network。接下来对这几部分进行分别介绍。

2.1 Input and Embedding Layers

模型的输入可以分为离散特征和连续特征两大类。

离散特征

离散特征主要包括目标商品特征,以及用户多样的行为序列中上品对应的特征,序列包括用户点击序列Sc,用户加购序列Sa和用户下单序列So。目标商品及用户序列中的每个商品对应的离散特征包括商品id、店铺id、品牌id、品类id,每个离散特征经过embedding层转换为对应的embedding,再进行拼接作为输入。

连续特征

连续特征主要包含以下几类:商品画像特征如点击数,点击率,转化率统计特征;用户画像特征如购买力指数;用户-商品匹配特征和交互特征如用户在过去1天/3天/7天点击过相同品类商品的次数。连续特征会进行标准化处理。

2.2 Deep Multifaceted Transformers Layer

这一层主要是对用户不同类型的行为序列进行建模,对于点击/加购/下单三个行为序列,使用三个单独的 Deep Interest Transformer进行建模。由于不同序列的行为数差距较大(用户可能点击次数很多,但很少有下单),因此三个序列的长度在论文中定义为:用户过去7天内最近点击过的50个商品、用户过去1年内最近加购和下单的10个商品。

Deep Interest Transformer的结构如下:

其结构与transformer基本一致,这里使用的是完整的encoder-decoder结构。而在过去的论文大都只使用encoder部分,如阿里的BST,将用户行为序列和目标商品一起作为encoder部分的输入。

transformer的具体计算过程本文就不再介绍了,主要讲一下positional encoding。论文对比了两种不同的positional encoding的方式,一种是使用sin-cos函数,这样每个位置的positional encoding是固定的,这也是原论文使用的方式。另一种是对每一个位置赋予一个embedding,作为网络参数进行学习。实验的结果是第二种方式更加合适。

当然还有其他的建模方式,如使用时间戳离散化后对应的embedding作为positional encoding。

在Deep Multifaceted Transformers Layer,输出主要包含三个,分别是点击/加购/下单序列经过Transformer后输出的兴趣向量。

2.3 Multi-gate Mixture-of-Experts Layers

前文已经提到,电商推荐系统往往需要预测多个目标,如CTR、CVR和GMV等。一种方式是使用多个单独的模型进行并行预估,另一种方式是使用多任务学习同时输出多个目标的预估值。论文使用的多任务学习框架是MMOE,MMOE层输入包括Deep Multifaceted Transformers Layer得到的三个序列的兴趣向量、目标商品的embedding、连续特征标准化后的结果。第k个任务的输出计作uk。

关于MMOE,可以参考本系列的第六十九篇,本文不在做详细介绍。

2.4 Bias Deep Neural Network

如前文所述,推荐系统中面临的的偏置包含两个方面,位置偏置和近邻偏置。DMT使用单独的Bias Deep Neural Network对偏置进行建模。这一部分输入的主要是一些bias feature。对于位置偏置,输入特征包括商品展示页数和在该页下的位置;对于近邻偏置,输入特征是其近邻的K个商品的品类。不同的特征经过embedding层转换为对应的embedding,然后经过MLP得到输出yb。

2.5 Model Training and Prediction

以CTR和CVR两个任务为例,在模型训练阶段,第k个任务的预测值yk计算如下:

第k个任务的损失Lk和整体的损失函数计算如下:

而在线上预测阶段,不使用bias-net,第k个任务的预测值为:

3、实验结果

最后来看一下实验结果:

好了,论文就介绍到这里,感兴趣的同学可以看一下原文~~。

最后,小编提醒大家一定要多锻炼身体啊,如果一个人比较懒,不妨试试下面的减肥神器~~

推荐系统遇上深度学习(一零三)-[京东百度]用于电商推荐系统多目标排序的DMT模型...相关推荐

  1. 推荐系统遇上深度学习(三十九)-推荐系统中召回策略演进!

    推荐系统中的核心是从海量的商品库挑选合适商品最终展示给用户.由于商品库数量巨大,因此常见的推荐系统一般分为两个阶段,即召回阶段和排序阶段.召回阶段主要是从全量的商品库中得到用户可能感兴趣的一小部分候选 ...

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

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

  3. 知识图谱论文阅读(八)【转】推荐系统遇上深度学习(二十六)--知识图谱与推荐系统结合之DKN模型原理及实现

    学习的博客: 推荐系统遇上深度学习(二十六)–知识图谱与推荐系统结合之DKN模型原理及实现 知识图谱特征学习的模型分类汇总 知识图谱嵌入(KGE):方法和应用的综述 论文: Knowledge Gra ...

  4. 推荐系统遇上深度学习(九十二)-[腾讯]RecSys2020最佳长论文-多任务学习模型PLE

    今天介绍的是腾讯提出的一种新的多任务学习个性化推荐模型,该论文荣获了RecSys2020最佳长论文奖,一起来学习下! 1.背景 多任务学习通过在一个模型中同时学习多个不同的目标,如CTR和CVR,最近 ...

  5. 推荐系统遇上深度学习(八十七)-[阿里]基于搜索的用户终身行为序列建模

    本文介绍的论文是<Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Thr ...

  6. 推荐系统遇上深度学习(三十六)--Learning and Transferring IDs Representation in E-commerce...

    本文介绍的文章题目为<Learning and Transferring IDs Representation in E-commerce>,下载地址为:https://arxiv.org ...

  7. 推荐系统遇上深度学习(二十二):DeepFM升级版XDeepFM模型强势来袭!

    今天我们要学习的模型是xDeepFM模型,论文地址为:https://arxiv.org/abs/1803.05170.文中包含我个人的一些理解,如有不对的地方,欢迎大家指正!废话不多说,我们进入正题 ...

  8. 推荐系统遇上深度学习(十五)--强化学习在京东推荐中的探索

    强化学习在各个公司的推荐系统中已经有过探索,包括阿里.京东等.之前在美团做过的一个引导语推荐项目,背后也是基于强化学习算法.本文,我们先来看一下强化学习是如何在京东推荐中进行探索的. 本文来自于pap ...

  9. 推荐系统遇上深度学习(十一)--神经协同过滤NCF原理及实战

    阅读时间 大约10分钟. Neural Collaborative Filterring 1.1 背景 本文讨论的主要是隐性反馈协同过滤解决方案,先来明确两个概念:显性反馈和隐性反馈: 显性反馈行为包 ...

  10. 推荐系统遇上深度学习(五)--DeepCross Network模型理论和实践

    全文共6215字,8张图,预计阅读时间15分钟. 原理 Deep&Cross Network模型我们下面将简称DCN模型: 一个DCN模型从嵌入和堆积层开始,接着是一个交叉网络和一个与之平行的 ...

最新文章

  1. python异步封装_python中用协程(异步)实现map函数,爬虫也可以封装进去,
  2. Java中如何实现序列化,有什么意义?
  3. c++ 文件读写_Java文件读写的常用技术
  4. 数据库:SQLServer中游标的用法笔记
  5. Android学习笔记---文件的操作模式,各种模式之间的关系,以及沿用linux系统的安全性
  6. Shell脚本学习指南 下载
  7. 对等商务_对等| 第三部分
  8. Beta冲刺第二周王者荣耀交流协会第五次会议
  9. 好嗨哟!OneOS 图形组件显示自己喜欢的图片
  10. java微信小程序授权微信登录获取手机号
  11. 完完整整地看完这个故事,你敢说还不懂Docker?
  12. win系统cpu温度获取
  13. 为淘宝网店免费使用流量统计教程
  14. c语言内存越界例子,内存越界的可能情况分析,C语言内存越界详解
  15. 无人驾驶汽车是如何实现定位导航的
  16. insert --01--insert into 语句的三种写法
  17. mysql2008百度云_SQLServer数据库之SQL Server 2008R2 企业版 百度云下载地址
  18. × eslint --fix found some errors. Please fix them and try committing again.
  19. 什么是服务器版操作系统,服务器版操作系统是什么
  20. 游戏编程学习之项目历程

热门文章

  1. [SPDK/NVMe存储技术分析]
  2. 11月2日Shopee空宣:Switch、面试直通卡等你来拿
  3. 【WFA】【WIFI6】5.71.1 Verifying whether testbed STA1 sent ADDBA request to APUT with buffer size <= 64
  4. CAD的输出格式之一的Dwt格式有什么特点?怎么转换呢?
  5. 88 R 用户画像之线性回归逻辑回归综合实战 1
  6. Android未及时释放file,使用安卓手机,记得定期清理这4个文件夹,可轻松释放大量空间...
  7. linux查看切换用户命令,Linux用户管理以及查看用户命令
  8. Mybatis——简介和第一个Mybatis程序
  9. 微信小程序调用讯飞接口实现录音和获取录音音译的文本 前端部分 包含图片、视频的上传功能
  10. 愿天下有情人都是失散多年的兄妹(dfs)