广告和推荐在召回候选集时的区别

兄弟你大概是刚进广告这行吧。
你大概可以理解为粗排和精排的区别。matching就是所说的召回,这一步主要是负责粗排,用一些比较basic的策略。为何要有这一步,因为妈妈广告千千万,每个请求都过来把所以广告排一遍系统扛不住啊,所以先需要粗排下,筛选出一个合适的大小,比如100个。这100个广告,接下来到ranking系统,进行精排,这部分才是一些高大上的算法。

■网友
谢邀,小弟在AI行业做一点点推荐系统工作,谈谈小弟的看法。
推荐系统之所以可以离线召回,因为用户的历史行为和兴趣都可以预测,相当于可以离线给你准备好推荐结果。就像我是毛主席的大厨,我知道他喜欢吃红烧肉,提前做好,他来了端上来就可以吃了。
广告系统其实等于推荐系统+广告主竞价。因为在用户使用的时候,除了要考虑用户行为,还要考虑哪些广告可以推(给的钱多,竞价排名高),也就是既要考虑用户兴趣,还要考虑金主的意志。就像我是韩信的大厨,我知道韩信爱吃炖牛肉,提前做好,但这时候,刘邦许我良田百亩让我给韩信下药,我喜欢当地主,还是在炖好的牛肉里放了点药。满足双方的需求。

■网友
广告有很多,比如就有展示广告和搜索广告等,以搜索广告为例,那些说query比较多无法离线计算好的可能是没有做过相关的搜索广告,query词切词后很多都是可以直接命中bid word的,再加上纠错改写等步骤可以命中尽可能多的bid word,这部分都是离线计算好的,只是bid-word召回的广告在变化而已。

因为是问搜索和推荐的区别,那么主要说一下展示广告与推荐的区别,就我实际的体验来看,最明显的区别就是推荐本身没有定向条件,可以按照协同过滤,热度召回,向量召回等各种方式来召回,而广告则不同,虽然召回的方案都差不多,但是最大的不同是广告主有定向条件有预算控制等,在广告主的预算耗尽时需要将广告主下的广告下架防止再被推出去。

上面是召回侧的不同,另外比如排序侧广告更关注ctr的顺序与距离,推荐则主要关注顺序,还是有许多的不同,评估方面推荐不仅关注点击率也关注多样性留存率等等,广告则比较纯粹,平台收入以及广告主支出率这些指标,即主要是和收入挂钩。

总体来看,二者的技术栈还是比较相似的。

■网友
首先广告候选集是实时变化的,尤其是广告下线是一定需要做到实时的,不然损失比较大。候选集是实时变化,所以没法离线算好。
然后推荐的离线计算只支持候选集低频更新的场景,如果候选集高频更新一样是需要实时召回。

■网友
广告的召回是来了一个query要实时计算的,因为query是不确定性的,不可枚举的
推荐的召回,比如user和item相对确定且可枚举的,因为可以离线去计算好存到k-v数据库中,然后在线实时读取就好了,新user和新item一般专门的冷启动方法优化召回结果
离线计算的优势是可以选取比较复杂的模型,而在线只能选择比较轻的模型


■网友
按我的理解,应该区别广告有定向条件,而推荐系统没有。
定向条件的意思是广告主可以选择广告只投放给哪些用户,比如男性,深圳等等条件。

■网友
广告召回要考虑context,context是比较未知或者多变的广告定向或者说限制条件更严格
■网友
除了广告主的定向条件限制外,可能还和广告报价、预算、合约广告的流量调控等实时因素有关系

■网友
因为广告的粗排需要考虑定向以及广告主出价,不仅仅是打个pctr分就可以排序过滤了

■网友
广告和推荐系统还是有差异的:
(1)广告推荐时需要考虑广告的有效性(是否在投放时段,是否有预算等等),必须是实时有效的广告才有可能进行推荐。
【广告和推荐在召回候选集时的区别】


推荐阅读