本文共介绍 17 个在文本摘要任务上曾取得 SOTA 的经典模型。
以下文章来源于机器之心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
您正在阅读的是其中的第 1 期。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
本期收录模型速览
模型 | SOTA!模型资源站收录情况 | 模型来源论文 |
CopyNet | https://sota.jiqizhixin.com/models/models/286c465a-178c-4106-8436-7130accccdf1 收录实现数量:2 支持框架:TensorFlow、PyTorch |
Incorporating Copying Mechanism in Sequence-to-Sequence Learning |
SummaRuNNer | https://sota.jiqizhixin.com/models/models/2a859c7f-b677-45d1-8bef-2c743efbff55 收录实现数量:1 支持框架:PyTorch |
SummaRuNNer: A Recurrent Neural Network Based Sequence Model for Extractive Summarization of Documen |
SeqGAN | https://sota.jiqizhixin.com/models/models/eed884d0-4497-43f8-99b8-22d418455bac 收录实现数量:22 支持框架:TensorFlow、PyTorch |
SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient |
Latent Extractive | https://sota.jiqizhixin.com/models/models/0dab4348-ff0f-48af-847e-87687e2b4fb3 | Neural latent extractive document summarization |
NEUSUM | https://sota.jiqizhixin.com/models/models/6ffe7d4b-c16f-4058-991b-3fb7c785c45b 收录实现数量:1 支持框架:PyTorch |
Neural Document Summarization by Jointly Learning to Score and Select Sentences |
BERTSUM | https://sota.jiqizhixin.com/models/models/e27d5e70-18ab-4576-9299-26bad528c4b4 收录实现数量:15 支持框架:PyTorch、TensorFlow |
Text Summarization with Pretrained Encoders |
BRIO | https://sota.jiqizhixin.com/models/models/7de76bc7-f55c-465c-9a81-ff175a623a6d 收录实现数量:1 支持框架:PyTorch |
BRIO: Bringing Order to Abstractive Summarization |
文本摘要可以看做是一种信息压缩技术,具体是指利用技术从单个文本或多个文本(文本集合)中抽取、总结或提炼要点信息,以概括展示原始文本(集)中的主要信息。在互联网快速发展的现代社会,文本摘要的作用越来越重要,可以帮助人们从海量数据中快速发现所需要的信息。文本摘要成为了自然语言处理(NLP)领域的一项重要技术。
传统的文本摘要可以分为抽取式摘要和生成式摘要两种方法。抽取式摘要是通过抽取拼接源文本中的关键句子来生成摘要,优点是不会偏离原文的信息,缺点是有可能提取信息错误,或者出现信息冗余、信息缺失。生成式摘要则是系统根据文本表达的重要内容自行组织语言,对源文本进行概括,整个过程是一个端到端的过程,类似于翻译任务和对话任务,因此,生成式摘要方法可以吸收、借鉴翻译任务和对话任务的成功经验。与传统方法对应的,应用于文本摘要的神经网络模型也有抽取式模型、生成式模型以及压缩式模型三类。其中,抽取式模型主要是将问题建模为序列标注和句子排序两类任务,包括序列标注方法、句子排序方法、seq2seq三种;生成式模型则主要是以seq2seq、transformer为基础的引入各类辅助信息的生成式模型;压缩式模型主要是基于information bottleneck的模型,也可称为是抽取式和生成式混合的模型。
第一,抽取式模型的核心思想是:为原文中的每一个句子打一个二分类标签(0 或 1),0 代表该句不属于摘要,1 代表该句属于摘要,最终由所有标签为 1 的句子进行排序后生成摘要。这种方法的首要要求就是将自然语言转化为机器可以理解的语言,即对文本进行符号数字化处理,为了能表示多维特征,增强其泛化能力,可以引入向量的表征形式,即词向量、句向量。基于seq2seq的抽取式模型的文本摘要需要解决的问题是从原文本到摘要文本的映射问题。摘要相对于原文具有大量的信息损失,而且摘要长度并不会依赖于原文本的长度,所以,如何用简短精炼的文字概括描述一段长文本是seq2seq文本摘要需要解决的问题。
第二,生成式模型主要是依托自然语言理解技术,由模型根据原始文本的内容自己生成语言描述,而非提取原文中的句子。生成式模型的工作主要是基于seq2seq模型实现的,通过添加额外的attention机制来提高其效果。此外,还有一些模型以自编码为框架利用深度无监督模型去完成生成式摘要任务。再者,还可以引入GPT等预训练模型做fine-tune,改进摘要的生成效果。
第三,压缩式模型则是先通过某种方法将源文档做一个压缩,得到一个长度较为合适的文本。然后以压缩后的文本为目标,训练生成式模型最终得到目标模型。压缩式模型也可以看作是抽取式模型和生成式模型的结合。我们在这篇文章介绍文本摘要中必备的TOP模型,介绍是根据不同类型的模型分组进行的,同一类别的模型介绍则是按照模型提出的时间顺序来完成的。
一、抽取式摘要模型
1.1 CopyNet
CopyNet目标是解决seq2seq模型的复制问题,即输入序列中的某些片段被选择性地复制到输出序列中。在人类的语言交流中也可以观察到类似的现象。例如,人类倾向于在对话中重复实体名称或甚至长短语。在Seq2Seq中复制的挑战是需要新的机器来决定何时执行该操作,即选择性的将输入序列中的某些片段复制到输出序列中。CopyNet可以很好地将解码器中的常规字生成方式与新的copy机制结合起来,后者可以在输入序列中选择子序列,并将它们放在输出序列的适当位置。
从认知的角度看,copy机制与死记硬背有关,只需要较少的理解就能保证较高的字面保真度。从建模的角度来看,copy的操作更加僵化和符号化,使得它比soft attention机制更难整合到一个完全可区分的神经模型中去。如图1所示,CopyNet是一个编码器-解码器。源序列被编码器转换为表征,然后被解码器读取以生成目标序列。
图1 CopyNet架构
编码器(encoder)部分是一个标准的双向 LSTM,每一个时间步长对应一个输入。一般会先对字(词)进行one hot编码,然后去查找嵌入,输入的是embedding size大小的向量。如图1所示,h_t 对应的是每个时间步长的 encoder 输出,代表了输入的一些高维度特征(隐状态)。对h_t 进行变化后将结果送给解码器(decoder)解码,一般来说送的是最后一个时间步长的输出。编码器的输出是隐状态M。
解码器是一个读取M并预测目标序列的RNN。解码器与标准RNN的区别包括:1)预测。COPYNET根据两种模式的混合概率模型来预测单词,即生成模式和复制模式,后者从源序列中挑选单词。2)状态更新:时间t-1的预测词被用于更新t的状态,但COPYNET不仅使用它的词嵌入,而且还使用它在M中相应的特定位置的隐藏状态。3)读取M:COPYNET对M进行 "选择性读取",这导致了基于内容的寻址和基于位置的寻址的强大混合。解码器有两个模式,1.生成模式。2. copy模式。
对于decoder,作者并没有向传统的decoder那样用softmax求概率,在这里作者用了两个词表X,V. V 表示频率大的topK的词,和一般选取的词表方法一样。而X则表示所有在源端出现一次的词,X和V有交集,如下图。
图2 作为4类分类器的解码概率的说明
给定解码器RNN在时间t的状态s_t和M,下述概率公式生成任何目标词y_t的概率:
其中g代表生成模式,c代表copy模式。这两种模式的概率分别为:
其中,对应于生成模式,与通用RNN编码器-解码器中的评分函数相同,使用经典的线性映射;对应于Copy模式,Copy某词x_i的概率为:
其中,W_c和σ表征非线性激活函数,可以帮助在同一语义空间中投射s_t和h_j。
此外,进一步对传统的解码器的输入进行改进。除了输入s_t-1和y_t-1、c_t ,作者对y_t-1进行改进,除了自身的嵌入外,还加入了类似attention的机制,对M进行加权求和,并且与y_t-1的向量合并,共同作为输入,这样将包含在M中的位置信息以加权和的方式输入编码器,这种改进对于copy机制选择从哪里开始copy有很大的帮助,即图1中蓝色框内的State Update。
当前 SOTA!平台收录CopyNet共 2 个模型实现资源。
模型 | SOTA!平台模型详情页 |
CopyNet | 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/models/models/286c465a-178c-4106-8436-7130accccdf1 |