搜索推荐广告中的Position Bias:美团DPIN
作者 | Chilia
哥伦比亚大学 nlp搜索推荐
整理 | NewBeeNLP
在上一篇文章中,我们介绍了业界解决position bias的一些方法。聊一聊搜索推荐中的 Position Bias
主要就是把位置作为神经网络中的特征/模块,放于网络的Wide部分,在线下训练时使用真实位置;但是,由于在预估过程中并不知道真实位置信息,所以在线上预估时使用固定位置。
这种方法由于其简单性和有效性,在工业界被广泛应用。例如,为了在线上预估时无需使用位置信息,PAL将样本的CTR建模为ProbSeen乘以pCTR,其中ProbSeen仅使用位置特征建模,而pCTR使用其他信息建模,在线上只使用pCTR作为CTR预估值。
但是,这种方法有两个缺点:
训练和预估之间位置信息的不同处理方法,导致线下线上间的不一致问题。
"用户是否查看item只和item的位置有关"(PAL中的假设)。这个假设对问题过于简化了。事实是,不同的用户通常具有不同的浏览习惯:有些用户可能倾向于浏览更多item,而有些用户通常能快速做出决定;而且同一个用户在不同的上下文搜索意图中也会有不同的位置偏好,例如商场等地点词的搜索往往意图不明确导致高低位置的CTR差异并不大。故而,位置偏差与「用户」、「上下文」都有关,甚至可能与「广告」本身也有关,建模它们间的关系能更好地解决位置偏差问题。
美团提出的深度位置交叉网络能够较好的解决这个问题:
论文:Deep Position-wise Interaction Network for CTR Prediction
地址:https://arxiv.org/pdf/2106.05482.pdf
1. 深度位置交叉网络(Deep Position-wise Interaction Network)
DPIN模型由三个模块组成:
处理 J 个候选广告的基础模块(Base Module)
处理 K 个候选位置的深度位置交叉模块(Deep Position-wise Interaction Module)
组合 J 个广告和 K 个位置的位置组合模块(Position-wise Combination Module)
不同模块需预估的样本数量不一样,复杂模块预估的样本数量少,简单模块预估的样本数量多。通过这三个模块的组合,DPIN模型可以预估「每个广告在每个位置上」的CTR:是第 j 个广告在第 k 个位置的CTR预估值,广告的最终序可以通过最大化来确定,其中为广告的出价。
1.1 基础模块(Base Module)
得到所有 个广告的embedding,使用简单的Embedding+MLP结构:
分别是当前用户特征集合、当前上下文特征集合以及第 j 个广告的特征集合。最终得到所有 个广告在「当前用户、当前上下文」中的embedding表示。
1.2 深度位置交叉模块(Deep Position-wise Interaction Module)
在上面这一步,我们已经完成了所有广告与user特征和context特征的交叉;我们还需要完成所有的 个广告与所有 个位置的交叉。如果直接把位置特征放在Base Module中,就要完成 次计算。而在大多数业务场景中,Base Module通常已经被高度优化,包含了大量特征甚至用户_序列_等信息,所以这样做复杂度太高了。因此,我们需要一个深度位置交叉模块,来专门「建模不同位置信息」。
为了得到不同位置在当前context、当前user下的embedding,使用了context 特征和用户在第 k 个位置的历史行为序列:,其中为用户在第 个位置上的历史第 个行为记录,为点击的item特征,为发生该行为时的context特征(包括搜索关键词、请求地理位置、一周中的第几天、一天中的第几个小时等)。这些行为序列和当前上下文 context 去计算注意力权重,对于与上下文越相关的行为可以给予越多的权重。
为了获得用户在_其他位置_上的行为序列信息,采用「Transformer」去学习不同位置兴趣的交互,最后得到K个输出,其中第 k 个位置被表示为。
1.3 位置组合模块(Position-wise Combination Module)
位置组合模块的目的是去组合 J 个广告和 K 个位置来预估「每个广告在每个位置上的CTR.」 把Base Module输出的J个广告embedding(包含了user,context特征交叉)和深度位置交叉模块输出的K个位置embedding(包含user,context特征交叉)输出到一个MLP中,得到J * K大小的预估矩阵。
整个模型可以使用真实位置通过批量梯度下降法进行训练,采用交叉熵作为损失函数。
2.实验
DIN:没有做position bias的消除
DIN+PosInWide:在网络的Wide部分加入位置特征进行训练,在测试时位置特征取默认值。
DIN+PAL:采用PAL框架去建模位置信息。
DIN+ActualPosInWide:在网络的Wide部分加入位置特征进行训练,在测试时采用真实位置特征。
DIN+Combination:这个方法在DIN的基础上添加了位置组合模块,测试时采用真实位置特征。
DPIN-Transformer:在DPIN模型上去除了Transformer结构,来验证Transformer的作用。
DPIN:DPIN模型。
DPIN+ItemAction:在DPIN的Base Module MLP层前添加深度位置交叉模块,并在位置兴趣聚合和位置非线性交叉中引入候选广告的信息,这个实验是DPIN方法模型性能的理论上界(因为在Base Module和深度位置交叉模块都做了候选item和position的交互),然而服务性能是不可接受的。
A/B测试表明,DPIN在CTR上提高了2.25%,在RPM(每千次展示收入)上提高了2.15%。
一起交流
想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)
- END -
聊一聊搜索推荐中的 Position Bias
2021-12-10
字节跳动高伟豪:端到端深度召回算法
2021-12-09
一篇就够!数据增强方法综述
2021-12-08
关于逻辑回归,面试官都怎么问
2021-12-06
搜索推荐广告中的Position Bias:美团DPIN相关推荐
- GNN通俗笔记:图神经网络在推荐/广告中的应用
原始视频:七月在线公开课<图神经网络在推荐广告场景中的应用>,课件可以打开视频页面下载 分享老师:推荐吴老师,推荐/广告算法专家,曾任部门算法负责人,年薪....不低 字幕校对:天保,全程 ...
- 聊一聊搜索推荐中的 Position Bias
作者 | Chilia 哥伦比亚大学 NLP搜索推荐 整理 | NewBeeNLP 在搜索推荐系统中,Bias可以说无处不在.之前我们整理过搜索.推荐.广告中的曝光偏差问题,今天来看看 positio ...
- 推荐、搜索、广告中的召回、相关性、多目标精排 - 召回篇
一.召回 智能推荐算法在直播场景中的应用 - 知乎 花椒直播推荐系统高级算法工程师王洋:智能推荐系统在直播场景中的应用_哔哩哔哩_bilibili 1:基于item的协同过滤(求出来item之间的相似 ...
- 【万字干获】阿里妈妈搜索推荐广告预估模型2021思考与实践
省时查报告-专业.及时.全面的行研报告库 省时查方案-专业.及时.全面的营销策划方案库 知识图谱在美团推荐场景中的应用实践 搜索场景下的智能实体推荐 机器学习在B站推荐系统中的应用实践 小红书推荐系统 ...
- nsoutlineview 搜索_阿里巴巴搜索推荐广告三位一体的在线服务体系
最近在工作中大量使用到了淘系的在线分发服务体系,可以快速高效的实现个性化内容分发,其技术架构的概览在这里分享给大家. AI·OS(Artificial Intelligence Online Serv ...
- 淘宝千人千面背后的秘密:搜索推荐广告三位一体的在线服务体系AI·OS
简介:揭晓三位一体的在线服务体系AI·OS,及其技术架构演进,技术概况,云原生产品与实践. 作者:阿里巴巴搜索推荐事业部高级研究员 沈加翔 一.三位一体的在线服务体系AI·OS介绍 AI·OS(Art ...
- 推荐系统中的biasdebias(二):position bias的消偏
前面提到过position bias,即用户倾向于点击排在前面的结果,这使得"优势位置"的item会获得更高的后验点击率. 这本质上是和用户的注意力,用户对item的情绪有关,而和 ...
- Embedding在网易严选搜索推荐中的应用
导读:向量化在业界的运用越来越广,近期也有许多文章分享过相关的主题.严选于18年下半年开始探索向量化在搜索推荐场景中的运用,从最开始基于商品召回用户的任务到后续的搜索召回.搜索个性化排序.搜索底纹.搜 ...
- 广告深度预估技术在美团到店场景下的突破与畅想
猜你喜欢 1.如何搭建一套个性化推荐系统? 2.某视频APP推荐详解(万字长文) 3.微博推荐算法实践与机器学习平台演进 4.腾讯PCG推荐系统应用实践 5.强化学习算法在京东广告序列推荐场景的应用 ...
最新文章
- Mac安装mysqldb
- “小米造车”终于尘埃落定,网络营销下“造车时代”终将到来
- Android中怎样使用MediaPlayer播放byte数组音频文件
- Linux系统编程——线程池
- 设置Android客户端进入时的随机欢迎语
- What's the QPSK?
- 使用Gpg4Win+Outlook Express实现发送和接收加密邮件
- Tyvj3308毒药解药题解
- pandas之combine_first() 合并重叠数据(修补)
- 如何利用ikuai将闲置电脑配作软路由器?
- 跑跑卡丁车rush服务器维护,跑跑卡丁车RUSH游戏官方-跑跑卡丁车RUSH+手游官网预约v1.0.8 - 逗游网...
- OpenCV-Python画虚线
- bzoj 1022: [SHOI2008]小约翰的游戏John
- php sku 代码编写,SKU代码生成规则
- Java8集合的一些操作
- 小米手机4c如何刷入开发版获取ROOT权限
- 红黑树(更高级的二叉查找树)
- lisp算零碎面积总和_AutoLISP用于地籍面积量算与汇总
- Mybatis中foreach的三种用法
- C028: Unable to Connect to the Siebel Gateway Name Server