自动摘要方法综述,本文主要内容关键词为:摘要论文,方法论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
随着计算机技术和网络技术的发展,国际互联网已成为人们发布信息、获取信息和交流信息的主要媒体之一。大量的电子资源在网络里流通,使互联网络成为一个存储各种电子资源的巨型计算机。人们轻松地从网络中取得资源,并渐渐依赖于网络找寻所需的资源。
面对随手可得又如此庞大的资源,人们却无法快速有效地得到真正符合自己需要的。究其原因是因为网络中的资源太多,信息量过大,人们无法在海量数据中搜寻到所需要的信息。于是人们开始借助搜索引擎依据用户提出的检索条件(Query)从数据库中筛选出与检索条件相关的资源。但是如何使用户能在最短时间内获取资源的内容呢?有个简单且有效的方法就是列出资源的摘要。然而网络中绝大多数资源并没有列出摘要,这就迫使人们提出一种自动抽取资源主要内容的方法——自动摘要技术。
1 序 言
1.1 摘要的定义及其分类
在图书馆学、情报学和计算机领域中摘要的定义并没有统一的标准。简言之,文档摘要就是足以代表原始文档的简化版本,或者是从原始文档中提炼出重要资讯的过程[1]。
在国际标准ISO214—1976(E)和国家标准GB6447—86中,摘要的定义强调摘要必须尽可能简短精准地表达文档内容,并且不再需要额外的评论和补充解释。
我认为摘要是对文档的中心主题和(或)每一个分主题所叙述的内容精简而形成的短文,在这里我们更加强调中心主题的表达和(或)每一个分主题所叙述的内容,以及它们的关系,只有覆盖了所有主题的摘要才能使用户从中分辨出文档中是否真正包含用户所需的信息。
摘要的分类也依据分类标准的不同而不同。一般的,我们依据摘要的功能将摘要分为指示性摘要(Indicative Summary)、信息性摘要(Information Summary)和评论性摘要(Evaluative Summary)。指示性摘要提供阅读者足够的信息,使其能够根据这些信息判断并决定是否阅读源文档;信息性摘要提供丰富的信息内容,有时甚至可以取代原文档;评论性摘要以摘要形式对原文档作评论,可提供阅读者不同角度的评论[2]。
1.2 自动摘要的定义及其分类
自动摘要是以计算机为工具,自动从原始文档中获取重要资讯的过程。它是计算机语言学和情报学共同关注的课题,其本质是信息的抽象和减缩。它被认为是计算机实现自然语言理解的重要标志之一。
自动摘要所要考虑的因素有摘要的准确率、盖全率、文件摘要压缩比(Compression Ratio)、摘要可读性、流畅性、用户焦点等,这些因素直接影响自动摘要结果的好坏。
目前,由于自动摘要系统产生的摘要都具有指示性和(或)报道性的作用,所以我们依据自动摘要的特点,尝试从多个角度对自动摘要系统进行分类,这既是对自动摘要分类的一种总结,又是对构造自动摘要系统和思考自动摘要发展方向的参考和启示。
依据摘要产生方式分为自动生成摘要和自动摘录摘要,前者是经过自然语言处理所自动生成的语句;后者是原始文件的摘录(Extract),即直接由原文件中节录出语句与段落片段。
依据文档对象的数量分为单文档摘要和多文档摘要。前者提取代表文档的主要内容;后者则是把多篇探讨相关主题的文档融合在一起,提取相关此主题的内容,并过滤重复信息[3]。
依据读者需求的不同分为一般性摘要和偏重摘要。前者为所有读者提供一般性的摘要;后者依据特定用户的需求(如询问用户感兴趣的主题)产生专属摘要。随着信息爆炸时代的来临,如何为用户产生特定需求的摘要已经愈来愈被看重[4,5]]。
依据是否借助语料库来看,自动摘要可分为基于语料库的摘要和普通摘要。前者需要有语料库,需要借助机器学习;后者则无需语料库,也不需要学习过程[6]。
依据信息对象的承载方式不同分为文档自动摘要和多媒体资源自动摘要。前者的信息对象是文字内容,尽管文档格式可能不一致;后者的对象包括音频或者视频,它是新的研究分支,超出了本文的讨论范围,本文只讨论文本的自动摘要[7-9]。
文章第2部分介绍国内外自动摘要研究的发展和现状。第3部分概述当前自动摘要主要的研究方法及其优缺点。第4部分展望自动摘要技术的发展。
2 自动摘要研究历史
自动摘要研究始于1958年,由美国IBM公司的Luhn开创了自动摘要研究的先河[10]。接着,美国马里兰州大学的Edmundson [11,12]、美国俄亥俄州立大学的Rush [13]、英国Lancaster大学的Paice等[14]选取字词的不同特征作为提取摘要的关键。这一阶段人们只是围绕文章字词层面进行特征提取,只是简单地依赖粗糙的统计数据和不同性质的特征的简单线性叠加。
随后,人们开始考虑文档的句法特征和语义特征。建立起以人工智能特别是计算语言学为基础的方法。美国耶鲁大学的Schank[15]、意大利Udine大学的Fum等[16]、美国GE研究开发中心的Rau等[17]分别应用脚本分析、一阶谓词逻辑推理和框架等表示文档的结构和意义,从而分析和推理得到文档的摘要。
至此,自动摘要研究分为两大阵营:基于统计的机械摘要和基于意义的理解摘要。
除此之外,人们也在试图寻求其他的解决方法。特别是随着机器学习、认知心理学、语言学等领域不断涌现出新的成果,自动摘要研究也进入了一个多元化的新时代。美国Syracuse大学的Liddy提出仿人的方法[18],日本Toshiba公司的Kenji Ono等依据修辞结构研究自动摘要[19,20],苏联的E.F.skoroxod’ko依据语句关联网生成摘要,美国的Kupiec提出以基于语料库的方法来计算每个语句的权值[6],以色列Ben Gruion大学的Regina Barzilay依据词汇链进行摘要[21]。日本北海道大学的Maeda依据句子语用功能提取摘要[22]。美国多伦多大学的Daniel Marcu采用修辞结构树的方法提取摘要[23]。美国马塞诸塞州大学采用查询扩展的方法选取摘要[24]。
在国内自动摘要的研究则起步较晚,直到1985年王兵才正式撰文介绍国外的自动摘要的研究情况。从20世纪80年代末,我国才先后有大学和研究机构开展研究,并取得了许多重要理论成果,实现了一批应用系统。
上海交通大学王永成教授从20世纪80年代末开始研究自动摘要,1997年研制了OA中文文献自动摘要系统[25,26]。
80年代末,东北大学姚天顺教授和香港城市理工大学联合开展了面向中文的“全文自动摘要系统”的研究[27]。
90年代初中国科学院软件研究所的李小滨、徐越在北京大学马希文教授的指导下开发了EAAS(English Automatic Abstract System)系统。
哈尔滨工业大学王开铸教授分别于1992年、1994年、1997年和1998年研制了MATAS型军事领域摘要系统、HIT-863Ⅰ型摘要系统、HIT-97I型英文摘要系统和HIT-863Ⅱ型摘要系统[28]。
2003年,复旦大学吴立德教授研制了文本自动综述系统[29]。
北京邮电大学的钟义信教授则先后实现了面向计算机病毒的Glance系统,面向新闻报道的News系统,和面向神经网络学习算法领域的Ladies系统[30]。
3 自动摘要方法
自动摘要方法如何分类一直是困扰研究者的一个重要问题。一个好的分类方法能帮助我们从更高的层次来看待自动摘要,不但能使我们更好地理解和总结前人的经验,而且能帮助我们更好地把握自动摘要未来发展的方向。
研究的初期,人们把研究重点放在字词的特征分析上,试图找出哪些特征可以表征出文档的主要内容,而这些特征又是如何表现文档的主要内容;接着,人们意识到单单只是对字词的特征分析不能有效地反映出文档的主要内容,人们开始考虑字词的词法特征、句子的句法特征和语义特性,试图找出一种合适的表征文档的结构框架和进行分析和推理的一组规则,再依据规则分析和推理得出文章的主要内容;但是这使得实现起来过于困难,也达不到人们预期的效果,所以人们开始找寻新的突破点。随着其他相关学科不断涌现出新的成果,人们开始把重点转向文档的篇章结构,试图弄清楚作者是如何把那些零散的语言片断组织成一篇文档的,而这些语言片断又是如何反应表达文档内容的。
因此我将自动摘要方法视为三类:基于特征分析的方法、基于计算语言学的方法和基于篇章结构的方法。
3.1 基于特征分析的方法
20世纪50~60年代是自动摘要研究的开始,这个时期的研究重点在于文档中句子的字词以及它们的形式特征的分析和统计。
基于特征分析的方法将句子视为词的线性序列,将文本视为句子的线性序列。首先,计算词的权值;其次,计算句子的权值;再次,对原文中的所有句子按权值高低排列,将权值最高的若干句子确定成摘要句;最后,将所有摘要句按它们在原文档中的出现顺序输出。
字词的特征包括词频、标题、主题词、线索词[11,12]、指示性短语[14]、位置等。值得一提的是,特殊的文档格式对文档的内容能起特殊的提示作用,可以将其作为特征。例如,HTML网页中很多标记(Tag)对文档的内容有相当丰富的提示。
字词的权值计算是依据上面这些特征,采用基于字词统计的向量空间模型法来计算权值。在向量空间模型中,句子S[,i]被形式化为n维空间中的向量,
此外,由于语料库语言学的迅速发展,人们将语料库应用于自动摘要研究。语料库分为训练库和测试库。系统首先利用机器学习从已经备有人工摘要的同类型训练库中探索出该类文档摘要的共同特性,选择适当的学习算法依据相关的领域知识来产生摘要提取规则。然后在测试库中应用这些共同特性来自动生成摘要。最后比较系统自动生成的摘要和专家提取的摘要,计算系统的准确率和召回率,以此评估系统的优劣[6]。
基于特征分析的方法是一种完全基于统计学的方法,它的优势在于它的方法很简单,实现也很简单。这种方法不受研究对象的领域限制,也不受文档类型的限制。但是由于缺乏对文档的深度分析,导致摘要可能覆盖不全面,或者是不精准。也可能同时摘取了不同段落中意思表达相同的语句,从而造成数据冗余。在语句逻辑的连贯性上,此方法得出的摘要可能不连贯甚至不通顺。
3.2 基于计算语言学的方法
20世纪70~80年代初期,计算语言学的研究成果开始应用于文档自动摘要。这个时期的研究,重点在于如何构建知识表示模型和如何利用领域知识进行推理。此类方法先识别出文档中的时间、地点、人物和事件等基本实体(Entity),并将之套用在事先定义好的模板(Template)或者框架(Frame)中,接着经由这些知识表示模型的推演来得知文件内容的主题,最终用模板来生成摘要。
在知识表示的选择上,相对于不同的领域、不同类型的文章,人们采用不同的知识表示模型来表示文档。Schank利用脚本分析简单故事,并总结故事得出摘要;DeJong利用预先设置好的梗概剧本预测英文新闻文档中可能出现的一个或者一组事件,并证实预测结果,给出实际信息;美国的Tait研制的Scrable系统在预处理前将文档转换成概念依存结构(CD);Fum等建立一阶谓词形式的机内表示,通过规则推理和演算生成摘要;德国康斯坦茨大学的Kuhlen等以框架作为知识表示,针对微处理器领域的科技文档,通过全文的语法语义分析生成摘要;Rau等以公司合并的新闻报道为处理对象,采用关键词过滤和模式匹配生成类似于框架的概念表示,最后提取预期内容。
基于计算语言学的方法利用领域知识得到文档的内容,由此进行判断和推理,最终得到摘要的意义表示,所以抽取的摘要也较为全面和精准,在逻辑上也较为连贯通顺。但是面向大规模真实语料,它既没有合适通用的知识表示模型,也没有通用的分析和推理机制。它必须对处理的文档限定在一个领域范围内,这使得系统难以移植。此外,知识表示模型过于复杂,实现也非常困难。
3.3 基于篇章结构的方法
篇章是一个有机的结构体,篇章中的不同成分承担着不同的功能,各部分之间存在着错综复杂的关系。基于篇章结构的方法试图分析篇章的结构特征,找出文章的核心摘要。
目前基于篇章结构的研究方向主要有:修辞结构分析(Rhetorical Structure Analysis)、语用分析(pragmatics Analysis)、词汇链(Lexical Chain)、关联图(Relationship Map)和潜在语义分析(Latent Semantic Analysis)等。
3.3.1 修辞结构分析
修辞结构理论是由Mann和Thompson提出来的,它的核心思想是修辞关系,修辞关系是连接两个互不重叠的Nucleus集和Satellite集的一种关系。Nucleus集与Satellite集的区别在于Nucleus集表现的是作者的写作意图,而Satellite集是辅助读者理解和证明Nucleus集的[31]。Nucleus集的理解独立于Satellite集,而反之则不然。修辞关系一般是一个Nucleus集对应一个Satellite集,不过也有例外,比如对比(Contrast)关系就是多核(Multi-Nuclear)的。
由于修辞结构理论定义的句间关系易于形式化,且精细准确,所以人们把修辞结构理论引入自动摘要,开始针对特定领域的研究对象确定修辞关系[32]。此外,基于修辞结构注标的英语新闻语料库也被建立并用来训练和评估基于修辞结构理论的自动摘要算法[33]。
Ono定义了34种修辞关系,并给出了相关连接词。例如,Serial关系,中文称其为连续关系,标记为〈SR〉,相关的连接词有Thus(因而、然而)、Then(然后)。由句子的连接词或者谓词来推导句子间的修辞关系,并建立修辞关系分析树。通过修辞关系重要度我们可以从修辞关系分析树中提取文档的主要内容[20]。
修辞关系的识别主要依靠连接词或者谓词,如果文章中这些词的数量很少,那么修辞关系的识别精准度将大大减低。
3.3.2 语用分析
科技文献的写作有比较严格的规范,文献中不同部分承担着不同的语用功能,根据语用功能可以将文档的主体部分识别出来构成摘要。
最早捷克斯洛伐克人Janos提出了依据功能句子观(FSP)理论进行文档浓缩的方法。FSP是布拉格学派Mathesius等提出的一种语篇分析理论,采用该理论的目的是为了通过对句子语用功能的分类,将文档的主干(Text Proper)和枝叶(Meta text)区别开来。文档的主干由主题(Theme)和述题(Rheme)构成,以不同的主题推进方式相互衔接。主干是需要重点分析和摘录的内容,而枝叶则可以排除在摘要之外[34]。
随后,Maeda将句子的信息功能分为:背景、主题、方法、结果、例子、应用、比较和讨论,并认为主题、方法、结果和讨论是文档的主干,应进入摘要[22]。
Liddy通过对人工摘要的大量调查归纳出经验摘要(Empirical Abstract)的基本结构:背景、目的、方法、结果、结论和附录,其中每一项内容中包括了一些规则,通过这些规则将文档中承担这些功能的片段识别出来,从而组成摘要[18]。
语用分析有个关键问题就是如何确定句子的功能,但不是每一种文体都能明确分析出句子功能。所以这种方法是不是适合其他类似新闻、小说等文体有待进一步研究。
3.3.3 词汇链
认知心理学认为作者在进行写作的过程中是由作者本身所认知的概念空间中去定义某个用词的词义,接着再组合这些定义好的词句而构成为一篇文章。当读者读文档时,他所做的事情是试着去重组并构建当初作者所认知的概念空间,借此得到相同语义的理解和认知。
我们可以认为文档中所描述的概念其实是由拥有该概念意义的所有字词组成的结果,于是提出词汇链概念。所谓词汇链就是一篇文档中相同意义的字词所组成的集合,每个词汇链代表这篇文档所要描述的一个概念,也就是对于这篇文档的一个认知。
首先将文档中的名词词汇都提取出来,接着借由HowNet[35]来判断每个字词所代表的意义,并将具有相同词义的字词串起来组成词汇链。词汇链生成后,定义词汇链中强链(Strongest Chains),它是用来生成摘要的依据。将选出的强链依据分数高低排序。因为词汇链中所有的词都反映相同的概念,所以我们从每个强链中选取一个典型词(Typical Word)来表达词汇链的主题,选取包含了典型词的语句作为摘要,值得注意的是,为了使摘要在逻辑上更加通顺流畅,必须对摘要进行指代销解处理[36]。
而HowNet构建字词间的相似关系时可能因为其中某个字词的意义辨析错误而导致产生错误的词汇链,这样所得到的认知模型便可能偏离原文所要表达的意思。
3.3.4 关联图
关联图是这样一个网络,它将一个语言单元的各个子单元(段落或句子,甚至是字词)视为节点,并在两个有语义联系的子单元之间引一条边,从而形成的一个关联网络。在网络中,一个节点与其他节点相连的边数称为该节点的度。节点的度越大,则节点在网络中的重要性越高。
对于篇幅较短的文档,一般以句子组成关联网络,与很多句子都有联系的中心句被确认为摘要句。而句子间的关系可通过词间关系或连接词等确定;对于篇幅较长的文档,句子之间的关联网络将十分庞大,可将文档视为段落的关联网络。可以赋予每个段落一个特征向量,两个段落特征向量的内积作为这两个段落的关联强度。如果两个段落的关联强度超过给定阈值,则认为两个段落有语义联系。与很多段落都有联系的中心段被提取出来组成一篇文档的摘要。
依据段落关联图抽取的摘要相比由句子组装起来的摘要,由段落拼接起来的摘要连贯性更高。但是,由于最重要的段落中也可能包含一些无关紧要的句子,所以基于段落关联图抽取的摘要显得不够精练[37]。
关联图的关键在于如何确定语句或者段落间的关联强度,而潜在语义分析是解决这一问题的一种有效方法。
3.3.5 潜在语义分析
认知心理学的另一分支注重模拟人脑是如何来理解和推理文档的[38]。受信息检索中潜在语义索引(LSI)和潜在语义分析(LSA)研究成果的影响,我们认为LSA可以正确的描述文档中字词、语句与文档意义的整体关联性,所以基于潜在语义分析的自动摘要技术切实可行。
LSA是以概率统计为基础的知识模型,它利用奇异分解(Singular Value Decomposition,SVD)以及缩减维度(Dimension Reduction)将输入的知识模型抽象化。整个过程不但凸显隐含的语义,更将原来输入的知识模型提升到较高的语义层面[39]。
以一篇文档为单位构建Word-by-Sentence矩阵A,矩阵中的元素代表一个字词在一个句子中的特征值。所谓Word就是在文档中充当主谓宾的动词和名词。接着将A做奇异分解使得A=USVT。其中S代表语义空间,U代表关键词在此空间中的表示法,V[T]表示Word在此语义空间中的表示法。所谓的语义空间就是文档中每个字词的定义空间,也就是说,每个字词都可以透过这个语义空间的定位来得到真正代表的意义。经过缩减维度重新构建A′=U′S′V′T。此时便得到具有语义的Word-by-Sentence矩阵。其中,每个行向量代表该关键词在每个语句中的权重,而每个列向量代表该语句由各个关键字组成的意义。计算矩阵列向量的内积值,便可以推断任意两个语句的语意相关程度。因此借助关联图方法便可生成摘要。
值得一提的是,我们可以构建Context-by-Context矩阵,Context可以定义为句子、段落甚至文档。这样,依据矩阵行向量的内积值就可以推断出任意句子、段落或者是文档的相关程度了[40]。
基于篇章结构的方法着眼于文档的宏观结构,自然比基于特征分析的方法质量高,又解决了基于计算语言学的方法受领域限制的难题。但这种方法要求文档结构清晰,易于被机器识别。更重要的是,在哲学意义上不能确定计算机是否真正理解了文档的内容。
自动摘要方法各自有其优劣,可以考虑综合各种方法建立一种面向非受限领域的综合方法。采用潜在语义分析对文档进行自动分析,依据语义相似度的段落关联图划分出意义段;在每个意义段中依据典型词、位置、提示语等文本形式特征计算句子的权值,分别从各个意义段中选取高权值的句子作为摘要句;对摘要句进行句法和语义分析,消除冗余,解决指代消解、摘要不连贯等问题,最终组成一篇简洁、通顺、可读性好的摘要。
4 结束语
让计算机像人一样能够阅读各类文章,并做出令人满意的摘要,是计算语言学不懈努力的目标,也是标志机器具有人工智能的一个里程碑。通过自动摘要这些年来的研究与实践,我们取得了很多理论成果,也开发了很多实用的应用系统。
但是,目前所开发的系统远远不能让人们满意。其中最重要的问题是我们如何定义知识表示框架来描述文档的内容。作者写作一篇文档的目的是要论述一个客观存在的物体,或者是对这个物体的一种看法和想法,作者想要表达的这些内容我姑且称其为主题。很显然,主题可能是一个,也可能是很多个。可能是一个主题分很多子主题来论述;也可能是平行的一类子主题构成整个文章的内容;更甚者是他们的一种复杂的组合。无论何种形式,文档的一切字、词、句、段落都应该是围绕主题来服务的。我认为形成一套以主题为核心的自然语言分析体系可能对自动摘要技术、计算语言学甚至是认知心理学等方面都有巨大帮助。
此外,还有一些方面有待我们进一步去探讨、改进。比如,如何使机器能自动生成摘要,如何在便携式设备中用一两句话来概括文档,如何自动评估和测试自动摘要系统的优劣。