Abstractive Summarization

Abstractive Summarization

A Neural Attention Model for Abstractive Sentence Summarization

  • Alexander M. Rush et al., Facebook AI Research/Harvard
  • EMNLP2015
  • sentence level
  • seq2seq模型在2014年提出,这篇论文是将seq2seq模型应用在abstractive summarization任务上比较早期的论文。同组的人还发表了一篇NAACL2016(Sumit Chopra, Facebook AI Research_Abstractive sentence summarization with attentive recurrent neural networks)(作者都差不多),在这篇的基础上做了更多的改进,效果也更好。这两篇都是在abstractive summarization任务上使用seq2seq模型的经典baseline。
  • 目标函数是negative log likelihood,使用mini-batch SGD优化
  • 本文提出了3种encoder,重点在于Attention-based encoder
    • bag-of-words encoder
    • Conv encoder: 参考TextCNN,没有做过多的其他改动
    • Attention-based encoder:

      x: 原始文本

      y_c: 上下文单词(已经输出的摘要内容)

  • 生成摘要使用Beam Search算法
  • 本模型效果并不让人满意
  • 性能(ABS)
    • DUC-2004: Rouge-1:26.55/Rouge-2:7.06/Rouge-L:22.05
    • Gigaword: Rouge-1:30.88/Rouge-2:12.65/Rouge-L:28.34

Abstractive Sentence Summarization with Attentive Recurrent Neural Networks

  • Sumit Chopra et al., Facebook AI Research
  • NAACL2016
  • sentence level
  • encoder: 使用了基于注意力的CNN
    • 先将词的原始embedding(x_i)和位置embedding(l_i)(可训练)相加,作为词的full embedding(a_i)
    • 然后使用size=5的一维卷积核做一个卷积操作,得到aggregate embedding(z_i)
    • 计算attention:

      h_t-1是t-1时刻的隐层状态(吧)

    • 计算t时刻encoder的输出c_t:

  • decoder: 普通的RNN和LSTM都试了
    • 状态更新:

  • 模型encoder的输入每次都是一个完整地句子,decoder每次要输出的时候,会将h_t-1给encoder,encoder根据句子和h_t-1计算attention生成c_t给decoder,然后decoder根据(y_t-1, h_t-1, c_t)计算要输出的单词。encoder还要更新position embedding(l_i)
  • 性能(RAS-Elman, k=10, k means beam size):
    • DUC-2004: Rouge-1:28.97/Rouge-2:8.26/Rouge-L:24.06
    • Gigaword: Rouge-1:33.78/Rouge-2:15.97/Rouge-L:31.15

Abstractive Text Summarization Using Sequence-to-Sequence RNNs and Beyond

  • Ramesh Nallapati, Bowen Zhou, Cicero dos Santos; IBM
  • CoNLL2016
  • 这篇文章除了seq2seq,还用了很多的tricks来提升性能,model部分看起来挺多的,LVT在网上搜不到,搜sampled softmax就能搜到了。
  • Models
    • LVT/sampled softmax: seq2seq输出的时候使用了softmax,计算V中的每个词的值并归一化,这一步非常耗时。sampled softmax对每个句子/文章单独采样了一个V‘,只对V‘中的词计算softmax并归一化,大幅减少了训练时的计算量。不过在测试的时候仍然需要计算所有词
    • Feature-rich encoder: 就是将POS、NER、TF、IDF等文本特征拼接在word embedding后面作为encoder的输入
    • Switching Generator-Pointer: 这个操作主要用于解决OOV和UNK问题,当碰到OOV时,g_i置为0,模型会从输入中寻找一个词作为输出和下一时间片的输入。测试时模型会自动决定采用decoder的输出还是从输入中挑选一个词作为输出。
    • Hierarchical Attention: 模型会对每个句子计算attention,并整合句子的权重计算每个词的权重。句子的的隐层状态后面还会拼接position embedding。
    • Hierarchical Attention效果没有预期的好,作者还使用了Temporary Attention(Sankaran et al., 2016, Temporal Attention Model for Neural Machine Translation),效果大幅提升。
  • DataSet: 本文提出了CNN/Daily Mail Corpus,每个摘要包含了多个句子(之前的DUC2004和Gigaword每个摘要只包含1个句子),后续被大量用于评测。
  • 性能
    • Gigaword: Rouge-1:35.30/Rouge-2:16.64/Rouge-L:32.62
    • CNN/Daily Mail Corpus: Rouge-1:35.46/Rouge-2:13.30/Rouge-L:32.65

Selective Encoding for Abstractive Sentence Summarization

  • Qingyu Zhou, Nan Yang, Furu Wei, Ming Zhou; MSRA&HIT
  • ACL2017
  • sentence level again
  • Models
    • Encoder没什么好说的,单层BiGRU为每个词x_i生成一个2d维的hidden state(h_i)
    • Selective Mechanism是将词的h_i与句子的s拼接到一起,搁到一个前馈网络里生成输出h‘_i。行吧,但是你这s有点不讲道理啊,凭啥s=[h←_1, h→_n],凭啥这个就能代表整个句子。h←_1表示从右到左读取了整个句子, h→_n表示从左到右读取了整个句子,看起来还是比较合理的。
    • Decoder的不同在于maxout。GRU使用s_t-1, c_t-1, y_t-1更新s_t;s_t+h_i计算e_i然后归一化得到权重α_i,乘以h‘_i得到context向量c_t,和s_t、y_t-1一起放到一个maxout层(k=2)中得到output,然后使用softmax。这个maxout层有点意思,相当于不同层网络之间有2套互相独立的权重参数,输出z的时候选一个能让z大的参数。这里encoder使用了BiGRU,decoder得到的输出是2d,使用k=2的maxout合并相邻的两个数值,将输出降为d维(细细一想好像不是很有道理……把第i个和d+i个合并是不是好一点,毕竟在向量空间中是同一个维度)。
  • 性能: all are state-of-the-art
    • Gigaword(Rush et al., 2015): Rouge-1:36.15/Rouge-2:17.54/Rouge-L:33.63
    • Gigaword(ours): Rouge-1:46.86/Rouge-2:24.58/Rouge-L:43.53(sounds something strange??? why so high?)
    • DUC2004: Rouge-1:29.21/Rouge-2:9.56/Rouge-L:25.51

Incorporating copying mechanism in sequence-to-sequence learning

  • Jiatao GU et al.
  • ACL2016
  • using LCSTS Dataset
  • Models
    • 整体:
    • Prediction: 相比上一个有个开关的方式,这篇论文则将概率相加再softmax得到输出。对于V中的每个词,计算generation模式的概率,对于X中的每个词,计算copy模式的概率,最后进行归一化,得到输出。

    • Decoder State Update: s_t=f(s_t-1, y_t-1, c_t)这个和常规的是一样的,但是这里的y_t-1=[e(y_t-1), C(y_t-1)]T,e就是y_t-1的embedding,C是输入单词的权重,对跟y_t-1相同的词进行计算,不相同的词直接置0,然后归一化。
  • Code: https://github.com/MultiPath/CopyNet
  • 性能:
    • LCSTS(Word Level): Rouge-1:35.0/Rouge-2:22.3/Rouge-L:32.0

Sequential Copying Networks

  • Qingyu Zhouy, Nan Yang, Furu Wei, Ming Zhou; HIT & MSRA
  • AAAI2018
  • 原先的CopyNet每次copy一个词,这篇文章一次可以copy多个词(词组),通过给每个copy的词打标签来判断是否结束
  • 性能
    • Gigaword: Rouge-1:35.93/Rouge-2:17.51/Rouge-L:33.35

A Deep Reinforced Model for Abstractive Summarization

  • Romain Paulus, Caiming Xiong & Richard Socher; Salesforce Research
  • ICLR2018
  • Renforcement Learning
  • Models(Attention Mechanism)
    • Intra-Temporal Attention: 普通的Attention都是依次计算当前decoder的状态s_t与每个encoder的隐层状态h_i的得分e_i,然后归一化得到权重α_i,再加权求和得到上下文向量c_t。这篇文章对e_i做了修改,对所有时间片t的e_ti做归一化,得到对应时间片的归一化时序得分e‘_ti,然后再对所有encoder的隐层状态做一次归一化得到权重并计算c_t。

    • Intra-Decoder Attention: 普通的Attention都是计算当前decoder状态与不同encoder之间的权重。然而,已经由decoder输出的词对decoder输出下一个词同样是有影响的,例如可以避免输出陷入循环。因此这篇文章设计了一个decoder当前隐层状态与decoder历史隐层状态的attention机制。先计算当前h_t与历史每个h_t‘的得分,然后归一化得到权重,最后加权求和得到decoder的上下文输出c_t_d。

    • Generation/Pointer: 这里的copy机制与CopyNet有稍许不同。CopyNet是计算Generation、Pointer模式下的得分,最后统一归一化得到概率。这里先计算使用Pointer模式的概率,然后求得y_t的期望,选择期望最大的值作为输出。模式概率计算如公式:

    Pointer模式下y_t=x_i的条件概率直接取Intra-Temporal Attention中计算出的权重α_i,Generation模式下的条件概率使用softmax得到,计算公式类似于上述公式(σ替换为softmax)

    • Weight Sharing: 输出的embedding matrix是由输入的embedding matrix之间加了一层非线性映射得到的。(参考Inan et al. (2017) and Press & Wolf (2016))

    • beam search的时候,对于已经出现过的trigram,直接将概率设为0避免重复。
  • Models(Hybrid Learning Objective)
    • Teacher Forcing算法。通常的目标函数都是NLL,然而即便达到最优,在使用离散评价方式(ROUGE, CIDEr, BLEU)进行评价的时候,往往得不到最好的效果,主要原因有俩:1. 训练的时候使用正确的单词作为下一时间片的输入,每一步的错误不会累积,但是测试的时候每一步的错误会累积到下一时间片。2. 输出文本的词序是灵活的,离散的评价方式也考虑到了这种灵活性,但是NLL没有。
    • Policy Learning: 强化学习的两种常用算法(Policy Gradient, Q-Learning)之一。本文使用self-critical policy gradient training algorithm (Rennie et al., 2016)。decoder生成2个输出序列,一个使用常规的方法生成y^,另一个基于p(ys_t|ys_t-1, ..., ys_1, x)概率分布抽样得到ys,r是评分函数,强化学习的目标函数如下:

    最终的混合目标函数如下:

  • 性能
    • CNN/Daily Mail(only ML): Rouge-1:38.30/Rouge-2:14.81/Rouge-L:35.49
    • CNN/Daily Mail(only RL): Rouge-1:41.16/Rouge-2:15.75/Rouge-L:39.08
    • CNN/Daily Mail(ML+RL): Rouge-1:39.87/Rouge-2:15.82/Rouge-L:36.90
  • 分析
    • 我们可以看到only RL的Rouge评分高于ML+RL不少,然而其可读性得不到保证。我们对每条摘要找了5个人从1-10分中打分,RL的得分是最低的,远低于ML。ML+RL的得分则最高。

Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting(了解)

  • Yen-Chun Chen, Mohit Bansal; UNC Chapel Hill
  • ACL2018
  • Extractor + Abstractor + Reinforcement Learning
  • 与我们的需求并不完全符合,没有深究
  • Models

    • : parallel decoding
    • decoder: CopyNet-like
    • 强化学习仅调整Extractor参数,不调整Abstractor参数,避免生成的句子可读性差,同样使用Policy Gradient学习算法。
  • 性能
    • CNN/Daily Mail: Rouge-1:40.88/Rouge-2:17.80/Rouge-L:38.54

A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for Abstractive Text Summarization

  • Li Wang1, Junlin Yao2, Yunzhe Tao3, Li Zhong1, Wei Liu4, Qiang Du3

    • 1 Tencent Data Center of SNG
    • 2 ETH Zurich
    • 3 Columbia University
    • 4 Tencent AI Lab
  • IJCAI-ECAI2018
  • Conv Seq2seq + LDA + Reinforcement Learning
  • Models
    • Position Embedding: 每个词的输入=词向量+位置向量。词向量是随机初始化的,位置向量没说。
    • Gated Linear Unit: 每层的卷积操作做个线性变化到2d维,拆分成[A; B],然后两边残差连接喂入下一层
    • Multi-Step Attention: 先对隐层状态做个embedding再计算权重:

    W、b是参数,h是隐层状态,q_i是上一个输出的词。

    • Topic Embedding: 对于每个主题,抽取出前N个词出来构成词表K,预训练得到topic embedding。对于输入中的每个词,如果在K中,则使用topic embedding,否则使用word embedding。
    • Joint Attention: 在Topic-aware Conv过程中,计算Attention权重时,除了要计算当前decoder隐层状态与每个encoder输出的点积,还要计算当前decoder隐层状态与input ebmedding中每个encoder输出的点积,再求和并归一化作为权重。
    • Biased Probability Generation:

    Ψ是一个带偏置项的线性变换。

    • Reinforcement Learning: 策略和A Deep Reinforced Model for Abstractive Summarization一模一样,λ_RL=0.99
  • 性能
    • Gigawords: Rouge-1:36.92/Rouge-2:18.29/Rouge-L:34.58
    • DUC2004: Rouge-1:31.15/Rouge-2:10.85/Rouge-L:27.68
    • LCSTS(word): Rouge-1:39.93/Rouge-2:33.08/Rouge-L:42.68

Controllable Abstractive Summarization

  • Angela Fan, David Grangier, Michael Auli, Facebook
  • ACL2018
  • 之前的论文都忽视了用户的个人风格,包括摘要长度,行文风格,用词等。这篇论文可以按照用户的输入来生成类似风格的摘要。在无用户输入的情况下,模型也能达到State-of-the-art。

Deep Communicating Agents for Abstractive Summarization

  • Asli Celikyilmaz1, et al.; MSRA
  • NAACL2018
  • Models
    • 这篇文章想解决长文本的摘要问题,将文本划分成多个段落,对每个段落进行encode操作并计算内部的word attention,最后得到整个段落的embedding。之后将所有段落合并到一起计算Context Agent Attention,作为decoder的输入。
    • 改进了Pointer Network,可以从不同段落中抽取单词。
    • 同样使用了Reinforcement Learning,但是前面的RL目标函数都是采样得到一个y,再计算y与输出的y^之间Rouge得分差作为优化目标。这篇文章的每输出一个单词就计算一次当前Rouge得分,减去上一次的得分,作为优化目标。

Global Encoding for Abstractive Summarization

  • Junyang Lin, Xu Sun, Shuming Ma, Qi Su; PKU
  • ACL2018
  • Models
    • 这篇文章想解决的问题是decoder在输出时可能会不断重复已有的单词。在ICLR2018的A Deep Reinforced Model for Abstractive Summarization已经用过Intra-Decoder Attention尝试从已经输出过的内容上解决这个问题,这篇文章提出了Global Encoding方法使用源文本来尝试解决这个问题。

原文地址:https://www.cnblogs.com/dtblog/p/9365601.html

时间: 2024-08-07 02:41:12

Abstractive Summarization的相关文章

[code] Transformer For Summarization Source Code Reading

