NAM、RAS、MTLSum、BottleSUM…你都掌握了吗?一文总结文本摘要必备经典模型(二)
机器之心 2022-10-16 11:59 发表于北京
以下文章来源于机器之心SOTA模型,作者机器之心SOTA模型
机器之心专栏
本专栏由机器之心SOTA!模型资源站出品,每周日于机器之心公众号持续更新。
本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
本文将分 2 期进行连载,共介绍 17 个在文本摘要任务上曾取得 SOTA 的经典模型。
- 第 1 期:CopyNet、SummaRuNNer、SeqGAN、Latent Extractive、NEUSUM、BERTSUM、BRIO
- 第 2 期:NAM、RAS、PGN、Re3Sum、MTLSum、KGSum、PEGASUS、FASum、RNN(ext) + ABS + RL + Rerank、BottleSUM
您正在阅读的是其中的第 2 期。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
第1期回顾:CopyNet、SeqGAN、BERTSUM…你都掌握了吗?一文总结文本摘要必备经典模型(一)
本期收录模型速览
| 模型 | SOTA!模型资源站收录情况 | 模型来源论文 |
| NAM | https://sota.jiqizhixin.com/models/models/2072950a-5014-41a7-8801-5b894e5bb4a5收录实现数量:1支持框架:Torch | A Neural Attention Model for Abstractive Sentence Summarization |
| RAS | https://sota.jiqizhixin.com/models/models/0544ead9-de12-46b0-8fcd-61737f9951af收录实现数量:1支持框架:Torch | Abstractive Sentence Summarization with Attentive Recurrent Neural Networks |
| PGN | https://sota.jiqizhixin.com/models/models/c317f698-b7f3-46d3-abc1-f93c5f5f2b90收录实现数量:3支持框架:PaddlePaddle、TensorFlow、PyTorch | Get To The Point: Summarization with Pointer-Generator Networks |
| Re3Sum | https://sota.jiqizhixin.com/models/models/13859f1c-16a3-4b81-81f8-f85d078d91f4 | Retrieve, rerank and rewrite: Soft template based neural summarization |
| MTLSum | https://sota.jiqizhixin.com/models/models/1ee02eca-5042-4709-8bd1-af02d20bd262 | Soft Layer-Specific Multi-Task Summarization with Entailment and Question Generation |
| KGSum | https://sota.jiqizhixin.com/models/models/686f5a34-89a0-46c2-8270-ab62674c4e3f | Mind The Facts: Knowledge-Boosted Coherent Abstractive Text Summarization |
| PEGASUS | https://sota.jiqizhixin.com/models/models/161a361b-4102-415e-8f87-d00b9df241fa收录实现数量:2支持框架:TensorFlow、PyTorch | PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization |
| FASum | https://sota.jiqizhixin.com/models/models/f07ad4a0-8360-40e2-bcaa-2c820116150e收录实现数量:1 | Enhancing Factual Consistency of Abstractive Summarization |
| RNN(ext) + ABS + RL + Rerank | https://sota.jiqizhixin.com/models/models/bb9e36ba-3f90-43d2-a98c-d41e5adfe870收录实现数量:1支持框架:PyTorch | Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting |
| BottleSUM | https://sota.jiqizhixin.com/models/models/88b14617-ab92-4626-a2c8-81fd9aa0720d收录实现数量:1支持框架:PyTorch | BottleSum: Unsupervised and Self-supervised Sentence Summarization using the Information Bottleneck Principle |
文本摘要可以看做是一种信息压缩技术,具体是指利用技术从单个文本或多个文本(文本集合)中抽取、总结或提炼要点信息,以概括展示原始文本(集)中的主要信息。在互联网快速发展的现代社会,文本摘要的作用越来越重要,可以帮助人们从海量数据中快速发现所需要的信息。文本摘要成为了自然语言处理(NLP)领域的一项重要技术。
传统的文本摘要可以分为抽取式摘要和生成式摘要两种方法。抽取式摘要是通过抽取拼接源文本中的关键句子来生成摘要,优点是不会偏离原文的信息,缺点是有可能提取信息错误,或者出现信息冗余、信息缺失。生成式摘要则是系统根据文本表达的重要内容自行组织语言,对源文本进行概括,整个过程是一个端到端的过程,类似于翻译任务和对话任务,因此,生成式摘要方法可以吸收、借鉴翻译任务和对话任务的成功经验。与传统方法对应的,应用于文本摘要的神经网络模型也有抽取式模型、生成式模型以及压缩式模型三类。其中,抽取式模型主要是将问题建模为序列标注和句子排序两类任务,包括序列标注方法、句子排序方法、seq2seq三种;生成式模型则主要是以seq2seq、transformer为基础的引入各类辅助信息的生成式模型;压缩式模型主要是基于information bottleneck的模型,也可称为是抽取式和生成式混合的模型。
第一,抽取式模型的核心思想是:为原文中的每一个句子打一个二分类标签(0 或 1),0 代表该句不属于摘要,1 代表该句属于摘要,最终由所有标签为 1 的句子进行排序后生成摘要。这种方法的首要要求就是将自然语言转化为机器可以理解的语言,即对文本进行符号数字化处理,为了能表示多维特征,增强其泛化能力,可以引入向量的表征形式,即词向量、句向量。基于seq2seq的抽取式模型的文本摘要需要解决的问题是从原文本到摘要文本的映射问题。摘要相对于原文具有大量的信息损失,而且摘要长度并不会依赖于原文本的长度,所以,如何用简短精炼的文字概括描述一段长文本是seq2seq文本摘要需要解决的问题。
第二,生成式模型主要是依托自然语言理解技术,由模型根据原始文本的内容自己生成语言描述,而非提取原文中的句子。生成式模型的工作主要是基于seq2seq模型实现的,通过添加额外的attention机制来提高其效果。此外,还有一些模型以自编码为框架利用深度无监督模型去完成生成式摘要任务。再者,还可以引入GPT等预训练模型做fine-tune,改进摘要的生成效果。
第三,压缩式模型则是先通过某种方法将源文档做一个压缩,得到一个长度较为合适的文本。然后以压缩后的文本为目标,训练生成式模型最终得到目标模型。压缩式模型也可以看作是抽取式模型和生成式模型的结合。我们在这篇文章介绍文本摘要中必备的TOP模型,介绍是根据不同类型的模型分组进行的,同一类别的模型介绍则是按照模型提出的时间顺序来完成的。
一、生成式摘要模型
1.1 NAM
NAM是使用attention机制进行生成式文本摘要的第一篇文章,主要使用Attention+seq2seq构建摘要模型。不过模型直接生成摘要的效果并不太好,增加一些人工特征后,效果能大幅提升。NAM是一种完全由数据驱动的抽象化句子摘要方法,利用一个基于局部注意力的模型,根据输入的句子生成每个词的摘要。虽然该模型结构简单,但它可以很容易地进行端到端训练,并可扩展到大量的训练数据。
解码器部分:
NAM的解码器由标准的前馈神经网络语言模型(neural network language mode,NNLM)改编而成。神经网络语言模型参数化的核心实际上是得到摘要文本下一个词语的概率,输入文本与前文窗口经由编码器生成一个向量,该向量代表了输入文本与已生成文本。隐藏层由文本窗口乘以词向量与权重矩阵得到。下一个词的概率由文本窗口与输入文本共同决定,整个模型也体现了编码器与神经语言共同训练的核心。图1a给出了一个解码器结构的示意图。黑盒函数enc是一个上下文编码器术语,它返回一个大小为H的向量,代表输入和当前的上下文。刨除enc就是一个标准的语言模型,通过引入enc,并在训练中同时考虑这两个要素,就可以在生成阶段考虑文本本身。
图1. (a) 带有额外编码器的NNLM解码器的网络图。(b) 基于注意力的编码器enc3的网络图
编码器部分:
对于编码器的选择,词袋模型(bag-of-words)编码器不能反映出词与词之间的语义关系与顺序,卷积编码器(convolutional encoder)比较复杂,并且只能为整个输入句子产生一个单一的表征。NAM采用的有监督编码器结构简单,类似于词袋模型的模型,以下是编码器的全部模型:
生成部分:
最后,通过求解下式,生成摘要:
作者最终采用了集束搜索(beam-search)解码来求解上述的公式,下面是beam-search算法的详细步骤:
当前 SOTA!平台收录NAM共 1 个模型实现资源。
| 模型 | SOTA!平台模型详情页 |
| NAM |
前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/2072950a-5014-41a7-8801-5b894e5bb4a5 |
1.2 RAS
RAS 和NAM是同一个研究小组的工作,因此与NAM的模型架构非常相似。两个模型都采用seq2seq+attention的结构,都是句子层面(sentence-level)的seq2seq,区别在于选择encoder和decoder的模型,NAM模型偏容易一些,而RAS用了RNN来做。
编码器:
输入句子每个词最终的嵌入是各词的嵌入与各词位置的嵌入之和,经过一层卷积处理得到aggregate vector:
根据aggregate vector计算context(encoder的输出):
解码器:
解码器的部分是一个RNNLM,这里的RNN Hidden Layer使用的是LSTM单元。解码器的输出由下式计算:
其中c(t)是encoder的输出,h(t)是RNN隐藏层,由下式计算:
这里隐藏层的单元有两种思路,一种是常规的Elman RNN,一种是LSTM。
生成:
RAS的生成部分和NAM一样,也是用beam search生成摘要。
当前 SOTA!平台收录RAS共 1 个模型实现资源。
| 模型 | SOTA!平台模型详情页 |
| RAS |
前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/0544ead9-de12-46b0-8fcd-61737f9951af |
1.3 PGN
应用于文本摘要生成任务的seq2seq模型存在两个问题:容易忽略到文本中的细节;容易不断地重复自身。PGN(常被称为指针生成网络)以两种正交的方式增强了标准的seq2seq注意力模型。首先,使用一个混合的指针-生成器(pointer-generator)网络,它可以通过指针从源文本中复制单词,从而有助于准确地复制信息,同时保留通过生成器产生新单词的能力。其次,使用覆盖率来跟踪已概括的内容,阻止了重复现象。
图2. 经典的seq2seq注意力模型
图2为经典的seq2seq注意力模型结构。将文本w_i的token逐一输入编码器(单层双向LSTM),产生一串编码器的隐状态h_i。在每一步t,解码器(单层单向LSTM)接收前一个词的词嵌入(在训练时,这是参考摘要的前一个词;在测试时,这是解码器发出的前一个词),对应解码器状态s_t。
图3. PGN架构
PGN是图3中基线模型和指针式网络的混合体,它既可以通过指向复制单词,又可以从固定的词汇中生成单词。与基于 attention 的端到端系统相比,PGN具有以下优点:PGN让从源文本生成单词变得更加容易。这个网络仅需要将足够多的 attention 集中在相关的单词上,并且让PGN 足够的大;PGN可以复制原文本中的非正式单词,这样我们能够处理那些没出现过的单词,同时也允许我们使用更小规模的词汇集(需要较少的计算资源和存储空间);PGN能够被更快地训练,尤其是训练的前几个阶段。
此外,引入Coverage机制解决经典模型的重复性问题。在coverage model中,主要维持coverage vector,是之前所有解码器时间步长的注意力分配总和,也就是某个特定的源词的收敛就是到此刻它所受到 attention 的和:
其中,c^t 是对源文本单词的分布,它表示到目前为止这些词从注意力机制接收到的覆盖程度。c_0 是一个零向量,因为在第一个时间步长中,没有覆盖任何源文本。此时,注意力机制为:
其中,w_c是一个与v相同长度的可学习参数向量。这确保了注意力机制的当前决策(选择下一个关注点)是由其以前的决策(总结为c_t)提醒的。
当前 SOTA!平台收录 PGN 共 3 个模型实现资源。
| 模型 | SOTA!平台模型详情页 |
| PGN |
前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/c317f698-b7f3-46d3-abc1-f93c5f5f2b90 |
















