3.2.2 排序模块:决定搜索结果

索引模块构建完成后,搜索系统在识别模块收到用户查询信息时,便会在排序模块中将视频内容按照相关性与重要性进行排序,这决定了用户最终会看到什么样的搜索结果。与推荐系统类似,排序模块分为召回策略与排序策略。召回策略中主要分为完全匹配与模糊匹配,完全匹配召回量太小的话就启用模糊匹配;排序策略里则需要根据相关性、时效性、播放量等因素进行综合计算,如图3-15所示。

图3-15 排序模块原理架构图

1.召回策略

召回策略讲究快速、高效,分为完全匹配与模糊匹配,优先级是先进行完全匹配,后进行模糊匹配。完全匹配指的是将与搜索查询词完全匹配的内容排在最前面,主要是匹配标题、简介、作者名称等。如果完全匹配召回的内容较少,那么系统会进行模糊匹配,对搜索词进行拆解,提取搜索词的前缀、后缀、进行分词等,去匹配其中某一部分的内容,并将其排在前面。举个例子,当用户输入“周杰伦发行的第四张专辑”这样的查询词时,如果完全匹配召回的内容过少,搜索系统会将搜索查询词拆分成“周杰伦”“第四张”“专辑”进行模糊匹配,而用户可能在“周杰伦”这个词的召回里找到周杰伦的百科,进而找到其第四张专辑的资料。

召回策略需要注意以下三方面的问题。

(1)匹配粒度要适中

匹配的范围如果过于精细,则有可能造成相关的结果被误截断;匹配的范围如果过于宽泛,则可能引入太多和搜索词不相关的杂乱内容,所以匹配粒度需要在适中的范围。

(2)召回需要有结果

对过长的输入查询,搜索系统一般会直接返回空搜索结果,智能化的搜索系统会将此输入查询去掉某些权重较低的词,缩减搜索信息后再次查询。一般为了提升用户体验,要求搜索必须有结果,或者用合适的文案说清楚原因。

(3)召回结果应具有多样性

这里主要是针对短语搜索,例如用户搜索“苹果”,其目的到底是想了解苹果公司的信息,还是想了解苹果这种水果呢?所以需要尽可能将多种可能的搜索结果都召回进来。

2.排序策略

针对搜索的排序策略,除了如推荐章节里介绍的算法模型外,这里我们需要重点介绍下需要考虑的相关度、新鲜度、权威度、联想度、场景性等特征。

(1)相关度

相关度是衡量内容与用户检索需求最高优先级需要考虑的因素,与搜索查询相关度越高的内容排序应该越靠前,该因素权重也应较高。

(2)新鲜度

新鲜度衡量搜索引擎对突发性事件的响应程度,特别是对于新闻类内容,用户肯定期望看到最新的内容,而不是两年前的陈旧消息,所以越新鲜的内容排序也应该越靠前。

(3)权威度

随着自媒体内容的日趋丰富,对于相同的搜索查询,可能自媒体因为风趣的语言和夸张的图片,其内容获取了更高的流量,而权威百科因为只有枯燥的数据和事实,从而导致内容流量低于自媒体内容,这种情况下如果唯流量论,那权威内容势必会排在较后,所以需要对权威度进行调权,以保障用户能看到官方内容。

(4)联想度

联想度指的是当用户搜索的是无明显意图的词时,需要搜索引擎去猜测用户多样化的潜在意图,比如用户搜索“感冒”,我们应该将感冒症状、治疗方法、预防手段、传播路径、药品等内容都穿插着展现给用户,这体现了搜索引擎针对用户搜索词的发散联想。

(5)场景性

针对用户不同的搜索需求,应该针对其特定场景将适配搜索结果提前,例如用户搜索“北京到上海的高铁”时,应该将12306购买高铁票的网址置顶;用户搜索“洗衣液”的时候,应该将商品广告提前,方便用户查询后立即下单购买。

搜索引擎其实是个非常复杂的系统,在真实的排序环境中,以上五个因素往往会相互影响,其权重大小也需要根据实际情形动态调节。