推荐系统三十六式
刑无刀
“贝壳找房”资深算法专家,8 年推荐系统工程师
43160 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 40 讲
开篇词 (1讲)
原理篇 · 深度学习 (2讲)
原理篇 · 其他应用算法 (3讲)
推荐系统三十六式
15
15
1.0x
00:00/00:00
登录|注册

26 | 总览推荐架构和搜索、广告的关系

在数字世界中,信息过载是必然的,应对信息过载重担先后交给了两种主要形式,包括以搜索为代表的各种主动寻找信息的形式,以及以推荐为代表的各种被动接受信息的形式。

三种信息获取方式

当用户想要从浩如烟海的网页中,找到对自己有用的信息,首选当然是搜索引擎,这是属于“已知的未知”需求,剩下的“未知的已知”和“未知的未知”则需要推荐系统去满足,只是推荐系统常常会出现画蛇添足去满足“已知的已知”这样的伪需求。
另外介于两者之间,还有一种商业化解决信息触达问题,就是广告系统。在线广告从条幅广告,到搜索广告再到社交精准广告,也逐渐形成了一个理念就是:把广告当成一种有用的信息去找到最需要它的人。
三者都是解决信息过滤问题的,那么它们有没有一些共同之处呢?答案是肯定的,这三者的确有共同之处,但是也有不同之处。

三者对比

搜索,推荐和广告本质上都在解决信息过载的问题,各自解决的手段、目标不相同,各自诞生在产品生命周期不同阶段,以至于系统实现也不尽相同。
我们从几个维度对比一下,看看它们不同和相同在哪。
搜索更关注内容消费者,搜索要解决的是精确快速找到想要的结果,最重要的目标是降低延迟和提高相关性。搜索引擎是一个效率工具,希望用户找到信息越快越好,而不是希望用户沉迷在搜索引擎中。
所以搜索一般不会像信息流产品那样变成时间杀手,不过现在有些搜索引擎会主推信息流,这个另当别论。
人们需要依赖搜索而不沉迷搜索,这就与搜索引擎的目标有关。在搜索解决用户的信息获取需求时,惊喜并不在考虑范围内,因此就不会随随便便地利用集体智慧去扩充一些不那么直接相关的结果。
推荐系统则不同,首先传统的推荐系统大都是起一个“锦上添花”的作用,一般很少会将其作为核心功能来承载产品。
由于推荐系统通常的目标不是帮用户找到相关内容,而是希望用户消费内容,消费越多越好,于是业界逐渐演变出一个比较畸形的认识,“好的推荐系统应该变成一个时间杀手,让用户走进去就不想出来”才是最好的。
推荐系统不同于搜索引擎,用户使用搜索时目标明确,而使用推荐系统往往总会漫无目的,这样一来,在推荐结果中就有很多发挥的余地,可以给用户制造一些惊喜,或者让推荐结果呈现多样性,这一点和搜索很不一样。
另外,搜索是针对个人用户的,一个用户发起一个请求,而推荐系统既可能针对单个用户进行推荐,也可能针对用户群进行推荐。
推荐和搜索除了这些不同,还有更多的是相同点。基于内容的推荐,本质上就是一个小的搜索引擎。
实际上很多推荐引擎底层的技术实现,尤其是数据存储上大量借鉴了搜索相关技术,比如使用用户的兴趣标签召回推荐结果,就需要先对推荐候选池按照兴趣标签建立倒排索引,从而检索出候选集。
最后,广告是一个很特殊的存在,前面也说了,搜索和推荐都是为人找信息,而广告是为信息找人。但它在形式上又像推荐,总是“不请自来”,在技术实现上又兼有推荐和搜索两者特点。
而且它背后包含的是纯粹的商业目标,说白了就是和广告的计费方式有关,如果按照展现次数计费,系统就是要多做展现。
如果按照点击付费,那么就是想办法消耗光广告主的充值,所以广告系统关注的是商业利益最大化,精准和相关都不是终极目的,只是其中的一个手段。

架构抽象

我们抽象一下三者的需求共性:本质上都是在匹配,匹配用户的兴趣和需求(看成 context),但匹配的目标,条件和策略不尽相同。示意图如下:
我们再进一步抽象下去,又可以分为三步:过滤候选、排序候选、个性化输出。

1. 过滤候选

