大家好,我是kaiyuan。好久没码字了,趁着五一在家整理整理,毕竟北京这疫情哪儿也别想去
虽然我们之前分享过很多 #搜索推荐广告 方面的文章,但是发现很难有一个系统的框架,无法串联成完整的链路。于是,不如就以业务链路为核心,来好好地整理。这一系列规划的整体大纲如下,欢迎催更~
针对每个模块,重点在解释清其在系统中的位置和功能、面临的难点以及业界baseline和前沿解决方案。今天作为第一篇,不会深入具体技术细节,简单聊聊搜索大背景及其兄弟业务:推荐和广告。
【PS. 受限于个人水平和经验,欢迎讨论指教~ 内容也会随认知的深入不断更新】
流量和变现是互联网公司能否成功的两个关键因素,纵观所有公司发展,无一不是先砸钱打开市场、培养用户粘性(流量),然后开始想法子变现。搜索、推荐、广告,作为互联网公司的标配,基本撑起了全部的流量和收入。作为大厂核心应用,存在很多相似的地方,譬如
- 数据 :量大而杂乱,虽然有取之不尽的用户日志,但如何从中过滤噪声提取真正有增益的信息,是一大难题;
- 算法 :创新与落地,三者很多算法模型都是相似的(搜推广算法有多卷就不用我多说了吧~)。另外,不同于cv/nlp等偏离线的算法,为了不影响用户使用体验,必须考虑在线延时的影响,这就要求算法模型需要考虑效果和性能的trade off;
- 架构 :经典三段式,同样受限于性能,常见的搜推广通常都是由『召回-粗排-精排』级联式三个板块组成。
搜索 VS 推荐 VS 广告
虽然三者之间存在诸多相似点,但深入细节,仍然会存在巨大差异,这也就是为什么通常需要搭建不同的团队来针对性地负责。甚至即使是单一方向,譬如推荐,面对不同的场景,也会有不同的团队来优化。
问题定义的区别
- 搜索:搜索的经典场景是用户主动输入查询query,较明确地表达需求,然后搜索引擎从数据库中检索得到topK最优结果,最后展现给用户,这是一个用户主动获取信息的过程。
- 推荐:推荐一般不存在用户主动提供query,而是系统根据其用户画像(性别、职业...)以及历史行为(浏览、点击、收藏...)等,排出最可能使用户消费的内容展现出来,这是一个用户被动获取信息的过程。
- 广告:一般广告的参与有三个角色:广告主、平台和用户。与搜推的为用户找信息的过程不同,广告则是为信息找人,目的也非常直接,纯粹就是为公司增加收入,可以说是离 最近的业务了。
业务目标的区别
- 搜索:相比与推荐和广告,搜索在某种意义上是存在『正确答案』的,即用户是带着明确目的来完成这次行为的。所以搜索第一目标就是相关性,能否将这些"正确答案"展现给用户;其次目标才是CTR/CVR/GMV等。随着相关商品量和算法的发展,现在也越来越强调类似推荐的 个性化/千X千面 。
- 推荐:推荐算法的预估目标就不尽相同,视频类更多倾向于预测观看时长,新闻类预测CTR,电商类预估客单价等等这些 跟用户参与度最相关的业务指标 。
- 广告:各大公司广告算法的预估目标非常统一,就是 预估CTR和CVR。
算法模型的区别
搜索、推荐、广告三者的模型相对是"通用"的,一个方向上效果不错的模型稍作修改即可适配到另外一个方向,譬如多向量表达MIND本是推荐召回的模型,现在在很多搜索召回中也普遍应用来解决多兴趣问题。要说区别,更多的可能是样本、特征这些方面的不同。
更详细深入推荐知乎@王喆老师的:
- 排得更好VS估得更准VS搜的更全「推荐、广告、搜索」算法间到底有什么区别?[1]
网页搜索 VS 电商搜索
针对搜索而言,根据场景的不同,可以细分为很多种:网页搜索、电商搜索、视频搜索、O2O搜索等等。这里看两大类:网页搜索(如百度、搜狗等)和电商搜索(如淘宝、京东等)。那同为搜索引擎,这两者有什么区别呢?
- 数据差异, 主要体现在规模、来源、组织结构等方面。
- 规模:网页搜索使用的数据一般是万亿级的规模,有超过万亿的网页,但是商品搜索的话,根据客户规模的大小,商品的 SKU 数或者 SPU 数基本上是亿到十亿这个级别,与网页搜索不在一个量级,理论上是网页搜的一个子集;
- 来源:网页搜索使用的是整个互联网的数据,而商品搜索,往往是一家企业内部的数据,而且这些数据存储在它的业务数据库或者数仓里,相对来说数据是比较好处理的;
- 结构:网页搜索使用的是全网的非结构化数据,需要额外的非结构化数据处理工作;而对于商品搜索,使用的是优质的结构化数据,比起网页搜索里面参差不齐的非结构化数据,少了一部分数据整理和处理的工作;
- 重点优化目标差异 。网页搜索主要是优化网页和搜索词的相关性与时效性;而电商搜索主要优化目标是点击率 ( CTR )、转化率 ( CVR )、交易额 ( GMV )等,当然既然作为一个搜索系统,这些目标也是在相关性的基础上去做;
- 个性化程度差异 。网页搜索一般情况下也能做到个性化,通常像谷歌、百度等搜索公司在个性化上也会做一些工作,但是对个性化的要求并不高;而商品搜索对个性化的要求很高,比如搜索的时候,不同的人消费能力的不同,那么排序的时候,需要考虑把合适价格的产品返回给不同消费能力的人群。个性化要求的不同是网页搜索和商品搜索的重要区别,这就决定了两者技术实现的不同。
电商搜索系统
最后看几个图,对整体的搜索系统有个high-level的认知。
淘宝搜索
来自阿里KDD'21的论文:《Embedding-based Product Retrieval in Taobao Search》,介绍了淘宝搜索引擎:Query ---> Recall召回 ---> Rank排序
京东搜索
来自京东的分享 电商搜索中的语义检索与商品排序[2] 以及论文Towards Personalized and Semantic Retrieval: An End-to-End Solution for E-commerce Search via Embedding Learning[3],包括三个重要组成部分:
- Query 理解:包括 query 的纠错、改写、扩展、分词等。
- 召回阶段:给定一个查询词,从商品库中召回有效正确的商品候选集,并将结果返回给排序,召回方式有很多种。
- 排序阶段:给定召回商品的候选集合,根据众多因子对这些商品进行排序,挑选出最好的候选商品展示给用户。
美团搜索
美团搜索同我们上面说的网页搜索、电商搜索还有些不同,是典型的O2O搜索。美团搜索的核心是提供服务,例如团单、旅游、医美等(也有同电商搜索一样的商超形态);另外一个重要的特点是 位置的重要程度非常高 。
下图是美团搜索系统流程,整体流程分为数据层、召回层、排序层和展示层,不赘述,看图就非常清晰了。
58同城搜索
发展历史
搜索推荐广告密不可分,发展历程基本一致,同每个行业一样,互联网的项目大都发展历程也是
- 项目运转:先让项目跑起来,流程走通
- 自动化:项目跑起来后,开始从人力到自动化过渡
- 智能化:完成自动化后,优化项目进行智能化提升效果
早期数据量少,靠人工即可做简单分类,所以门户网站在那时占据主导地位。年纪小的小朋友可能不太了解,但千禧年左右的中国最初的互联网三巨头是三大门户网站:新浪、网易、搜狐,当时二马还是以学生姿态向当时中国互联网第一人张朝阳学习讨教。海外雅虎门户作为互联网公司的先驱,开创了向广告主收费,用户免费的模式,为互联网的普及打下基础,否则若再像传统移动、联通、T-Mobile按次收费或量收费的模式,互联网的推广还要再晚不知道多少年。
03年至12年的十年属于搜索和社交的十年。全网搜索、细领域搜索,Google、百度等一众搜索起家公司开始腾飞。社交方面,熟人社交、陌生人社交,腾讯、Facebook、Twitter等通讯工具、媒体中介起家公司也开始腾飞。可以说这十年是互联网行业黄金十年。在资本积累之后,有大量的财力去反哺技术,实现了基于关键词等等的自动化能力。
12年至今,随着互联网的蓬勃发展,信息更一步爆炸,用户的需求也进一步提高,这就要求互联网公司要能提供更智能化,更贴近用户想要的才能更好的发展。所以,搜索推荐广告针对各垂直领域进行了细分优化,衣食住行,淘宝、美团、链家、滴滴...
好啦,下篇见~
本文参考资料
[1]
排得更好VS估得更准VS搜的更全「推荐、广告、搜索」算法间到底有什么区别?: https://zhuanlan.zhihu.com/p/430431149
[2]
电商搜索中的语义检索与商品排序: https://zhuanlan.zhihu.com/p/465504164
[3]
Towards Personalized and Semantic Retrieval: An End-to-End Solution for E-commerce Search via Embedding Learning: https://arxiv.org/pdf/2006.02282.pdf
[4]
王喆:排得更好VS估得更准VS搜的更全「推荐、广告、搜索」算法间到底有什么区别?: https://zhuanlan.zhihu.com/p/430431149
[5]
多业务建模在美团搜索排序中的实践: https://tech.meituan.com/2021/07/08/multi-business-modeling.html
[6]
深度语义模型 BERT 在 58 同城搜索的实践: https://www.6aiq.com/article/1617063677499
[7]
电商搜索中的语义检索与商品排序: https://zhuanlan.zhihu.com/p/465504164
[8]
如何构建一个好的电商搜索引擎?: https://www.infoq.cn/article/ixobeuyc5q0b1dmhrwh7
[9]
搜索推荐广告: https://chmx0929.gitbook.io/machine-learning/sou-suo-tui-jian-guang-gao/sou-suo-tui-jian-guang-gao