有空的时候我会写一些文章介绍搜索引擎技术。我只讲工业界真实在用的技术,不扯学术界的研究,道理显而易见。这篇文章是个overview,讲3个主题。第一,什么决定搜索引擎的用户满意度?第二,搜索引擎的链路长什么样?第三,工业界用什么样的指标衡量搜索引擎的表现?
经过业界长期的探索与实践,总结出影响用户满意度的三大因子——相关性、内容质量、时效性——其中任何一条没做好,都很容易被用户感知到,影响用户体验。此外,近些年来,随着智能手机的普及,移动端 APP 可以通过用户的历史记录刻画用户的兴趣点,让搜索引擎做到个性化,且我们发现个性化可以显著提升用户体验。我们还发现地域性也 是影响用户体验的一个因子,尽管它的效用低于相关性、内容质量、时效性、个性化。接下来我们逐一讨论上述 5 个影响用户满意度的因子。
相关性是影响用户满意度的因子中最重要的一个,没有之一。相关性是指查询词 q 和文档 d 在语义上相关的程度,而不仅是文本匹配程度。相关性是一个客观标准,只取 决于 q 和 d,而与具体的用户 u 无关。如果有背景知识的人普遍认为 q 与 d 语义相关,且 d 能满足 q 的需求,那么两者就具有高相关性。高相关性容易理解,但是低相关性有时不容易理解,有些 (q, d) 二元组貌似相关,但实则相关性很低,比如下图的例子。
内容质量是给文档 d 打的分数,这个分数相对静态,不容易发生变化。内容质量取决于两方面:一方面是文档的来源(网站、作者),业界俗称权威性;另一方面是文字、图片、视频质量,使用算法判定。大家熟知的Page Rank属于计算权威性的一种方法。
时效性主要指查询词 q 对新内容的需求有多强,需求越强,则文档年龄对排序起到的作用越大。查询词的时效性主要分为无时效性、突发时效性、一般时效性、周期时效性。
地域性的意思是当查询词 q 表达出对距离近的需求时,搜索引擎需要考虑到用户定位地点与文档中的地点(point of interest,POI)的距离。如果不对地域性的查询词做特殊处理,上海的用户搜索 q =“附近的美食”,搜索引擎可能给用户曝光文档“北京前门附近的美食”。当然,只有当用户允许 APP 获取设备定位时,搜索引擎才能解决好地域性的查询词。
个性化的意思是搜索引擎要考虑到用户的兴趣点,不同的用户搜索相同的查询词,搜索结果有所差异,这就是所谓的“千人千面”。为什么搜索要需要个性化?什么样的搜索引擎可以做到个性化?搜索引擎如何利用用户特征做到千人千面?这些留到以后讨论。
用户在搜索框中输入查询词,搜索引擎返回若干文档,并按照顺序呈现给用户。从 用户点击搜索按钮,到看到最终搜索结果,中间耗时约数百毫秒。在这期间,搜索引擎具体做了什么呢?这就要说到搜索引擎的链路。如图所示,搜索引擎的链路主要分为 查询词处理(query processing,QP)、召回(retrieval)、排序(ranking)。接下来我们逐 一讨论 QP、召回、排序。
QP 是链路上的第一环,用自然语言处理(natural language processing,NLP)技术从 查询词中提取很多信息,共链路下游的召回和排序使用。QP 中常见的任务包括分词、NER、词权重、查询词改写、类目识别、意图识别。
召回是链路上的第二环,从数亿的文档库中快速取回数万篇文档,并用简单的模型 和规则给文档打分,把分数最高的数千篇文档作为召回结果。搜索引擎通常有数十路召回通道,它们可以分为 3 大类。第一,文本召回,即做词匹配,用倒排索引检索相关的文档。第二,向量召回,主要是用双塔模型把 q 和 d 各表征为向量,线上用 ANN 索引做召回。第三,KV 索引召回,通过离线计算建立 key-value(KV)索引,在线上直接读取索引,作为召回结果。
排序包括召回海选、粗排、精排,形成一个三级漏斗。打分量逐级减小,模型规模 逐级增大,取得效果与成本间的平衡。海选用轻量级的模型和规则给数万篇文档打分,从中选出数千篇,作为粗排的候选集。粗排用稍大的模型打分,从数千篇文档中选出数百篇,作为精排的候选集。精排用深度神经网络打分,给数百篇文档打分,按照融合分数排序,展示在搜索结果页上。三级漏斗都需要在离线或线上调用各种模型,计算相关性、点击率(或交互率)、内容质量、时效性、地域性等多个分数。在算出各项分数之后,需要用公式或模型融合各项分数,按照融合分数做排序。
通用搜索引擎迭代优化的目标是提升用户满意度,如果用户对搜索结果更满意,则会有更高的粘性,带来用户规模和用户留存的增长。业界主要有三类指标,分别是规模和留存指标、中间过程指标、人工体验指标。
用户规模和用户留存是搜索的核心指标。用户规模主要用日活用户数(DAU)和月活用户数(MAU)衡量。留存主要使用“次n留”,今天(即第 t+0 天)使用 APP 的用户中,有多大比例的用户在未来 t+n 天内使用至少该搜索引擎。值得注意的是,并非所有的通用搜索引擎都可以规模、留存作为牵引指标。对于某些搜索引擎,不论做什么样的策略优化,规模、留存都不会增长。此外,规模、留存指标在AB测试中很难显著,而且具有滞后性,不利于实验观测。
中间过程指标主要包括有点比、点击率、首点位置、主动换词率,体验优化比较容易提升这些指标,在实验中很容易观测到显著性。中间过程指标通常与规模、留存指标正相关,因此算法工程师可以用中间过程指标决定策略是否launch的。这些指标中,最重要的通常是有点比,等于有点击的搜索次数除以总搜索次数。用户做一次搜索之后,如果点击了结果页的某篇文档,则本次搜索算是有点击。有点比等于发生点击的搜索次数除以总的 搜索次数。举个例子,今天搜索引擎一共做了 3 亿次搜索,其中 1.8 亿次搜索有点击,那么有点比等于 1.8/3 = 60%。
本文地址:http://lianchengexpo.xrbh.cn/quote/10385.html 迅博思语资讯 http://lianchengexpo.xrbh.cn/ , 查看更多