【一些理解】搜广推:推荐、广告、搜索算法的区别、入坑?
文章目录
- 【一些理解】搜广推:推荐、广告、搜索算法的区别、入坑?
- 1. 根本区别
- 2. 目标上的区别
- 3. 模型上的区别
- 4. 辅助策略和算法上的区别
- 参考
作为互联网的核心应用“搜广推”,三个方向基本都是互联网公司的标配。各头部公司的搜广推系统也都各自发展成了集成了多种模型、算法、策略的
庞然大物,想一口气讲清楚三者的区别并不容易。不过万事总有一个头绪,对于一个复杂问题,直接深入到细节中去肯定是不明智的,
我们还是要回到问题的本质上来,回到搜广推分别想解决的根本问题上来,才能一步步的把这三个问题分别理清楚。
题外话,网上流传:
建议入坑NLP
cv已死,
搜推广增长困难。
- 不过这年头,大模型确实把热点全占,各大公司对于大模型方向的岗位需求也多了起来。
- 期待LLM也能带来搜广推方向的 greater again,继续启动。
不过褒贬不一,也有的大佬认为:
搜广推仍然是一个“容量大,高度高”的行业,但要以一个对待正常行业的态度来对待这个行业,
而不是总是以“踩风口,吹飞猪”的态度来选择这个行业。
就目前来说,也就是新业务和新场景有模型的提升空间,绝大部分成熟业务的提升都不在单纯的模型结构上,
反而是工程上的优化,不是盯着paper复现就完事了,是既要动手做脏活也要动脑想业务,
没有银弹是搜推广比大模型方向更大的价值所在。
- 还是得看个人能力
1. 根本区别
-
广告:一个公司要搭建广告系统,它的商业目的非常直接,就是要解决公司的收入问题。解决广告主、平台、用户三端的问题,本质上其实是为了解决广告主的需求。
- 所以广告算法的目标就是为了直接增加公司收入。
-
推荐:推荐算法虽然本质上也是为了增加公司收入,但其直接目标是为了增加用户的参与度。
- 只有用户的参与度高了,才能让广告系统有更多的inventory,进而增加公司营收。
-
搜索:搜索要解决的关键问题全部是围绕着用户输入的搜索词展开的。当然这个与 NLP 更相关。
- 虽然现在搜索越来越强调个性化的结果,但是一定要清楚的是,推荐算法强调的个性化永远只是搜索算法的补充。“围绕着搜索词的信息高效获取问题“才是搜索算法想解决的根本问题。
关于广告和推荐:(技术上比较类似,都是用户没有明确的目标,需要平台加以引导)
- 技术角度
- 两个岗位核心工作都是从海量数据里去个性化的筛选并推荐用户可能感兴趣,发生点击/转化等行为的item;基于这个核心目标,两边通用技术架构非常相似,都有召回/粗排/精排,去依次筛选候选item,训练优化ctr/cvr模型,加速冷启动item;在这些工作,两边的技术完全通用,一般面试两边也是互相认可的。
- 不同的是,广告系统涉及到广告主/平台/用户三端,广告主可以通过广告预算&出价参与到广告系统并影响到最终的排序(竞价结果),广告系统也会根据预算消耗,广告主转化目标等来影响实际竞价出价;这里涉及的主要是出价竞价计费模块,包括很多成熟的概念和技术,包括pacing, bidding等等。
- 所以从技术角度而言,做模型做策略因为技术通用,两边都会比较认可;
- 而只做广告出价算法部分可能后期转回推荐存在一些不匹配;
- 广告出价部分位于整个系统下游,靠近send,对系统影响比较大,但是也是很重要的工作
- 产品定位
- 推荐算法目前业界有太多场景,主要还是根据产品主营业务目标来定优化目标,比如信息流推荐更关注用户完播率/停留时长等,商品推荐更关注转化/GMV等;
- 广告算法更多关注的是平台收入和广告主ROI这点不同场景均较为相通
2. 目标上的区别
- 广告:各大公司广告算法的预估目标非常统一,就是预估CTR和CVR。这是跟当前效果类广告的产品形态密切相关的。因为CPC和CPA计价仍是效果类广告系统的主流计价方式。所以只有预估出CTR和CVR,才能反向推导出流量的价值,并进一步给出合理的出价。所以针对这样的目标,广告算法非常看重把预估偏差当作首要的评价指标。
- 推荐:推荐算法的预估目标就不尽相同,视频类更多倾向于预测观看时长,新闻类预测CTR,电商类预估客单价等等这些跟用户参与度最相关的业务指标。而且由于推荐系统的推荐场景是生成一个列表,所以更加关注item间的相对位置,因此评估阶段更倾向于用AUC,gAUC,MAP这些指标作为评价标准。
- 搜索:搜索的预估目标又有所不同,因为相比广告和推荐,搜索某种意义上说是存在着“正确答案”的。所以搜索非常看重能否把这些正确答案给召回回来(广告和推荐也关注召回率,但重要性完全不同)。所以搜索系统往往会针对召回率,MAP,NDCG这些指标进行优化。
总的来说,广告算法是要“估得更准”,推荐算法是要整体上“排的更好”,搜索算法是要“搜的更全”。
3. 模型上的区别
- 广告:由于广告算法要预测“精准”的CTR和CVR,用于后续计算精确的出价,因此数值上的“精准”就是至关重要的要求,仅仅预估广告间的相对位置是无法满足要求的。
- 这就催生了广告算法中对calibration方法的严苛要求,就算模型训练的过程中存在偏差,比如使用了负采样、weighted sampling等方式改变了数据原始分布,也要根据正确的后验概率在各个维度上矫正模型输出。此外,因为广告是很少以列表的形式连续呈现的,要对每一条广告的CTR,CVR都估的准,广告算法大都是point wise的训练方式。
- 推荐:推荐算法的结果往往以列表的形式呈现,因此不用估的那么准,而是要更多照顾一个列表整体上,甚至一段时间内的内容多样性上对于用户的“吸引力”,让用户的参与度更高。
- 因此现在很多头部公司在算法设计时,不仅要考虑当前推荐的item的吸引力,甚至会有一些list level,page level的算法去衡量整体的效果进行优化。也正因为这一点,推荐算法有大量不同的训练方式,除了point-wise,还有pair-wise,list-wise等等。此外为了增加用户的长期参与度,还对推荐内容的多样性,新鲜度有更高的要求,这就让探索与利用,强化学习等一些列方法在推荐场景下更受重视。
- 搜索:对于搜索算法,我们还是要再次强调搜索词的关键性,以及对搜索词的理解(牵扯到NLP)。正因为这样,搜索词与其他特征组成的交叉特征,组合特征,以及模型中的交叉部分是异常重要的。对于一些特定场景,比如搜索引擎,我们一定程度上要抑制个性化的需求,更多把质量和权威性放在更重要的位置。
4. 辅助策略和算法上的区别
除了主模型的差异,跟主模型配合的辅助策略/算法也存在着较大的区别。
- 广告系统中,CTR等算法只是其中关键的一步,估的准CTR只是一个前提,如何让广告系统盈利,产生更多收入,还需要pacing,bidding,budget control,ads allocation等多个同样重要的模块协同作用,才能让平台利益最大化,这显然是比推荐系统复杂的。
- 推荐系统中,由于需要更多照顾用户的长期兴趣,需要一些补充策略做出一些看似“非最优”的选择,比如探索性的尝试一些长尾内容,在生成整个推荐列表时要加入多样性的约束,等等。这一点上,广告系统也需要,但远没有推荐系统的重视程度高。
- 搜索系统中,大量辅助算法还是要聚焦在对搜索词和内容的理解上。因此搜索系统往往是应用NLP模型最重的地方,因为需要对大量内容进行预处理,embedding化,进而生成更理解用户语义的结果。比如最典型的例子就是airbnb对搜索词embedding化后,输入滑雪skiing,会返回更多滑雪胜地的地点,而不是仅仅是字面上的匹配。
参考
【1】https://www.zhihu.com/question/352223644/answer/2412006147
【2】https://zhuanlan.zhihu.com/p/430431149