Bottom-Up Abstractive Summarization
- EMNLP 2018,https://github.com/sebastianGehrmann/bottom-up-summary
本文研究生成式摘要任务,目前性能比较好的模型是指针生成式的端到端模型PGN,虽然这些端到端模型能够产生比较流畅的摘要,但在内容选择方面,即决定总结什么内容方面,与完全抽取式的模型相比,却显得不够精确、杂乱无章,如下图。作者认为端到端的PGN并不能充分地考虑到内容选择问题,因此,本文提出了一种先选择重要内容,然后再复制的方法,称之为Bottom-Up Attention。
模型:将原本在端到端实现拷贝生成拆分为两步,即先选择合适的上下文,再对其进行拷贝生成。
- 上下文选择:本文将第一步上下文选择定义为一个字级别的摘要抽取任务。并做了简单假设,在实现上将其看作一个序列标注问题。如果按目标序列复制了一个单词,则为1;否则为0。尽管此任务没有监督数据,但我们可以通过将黄金摘要与文档对齐来生成训练数据。
- Bottom-up Attention: Bottom-up本来是图像的技术,主要通过预先预测一个图像边界以方便缩小attention的范围。在基础PGN中,超过50%的拷贝部分都是拷贝序列的子串且超过了10个词,而摘要中或许只是这部分内容的10%。具体来说,本文首先基于完整数据集训练一个PGN和内容选择器。在预测阶段,内容选择器会对源文档中每个词计算选择概率,而这个概率就会用来修正PGN中产生的拷贝概率(直接设置阈值硬判决,实验发现硬判决优于软判决)。
- 实验结果:
- 硬判决优于软判决(下图中的DiffMask);同时也优于多任务(Multi-Task),这里的多任务是指序列标注和PGN联合训练,预测时仍遵循相同的模式。
- 硬判决优于软判决(下图中的DiffMask);同时也优于多任务(Multi-Task),这里的多任务是指序列标注和PGN联合训练,预测时仍遵循相同的模式。
Improving Latent Alignment in Text Summarization by Generalizing the Pointer Generator
- EMNLP 2019, https://github.com/chin-gyou/generalized-PG
- 研究内容:指针生成网络往往受限于以下两个问题:
- 首先,指针只能复制精确的单词,而忽略了可能的变形或抽象,这限制了它捕获更丰富的潜在对齐的能力;
- 其次,复制机制授予了模型强烈的复制导向,使得大多数的句子都是通过简单复制源文本产生的。
- 本文提出了泛指针生成网络(Generalized Pointer Generator,GPG),将指针生成部分的“硬拷贝”替换为“软编辑”。如下图,模型在生成closes的时候,先指向原文中的closure一词,然后通过一个关系建模函数将closure转换为closes进行生成。
- 模型结构:
Deep copycat Networks for Text-to-Text Generation
- EMNLP 2019, https://github.com/ImperialNLP/CopyCat
- 本文提出一种基于Transformer的指针网络结构Copycat,大体上与原始的PGN类似,如下图(a)所示。进一步,作者提出多源Copycat,即模型需要同时处理多个输入序列,作者以APE任务为例,模型的输入为源语言和翻译文本,输出为校正后的翻译文本,模型结构如下图(b)。更进一步,作者提出在多源上进行拷贝生成的Copycat,如下图(c)。
- 实验结论:
- 对于摘要任务,copycat不仅能够保持较低的重复率,同时也大大提高了新n-grams的生成率。
- 对于APE任务,引入双源设置,以及双重注意力机制对两个来源进行复制,使得模型可以适应性的根据翻译质量改变复制和生成的比例。
Insertion-based Decoding with automatically Inferred Generation Order
- TACL
- 大多数的生成模型(例如seq2seq模型),生成句子的顺序都是从左向右的,但这不一定是最优的生成顺序。 大量实验表明了从左向右生成不一定是最好的,比如先生成句子中的核心词(出现词频最高的词,或者动词等)可能效果会更好。本文提出了自动推测最佳的生成顺序,考虑所有顺序的概率,优化概率之和。 本文还提出了一个相对位置编码的方案,并且融合到了Transformer里。
模型结构:
- 从模型的角度看,只是修改了Transformer的解码器部分,因为对于随机的生成顺序,解码的时候绝对位置未知,所以不能使用传统的绝对位置编码,论文使用相对位置矩阵A来计算:
- 作者采用先预测下一个单词,再预测它的相对位置的方式:
- 优化目标:
- 第一种方法是定义为一个常见的确定的顺序,比如从左向右、从右向左等等
- 第二种方法是用beam search,这里称作Searched Adaptive Order (SAO)。 传统的序列生成模型其实也有beam search,不过那是在每个时刻解码概率最大那些子序列。 而这里的beam search空间更大,搜索的是整个排列的空间。 也就是在每个时刻,遍历所有的下一个单词和它的相对位置,找出最大的B个子序列
实验结果:
类似想法:
- ICML 2019, Insertion Transformer: Flexible Sequence Generation via Insertion Operations
- NeurIPS 2019,Sequence Modeling with Unconstrained Generation Order
Select and Attend: Towards Controllable Content Selection in Text Generation
- EMNLP 2019
- 将内容选择作为隐变量,通过隐变量的采样来控制多样性。