导读:本文主要介绍了百度搜索广告系统 ( 凤巢 ) 的新一代多目标召回系统架构,相比于经典召回排序两段架构,能在保证召回相关性的同时引入诸如CPM等排序层的优化目标,从而提升整体系统的效率。

01

创新点

1. 在召回层保证相关性的同时引入了CPM等业务指标作为召回的依据。

2. 将以往的CTR预估模型融合到召回层中,提出一种全新的多目标商业召回系统架构。

02

论文背景

在大部分公司的商业广告系统架构中,都会采用经典的“漏斗”结构,即召回——粗排——精排——重排序等模块,在现有的召回模块中,应该首先保证召回内容的相关性,保证用户的搜索query和候选广告之间的匹配程度,最为基础的召回链路就是要保证召回层的相关性,但是相关性高的广告并不一定具有很高的商业价值,所以开始尝试将一些商业化业务指标作为召回的依据,比如CPM ( 可以理解为变现能力 )。但是如果单纯的依靠CPM来进行召回的话又无法保证召回的准确性,会出现大量的badcase,即“所答非所问”,这种情况对于用户的体验来说是非常不友好的,所以召回层基本都是在保证相关性的大前提下尽量的筛选出一些变现能力较强的候选广告进入排序阶段。

那么如何能够保证尽量筛选出变现能力比较强的广告呢,一般CPM=PCTR广告主出价*1000,假设广告主出价不变的情况下,我们可以认为PCTR越高的广告他的变现能力是越强的。所以一个很直观的方法就是在召回阶段利用CTR模型来对候选广告进行预测得到其PCTR值,从而作为召回的依据,而凤巢最新一代召回系统的核心思想就是上述提到的将CTR模型迁移到召回阶段。当然这其中需要解决很多的问题,不是直接套用CTR模型就可以的。所以接下来将会介绍凤巢是如何将CTR模型迁移到召回层的。

03

系统架构

整个“莫比乌斯”召回系统架构如下图所示:

“莫比乌斯”召回系统架构

训练流程如下图:

模型训练流程

整个系统其实分为两个核心的模块:数据增强模块、模型训练模块。论文中对整个系统的介绍还是比较清晰的,数据增强模块主要是用户生成模型所需的训练样本,生成的训练样本需要能够针对“低相关性高点击率”的badcase有所区分;模型训练模块主要就是介绍模型是如何利用生成的样本数据进行迭代更新的。

1. 数据增强模块

在传统的CTR模型中,模型只需要根据用户的搜索query为其找到最有可能点击的广告即可,所以可能出现序非常靠前的广告和搜索qeury的相关性不高的badcase,同时CTR模型训练所需的日志数据相对于召回层需要处理的数据量级是非常有限的,而且召回层可能需要面对更多的长尾稀疏的query和广告,所以为了解决上述的一系列问题,文章提出了一种基于active- learning的“teacher-student”模型训练框架。

从上面的训练流程图可以大致归结为如下几步:

(1)首先从点击日志中加载一个batch的数据

(2)利用这一个batch的数据构建两个集合,即query集合和广告集合

(3)对构建好的query集合和广告集合两两配对,构建augmented data,即query集合大小为N,广告集合大小为M,则生成的样本集合大小为N*M

(4)利用传统的召回阶段的相关性模型对每一个query-ad的pair进行相关性打分,筛选出其中相关性比较低的的pair

(5)利用CTR预估模型 ( T-2 ) 对相关性较低的pair进行CTR预估得到pctr

(6)利用采样器根据PCTR值对这批低相关性的pair进行采样,同时对这批数据打上对应的label——badcase,得到增强的样本数据

(7)将增强的样本数据补充到CTR模型的训练样本中,并且单独设计一个类别badcase,也就是将传统的CTR模型的二分类任务扩展到了三分类任务

