在上一节的搜索引擎原理教程中,我们知道了搜索引擎是如何对用户的查询进行检索排序的,然而只是得到了文档列表还不能形成完整的结果页面,我们还需要对返回的排序列表的每一项进行中文自动摘要,本节黄聪就分析一下搜索引擎是如何实现这个技术的。

中文自动摘要

上图所示的就是在百度搜索“搜索引擎原理”得到的结果页面,其中红框内的内容就是百度搜索引擎自动生成的摘要内容。

自动摘要的要求

  • 1、摘要提示性:摘要必须出现查询词,必须能够指出查询词的位置。
  • 2、摘要描述性:如果多个查询词,摘要有限的篇幅最好能够包含全部查询词。如果不能,需要尽可能包含权重更高的查询词。
  • 3、摘要间接性:摘要长度必须控制在一定范围内,不能太长,也不能太短。
  • 4、摘要完整性:摘要的句子必须的是完整的。而且摘要的每个组成部分必须是句子的首部开始,不能中间断句。

实现自动摘要的步骤主要有3步:

  • 1、在文档正文中标记查询词出现的位置(这部分工作在创建倒排索引时完成)
  • 2、从第1个查询词开始,取出一定长度的正文片段作为第1个候选片段。接下来,找下一个查询词出现的地方,同样取出一定长度的正文片段作为候选片段,直到取完所有的候选片段。
  • 3、计算每个候选片段的权重,然后将权重高的片段组合成最终结果输出。

实现自动摘要的步骤

小结

实现了本文所说的中文自动摘要和上一节的文档排序后,我们就可以生成搜索结果页了,我们在下一节《4.3、搜集引擎信息查询服务--生成搜索结果页》中探讨。