自动文本摘要任务背景调研

文本摘要任务背景

任务是什么?

自动文本摘要任务是什么?

阅读一篇长文本,通过抽取、生成或者压缩的方式,形成一段较短篇幅的语句来概括原始文本的主题大意。用户可以通过预先阅读短文本来获取文章的主要内容。

为什么需要自动文本摘要任务?

近年来,随着信息技术的跨越式发展,人们获取信息的便捷度不断提升,信息量不断增加,使得文本信息呈现爆炸式增长,人们几乎被文本大数据所淹没。从大量文本信息中快速提取重要的内容,已成为当今面对信息爆炸的一个迫切需求,因此自动文本摘要任务应运而生。

自动文本摘要任务的应用场景

  • 文章压缩
  • 生成论文摘要
  • 生成报告总结
  • 自动生成新闻标题,用来辅助优化推荐系统
  • 长文本情感分析
  • 搜索引擎

研究现状梳理

以下内容主要参考这两篇文章进行总结、梳理和扩充:

https://zhuanlan.zhihu.com/p/83596443

https://www.jiqizhixin.com/articles/2019-03-25-7

自动文本摘要任务的分类

根据摘要的形成方式

可以将自动摘要任务划分为三类:抽取式摘要生成式摘要压缩式摘要

根据摘要的处理对象类型

可以将自动摘要任务划分为:单文档摘要任务跨文档摘要任务(多文档)摘要任务;

图片

图1 文本摘要任务分类和模型总结

下面将分别从文本摘要形成方式的各子类出发,聚焦具体模型来论述当前的研究进展。

抽取式摘要

抽取式摘要是什么?

利用形如TF-IDF或者TextRank的方法,从原文本中抽取出较为重要的词汇或者句子,再通过合理的拼接形成文本摘要。这种方法的优点是,摘要中的所有语句均来自于原文件,是对原始长文本的重要词或句子的提炼,生成的摘要文本合理可控、不会出错、通顺度较好。但是,缺点是容易引入冗余信息(重复抽取),提取内容错误,或者信息缺失(一些重要的语句没有被抽取到),生硬拼接导致语句间连贯性差、灵活性差等。

抽取式摘要中的模型有哪些?

Lead-3

在一篇文章中,作者通常在开头部分就摆明观点点出主题,因此常常抽取原文中的前几句作为文章的摘要部分。Lead-3方法就是在这样的前提下被提出来,Lead-3抽取文章的前三句作为摘要部分,这是一种简单高效的摘要抽取方法,尤其是应对“总-分-总”结构的文章。

TF-IDF、TextRank

具体方法在我的这篇blog中 https://blog.csdn.net/weikai_w/article/details/103657943有总结。

TextRank的具体思路是将与PageRank类似,是一种基于图的算法,PageRank以每一个网页为节点,TextRank以每一条句子为节点,通过比较句子间的相似度,构造无向有权图。基于“入度”、“出度”和连接权值更新节点值(句子的重要程度),通过排序选择数值最高的前N个句子组成摘要。

聚类

