本文主要参考了宗成庆老师的《统计自然语言处理》和 南京邮电大学刘霞的硕士论文《基于潜在语义分析的单文本自动摘要方法研究》。
背景
文摘的定义
国际标准《文献工作—出版物的文摘和文献工作》 (ISO214-1976(E))中的文摘指的是:“一份文献内容的缩短和精确的表达,无须补充解释或评论,且对写文摘的人来说没有差别。”由此可见,文本摘要是原文内容的压缩,能够正确无误的反应原文的主要内容,并且具有可读性。
文本自动摘要技术是利用计算机自动实现文本分析,内容归纳和摘要自动生成的技术;
文摘的意义
网络上巨大的信息量使得信息检索的难度加大,而信息摘要对于信息的发布者,使用者以及搜索引擎都有着重要的作用。如果能提供给用户简短的文本摘要则可以帮助用户快速地找到所需要的信息,提供给搜索引擎则可以提高检索速度。
由于人工提取摘要工作量巨大,自动摘要技术受到了广泛的重视和研究。
技术概要
文摘的分类
- 根据文摘的功能划分,可以分为指示型文摘,报道型文摘 和 评论型文摘;
- 根据输入文本的数量划分,可以分为 单文档摘要,多文档摘要;
- 根据原文语言种类划分,可以分为 单语言摘要 和 跨语言摘要;
- 根据文摘和原文的关系划分,可以分为 摘录型文摘 和 理解型文摘。摘录型文摘由从原文中抽取出来的片段组成,理解型文摘是对原文主要内容重新组织后形成的。
- 根据文摘的应用划分,可以分为 普通型文摘 和 面向用户查询的文摘。前者提供原文作者的主要观点,后者反映用户感兴趣的内容。
另外,刘挺曾将自动文摘方法概括为四种:自动摘录,基于理解的自动文摘,信息抽取和基于结构的自动文摘。
而秦兵等从系统实现的方法考虑,将多文档自动摘要方法概括为三种:基于单文档文摘技术的方法,基于信息抽取的方法和基于多文档集合特征的方法。
文摘的过程
一般来说,自动文摘过程包括三个基本步骤:
- 文本分析过程:对原文本进行分析处理,识别冗余信息;
- 文本内容的选取和泛化过程:从文档中辨认重要信息,通过摘录或概括的方法压缩文本,或者通过计算分析的方法形成文摘表示;
- 文摘的转换和生成过程:实现对原文内容的重组或者根据内部表示生成文摘,并确保文摘的连贯性。
文摘的输出形式依据文摘的用途和用户需求确定。不同的系统所采用的具体实现方法不同,因此在不同的系统中,上述几个模块所处理的问题和采用的方法也有所差异。
在基于句子抽取的多文档文摘系统(多文档摘录型文摘)中,其基本思想是通过计算句子之间的相似性,抽取文摘句,然后对文摘句排序的方法生成最后的文摘,因此其核心技术集中在 句子相似性计算,文摘句抽取 和 文摘句排序 三个问题上,并不需要经过文摘表示这一中间环节。
多文档摘要
多文档摘要就是将同一个主题下的多个文本描述的主要信息按压缩比提炼出一个文本。
一般来说,多文档摘要的概念具有更大的外延,技术研究也可以涉及更广泛的技术问题,因此似乎更受关注。
主要问题和方法
无论是单文档还是多文档,目前采用的方法一般为基于抽取的方法,或称为摘录型方法和基于理解的方法。
在单文档摘要系统中,一般都采用基于抽取的方法。而对于多文档而言,由于在同一主题中的不同文档中不可避免地存在信息交叠和信息差异,因此如何避免信息冗余,同时反映出来自不同文档的信息差异是多文档文摘中的首要目标,而要实现这个目标通常意味着要在句子层以下做工作,如对句子进行压缩,合并,切分等。
另外,单文档的输出句子一般都是按照句子在原文中出现的顺序排列,而在多文档摘要中,大都采用时间顺序排列句子,如何准确地得到每个句子的时间信息,也是多文档摘要需要解决的一个重要问题。
正如前面指出,自动文摘过程包含三个基本步骤,实现这些基本步骤的方法可以使基于句子抽取的,也可以是基于内容理解的。无论哪种方法,都必须面对三个关键问题:1文档冗余信息的识别和处理;2重要信息的辨认;3生成文摘的连贯性。
文档冗余信息的识别和处理
常用的冗余识别方法通常有两种:
- 一种是聚类的方法,测量所有句子对之间的相似性,然后用聚类方法识别公共信息的主题。
- 另一种是采用候选法,即系统首先测量候选文段与已选文段之间的相似性,仅当候选段有足够的新信息时才将其入选,如最大边缘相关法MMR。
吴晓波提出利用语义角色标注信息判断句子相似性的方法:先识别待判断的两个句子中所有谓词的语义角色,然后计算两个句子间对应语义角色的相似度,最后结合传统的句子相似度计算方法来进行句子相似性计算。
重要信息的辨认
辨认重要信息的常用方法有抽取法和信息融合法:
- 抽取法的基本思路是选出每个聚类中有代表性的部分(一般为句子),默认这些代表性的部分(句子)可以表达这个聚类中的主要信息。
- 信息融合法的目的是要生成一个简洁,通顺并能反映这些句子(主题)之间共同信息的句子。为了达到这个目标,要识别出对所有入选的主题句都共有的短语,然后将之合并起来。由于集合意义上的句子交集效果并不理想,因此需要一些其它技术来实现融合,这些技术包括句法分析技术,计算主题交集等。
生成文摘的连贯性
为了确保文摘句子的一致性和连贯性,需要排列句子的先后顺序。
目前句子排序方法通常有两种:
- 时间排序法(选定某一个时间为参考点,然后计算其它相对时间的绝对时间);
- 扩张排序法(试图通过将有一定内容相关性的主题放在一起来降低不流畅性);
目前已有的摘录型方法的主要思路是从文章中提取特征,然后采用有监督或者无监督的机器学习方法对句子进行分类,打分,并进行句子抽取和排序。特征提取的基本单位是句子。
文摘评测
文摘自动评测是自然语言处理中比较棘手的问题,相对于机器翻译,信息检索等其他技术的评测更加困难,因为理论上根本没有完美的摘要作为参考。
传统的文摘评价方法主要由人工根据以下几个指标评价文摘的质量:一致性,简洁性,文法合理性,可读性和内容含量。 2005年NIST组织的DUC评测中,人工评测指标包括如下5项:文摘的合乎语法性,非冗余性,指代的清晰程度,聚焦情况和结构及一致性。但是,在针对大规模文本进行评测时,人工评价需要消耗大量的人力,实现起来比较困难。
评估方法
Jones and Galliers曾将文摘自动评估方法大致分为两类:一类称作内部评价方法,与文摘系统的目的相关,它通过直接分析摘要的质量来评价文摘系统;第二类称作外部评价方法,它是一种间接的评价方法,与系统的功能相对应,将文摘应用于某一个特定的任务中,根据摘要功能对特定任务的效果来评价自动文摘系统的性能,如对于信息检索任务而言,可以对比采用摘要进行检索与采用原文进行检索的准确率差异,通过文摘对检索系统的效果来评价文摘系统的性能。
内部评价方法
内部评价方法可以按信息的覆盖面和正确率来评价文摘的质量,一般采用将系统结果与“理想摘要”相比较的方法。这种评价方法来源于信息抽取技术。在信息抽取评测中,将原文的关键要点抽取出来,然后与人工抽取的内容相比较,计算其召回率,准确率,冗余率和偏差率等几个指标。
$$ recall = (correct + (partial * 0.5))/possible $$
$$ precision = (correct + (partial * 0.5))/actual $$
$$ overgeneration = spurious/actual $$
$$fallout = (incorrect+spurious)/(possible incorrect) $$
其中:
- correct为正确的响应数;
- partial为部分正确的响应数;
- possible为所有可能的答案数,包括两部分:答案数,候选答案中与系统响应匹配的个数;
- actual为系统给出的实际响应个数;
- spurious为伪响应数,本来没有答案但系统给出的多余响应;
- incorrect为不正确的响应数;
- possible incorrect为可能不正确的答案数,可以用possible数减去正确的答案数来计算;
- overgeneration指标测试的是系统生成的伪响应的比率;
- fallout测试的是可能不正确的答案中系统错误响应和伪响应所占的比率。
这种内部评价方法存在的主要困难是“理想摘要”的获得问题,外部评测方法则与测试的特定任务密切相关,这里不再赘述。
一般地,内部评测方法又可分为两类:形式度量和内容度量。形式度量侧重于语法,全文的连贯性和组织结构,内容度量则更加复杂。一种典型的方法是,系统输出与一个或多个人工的理想摘要做逐句的或者逐片段的比较来计算召回率和精确率;另一种常用的方法包括kappa方法和相对效用方法,这两种方法都是通过随机地抽取原文中的一些段落,测试系统对应这些段落产生的摘要质量来评测系统整体性能的。
在2001年和2002年的DUC评测中,NIST使用了SEE来记录精确率和召回率值。当然,这些方法也同样存在手工抽取“理想摘要”的问题。
Lin and Hovy基于机器翻译系统评测中的BLEU评分方法提出了一种文摘评测方法。Lin将这一方法加以改进,提出并实现了基于最长公共子串和指定句子内词对的共现统计的评测方法(ROUGE),并证明该评测方法与人工评测具有很好的一致性。在2004年和2005年的DUC文摘自动评测中均采用了ROUGE评测方法。
指代消解
Pairwise Model
First-Order Logic Model
给出一堆词,计算它们具有指代关系的概率。
样本的产生方法:随机从语料库中采样具有指代关系的正样本(词簇)和不具有指代关系的负样本,并且数量大致平衡。
特征模版: