360展示广告召回系统的算法实践
旺道朋友圈广告 -> 最新发布
今日头条
今日头条
打开

360展示广告召回系统的算法实践

DataFunTalk
DataFunTalk
2019年10月25日 · 优质科技领域创作者
关注
360展示广告召回系统的算法实践

文章作者:王华呈 360 资深算法工程师

编辑整理:杨辉之

内容来源:爱奇艺技术沙龙

出品社区:DataFun

注:欢迎转载,转载请在留言区内留言。

导读:随着展示广告业务数据量的日益增长,360展示广告召回系统也随之也进行不断升级改进。本次介绍主要从召回系统演进的角度详细阐述工程实践中的算法应用、技术难点以及解决方案。主要分成三块:第一个是360展示广告的大致介绍,第二个是整体架构介绍,第三个就是今天的主题召回模块的演进脉络。

▌1. 展示广告介绍

1.1 展示广告业务介绍

360展示广告召回系统的算法实践


展示广告主要是在RTB程序化购买框架下运行的,首先有媒体方,比如新浪、搜狐等市面上的各大媒体,我们都已经接入。媒体在一次曝光产生之前会把这次曝光发送给Ad Exchange(ADX)模块进行拍卖,360的ADX平台叫360 Max。ADX平台将该曝光发送给多个竞价平台DSP,DSP来决定是否对该次曝光进行竞价,360的DSP平台叫360点睛DSP。广告主们会针对自己的需求设置广告投放策略,DSP平台会从广告主设置的广告投放库中根据该次曝光的特征匹配出合适的创意(广告)候选集返回给ADX。一般要求DSP的响应时间为100ms左右,除去网络传输耗时,留给DSP模型的时间只有几十毫秒,其中间各个模块的时间就更少。ADX从接收到的所有候选集中选择出价最高的广告进行曝光。

1.2 常见展示广告

360展示广告召回系统的算法实践


目前在360场景下主要有这几种广告类型,第一种类型是广告侧边栏,包含具体投放广告的详情页。第二种类型是整体的开屏广告,主要是品牌广告。第三种类型是在信息流场景下,将广告嵌入新闻上下文中且与文章内容形式保持一致。

▌2. 展示广告整体架构介绍

360展示广告召回系统的算法实践


整体架构流程:

流量从ADX发送给DSP端,DSP拿到流量之后交给检索召回模块,我们叫Ad Search模块,Ad Search模块分为两个部分,一个是Ad Search Root模块,对流量进行识别,判断其为哪种类型的流量,比如keyword流量、信息流流量、banner流量,然后交给不同级别的Ad Search Leaf模块对广告进行召回,选出相匹配的广告初步候选集,该模块就是我们今天的主题。然后将选出的广告初步候选集交给Ad Selector模块进行精排,即对广告的CTR或者CVR预估,进行打分,选出top K个广告返回给DSP Server。同时DSP Server会将点击、曝光、后续的日志写入kafka,并进行日志落地,日志落地后会进入后续的ETL离线流程,用于后续粗排、点击率等模型生成训练样本使用,另一部实时数据日志数据流会经过反作弊模块后过一遍ctr预估的online learning和实时曝光反馈的online feedback。

▌3. 召回模块的演进脉络

3.1 检索召回模块

360展示广告召回系统的算法实践


Ad Search Leaf召回模块展开来主要分三个阶段,召回、过滤和粗排。召回模块接收到DSP给流量请求中包含了用户信息和上下文信息。广告主设置的广告投放存在Ad Meta db中,然后建成相关的广告索引(Ad index),投放更新后才会实时更新这个索引。RTDB主要存储用户标签数据,标签数据一部分是通过请求中带的用户信息和上下文信息进行用户标签的实时更新,另一部分是通过线下离线全量更新。召回模块就是结合这两端选出初步的广告候选集,然后进入过滤模块(正排模块),过滤方法主要包括基于规则、黑白名单、广告主预算pacing过滤。最后进入粗排模块,对初选的广告候选集按评价函数模型进行打分,但没有精排模块那么复杂,相对比较简单,比如最开始基于核心特征的LR模型,后续升级过基于特征交叉的FFM模型。

3.2 召回通路

360展示广告召回系统的算法实践


接下来讲一下在我们检索召回中一些通路,我们是进行多路召回的,其中有三种类型,第一种是上下文、第二种是用户行为、第三种是当前正在做的深度召回。

上下文召回有这几种类型,第一种是基于图片的,在内容页场景下,一个明星穿了哪件衣服,根据这件衣服投放哪件商品,做法是将图片向量化,计算广告商品与图片向量的相似度进行召回。第二种是基于标题的,主要是基于文本NLP相关模型进行召回。第三种是基于lbs的,广告主自身设定某个标签区域进行投放,在该区域内进行标签匹配召回,属于布尔召回。