聚类的方法同样是将每一条句子视为高维空间中的点,通过编码后得到句子级别的向量表示(获取句子的embedding特征),再使用K-means或者Mean-Shift等聚类方法,得到N个聚类簇完成句子聚类。最后从每一个聚类簇中选择一条距离质心最近的句子,拼接这N条句子形成文章的摘要。基于此方法的相关论文可参见Padmakumar and Saran [4](https://pdfs.semanticscholar.org/253e/17a1692f0d6351345435a59a80f5ddb17731.pdf)。该文章使用了Skip thought vectors 和 Paragram embeddings 两种方式完成句子编码。

这种方法的idea较为简单直观,但是缺点是:

  • 选择的N条句子的聚合度、连贯程度有待进一步完善;
  • 形如K-means算法,需要引入类簇数量的超参数,相当于需要人为设定摘要中的句子数量;
  • 在大文本环境下,模型的训练训练较低;

序列标注方法

序列标注,顾名思义就是为原文本中的每一个句子进行标注,注明该句子是否可以被认定为摘要,是一个二分类问题。将可以被认定为摘要的句子标注为“1”,将不能被认定为摘要的句子标注为“0”。再整合所有被标注为“1”的句子,形成文章的摘要。

SummaRuNNer

该方法的典型模型是Ramesh等在2016年提出的SummaRuNNer(有监督方法),该方法的网络结构如下图所示。

图片

Fig. 1 SummaRuNNer的模型结构

SummaRuNNer是具有两层双向GRU-RNN结构的二分类模型,用于将篇章中的句子划分为属于摘要和不属于摘要两类,分别 用“1”和“0”表示,其中下层RNN用于单词层级的编码,上层RNN用于句子层级的编码。这篇论文的主要工作聚焦于:单文档的句子抽取式的自动文摘。使用的语料库是规模比较大的CNN/Daily Mail语料库。

该论文的主要贡献有三点:

  • 提出一种新型的用于序列分类的循环神经网络模型;
  • SummaRuNNer模型简单,可解释性强;
  • 采用新的训练机制,即可以使用生成式摘要来端-端的训练;

SummaRuNNer的一个比较重要的设计在于它的目标函数:

图片

关于该论文的解读可以参考https://blog.csdn.net/qq_25222361/article/details/78667850

该模型的训练需要监督数据,现有数据集往往没有对应的句子级别的标签,因此需要通过启发式规则进行获取。具体方法为:首先选取原文中与标准摘要计算 ROUGE 得分最高的一句话加入候选集合,接着继续从原文中进行选择,保证选出的摘要集合 ROUGE 得分增加,直至无法满足该条件。得到的候选摘要集合对应的句子设为 1 标签,其余为 0 标签。

BERTSUM

与SummaRuNNer方法的idea类似的方法是基于Fine-tune BERT的文本摘要生成方法。该方法在2019年3月发表的论文Fine-tune BERT for Extractive Summarization中被首次提出。模型结构如下图所示;

图片

关于该模型的简单解读,可参考https://zhuanlan.zhihu.com/p/63416584

SummaRuNNerBERTSUM都属于有监督方法,其优点在于抽取的效果通常来说都比较好,缺点是需要有标注的语料。

Seq2Seq方法

SummaRuNNerBERTSUM方法都是对句子级别进行建模,忽略了文章中关键词的重要作用。2018年Aishwarya and Rajan提出了一种叫SWAP-NET的方法(https://www.aclweb.org/anthology/P18-1014.pdf),该方法用Seq2Seq模型来交替生成词语和句子的索引序列,以完成抽取式摘要任务。SWAP-NET的网络架构如下图所示。SWAP-NET 在解码的每一步,计算一个 Switch 概率指示生成词语或者句子。最后解码出的是词语和句子的混合序列。最终摘要由产生的句子集合选出。除了考虑生成句子本身的概率之外,还需要考虑该句是否包含了生成的词语,如果包含,则得分高,最终选择 top k 句作为摘要。

图片

图片

结合Seq2Seq和序列标注的方法

传统的抽取式摘要句子生成模型,把句子序列标注视为二分类问题或者句子排序问题。2018年的ACL会议上,Zhang等提出了一种新型摘要生成思路,论文title:Neural latent extractive document summarization,https://arxiv.org/pdf/1808.07187.pdf。这篇论文的思路截然不同,把句子对应的label视为句子的隐变量。不是最大化每个句子到训练数据(gold label)的可能性,而是最大化生成摘要是这个人工摘要整体的可能性。该论文并没有在CNN/Daily Mail刷到stoa,但是这篇论文的思路是前所未有的。该方法的网络结构如下图所示。

图片

作者其实在以往的模型上提升并不大,无非是深层双向LSTM网络+强化学习算法,但最有价值的地方是用了一种全新的视角去看待抽取式摘要任务(把句子看作隐变量),这也许会开创新的研究方向。

针对这篇论文的解读可参考 https://blog.csdn.net/qq_30219017/article/details/87926142

Top-k句子排序方法

抽取式摘要还可以建模为句子排序任务完成,与序列标注任务的不同点在于,序列标注对于每一个句子表示打一个 0、1 标签,而句子排序任务则是针对每个句子输出其是否是摘要句的概率,最终依据概率,选取 top k 个句子作为最终摘要。虽然任务建模方式(最终选取摘要方式)不同,但是其核心关注点都是对于句子表示的建模

典型方法参考以下两篇论文:

1、Ranking Sentences for Extractive Summarization with Reinforcement Learning

图片

在这项工作中,作者开发了一个抽取式摘要模型,该模型通过优化ROUGE评估指标进行全局训练。 训练算法探索候选摘要的空间,同时学习优化与手头任务相关的奖励功能。 实验结果表明,强化学习提供了一种很好的方法来引导他们的模型,以生成信息丰富,流畅,简洁的摘要,优于CNN和DailyMail数据集上最先进的抽取式和生成式系统。 在未来,作者希望关注较小的话语单元(discourse unit)(Mann和Thompson,1988),而不是单独的句子,建模压缩和联合抽取。

论文导读可参考:https://blog.csdn.net/qq_30219017/article/details/87271910

2、Neural Document Summarization by Jointly Learning to Score and Select Sentences

之前的模型都是在得到句子的表示以后对于句子进行打分,这就造成了打分与选择是分离的,先打分,后根据得分进行选择。没有利用到句子之间的关系。在 ACL18 中,Zhou 等人提出了一种新的打分方式,使用句子受益作为打分方式,考虑到了句子之间的相互关系。其模型 NeuSUM 如下图所示。

图片

对于句子编码没什么创新之处,模型与之前方法基本相同。句子的打分部分和抽取部分分别使用单向GRU和双层MLP完成(参考https://www.jiqizhixin.com/articles/2019-03-25-7)。其中,单向GRU用于句子抽取,双层MLP用于打分,其公式如下:

图片

其中, r r r代表ROUGE评价指标, S t − 1 \mathbb{S}_{t-1} St1代表被抽中的句子集合, S t \mathnormal{S}_{t} St代表候选句子,目标是使得 g g g越大越好,即选择最大化收益的句子。生因此在打分和选择部分,逐步选择使得 g g g最高的句子,直到无法满足该条件或者达到停止条件为止。集合 S S S为最终摘要。

生成式摘要

生成式摘要是什么?

生成式摘要是基于NLG技术,根据源文档内容,由算法模型自己生成自然语言描述,而非提取原文中的句子。生成式摘要目前很多工作都是基于深度学习中的seq2seq模型,并添加了额外的attention机制来提高其效果。最近在以bert为首的大量预训练模型出世后,也有很多基于预训练模型的NLG任务,但以GPT为代表的auto regressive模型与以bert为代表的auto encoding模型使用起来又各不相同。除此之外,由于现实环境中往往缺少标注好的摘要数据,因此还有很多工作聚焦在无监督的方式,使用自编码器或者其他思想来做无监督的生成式摘要。

生成式摘要任务中的主要难点?

目前,大部分生成式摘要都是基于Seq2Seq框架,当然也有以自编码为框架的利用深度无监督模型去完成生成式摘要任务。再者,利用GPT、XLNET等预训练语言模型做fine-tune,对于摘要的生成效果会有所提升。

利用seq2seq框架做摘要通常会遇到以下几个问题:

(来源https://zhuanlan.zhihu.com/p/83596443

  • OOV问题。源文档语料中的词的数量级通常会很大,但是经常使用的词数量则相对比较固定。因此通常会根据词的频率过滤掉一些词做成词表。这样的做法会导致生成摘要时会遇到UNK的词。
  • 摘要的可读性。通常使用贪心算法或者beamsearch方法来做decoding。这些方法生成的句子有时候会存在不通顺的问题。
  • 摘要的重复性。这个问题出现的频次很高。与2的原因类似,由于一些decoding的方法的自身缺陷,导致模型会在某一段连续timesteps生成重复的词。
  • 长文本摘要生成难度大。对于机器翻译来说,NLG的输入和输出的语素长度大致都在一个量级上,因此NLG在其之上的效果较好。但是对摘要来说,源文本的长度与目标文本的长度通常相差很大,此时就需要encoder很好的将文档的信息总结归纳并传递给decoder,decoder需要完全理解并生成句子。可想而知,这是一个很难的事情。
  • 模型的训练目标与最终的评测指标不太一致。这里牵扯到两个问题,一个是seq2seq的训练模式中,通常会使用teacher-forcing的方式,即在decoder上,将真实target的输入和模型在前一时刻生成的词一起送到下一个时刻的神经元中计算。但是在inference时,是不会有真实target的,因此存在一个gap;另一个问题就是通常模型训练的目标函数都是交叉熵损失函数。但是摘要的评测却不是以交叉熵来判断的,目前一些榜单通常以ROUGE、BLEU等方式评测,虽然这些评测也不是很完美,但是与交叉熵的评测角度均在较大差异。

生成式摘要中的模型有哪些?

开山之作

来源于这两篇论文(两篇文章都出自于Harvard NLP组,两篇是姊妹篇,第二篇是第一篇的升级版):

  • A Neural Attention Model for Abstractive Sentence Summarization
  • Abstractive Sentence Summarization with Attentive Recurrent Neural Networks

两篇文章的对比解读可以参考:https://zhuanlan.zhihu.com/p/21388469

两篇paper都是seq2seq在sentence-level abstractive summarization任务中早期的尝试,给文本摘要方法带来了新鲜血液,第一篇paper中encoder和decoder都用了比较简单的模型,但已经得到了优于传统方法的结果,再一次地证明了deep learning在解决问题上的优势,第二篇paper升级了encoder和decoder,考虑了更复杂的细节,得到了更好的效果,相信后面会有大量的paper套用seq2seq+attention,再配合一些其他的技术来提升模型的效果,但整体的思路基本已固定下来,如果想要更大的突破,可能还需要提出另外一种框架来解决问题。

基于注意力机制的Seq2Seq模型

正如前文所述,仅使用 Seq2Seq来完成生成式摘要任务存在一些问题,针对上述问题中的额前三点:即OOV问题可读性问题重复性问题,2017年ACL,See 等人在基于注意力机制的 Seq2Seq基础上增加了Copy和Coverage机制,有效的缓解了上述问题。论文:Get To The Point: Summarization with Pointer-Generator Networks(https://arxiv.org/pdf/1704.04368.pdf

该论文解读参考:https://www.cnblogs.com/zingp/p/11571593.html

图片

模型的基本部分为(https://www.jiqizhixin.com/articles/2019-03-25-7):

  • 基于注意力机制的Seq2Seq模型,使用每一步解码的隐层状态与编码器的隐层状态计算权重,最终得到context向量,利用context向量和解码器隐层状态计算输出概率。
  • 利用 Copy 机制,需要在解码的每一步计算拷贝或生成的概率,因为词表是固定的,该机制可以选择从原文中拷贝词语到摘要中,有效的缓解了未登录词(OOV)的问题;
  • 利用 Coverage 机制,需要在解码的每一步考虑之前步的attention权重,结合coverage损失, 避免继续考虑已经获得高权重的部分。该机制可以有效缓解生成重复的问题。

指针生成网络的改进

  • 针对指针网络基本框架的改进,ICLR18中Paulus 等提出论文:A Deep Reinforced Model for Abstractive Summarization(https://arxiv.org/pdf/1705.04304.pdf)。在该框架的基础上又使用解码器注意力机制结合强化学习来完成生成式摘要。

论文解读可参考:https://blog.csdn.net/youngair/article/details/78302794

  • 基于上述Coverage机制,在 EMNLP18 中,Li 等人基于句子级别的注意力机制,使用句子级别的 Coverage 来使得不同的摘要句可以关注不同的原文,缓解了生成信息重复的问题。论文:

Improving neural abstractive document summarization with structural regularization

https://www.aclweb.org/anthology/D18-1441.pdf

基于外部信息辅助

指针生成网络(Pointer-Generator Networks)解决了基于Seq2Seq的自动摘要生成过程中的前三个难点。对于第四个难点,即长文本生成难度大的问题,在 ACL18 中,Cao 等使用真实摘要来指导文本摘要的生成,其核心想法在于:相似句子的摘要也具有一定相似度,将这些摘要作为软模板,作为外部知识进行辅助。论文:Retrieve, rerank and rewrite: Soft template based neural summarization(https://www.aclweb.org/anthology/P18-1015.pdf)。该模型一共包含 Retrieve、Rerank、Rewrite 三个部分。

  • Retrieve 部分主要检索相似句子,获得候选摘要;
  • Rerank 部分用于排序候选模板,在训练集中,计算候选与真实摘要的 ROUGE 得分作为排序依据,在开发集与测试集中,使用神经网络计算得分作为排序依据。训练过程中,使得预测得分尽可能与真实得分一致;
  • Rewrite 部分,结合候选模板与原文生成摘要。

图片

目前大多数基于seq2seq生成摘要的模型只依赖原文本来生成摘要,并且当生成的文本长度增加时,seq2seq模型的性能急剧降低。受传统的基于模板的的方法的启发,作者提出了使用已有摘要作为软模板(soft template)来指导seq2seq模型来生成摘要。首先使用信息检索平台(Lucene)从语料中检索合适的摘要作为候选模板,然后扩展标准的seq2seq模型,使其具有模板排序和基于模板生成摘要的功能。实验表明,在信息量方面,作者提出的模型取得了目前最好的结果,甚至软模板本身也具有很好的竞争性。并且,引入高质量的外部模板提高了生成摘要的稳定性和可读性。

论文解读可参考:https://zhuanlan.zhihu.com/p/44242384https://www.cnblogs.com/lauspectrum/p/11015465.html

多任务学习模型

除了将本身数据集的信息作为一种外部知识以外,在 ACL18 中,Guo 等人将摘要生成作为主任务,问题生成、蕴含生成作为辅助任务进行多任务学习。问题生成任务需要根据给定的文本和答案生成问题,要求模型具有选择重要信息的能力,蕴含生成任务要求根据给定文本,有逻辑地推出输出文本,要求模型具有逻辑推理能力。在文本摘要中,定位原文中的关键信息是核心问题,根据原文生成摘要又要求模型具有一定的逻辑推理能力,使得生成的摘要与原文不违背。

论文:Soft Layer-Specific Multi-Task Summarization with Entailment and Question Generation https://arxiv.org/pdf/1805.11004.pdf

图片

基于SeqGAN的生成对抗方式

在 AAAI18 中,Liu 等人利用 SeqGAN的思想,利用生成模型G来生成摘要,利用判别模型D来区分真实摘要与生成摘要。使用强化学习的方法,更新参数。

论文:Generative adversarial network for abstractive text summarization https://www.aaai.org/ocs/index.php/AAAI/AAAI18/paper/view/16238/16492

SeqGAN论文:Seqgan: Sequence generative adversarial nets with policy gradient https://www.aaai.org/ocs/index.php/AAAI/AAAI17/paper/view/14344/14489

论文解读:https://blog.csdn.net/Mr_tyting/article/details/80269143

图片

抽取式+生成式结合的方法

抽取式、生成式摘要各有优点,为了结合两者的优点,一些方法也同时使用抽取结合生成的方法来完成摘要任务。在生成式摘要中,生成过程往往缺少关键信息的控制和指导,例如 pointer-generator网络在copy的过程中,无法很好地定位关键词语,因此一些方法首先提取关键内容,再进行摘要生成。

从直觉上来讲,摘要任务可以大致分为两步,首先选择重要内容其次进行内容改写。在 EMNLP18 中,Gehrmann 等人基于这种想法,提出了“Bottom Up”方式的摘要,首先使用“content selector”选择关键信息,其次使用pointer-generator网络生成摘要。论文:Bottom-Up Abstractive Summarization(https://arxiv.org/pdf/1808.10792.pdf)论文解读:https://blog.csdn.net/muumian123/article/details/83752811

  • 内容选择部分建模为词语级别序列标注任务,该部分的训练数据通过将摘要对齐到文档,得到词语级别的标签。
  • 摘要生成部分使用 pointer-generator 网络,使用内容选择部分计算的概率修改原本 attention 概率,使得解码器仅关注选择的内容。

除了上述以序列标注方式来选择关键词的方法以外,在NAACL18 中,Li 等使用 TextRank 算法获得关键词,之后使用神经网络获得关键词语的表示,并将该表示结合 pointergenerator 网络生成摘要。论文:Guiding generation for abstractive text summarization based on key information guide network(https://www.aclweb.org/anthology/N18-2009.pdf

上述方法从原文中选择重要的部分用来指导摘要的生成,显式地利用了文本级别的信息,在 EMNLP18 中,Li 等使用门控机制,从编码得到的向量表示中选择有用的信息用于之后的摘要生成,属于一种 Soft 方式。在使用层次化 encoder 得到句子级别的向量表示之后,使用门控机制,得到新的句子级别向量,表示从中选择有用信息。论文:Improving neural abstractive document summarization with explicit information selection modeling(https://www.aclweb.org/anthology/D18-1205.pdf

在 ACL18 中,Hsu 等将抽取式模型的输出概率作为句子级别的 attention 权重, 用该权重来调整生成式模型中的词语级别的 attention 权重,其核心想法为:当词语级别的 attention 权重高时,句子级别的 attention 权重也高。基于此想法提出了 Inconsistency 损失函数,使得模型输出的句子级别的权重和词语级别的权重尽量一致。在最终训练时,首先分别预训练抽取式和生成式模型,之后有两种方式来结合两个模型,Hard 方式:将抽取式模型抽出的关键句直接作为生成式模型的输入;Soft 方式:将抽取式模型的的输出概率用来调整词语级别的权重。

论文:A unified model for extractive and abstractive summarization using inconsistency loss(https://arxiv.org/pdf/1805.06266.pdf

压缩式摘要

也有一些研究设计了一种新的模式,即先通过某种方法将源文档做一个压缩,得到一个长度较为合适的文本。然后以压缩后的文本为target,训练生成式。根据压缩方式的不同,有不同的论文研究,例如Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting,以及BottleSum: Unsupervised and Self-supervised Sentence Summarization using the Information Bottleneck Principle等等。

rnn-ext + abs + RL + rerank

论文:Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting(https://arxiv.org/pdf/1805.11080.pdf

论文解读:https://blog.csdn.net/Forlogen/article/details/103171587

图片

对于文档摘要任务来说,整体上可以将任务解耦为两部分:

  • 选出显著性较高的K个句子(抽取式到此结束)
  • 对于选择出的句子进行重写(抽象式)

因此对于抽象式方法来说,以上的两步中每一步的效果优劣都对于整体的效果有着显著的影响。如果在显著性句子抽取过程中可以正确的选择出包含主要信息的句子的话,那么在接下来的重写过程中就可以实现在不丢失主要信息的前提下得到流畅性、可读性更好的结果。

如果抽象式模型直接对输入的长文档进行处理,通常会出现解码慢、结果冗余度高等问题。因此,一个很自然的想法就是结合两种方法的优势:使用抽取式方法先得到包含主要信息的相关语句,从而减小重写过程中所需关注的信息量;另一方面,重写过程可以在关注主要信息的同时,以一种更加流畅的方式对文本进行描述。

但此时就出现了一个问题,两部分的训练由于无法直接传递梯度信息,并不能直接进行端到端的训练。因此,本文同样使用了强化学习来解决这个问题,将抽取模型看做agent,把抽取的句子进行重写后的结果和真实摘要进行比较,将比较的结果看做是一种reward,从而进行前一部分的更新。而重写模型依然可以使用最小化负对数似然的方式进行训练,这样强化学习就为两部分模型的训练搭建起了一个桥梁。

另外作者指出,由于在抽取部分得到的结果较好,即使在重写过程中不使用coverage机制等避免生成重复结果的技巧,重写得到的结果也是不错的。但为了解决最后结果中可能存在的跨句重复的问题,这里又使用了一个额外的reranker。

BottleSUM

压缩式摘要其实和生成式摘要在模式上有些相似,但是其目的却不同。压缩式摘要主要目标在于如何对源文档中的冗余信息进行过滤,将原文进行压缩后,得到对应的摘要内容。最近有一篇论文,利用了information Bottleneck的原理,尝试对源文本进行压缩后,再做生成式任务。

**论文:**BottleSum: Unsupervised and Self-supervised Sentence Summarization using the Information Bottleneck Principle. https://arxiv.org/pdf/1909.07405v1.pdf

论文解读:https://zhuanlan.zhihu.com/p/84730122

BottleSum尝试利用一些基本的信息学思想,结合当下大热的预训练language model来做文本摘要。另外还有一点相似的地方在于用本方法做摘要不需要真实摘要的训练数据,属于无监督或者自监督的方法。

本篇的论文的核心要点如下:

  • 摘要抽取过程分为两个阶段:extractive阶段和abstractive阶段。第一个阶段生成的摘要可以单独作为摘要输出,也可以作为第二阶段摘要抽取过程的输入数据。整个摘要生成过程不需要额外的真实摘要作为训练的target,属于无监督或者自监督的方法。
  • extractive阶段的摘要抽取基于Information Bottleneck的思想。从方法本质来说,相当于是对文章原句进行压缩。
  • abstractive阶段的摘要生成主要是使用了当前比较热门的GPT-2的预训练语言模型,基于extractive阶段得到的摘要句,做文本生成任务。

图片

单文档摘要、多文档摘要

单文档摘要和多文档摘要,从任务难度上来看,多文档摘要的难度显然更高。因为对于一个文档集合来说,文档越多,其包含的主题、噪声也越多,因此提取摘要的难度也越大。

评测指标有哪些?

常用的评估指标

常用来评估文本摘要生成的主要指标是ROUGE(Recall-Oriented Understudy for Gisting Evaluation),A Package for Automatic Evaluation of Summaries(论文地址:https://www.aclweb.org/anthology/W04-1013.pdf)。

ROUGE的衡量方向是candidate相对reference的评估指标,是统计候选摘要句和标准摘要句重叠的基本语义单元(如n-gram),来评价摘要的质量。

可参考文章如下:

https://blog.csdn.net/qq_25222361/article/details/78694617

https://blog.csdn.net/luo3300612/article/details/90636210

图片

ROUGE-N系列,其实就是以n-gram为基本单元,计算两个句子之间的n-gram重合率。每个ROUGE系列的计算结果又可以细分为precision,recall和f-beta分数,下面为ROUGE-N的计算方法:

假设候选摘要句为 x m x_{m} xm,reference摘要句为 y n y_{n} yn

  • ROUGE-N-precision: 两 个 句 子 重 叠 的 n − g r a m 个 数 l e n ( x m ) \frac{两个句子重叠的n-gram个数}{len(x_{m})} len(xm)ngram
  • ROUGE-N-recall: 两 个 句 子 重 叠 的 n − g r a m 个 数 l e n ( y n ) \frac{两个句子重叠的n-gram个数}{len(y_{n})} len(yn)ngram
  • ROUGE-N-f-beta: ( 1 + b e t a 2 ) p r e c i s i o n × r e c a l l r e c a l l + p r e c e s i o n × b e t a 2 \frac{(1+beta^{2})precision\times recall}{recall + precesion \times beta^{2}} recall+precesion×beta2(1+beta2)precision×recall
  • ROUGE-L的计算方式与上述类似,但是针对是最长公共子序列的重合率计算
  • ROGUE-W与ROUGE-L类似,不同的是考虑了连续最长公共子序列应该拥有更大的权重
  • ROUGE-S,基于的是skip-gram。

首先skip-gram必须要按照字符在原始句子中的顺序来组成gram。然后可以根据不同字符数组成词组,但是这些词组不要求字符在原文中连续,可以在中间跳过一些字符。通常会设置一个最大跳跃数m来限制跳跃距离,这是为了防止出现大量无意义的词组。

结论:

只是从基本语义单元的匹配上去评测候选摘要和标准摘要之间的相似性,缺少语义方面的维度。因此,如何设计一个合适的评测方法,也是目前文本摘要任务的一个研究方向。

常用的考虑因素

什么样的摘要是好摘要?

  • 冗余度(redundancy);
  • 相关性(relevance)
  • informativeness
  • 重要性(importance)

Neural Headline Generation with Minimum Risk Training

论文地址:https://www.researchgate.net/publication/301878995_Neural_Headline_Generation_with_Minimum_Risk_Training

该论文对摘要生成的难点问题,“模型的训练目标与最终的评测指标不太一致”,进行了优化。这篇论文主要新颖点在于将ROUGE、BLEU等无法直接用作损失函数的评测指标(因为这些指标都不可微,不能参与梯度更新)引入到了训练目标函数中。图片
文章解读可参考:https://zhuanlan.zhihu.com/p/21409156

基于submodular函数特性的文本摘要

论文:A Class of Submodular Functions for Document Summarization (http://delivery.acm.org/10.1145/2010000/2002537/p510-lin.pdf?ip=49.65.218.112&id=2002537&acc=OPEN&key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E6D218144511F3437&acm=1577156248_1f5343cc13842ebc02d596ff4861fc39

将摘要抽取的指导准则设计为以下两个维度:

  • 相关度,或者说是摘要对原文内容的覆盖度;
  • 冗余度,或者说是摘要句的多样性

submodular(次模)函数具有submodularity,它是经济学上边际效益递减(property of diminishing returns)现象的形式化描述。

论文解读参考:https://zhuanlan.zhihu.com/p/83596443

基于信息论的文本摘要生成

论文:A Simple Theoretical Model of Importance for Summarization(https://www.aclweb.org/anthology/P19-1101.pdf

生成摘要的一个原则就是在保证某些特性的情况下,尽可能的表述原文中的信息。而信息论中的熵等概念同样也是用来进行信息量的讨论,在宏观层面上两者的讨论是一致的,因此可以借助信息论来讨论摘要生成的相关问题。

信息论研究的是信息的不确定性,例如熵可以表示某时刻状态下的混乱程度,它所研究的层面较高且笼统。因此无法直接将其和摘要生成任务相联系,这里需要将文本划分为不同的语义单元,由语义单元负责文本的语义信息,而使用信息论只需要在语义层级上进行考虑即可。当然语义单元的划分方式也不尽相同,我们可以根据需要在文本的不同层级进行划分,如unigram、bigram、n-gram、sentence等。

该论文从四个不同的角度,在本质上对摘要本身做了分析。分别是冗余度(redundancy)相关性(relevance)informativeness重要性(importance)。其中,重要性这个概念是论文新突出的理念,它结合了其余三个概念的内容,并进行了公式化。

论文解读参考:https://zhuanlan.zhihu.com/p/76492696https://blog.csdn.net/Forlogen/article/details/98963499

数据集有哪些?

常用的文本摘要数据集有:

  • DUC 数据集;
  • New York Times 数据集;
  • CNN/Daily Mail 数据集;
  • Gigaword 数据集;
  • LCSTS 数据集。

由于 DUC 数据集规模较小,因此神经网络模型往往在其他数据集上进行训练,再在 DUC 数据集上进行测试。

NYT 数据集包含了发表于 1996 至 2007 年期间的文章,摘要由专家编写而成。该数据集的摘要有时候不是完整的句子,并且长度较短,大约平均 40 个词语。

目前广泛使用的是 CNN/Daily Mail 数据集,属于多句摘要数据集,常用于训练“生成式”摘要系统。该数据集一共有两个版本,匿名(Anonymized)版本和未匿名(Non-anonymized)版本,未匿名版本包括了真实的实体名(Entity names),匿名版本将实体使用特定的索引进行替换。

Gigaword 数据集摘要由文章第一句话和题目结合启发式规则构成。

LCSTS 为中文短文本摘要数据集,由新浪微博构建得到。

总结

文本摘要作为传统的自然语言处理任务,至今依旧有新的发展和创新,这一方面得益于模型、方法、语料的支撑,另一方面也是由于摘要任务自身的重要性。摘要生成作为文本生成的一种,除了有着重复、冗余、不连贯、生成较短等问题,还有着摘要任务特定的问题,其中最核心的为:如何确定关键信息。当下的文本摘要更关注**“什么才是真正的摘要,才是真正的好摘要”,而不仅仅是简单地句子压缩**。利用外部知识,利用关键词信息等方式来更好的辅助摘要的生成。各个摘要模型各有优点,在实验结果上各有优势。因此在考虑评价指标的同时,更应该关注问题本身,才能使得方法更具有普适性,更好的满足真实需要。

参考资料

1、文本自动摘要任务的“不完全”心得总结 https://zhuanlan.zhihu.com/p/83596443

2、文本摘要简述 https://www.jiqizhixin.com/articles/2019-03-25-7

3、NLP中面向文本表示的模型梳理 https://blog.csdn.net/weikai_w/article/details/103657943

4、Padmakumar, Aishwarya, and Akanksha Saran. “Unsupervised Text Summarization Using Sentence Embeddings.” (2016). https://pdfs.semanticscholar.org/253e/17a1692f0d6351345435a59a80f5ddb17731.pdf

5、Liu, Yang. “Fine-tune BERT for Extractive Summarization.” arXiv preprint arXiv:1903.10318 (2019). https://arxiv.org/abs/1903.10318

6、Aishwarya Jadhav and Vaibhav Rajan. Extractive summarization with swap-net: Sentences and words from alternating pointer networks. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), volume 1, pages 142–151, 2018. https://www.aclweb.org/anthology/P18-1014.pdf

注:文中的主要参考部分都已给出链接,在此不再重复

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值