Basic Information 作者:李丕绩(腾讯AI Lab) 模型:Transformer + copy mechanism for abstractive summarization 数据集:CNN/Daily Mail Parameters WARNING: IN DEBUGGING MODE USE COPY MECHANISM USE COVERAGE MECHANISM USE AVG NLL as LOSS USE LEARNABLE W2V EMBEDDING RNN TY

(zhuan) Attention in Long Short-Term Memory Recurrent Neural Networks

Attention in Long Short-Term Memory Recurrent Neural Networks by Jason Brownlee on June 30, 2017 in Deep Learning The Encoder-Decoder architecture is popular because it has demonstrated state-of-the-art results across a range of domains. A limitation

Awesome Torch

Awesome Torch This blog from: A curated list of awesome Torch tutorials, projects and communities. Table of Contents Tutorials Model Zoo Recurrent Networks Convolutional Networks ETC Libraries Model related GPU related IDE related ETC Links Tutorials

ACL 2015 selected paper

ACL 2015 selected paper 概述(1) 开完 ACL 2015 大会,选了自己感兴趣的几十篇论文,大部分是自己已经读过的,做了一些概述.相信里面有很多错误,欢迎指正.另外,图文并茂版本在公众号查看,长微博复制图片也许有很多错误显示不出来. 1. Text to 3D Scene Generation with Rich Lexical Grounding Angel Chang, Will Monroe, Manolis Savva, Christopher Potts, C

【DeepLearning】一些资料

记录下,有空研究. http://nlp.stanford.edu/projects/DeepLearningInNaturalLanguageProcessing.shtml http://nlp.stanford.edu/courses/NAACL2013/ Fast and Robust Neural Network Joint Models for Statistical Machine Translation ACL2014的论文列表 http://blog.sina.com.cn/s

回望2017,基于深度学习的NLP研究大盘点

回望2017,基于深度学习的NLP研究大盘点 雷锋网 百家号01-0110:31 雷锋网 AI 科技评论按:本文是一篇发布于 tryolabs 的文章,作者 Javier Couto 针对 2017 年基于深度学习的自然语言处理研究进行了大盘点.雷锋网 AI 科技评论根据原文进行了编译. 在过去的几年里,深度学习(DL)架构和算法在诸如图像识别和语音处理等领域取得了世人瞩目的进步.然而在最开始的时候,深度学习在自然语言处理(Natural Language Processing, NLP)领域的

自注意力机制(Self-attention Mechanism)——自然语言处理(NLP)

近年来,注意力(Attention)机制被广泛应用到基于深度学习的自然语言处理(NLP)各个任务中.随着注意力机制的深入研究,各式各样的attention被研究者们提出.在2017年6月google机器翻译团队在arXiv上放出的<Attention is all you need>论文受到了大家广泛关注,自注意力(self-attention)机制开始成为神经网络attention的研究热点,在各个任务上也取得了不错的效果.对这篇论文中的self-attention以及一些相关工作进行了学习

DL4NLP —— seq2seq+attention机制的应用:文档自动摘要(Automatic Text Summarization)

两周以前读了些文档自动摘要的论文,精读了三篇并做了presentation.下面把相关内容简单整理一下. 文本自动摘要(Automatic Text Summarization)就是说在不改变文档原意的情况下,利用计算机程序自动地总结出文档的主要内容.自动摘要的应用场景非常多,例如新闻标题生成.科技文献摘要生成.搜索结果片段(snippets)生成.商品评论摘要等.在信息爆炸的互联网大数据时代,如果能用简短的文本来表达信息的主要内涵,无疑将有利于缓解信息过载问题. 一.概述 自动摘要可以从很多角

Learning LexRank——Graph-based Centrality as Salience in Text Summarization(一)

(1)What is Sentence Centrality and Centroid-based Summarization ? Extractive summarization works by choosing a subset of the sentences in the original documents. This process can be viewed as identifying the most central sentences in a (multi-documen