用户行为召回有这几种类型,第一种是基于兴趣的,基于用户历史行为建立用户画像,打上兴趣标签,进行布尔召回。第二种是基于Query的,利用用户的query历史行为,进行NLP相关模型进行召回,与基于标题的方式类似。第三种是基于访问行为,利用广告主回传的用户商品行为,采用Item CF、ALS、Neural MF等模型进行召回。

最后一种召回通路是深度召回,主要是把user profile、媒体特性、上下文特性等特征结合起来进入深度模型中进行召回,接下来会具体介绍下这个是如何做的。

3.3 基于文本的召回

360展示广告召回系统的算法实践


上面讲的标题和query召回主要是文本召回,包括几种,第一种是精准匹配,有完全匹配和基于ngram的TF-IDF提取核心词匹配,属于比较简单的方式。第二种是模糊匹配,有word2vec和DSSM语义化模型,将文本语义向量化,然后按向量化检索召回。第三种是广泛匹配,是把语义化向量聚类成多个标签,然后按标签召回。

3.4 召回模块演进

360展示广告召回系统的算法实践


我们的召回模块演进主要是分成三个阶段,第一种是布尔召回,刚才介绍的信息标签类型和lbs都是基于这种。第二种是向量检索召回,利用深度学习模型将广告、用户等信息都映射为向量,然后进行向量检索召回。第三种是我们现在在做的基于深度树的匹配。三个阶段是由浅入深的过程,接下来我们依次介绍这三个阶段。

3.5 布尔召回

360展示广告召回系统的算法实践


布尔召回在早期检索中都会用到的,我们的方式是基于树+维度bitMap分组+哈希表。广告主设置定向组合,比如访问某些网站的人群、有特定兴趣的人群等其他各种定向组合。而请求中会带有用户标签,问题就变成了怎么找到与用户标签匹配的定向组合广告?布尔召回本质就是基于倒排索引的布尔运算,所以关键在于倒排索引怎么构建?构建的方式有两个层级,第一层索引是将广告主的投放配置进行分解分组,每一个组为一个conjunction,一个广告投放会对应多个conjunction,这样就可以建立conjunction到广告投放的倒排索引。第二层索引在于根据用户标签找到对应的conjunction,我们的标签是一个int64类型的整数,高八位的某些bit位会做一些标识,来区分这个标签属于哪种类型,拿到用户的标签做位运算,找到bitMap分组的conjunction list。然后到基于每个conjunction到第一层取出对应的广告主集合,最后计算每个集合的交并,得到最终召回的广告候选集。

在实际使用中布尔召回有一些问题,比如倒排表有部分conjunction对应的广告集合很长(>1w),检索性能很差,我们的实际解决方案是在布尔表达式中做一个转换,比如将先并后交的布尔运算改为先交后并的布尔运算,能极大优化检索的性能。

3.6 向量化召回

我们在实际向量化召回中有两种类型,第一种是类似于早期YouTube DNN,把用户变成一个向量,把item也变成一个向量,最后做一个向量相似度检索。第二种是用户相关历史内容变成一个向量,再进行向量相似度检索。两种类型都是基于两个向量的相似度进行检索,得到item候选集。

360展示广告召回系统的算法实践


实际中我们选择的是微软提出的基于深度语义检索模型(DSSM),该模型的输入是一组相关的Query和Document,以及两个与Query不相关的Documents,然后分别dense为embedding向量,再经过NN网络,再做softmax打分,得到三个分数,训练目标就是是相关的Document分数尽可能高,不相关的Documents尽可能低。中间的NN层可以有多个选择,可以为多层FC,也可以类似textcnn那样为CNN+FC,或者为RNN。

360展示广告召回系统的算法实践


在通过模型向量化之后就涉及到向量索引该怎么选择?下面介绍下常见的几种。第一种为LSH(局部敏感哈希)索引,方法就是基于多个哈希函数进行分桶,比较耗内存。第二种为faiss提出的IVF Flat,方法是构建由聚类中心向量构成的倒排表,针对输入向量,先找到聚类中心向量,再基于KNN方式进行检索,这种类型是保留精度的,效果跟直接暴力检索非常接近,但性能有很大的提升。第三种为IVF PQ,也是基于倒排,与IVF Flat区别在于在向量上做了有损压缩或PC降维,好处在于省内存,但是带来了实际检索精度的丢失。这三种可以根据�%A

