欢迎光临本站!

搜索引擎查询系统-中文自动摘要

来源:技术探讨    更新时间:2019-12-12 14:22:16    编辑:老王    浏览:228

  中文自动摘要是搜索引擎返回给用户查询结果的重要组成部分,使得用户只需要浏览摘要即可了解需要查询的信息。

  自动摘要的发展历史


  自动摘要技术比较复杂,涉及自然语言处理(NLP)的核心部分。在详细介绍这部分知识之前,首先来回顾自动摘要这项技术的发展历史。

  1958年,IBM公司的 H. P Luhn首次发表第1篇有关自动生成文摘的文章[Luhn1958],宣告了该项技术的诞生,至今自动文本摘要的研究已走过了40多年的历史。

  进入20世纪90年代,随着电子出版系统和互联网的蓬勃发展,自动文本摘要的价值充分显露出来,越来越受到国内外研究者的重视。

  1993年12月,在德国 Wadern召开了历史上第1次以自动文本摘要( Summarizing Text for Intelligent Communication)为主题的国际研讨会

  1995年,国际期刊 Information Processing& Management出版了一期题为" Summarizing Text"的专刊,标志着自动文本摘要时代的到来。

  1995年以后,特别是以 Google为代表的搜索引擎的兴起,自动摘要技术被应用到了搜索引擎的查询结果展示上。

  以下我们所说的自动摘要特指搜索引擎领域内的自动摘要提取技术。

  自动摘要的含义和实现


  自动文本摘要简称“自动摘要”,是从文档中自动提取出的个正文片断。用户仅仅需要浏览自动摘要就能够了解文档中与查询词相关的部分,进而判断是否值得详细阅读整篇文档。对于同样的一篇文档,其自动摘要对于不同的查询词是不同的。因此自动摘要的计算是实时的,并且是和查询相关的。既需要考虑“效率”,也需要考虑"效果"。

  自动摘要在搜索引擎中的实际应用如图6-16所示。

搜索引擎查询系统-中文自动摘要

  其中方框标出的部分为自动摘要部分,可以看出自动摘要的内容均为实际网页中正文的一个片断。查询词用红色字体标出,这种标识位置信息的技巧在搜索引擎行业称为“标红”。

  摘要是搜索结果重要的一个环节,从严格定义上说,它必须包含如下4层含义。

  (1)摘要指示性:摘要必须出现查询词,必须能够指出查询词在文档中的位置。

  (2)擁要描述性:如果是多个查询词,摘要有限的篇幅最好能够包含全部査询词。如果不能包含全部查询词,也需要尽可能包含权重更高的查询词。

  (3)摘要简洁性:摘要长度必须控制在一定范围内,既不能太短,也不能太长。

  (4)搞要完性:摘要的句子必须完整,而且摘要的每个组成部分都必须从句子的首部开始,不允许中间断句。

  结合第四章“搜索引擎分析系统”中提到的投票算法,以及这里介绍的滑动窗口方法可以较好地解决自动摘要的提取问题并且满足上面提到的摘要的4个特性一一指示性、描述性、简洁性和完整性。

  滑动窗口实现自动摘要包括如下步骤。

  (1)在文档正文中标记查询词出现的位置(这部分工作事实上在创建倒排索引时已经完成,每个关键词在文档中出现的位置均被标识)。

  (2)从第1个查询词开始,取出窗口长度的正文片断作为第1个候选窗口。接下来,每次窗口滑动到下一个出现的查询词开始。同样取出窗口长度的正文片断作为候选窗口,直到取完全部的候选窗口。

  (3)在每个候选窗口包含的正文片断中,累计候选窗口中出现的全部查询词的权重作为候选窗口的评分,最终评分高的候选窗口选做自动摘要提取的结果输出。

  滑动窗口的方法与第四章中介绍的 Shingle算法很类似,不过这里每次滑动的距离不定。如果大段的章节没有出现查询词,则能够一次跳过。由于降低了候选评分的计算量,因此提高了自动摘要计算的效率。

  下面通过一个完整的例子来说明整个摘要提取的过程,假设有如下这样一个文档(用斜体表示)。

  搜索引擎包含了各个学科的概念和知识,这些学科包含了计算科学、数学、心理学等。特别是数学几乎在搜索引擎的各个系统都大量使用,例如布尔代数、概率论、数理统计等,这些数学知识的应用为搜索引擎解决了一个个的难题,最终使得搜索技术走向成熟。

  假设每个滑动窗口取40个汉字,标点符号也作为一个汉字。查询词为“搜索引擎数学”,其权重采用·TF/DF方法量化后分别为6和4,那么摘要提取的步骤分为下面几个阶段。

  (1)计算查询词在正文中的位置信息,并由<位置,查询词长度,查询词权重>这样的三元组来表示,如图6-17所示。