其实整个流程在论文中描述的还是比较清晰的,值得注意的是召回阶段需要处理的数据相较于排序阶段来说是更大规模而且更加稀疏的,点击训练日志中中的数据是十分有限的,所以文章利用query集合和ad集合两两配对的方式来进一步丰富样本的规模以及对长尾流量的覆盖;同时为了解决直接利用CTR模型进行召回而引入badcase的问题 ( 低相关性高点击率 ),需要利用到相关性召回模型 ( teacher ) 来“教”会CTR模型 ( student ) 哪些样本是badcase,所以这里首先利用相关性模型对构造的query-ad pair进行相关性打分,并从中筛选出来相关性较低的样本交给CTR模型进行预测,根据预测的PCTR值从中选出低相关性高PCTR的样本作为badcase ( 这类样本在原始CTR样本中是不存在的,是为了让CTR模型学会哪些是badcase而构建出来的,原始的CTR模型是不需要关注相关性的,只需要关注CTR )。

2. 模型训练模块

整个模型的结构是比较经典的双塔模型,利用用户侧的特征构建用户queyr的embedding向量,利用广告侧的特征构建广告的embedding向量,文中提到每个embedding’向量的维度是96维,每一侧将96维的embedding分为三组vector,每组32维,分别对两侧的同一组vector计算inner product得到三个分数,然后经过softmax layer得到最终预测label ( click、unclick、badcase ),整个模型还是比较清晰易懂的。

04

线上广告召回

线上检索

在线上进行广告检索召回的时候,当收到一个用户请求 ( query ) 时,线上计算可以得到用户的query embedding,利用query embedding需要在保证相关性的前提下筛选出变现能力最高的一批候选广告,这时就需要利用query embedding去进行检索,暴力的全库检索基本是不可实现的 ( 线上计算开销太大,根本无法满足耗时的要求 ),所以比较常用的是近似最近邻 ( ANN ) 检索 ( 开源库比较多,例如ANNOY,FAISS,HNSW等 ),ANN检索通常是根据余弦相似度来进行计算的,在ANN检索之后对检索的结果进行相应商业指标权重来进行重排序得到检索结果。除此之外文章还提到了最大内积检索 ( MIPS ),上述提到的检索方式是先检索再根据业务指标排序,MIPS则是将业务指标改写进了相似度计算的公式中,也就是在检索的过程中是考虑了商业指标的,具体计算公式如下:

另外文章还提到考虑到磁盘以及内存的开销,文章对高维的浮点数embedding向量进行了压缩的处理。

05

实验效果

具体离线实验效果可以参考原文:

实验效果

目前“莫比乌斯”已经部署到PC端百度搜索以及移动端百度APP上,从线上一周的监控指标来看,CPM涨幅还是非常大的,可以说效果还是比较明显的。

线上实验效果

06

结论

传统的广告召回都是需要首先保证相关性,但是这就牺牲了一部分的变现能力,毕竟广告平台是需要盈利的,而如果要在召回阶段尽可能的提升变现能力的话,就很有可能引入一些badcase,如何在保证相关性的大前提下,尽可能的提升候选广告的变现能力是非常有必要的。毕竟如果变现能力高的广告未出现在召回的结果中,就算排序阶段再怎么努力也不可能大幅提升平台的收入,因此召回的结果对后续的排序以及最终的收入影响是非常大的。凤巢提出的新一代召回系统线上的效果还是非常不错的,在保证相关性的前提下又在一定程度上提升了候选广告集的变现能力,给我们提供了一种新的思路。

原文链接:

https://zhuanlan.zhihu.com/p/146210155

参考资料:

MOBIUS: Towards the Next Generation of Query-Ad Matching in Baidu’s Sponsored Search