教育培训机构-如何策划节日招生?
做教育培训,最重要的事情莫过于招生了。面对不同的学员,招生方…于招生。目标不同,活动策划也会不一样。② 活动主题要鲜明不仅主题要鲜明,主题之间要有连续性。就像看连续剧一样,一集接一集,一环扣一环。策划好一系列活动,一个接一个来,从多个角度延续活动的宣传,突出主题,引起关注度。常用的招生方式有:体验课招…-------------想要获得更多运营技巧、doc文案,
教育培训:如何提高满班率和续班率
什么是满班率?就是实际人数除以计划招生人数,这个值就是满班率…员有流失是正常的,但要保证一个概率。在保障老学员续期的基础上,我们也要大胆创新,开设网络课程,拓宽招生区域。实地课程录制后,进一步发行到商弈云课上,通过商弈云课系统转成真实流量,网上有人点击观看,点赞,可以按点播量分佣金。助你在日常的营销推…-----------------------想要获得更多运
培训机构难盈利的问题出在哪里,如何实现盈利?
竞争白热化实地培训班、托管辅导班竞争白热化了,利润越来越稀薄…现没有多少盈利。还有一部分负责人在刚招生时,掌握了不少资金,开始盲目扩张,盲目做课程推广,以期待获得更多生源和收费,从而使培训班陷入了这种恶性循环的陷阱里。其实这些到手的钱,并不是你的利润,而是你未来要支出的钱。如遇到行业快速发展时期,或者…-----想要获得更多运营技巧、doc文件,请“关注”并“转
“差异化”经营是网络培训赚钱的关键所在
“差异化经营”这个词,相信大多数人都耳熟能详,但要做到的却是…。在现有的基础上更新升级或者资源整合就是对现有的产品或者技术,进行升级版本,或者通过一些资源整合,成一个项目。你的技能以前是用来生产或制造产品,现在是把技能升级成知识培训,转换云课堂。直白一点就是可以让老师自行录好课程并上传到学校的商弈云课…在着缺点和不足之处。在创新改革时,要从功能、服务、价格等方面
教育培训行业是如何运作的?
以前读书时,学校附近有个小摊卖鸡蛋灌饼。刚开始的时候只有一家….%,剩下的一对一和多人大班其实市场份额都很小。家长报培训班,是希望孩子能够学到知识。老师通过课上教学和课后辅导来满足孩子的需求,达到成绩提高的目标。我见过上百人的大培训班,为什么一个班这么多人?因为是名师讲课,但人太多坐后面,基本听不到重…是你的核心竞争力。想要得到用户的认同,你就必须做到产品质量好
旺道:实体店怎么做网络营销?
年纪大了,体力不好了,便赚不了什么钱了。所以,一定要在年轻的…写文案都是非常头痛的事情,那么下面我会给大家提供一个解决方案。在互联网营销系统里面有很多细节营销,软文营销就是其中一种,但好多小白头痛写文章,所以可以用这个方法也一样可以植入广告语,或者是图片广告,轮显切换广告,使用 旺道营销系统,也就是每…以帮你吸引海量精准粉丝。有了粉丝,你通过广告、产品、服务就可
旺道:圈里圈外,铁饭碗距离瓷饭碗究竟有多远?
中国人爱混圈子,从线下一直混到线上,各种奇形怪状的圈子勾勒出…不能推则敷衍了事,盼着混到主任科员退休;一种是老黄牛式,踏踏实实、兢兢业业工作,但拙于人际关系,活干得最多,但依旧不见晋升迹象;还有一种是提线木偶式,你扯一下线他动一下,好像脑子和身体是分离的。我突然一拍脑袋,这是提前衰老的迹象啊,工作内容…即使选择留在铁饭碗圈里,也应保有随时离开的思想警惕和进行必要
旺道:微信要双开了,朋友圈推广更好做了
现在手机只能登一个微信,如两个,三个微信的小伙伴们就只能退出…动推广工具、 设置头像点击头像图标,点“+”选择图片,可以上传你的企业,个人头像,产品服务等。旺道微信朋友圈广告免费朋友圈广告-旺道、 设置推广主题点“广告”,再点“+”设置推广的主题(类别),填好中文主题,以及你的网址。教你不花一分钱做朋…简直就是一劳永逸哟。如果你点开发布的文章看不到广告,那就是你
旺道:如何能让网站多个关键词排名百度首页?
最近接了一个单,做婴儿游泳馆加盟的。优化推广范围是全国,但是…泳馆加盟哪家好”、“婴儿游泳加盟多少钱”这类与我息息相关的词。如何能让网站多个关键词排名百度首页?但客户并不认同,客户说这个词指数低,或者说搜的人不多。是,这是一方面原因。但是,指数低有什么关系,你是卖产品还是卖指数。搜的人不多有什么关系,…实现广告效果最大化,来满足大众化的广告需求。对于这样的四两拔
旺道:如何成为网络营销达人?这个技能帮你节省80%的时间
在某次名师讲坛上,听到了一个让人警醒的故事。说有个村子缺水,…准的产品。现在已经不是新鲜事物,好多企业因为百度竞价的高额费用,头疼不已,所以做网站关键词优化排名,成为了企业必选的推广项目。做优化也要做到有成效,不然就是一分钱也是昂贵的。用 旺道智能机器人 就可以持续代替人工去做,它非常聪明,只要你够耐…手,设备先进,你多努力奔跑也于事无补。简单说,要去一个地方,

此文章来源来互联网,如果你有任何版权冲突,可以联络我们,微信号:WANCOME,QQ:1444641。加我们时,请说明来意,我们将优先处理你的问题。




商弈云推  | 一键推  | 随手推  | 圈推广  | 跨圈推
粤ICP备10213132号
旺道商标注册证号:8608864
Copyright © 2016 环企网络信息科技有限公司 版权所有