过滤候选这一步在搜索里天经地义,从查询关键字中解析得到查询意图,以及结构化的搜索条件,再用结构化的查询条件从倒排索引中检索出排序候选。
与之相似的是广告系统,搜索广告也是查询关键字去检索候选广告,而联盟广告则是拿着用户标签去需求方获取广告候选。
在推荐系统中,我之前一再强调有挖掘、召回和排序三个阶段,其中的召回阶段就是过滤候选阶段,基于内容的就和搜索一样,用标签检索候选,协同过滤则检索出相似物品来,等等。
一种离线阶段的推荐算法对应一种召回策略,为了保证高效地召回,都要建立相应的索引,这样一来,是不是搜索、广告和推荐都离不开过滤候选这一步,而过滤候选就离不开建立索引。
事实上,如果你的产品已有搜索,要增加推荐功能,最快的实现方式的确就是在已有搜索的基础上开发。
比如,你已经有了 ElasticSearch 搭建的搜索引擎,那么在后面开发推荐系统时,完全可以把 ElasticSearch 作为管理各种推荐结果的数据库来使用。在 ElasticSearch 中按照不同方式建立索引,再于在线阶段根据条件检索出来,重新融合排序输出。

2. 排序候选

候选排序这一步,对于三者来说,主要区别在于排序的目标和约束。搜索的排序目标是高相关性,无论 BM25 为代表的传统排序模型,还是以 Learn to Rank 为代表的机器学习排序皆是如此,把用户每次在搜索上花费的时间是不是更少(而不是更多)来衡量搜索的效果。
推荐系统的排序则比较复杂,根据推荐系统不同的产品形式、产品目标,排序策略也不同。
前面讲过,通常推荐系统用 CTR 预估来融合召回策略得到的候选集,如果做得深入,还需要考虑探索利用问题。附加的约束则是千变万化。电商中,当天买过的当天就不能再推了,新闻推荐里,重复的新闻不能再推了。
某些场景需要推荐搭配,某些场景需要推荐相似,TopN 推荐还需要考虑多样性,序列推荐要考虑前序和后续等等。
广告系统的排序更多是从经济学角度去看,CPC 广告的排序方式是结合预估 CTR、出价、广告质量三者一起考虑。同时还要考虑很多别的因素,尤其是商业因素,平台方的要求,广告主的要求等等,是一个纯动态的博弈。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《推荐系统三十六式》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(11)

  • 最新
  • 精选
  • 宝宝疯
    Youtube允许用户在广告播放几秒后主动关闭广告是不是就算是用户为广告设置过滤条件?

    作者回复: 主动关闭,等于为不感兴趣的用户节省带宽,收集了负样本,倒闭广告创意提升质量,是对平台长期价值有好处的。

    5
  • 吴锴
    广告与搜索、推荐不一样之处在于,广告是用户、广告内容方和平台,三方利益的平衡。广告排序除了CTR,还要考虑广告出价,也就是ECPM的排序。

    作者回复: 是的。实际情况会复杂很多。

    5
  • 爱谁谁
    有用户会主动搜索广告吗?所以广告才要用推的形似吧

    作者回复: 和query匹配程度高,广告和信息之间的差别很小。

    1
  • 伍黎佳
    从业务的角度说下一种可能性: 平台如何告知商家,每次点击是受广告效果,还是其他非广告因素最终选择该商家? 以搜索为例: 1)在美团搜索“烤鸭”,会出现“xx烤鸭”的广告,带广告标识。(xx是店铺名)在默认排序的情况下(应该是考虑了评分,距离等各类因素) 2)第二步用“xx”关键字搜索,结果列表并没有“xx烤鸭”选项,反而是通过提醒的方式说明,“xx烤鸭”距离当前位置较远。(说明距离是排序的一个重要因素) 3)用“xx烤鸭”精准搜索,能直接显示“xx烤鸭”结果,并且没有广告标签。 综合,可以推测,美团可以用,我把非你附近,之前不知道你店铺名,喜欢吃烤鸭,几乎不可能主动到你店铺消费的客户通过广告的方式,引流给你。 这样一个较为清晰的定义,商户才肯为广告买单。 与上面给商户一个清晰有说服力买单理由相反的是很早之前的美团代金券,代金券最早的逻辑,是通过让利引来更多的流量,一旦这类方式达到引流瓶颈,商户的买单意愿会很低,因为带来的新流量很少,同时还得付出代金券与平台费的成泵。
    8
  • 林彦
    如果让用户自己检索选择展现的广告,有些广告主得到展示的机会会低很多,平台方和广告方的利益损失会比较大吧 😄
    2
    8
  • 颛顼
    这个通过什么手段可以避免用户搜什么就出什么的尴尬呢?这个长短意图如何识别?求推荐点资料
    6
  • zc
    一般人对广告应该是没兴趣,甚至是反感的吧,所以搜索广告没有市场
    3
  • 🐱您的好友William🐱
    要是能设置的话,我就把广告关了,或者把广告只设置成一个非常狭窄的分类。。。
    2
  • walter
    未知的已知是哪种推荐场景?
    2
  • Dan
    請問一下集體智慧是什麼?
    1
收起评论
大纲
固定大纲
三种信息获取方式
三者对比
架构抽象
1. 过滤候选
2. 排序候选
显示
设置
留言
11
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部