MOBIUS:百度凤巢新一代广告召回系统相关推荐

  1. 莫比乌斯:百度凤巢下一代广告召回系统

    星标/置顶小屋,带你解锁 最萌最前沿的NLP.搜索与推荐技术 文 | 江城 编 | 夕小瑶 今天聊聊百度在最顶级的数据挖掘会议KDD2019的计算广告track上提出的query-ad匹配模型--莫比 ...

  2. 腾讯专家献上技术干货,带你一览腾讯广告召回系统的演进

    为拓宽选手们的技术视野,腾讯广告算法大赛官方邀请 NVIDIA 及腾讯的技术大咖,倾力打造了"技"高一筹系列专题直播.在6月24日的直播中,腾讯广告高级研发工程师陈帆,为大家详解了 ...

  3. 今晚7点,腾讯专家详解腾讯广告召回系统的演进

    腾讯广告算法大赛致力于通过赛事促进产研融合,助力选手探索算法技术的应用前景.为了让选手进一步打开视野,站在行业技术最前沿,腾讯广告算法大赛官方正式开启"技"高一筹专题直播,持续为选 ...

  4. 百度广告产品系统级测试技术演进

    背景 根据典型的测试金字塔结构,一个产品的测试可分为三个层级.第一层是单元测试,主要对程序函数进行测试.第二层是集成测试,在百度内部是大家常理解的模块测试.第三层是系统级测试,对产品整体进行的测试.这 ...

  5. 百度开始关闭竞价排名系统,转向“凤巢”推广系统

    百度终于要向其使用8年的竞价排名系统说再见了.记者获悉,百度已经于昨日晚间悄然关闭了部分"竞价排名"系统,凤巢系统开始接管了其部分关键词的管理权限.业界人士认为,此举意味着百度加快 ...

  6. CCTV曝光百度 凤巢系统的六大谎言

    CCTV曝光百度 凤巢系统的六大谎言 3月23日百度以460亿美元的市值取代腾讯(445亿美元)成为中国互联网市值最高的公司. 笔者当时断言:如果单独从市值上看,百度当属盛世.但盛世之下,百度的危机也 ...

  7. 卢松松:百度凤巢系统知道推广功能上线

    以后百度知道也有推广广告了,据博友李开伟透露:百度凤巢系统已经开始在"百度知道"频道开设推广功能.投放该渠道品牌词可在网页.知道两个结果页进行品牌展现.重点在知道首页也展示投放的品 ...

  8. 百度“凤巢”一次事关生死的广告计划

    在去年央视曝光了百度靠竞价排名这个广告产品盈利后,迫于压力这次百度计划用一个新的名词"凤巢"来改变自己未来的吸金策略,让我们一起来了解下吧. "凤巢"是为谁而准 ...

  9. 解析百度凤巢系统下的第一次百度更新

    大家应该已经平静了,对于这次的大更新.先是11.26号的百度大更新,然后接着12.1号百度凤巢系统的启动,一批批的网站下马.或者直接被K,今天是百度凤巢下的第一次百度更新的日子.相信很多站已经回来了, ...

最新文章

  1. Attempted to access a cursor after it has been clo
  2. nginx强制使用https访问(多站点多域名配置)
  3. ORACLE RAC 中 SRVCTL 命令详细说明
  4. 一个SAP顾问的回忆:我过去很胖!
  5. python 存储图片 alpha_保存时Matplotlib图形面颜色alpha(背景色、透明度)
  6. AxureRP9不同Page使用同一个Master,触发不同事件。
  7. python多元线性回归代码_Python实现梯度下降算法求多元线性回归(一)
  8. 献策企业:制定优秀移动化企业七步骤
  9. Python之快速排序算法实现(二)
  10. python编程入门与案例详解-Python程序设计案例课堂
  11. 51单片机学习笔记8 -- OLED显示(SPI)
  12. CSAPP第八章家庭作业参考答案
  13. 腾讯手机管家android版,腾讯手机管家上线Android8.11.0版本
  14. 最大子列问题与分治算法
  15. python+requests爬取汽车之家二手车
  16. Python requests timeout 分析
  17. 5.3 - 抽屉新热榜
  18. 发表Nature等杂志四十多篇论文老师带您学单细胞测序数据挖掘和课题设计 2020年1月11-12日 上海...
  19. 无套路!最新官宣的1000+微信红包封面,领取入口戳→
  20. YUI可真是个不错的东东

热门文章

  1. 单片机原理及其应用——单片机定时器中断实验(八段数码管依次显示0~9数字)
  2. Invalid bound statement (not found)
  3. OpenStack的部署T版(六)——Neutron组件
  4. beautifulsoup find函数返回值_再端一碗BeautifulSoup
  5. 9型转x型 cobol_多重排斥、价值嬗变与农村跨省婚姻研究——以东莞宗族型X村为例...
  6. Fiddler对手机抓包
  7. python宣传图片_宣传图片制作网站
  8. mysql256次利用_【案例】【MySQL】一次复杂的主从库数据不一致修复
  9. mysql忘了root密码_mysql忘记root密码怎么办
  10. HTML鼠标悬停图片置顶,jquery实现鼠标悬浮停止轮播特效