随着大数据的来临,信息数据出现爆炸式增长,网络时代每天产生数以亿计的数据和信息,因此人类不可避免的面临信息过载这一问题。其中归因于自媒体等传播途径的普及,使得文本信息越来越多.如何从杂乱绵长的文本中摘要出简短的主旨,即自动文本摘要的研究,对于人们能够快速,准确地从海量文本数据中获取到有效信息有着重大的意义。文本摘要生成即是通过生成一段简练的文字来高度概括原文信息的技术。
1.抽取式摘要:其模式主要是使用算法从源文档中提取现成的句子作为摘要句。在通顺度上,一般是比生成式摘要要好的。但是会引入过多的冗余信息,无法体现摘要本身的特点。
2.生成式摘要:此方法则是基于NLG技术,根据源文档内容,由算法模型自己生成自然语言描述,而非提取原文的句子。使用深度学习技术(主要在seq-to-seq模型中)像人类一样解释和缩短原始文档。由于抽象机器学习算法可以生成代表源文本中最重要信息的新短语和句子,因此它们可以帮助克服基于抽取技术的语法错误。最近在以bert为首的大量预训练模型出世后,也有很多工作集中在如何利用auto-regressive的预训练模型来做NLG任务,其中就包括生成式摘要。除此之外,由于现实环境中往往缺少标注好的摘要数据,因此还有很多工作聚焦在无监督的方式,使用自编码器或者其他思想来做无监督的生成式摘要。虽然生成式摘要在文本摘要方面表现得更好,但开发其算法需要复杂的深度学习技术和复杂的语言建模。因此,抽取式文本摘要方法仍然广泛流行。
3.压缩式摘要:其和生成式摘要在模式上有些相似,但是其目的却不同。压缩式摘要主要目标在于如何对源文档中的冗余信息进行过滤,将原文进行压缩后,得到对应的摘要内容。
单文档摘要和多文档摘要,从任务难度上来看,多文档摘要的难度显然更高。因为对于一个文档集合来说,文档越多,其包含的主题、噪声也越多,因此提取摘要的难度也越大。
单语言摘要(monolingual summarization)——输入和输出都是同一种语言
跨语言摘要(cross-lingual summarization)——输入和输出是不同的语言
多语言摘要(multi-lingual summarization)——输入是多种语言,输出是其中的某一种语言
这个分类可能还不是非常完整,但是基本上概括了目前文本摘要的任务类型。
文本摘要任务属于文本生成的范畴,因此不能用简单的准召率来评测。当前比较常用的评测文本生成的方法大致就是BLEU,ROUGE等。这些方法的缺点在于评测质量还比不上人工,只是从基本语义单元的匹配上去评测候选摘要和标准摘要之间的相似性,缺少语义方面的维度。因此,如何设计一个合适的评测方法,也是目前文本摘要任务的一个研究方向。以ROUGE为例,其基本原理是:统计候选摘要句和标准摘要句重叠的基本语义单元(如n-gram),来评价摘要的质量。根据不同的计算重叠的方式,可以将ROUGE分为ROUGE-N等几类。
抽取式摘要根据当前标注语料的条件、算力条件等有不同的做法。通常分为无监督和有监督的方法。
有监督的方法主要有:
基于传统机器学习的方法,即提取各种特征,包括句子的位置,是否包含关键词,整合无监督方法得到的句子之间的相似性特征等等,使用分类模型进行有监督的训练。
基于深度学习,使用序列模型如RNN来做。经典的有SummaRuNNer模型。最近几年也有利用预训练的language model来encode句子,然后做finetune,如fine-tune bert for extractive summarization.
有监督的方法有点在于抽取的效果通常来说都比较好,缺点也很明显,需要标注的语料。
无监督的方法主要有:
基于传统的统计学特征,对基本语素统计tfidf、熵特征等,间接得到句子的权重分数,根据权重分数为每个句子打分,最后选择比较重要的句子。
基于cluster的方法,根据每个句子的特征(可以是词级别的特征,也可以是直接对句子做embedding的特征),将句子进行聚类,然后从每个聚类中分别选择摘要句。基于聚类的思想还是很直观的,它认为一个篇文章的主题分布将句子大致进行了分类,而做摘要就是用尽可能少的篇幅概括文章主题,因此从每个主题聚类中选取句子就能在一定程度上达到目标。这种方法的缺点在于聚类的聚合度和纯净度,以及很多聚类算法都需要指定聚簇个数。即使有一些无参数贝叶斯的主题聚类方法,但是他们在训练和inference上的效率都不尽如人意。
基于图挖掘的各种Rank类算法。主要是将句子视作图的节点,然后通过一些图论的算法来构建句子之间的关系,最后计算得到每个句子的权重分数。常见的有TextRank,LexRank等。
一些以信息学或者其他数学理论为切入点,研究摘要本质的方法。其中,我看过的相关工作有以submodular函数的特性为切入点同时建模摘要的冗余度和相关性;以信息学为切入点,探讨信息熵、KL散度和摘要的冗余度和相关性以及重要性程度的关系;另外还有以information bottleNeck为切入点,对原文先做无监督的信息压缩,然后再做自监督的生成式摘要的工作。
1.基于submodular函数特性的文本摘要,该研究论文源自,A Class of Submodular Functions for Document Summarization
2.基于信息理论对文本摘要的论证,这个研究来源于A Simple Theoretical Model of Importance for Summarization。是ACL2019上的一篇杰出论文。主要是从相关性,冗余度、informative和importance四个维度,以信息理论为支撑,对文本摘要做了一个研究。
3.TextRank是一种基于图算法的无监督抽取式摘要方法。它的思想来源于谷歌的pagerank。
4.MMR,全称为Maximal Marginal Relevance。它的核心思想同时考虑了内容相关性和多样性。
5.SummaRuNNer,基于RNN,将除了对词级别做RNN编码外,还在句子级别上做了RNN的编码,最后训练的target为每个句子是否属于摘要句子。
生成式文本摘要以一种更接近于人的方式生成摘要,这就要求生成式模型有更强的表征、理解、生成文本的能力,传统方法很难实现这些能力,而近几年来快速发展的深度神经网络因其强大的表征(representation)能力,提供了更多的可能性,在图像分类、机器翻译等领域不断推进机器智能的极限。借助深度神经网络,生成式自动文本摘要也有了令人瞩目的发展,不少生成式神经网络模型(neural-network-based abstractive summarization model)在DUC-2004测试集上已经超越了最好的抽取式模型,其中大部分都是基于seq2seq框架。seq2seq(序列到序列)技术由 Google Brain 团队于 2014 年在《Sequence to Sequence Learning with Neural Networks》一文中提出。该技术突破了传统的固定大小输入问题框架,提出了一种全新的端到端的映射方法。技术的核心是 Encoder-Decoder 架构,Encoder 负责将输入序列压缩成指定长度的向量,这个向量就可以看成是这个序列的语义,称为编码。而 Decoder 则负责根据语义向量生成指定的序列,这个过程也称为解码。Seq2Seq 是输出的长度不确定时采用的模型,因此在机器翻译、对话系统、自动文摘等自然语言处理任务中被广泛运用。
也有一些学者研究如何利用深度无监督模型去做生成式摘要任务。如以自编码器为主体架构,对其进行不同程度的改造,从压缩或者生成两个角度去无监督生成摘要文本,同时为了提升效果,也会利用GPT,XLNET等预训练语言模型做finetune。
提出了混合式学习目标,融合了监督式学习(teacher forcing)和强化学习(reinforcement learning)。
该学习目标包含了传统的最大似然。最大似然(MLE)在语言建模等任务中是一个经典的训练目标,旨在最大化句子中单词的联合概率分布,从而使模型学习到语言的概率分布。
除了上述工作研究外,目前还有很多前沿的文本摘要研究。例如引入了强化学习的思想,试图将一些评测指标作为reward来让模型进行自我学习。也有一些研究设计了一种新的模式,即先通过某种方法将源文档做一个压缩,得到一个长度较为合适的文本。然后以压缩后的文本为target,训练生成式。根据压缩方式的不同,有不同的论文研究,例如Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting,以及BottleSum: Unsupervised and Self-supervised Sentence Summarization using the Information Bottleneck Principle等等。