搜索引擎查询系统-中文自动摘要

  在标记位置的3个分量中,第1个分量表示查询词在文档中的位置,第2个分量表示查询词的长度,第3个分量表示查询词的权重。例如第1个位置信息<0,4,6>表示的含义为在文档的位置0处出现了一个权重为6且长度为4个汉字的查询词。

  (2)从文档正文第1个查询词出现的位置开始,取窗口长度大小的片断作为第1个候选窗口。下面每次窗口滑动到下一个查询词出现的位置,同样取窗口长度大小的片断作为下一个候选窗口。这样循环往复,直到取完所有的候选窗口为止。如果在上步中标识了n个查询词出现的位置,按照这种计算方法,理论上就应该有n个候选窗口。参考图6-17的查询词位置标识(斜体下划线的词为查询词),可能的候选窗口的起始位置为0、30、4146、80及88。每个窗口最大取40个汉字,最后得到6个候选窗口如图6-18所示。

搜索引擎查询系统-中文自动摘要

  在图中,由于正文包含了6个关键词,因此从每个关键词开始都需要取一个窗口,或者理解为窗口每次滑动到下一个关键词开始处。这样共有6个候选窗口,每个窗口最大取40个汉字。

  事实上,还需要设置最小窗口长度,用来保证摘要不会过短。如果最小窗口长度设置为30,则窗口6就不会成为候选窗口,从而避免不必要的计算。

  (3)利用投票算法对各个候选窗口打分,分数最高者为最佳摘要。

  如下分别计算每个窗口的得分情况

  候选窗口1:包含“搜索引擎”和“数学”各一次,因此得到10分。

  候选窗口2:包含“搜索引擎”一次,“数学”两次,因此得到14分。

  候选窗口3:包含“搜索引擎“和"数学”各一次,因此得到10分。

  候选窗口4:包含“搜索引擎”和“数学”各一次,因此得到10分。

  候选窗口5:包含“搜索引擎”和“数学”各一次,因此得到10分。

  候选窗口6:包含“搜索引擎”一次,因此得到6分。

  综上,最佳摘要为候选窗口2包含的正文片断。回顾摘要包含的4个含义,考察候选窗口2。虽然其中包含了查询词,也具备了一定的长度,而且通过投票算法打分胜出。然而候选窗口2表达的句子不够完整,至少没有从一个完整句子的句首开始。

  在前面的例子中,假定窗口大小固定不可变,因此取出不完整句子是不可避免的,因此必须从窗口大小入手解决这个问题。即允许窗口大小在一定范围内变动,这种变动主要包含如下两种情况。

  (1)窗口缺失句首部分,尽可能向前多包含几个汉字。例如候选窗口2,缺少了句首“特别是”这个词,因此窗口可以增大头部包含这3个汉字。

  (2)窗口包含了下个句子的开头部分,而并没有实际的意义。例如候选窗口3包含了下一个句子的开头部分“这些数”,这些部分可以去掉,因此窗口可以缩小尾部去掉这3个汉字。

  综上,实际的候选窗口能够通过标点符号进行小范围内的调整以尽可能地包含一个完整的句子。微调后的候选窗口如图6-19所示。

搜索引擎查询系统-中文自动摘要

  由于使用候选窗口的微调,所以可能会出现如图6-19所示的候选窗口重复的情况。例如,候选窗口5和候选窗口6包含完全致的正文片断这些相同的候选窗口需要合并成一个候选窗口。接下来同样采用投票打分的方法,可以得到候选窗口2是最佳候选窗口。因此对于“搜索引擎数学”这样的查询,提取的自动摘要为正文片断“特别是数学几乎在搜索引擎的各个系统都大量使用,例如布尔代数、概率论、数理统计等”。

  完成自动摘要的功能后,查询系统就可以拼接检索模块得到的文档和自动摘要模块得到的摘要从而生成最终的搜索结果页,下面一节中将介绍如何生成搜索结果页。

评论区

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

相关内容

点击排行

随机新闻

评论排行榜