作者 | Chilia

哥伦比亚大学 nlp搜索推荐

整理 | NewBeeNLP

在上一篇文章中,我们介绍了业界解决position bias的一些方法。聊一聊搜索推荐中的 Position Bias

主要就是把位置作为神经网络中的特征/模块,放于网络的Wide部分,在线下训练时使用真实位置;但是,由于在预估过程中并不知道真实位置信息,所以在线上预估时使用固定位置。

这种方法由于其简单性和有效性,在工业界被广泛应用。例如,为了在线上预估时无需使用位置信息,PAL将样本的CTR建模为ProbSeen乘以pCTR,其中ProbSeen仅使用位置特征建模,而pCTR使用其他信息建模,在线上只使用pCTR作为CTR预估值。

但是,这种方法有两个缺点:

  1. 训练和预估之间位置信息的不同处理方法,导致线下线上间的不一致问题。

  2. "用户是否查看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相关推荐

  1. GNN通俗笔记:图神经网络在推荐/广告中的应用

    原始视频:七月在线公开课<图神经网络在推荐广告场景中的应用>,课件可以打开视频页面下载 分享老师:推荐吴老师,推荐/广告算法专家,曾任部门算法负责人,年薪....不低 字幕校对:天保,全程 ...

  2. 聊一聊搜索推荐中的 Position Bias

    作者 | Chilia 哥伦比亚大学 NLP搜索推荐 整理 | NewBeeNLP 在搜索推荐系统中,Bias可以说无处不在.之前我们整理过搜索.推荐.广告中的曝光偏差问题,今天来看看 positio ...

  3. 推荐、搜索、广告中的召回、相关性、多目标精排 - 召回篇

    一.召回 智能推荐算法在直播场景中的应用 - 知乎 花椒直播推荐系统高级算法工程师王洋:智能推荐系统在直播场景中的应用_哔哩哔哩_bilibili 1:基于item的协同过滤(求出来item之间的相似 ...

  4. 【万字干获】阿里妈妈搜索推荐广告预估模型2021思考与实践

    省时查报告-专业.及时.全面的行研报告库 省时查方案-专业.及时.全面的营销策划方案库 知识图谱在美团推荐场景中的应用实践 搜索场景下的智能实体推荐 机器学习在B站推荐系统中的应用实践 小红书推荐系统 ...

  5. nsoutlineview 搜索_阿里巴巴搜索推荐广告三位一体的在线服务体系

    最近在工作中大量使用到了淘系的在线分发服务体系,可以快速高效的实现个性化内容分发,其技术架构的概览在这里分享给大家. AI·OS(Artificial Intelligence Online Serv ...

  6. 淘宝千人千面背后的秘密:搜索推荐广告三位一体的在线服务体系AI·OS

    简介:揭晓三位一体的在线服务体系AI·OS,及其技术架构演进,技术概况,云原生产品与实践. 作者:阿里巴巴搜索推荐事业部高级研究员 沈加翔 一.三位一体的在线服务体系AI·OS介绍 AI·OS(Art ...

  7. 推荐系统中的biasdebias(二):position bias的消偏

    前面提到过position bias,即用户倾向于点击排在前面的结果,这使得"优势位置"的item会获得更高的后验点击率. 这本质上是和用户的注意力,用户对item的情绪有关,而和 ...

  8. Embedding在网易严选搜索推荐中的应用

    导读:向量化在业界的运用越来越广,近期也有许多文章分享过相关的主题.严选于18年下半年开始探索向量化在搜索推荐场景中的运用,从最开始基于商品召回用户的任务到后续的搜索召回.搜索个性化排序.搜索底纹.搜 ...

  9. 广告深度预估技术在美团到店场景下的突破与畅想

    猜你喜欢 1.如何搭建一套个性化推荐系统? 2.某视频APP推荐详解(万字长文) 3.微博推荐算法实践与机器学习平台演进 4.腾讯PCG推荐系统应用实践 5.强化学习算法在京东广告序列推荐场景的应用 ...

最新文章

  1. Mac安装mysqldb
  2. “小米造车”终于尘埃落定,网络营销下“造车时代”终将到来
  3. Android中怎样使用MediaPlayer播放byte数组音频文件
  4. Linux系统编程——线程池
  5. 设置Android客户端进入时的随机欢迎语
  6. What's the QPSK?
  7. 使用Gpg4Win+Outlook Express实现发送和接收加密邮件
  8. Tyvj3308毒药解药题解
  9. pandas之combine_first() 合并重叠数据(修补)
  10. 如何利用ikuai将闲置电脑配作软路由器?
  11. 跑跑卡丁车rush服务器维护,跑跑卡丁车RUSH游戏官方-跑跑卡丁车RUSH+手游官网预约v1.0.8 - 逗游网...
  12. OpenCV-Python画虚线
  13. bzoj 1022: [SHOI2008]小约翰的游戏John
  14. php sku 代码编写,SKU代码生成规则
  15. Java8集合的一些操作
  16. 小米手机4c如何刷入开发版获取ROOT权限
  17. 红黑树(更高级的二叉查找树)
  18. lisp算零碎面积总和_AutoLISP用于地籍面积量算与汇总
  19. Mybatis中foreach的三种用法
  20. C028: Unable to Connect to the Siebel Gateway Name Server

热门文章

  1. SAP License:ERP咨询顾问之路
  2. Visual Studio 2013 突然不高亮,编译报错
  3. Redis: Redis支持五种数据类型
  4. mongodb 连接失败
  5. 【荐】万能清除浮动样式
  6. 《oracle每日一练》oralce数据库的导入导出
  7. 浅析JS模块规范:AMD,CMD,CommonJS
  8. [二次开发][Discuz!X] Discuz!二次开发基本知识
  9. Java 多线程的创建
  10. 数据结构 顺序串笔记