【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

第一篇非转载,而是尝试自己写阅读笔记,虽然感觉变成了整篇翻译…以后慢慢改进吧。

学然后知不足。

这是一篇Abstractive Text Summarization相关的paper,出自于腾讯知文团队、苏黎世联邦理工学院、哥伦比亚大学和腾讯 AI Lab,A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for Abstractive Text Summarization.收录于 IJCAI 2018。

本文主要做了三个方面的工作:

(1)基于卷积神经网络的sequence to sequence框架,将主题模型整合进自动摘要模型中。

(2)使用了self-critical强化学习方法,针对ROUGE评价指标对模型进行优化。

(3)基于三个基准的数据集进行训练检测。


目录

Abstract

Introduction

Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model

ConvS2S架构

Topic-Aware Attention Mechanism

Reinforcement Learning

Experimental Setup

Datasets

Topic Information

Model Parameters and Optimization

Results and Analysis

Gigaword Corpus

DUC-2004 Dataset

LCSTS Dataset

Conclusion and Future Work

NOTE


Abstract

本文将自动文摘问题当作一个Seq2Seq的问题,并且应用Attentional Encoder-Decoder Recurrent Neural Networks框架来解决这个问题,并且在两个不同的数据集上取得了超越ABS(Rush,2015)模型的结果。同时,本文还提出多种模型来研究自动文摘中的重要问题,比如对关键词进行建模,并且得出词对于文档研究起关键作用的结论。研究结果表明本文的解决方案在性能上有很大的提升,另外,还贡献了一个包括多句子文摘的数据集和基准。

本文中,我们提出了一种新方法,该方法基于卷积神经网络的 sequence to sequence 框架(ConvS2S)[Gehring et al., 2017],引入结合主题模型的注意力机制。就我们所知,这是生成式文本摘要中首个采用卷积框架结合联合注意力机制引入主题信息的研究,这能将主题化的和上下文的对齐信息提供到深度学习架构中。此外,我们还通过使用强化学习方法 [Paulus et al., 2017] 对我们提出的模型进行了优化。本论文的主要贡献包括:

本文的贡献点有三个:(1)提出了结合多步注意力机制和带偏置生成机制的方法,将主题信息整合进了自动摘要模型中,注意力机制能引入上下文信息来帮助模型生成更连贯、多样性更强和信息更丰富的摘要;(2)在ConvS2S的训练优化中使用了self-critical强化学习方法(SCST:self-critical sequence training),以针对文本摘要的指标ROUGE来直接优化模型,这也有助于缓解曝光偏差问题(exposure bias issue);(3)在三个基准数据集上进行了广泛的实验,结果表明引入主题模型和SCST强化学习方法的卷积神经网络能生成信息更丰富更多样化的文本摘要,模型在数据集上取得了较好的文本摘要效果。

Introduction

自动文本摘要的主要挑战是正确地评价和选择重要信息,有效地过滤冗余内容,正确地聚合相关段,并进行人类可读的总结。与其他NLP任务相比,自动总结有其自身的困难。

最近,深度神经网络模型被广泛应用于NLP任务,如Bahdanau研究的机器翻译(2014),以及Nallapati的文本摘要(2016b)。特别是Bahdanau提出的基于注意力机制的序列框架,结合Sutskever提出的神经网络(RNNs),在NLP任务中有很大优势。然而,基于rnn的模型更容易因其非线性的连锁结构而导致的梯度消失,与基于cnn的模型的层次结构相比(2016)。此外,rnn的隐藏状态之间的时间依赖性阻止了序列元素的并行化,这使得训练效率低下。

本文主要是基于ConS2S框架引入了结合主题模型的注意力机制,并使用强化学习的方法针对评价指标ROUGE对模型进行了优化。

Related work

在摘要任务中,很少有方法探讨卷积结构的性能。与RNNs相比,卷积神经网络(CNNs)有几个优点,包括利用并行计算的有效训练,以及减少由于非线性而减少的梯度消失问题。值得注意的是,最近提出的封闭式卷积网络,在语言建模和机器翻译任务中胜过了最先进的基于rnn的模型。

虽然在抽取式摘要的研究中也对卷积神经网络模型进行了评估[Gehring et al., 2017],但也存在一些局限性。首先,这个模型是通过最小化最大似然函数的损失来训练的,这种损失有时与摘要的质量不一致,以及从整句话中评估的度规,如ROUGE指标 [Lin, 2004]。此外,曝光偏差问题[Ranzato et al., 2015]发生的原因是,只将模型暴露在训练数据分布中,而不是我们的预测中。更重要的是, ConvS2S模型只使用了文字级的排列,这可能不足以概括和容易产生不连贯的概括总结。因此,更高级别的对齐可能是一个潜在的帮助。例如,主题信息已经被引入到基于rnn的序列[Xing et al., 2017] 对聊天机器人的序列模型中,以产生更多的信息反馈。

##(待总结)

Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model

引入强化学习和主题模型的卷积 sequence to sequence 模型,其包含词语信息输入和主题信息输入的双路卷积神经网络结构、一种多步联合注意力机制、一种带主题信息偏置的文本生成结构和一个强化学习训练过程。图展示了这种引入主题信息的卷积神经网络模型。

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

图:引入主题信息的卷积神经网络结构示意图。源序列的单词和主题的嵌入是由相关的卷积块(左下方和右下方)编码的。然后,我们通过计算解码器表示(左上角)和文字/主题编码器表示的点积来共同关注单词和主题。最后,我们通过一个有偏差的概率生成机制来生成目标序列。

##(待总结)

ConvS2S架构

我们使用 ConvS2S 架构 [Gehring et al., 2017] 作为我们的模型的基础架构。在这篇论文中,我们使用了两个卷积模块,分别与词层面和主题层面的 embedding 相关。我们在这一节介绍前者,在后一节介绍后者以及联合注意力机制和带偏置文本生成机制。

Position Embeddings

让x=(x1,...,xm)表示输入语句。我们首先将输入元素(单词)嵌入到分布空间中,如w=(w1,...,wm),【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum,是一组随机初始化的矩阵【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum,V是词汇表的大小。我们还添加了一个位置嵌入,p=(p1,...,pm)使用【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum,以保留命令信息。因此,输入的最终嵌入是e=(w1+p1,...,wm+pm)。类似地,让q=(q1,...,qn)表示已由解码器生成的输出元素的嵌入,并反馈到下一个步骤。

Convolutional Layer

编码器和译码器网络都是通过叠加几个卷积层来构建的。假设内核有k的宽度,输入嵌入维度是d。卷积接受k个输入元素【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum的连接并将其映射到输出元素【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum,即

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

其中的内核矩阵, 【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum和偏差项【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum是要学习的参数。

把输出重写成【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum,然后由门控线性单元(GLU) [Dauphin et al., 2016] ,即

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum是sigMoid函数,【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum是点乘,GLU的输出结果在【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

我们表示l层的输出为【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum,解码器为【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum。以解码器为例。我在l层上的卷积单位是由残差连接计算的

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

Multi-step Attention

摘要介绍了一种使模型访问历史信息的注意机制。为了计算注意力,我们首先将当前的解码器状态:

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

注意力的权重【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum状态i和源输入元素j被计算为【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum和最后一个编码器的输出【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum之间的点积,也就是:

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

当前解码器层的条件输入【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum被计算为:

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

ej是嵌入的输入元素,它可以提供关于特定输入元素的点信息。一旦计算出【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum,它就会被添加到相应的解码器层的输出【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum中,并作为输入到【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum的一部分。

##(待改)LVT是一个针对文本摘要问题的有效方法,考虑到了摘要中的大部分词都是来源于原文之中,所以将decoder的词汇表做了约束,降低了decoder词汇表规模,加速了训练过程。

Topic-Aware Attention Mechanism

引入主题模型的多步注意力机制

主题模型是一种用于发现源文章集合中出现的抽象主题思想或隐藏语义的统计模型。在本论文中,我们使用了主题模型来获取文档的隐含知识以及将引入主题信息的多步注意力机制集成到 ConvS2S 模型中,这有望为文本摘要提供先验知识。现在我们介绍如何通过联合注意机制和带偏置概率生成过程将主题模型信息引入到基本 ConvS2S 框架中。

Topic Embeddings

Joint Attention

Biased Probability Generation

Reinforcement Learning

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

式(13)在评估指标方面,通常会产生次优的结果,例如,衡量生成摘要的句子水平准确性的ROUGE。这种次优性与曝光的偏差[Ranzato et al., 2015]问题有关,该问题是由于只将一个模型暴露于训练数据的分布而不是其自身的分布中。在训练过程中,模型由ground-truth值输出序列来预测下一个单词,而在推理过程中,它们会生成下一个单词,并将预测的单词作为输入。因此,在测试过程中,每个步骤的错误会累积并导致性能的恶化。

次优性的第二个原因来自于文摘的灵活性。最大似然目标奖励模型可以预测与引用完全相同的摘要,同时惩罚产生不同文本的那些,即使它们在语义上相似。提供多个参考摘要是有帮助的,但还不够,因为有其他的替代方法来重新表述一个给定的摘要。因此,最小化式(13)中的目标,忽略了摘要的内在属性。另一方面,ROUGE则提供了更灵活的评估,鼓励模型更多地关注语义上的含义,而不是词向量的一一对应。

为了解决这些问题,我们利用self-critica序列训练(SCST) [Rennie et al., 2016],一种强化学习的策略梯度算法,直接最大化非可微的ROUGE度量。在强化学习过程中,我们根据输入序列x生成两个输出序列,第一个序列【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum是通过贪婪地选择最大化输出概率分布的词来获得的,而另一个输出序列【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum是通过从分布中取样生成的。在获得了两种序列的ROUGE之后,也就是我们的反馈【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum我们最小化了强化损失:

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

并通过梯度下降法更新模型参数。

有了SCST,我们可以直接优化离散的评估指标。此外,反馈【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum的self-critical的测试时间估计提供了一个简单而有效的基线,并提高了训练/测试时间的一致性。以来在学习我们的基线设置加强算法获得的奖励当前模型的测试时间推断,SCST暴露了模型的分布和鼓励它产生序列输出【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSumROUGE得分高,避免暴露的偏差问题,从而提高测试性能。

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

Experimental Setup

Datasets

摘要本文讨论了在抽象性文本摘要任务中,对不同方法的性能进行评价的三个数据集。首先,我们认为带注释的千兆字语料库的处理方式是相同的,这将导致大约380万个训练样本,190K验证样本和1951年的测试样本进行评估。输入摘要对由标题和源文章的第一个句子组成。我们还评估了在DUC-2004测试set1上的各种模型。数据集是一个标准的摘要评估集,由500篇新闻文章组成。与“千字”语料库不同,DUC-2004中的每一篇文章都与4个人工生成的参考摘要配对,这使得评估更加客观。最后一个评估数据集是中国微博网站新浪微博收集和构建的大量中文短文本摘要(LCSTS)数据集。在原始论文的设置之后,我们使用LCSTS数据集的第一部分进行培训,其中包含240万个文本摘要对,并从最后一部分中选择725对作为我们的测试集。

Topic Information

摘要采用吉布斯抽样技术的经典LDA方法,对主题嵌入初始化的语料库进行预训练,并为有偏差的概率生成过程提供候选方案。在对神经网络结构的适应中,嵌入值被规范化为一个平均值为0和0.1的分布。在这篇论文中,我们选取了最高的N=200个单词,在每个主题中获得了主题词集的最高概率。注意,在训练前,通用词被过滤掉了。在上表中,随机选择了单词语料库的主题词示例。

Model Parameters and Optimization

我们为编码器和解码器使用了六个卷积层。所有的嵌入,包括初始化的嵌入和解码器在最终的线性层之前产生的输出,都有一个维度256。我们还对隐藏和嵌入状态之间的线性层映射的大小采用了相同的维度。我们使用0.25的学习速率,并在每次学习速率低于10-5的情况下,以0.1的衰减率来降低它的衰减率。我们首先训练基本的主题注意力卷积模型与标准的最大似然目标,然后切换到进一步最小化混合训练目标,包括强化学习目标【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum和最初的最大似然【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum,这是给定的:

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

Results and Analysis

采用ROUGE指标度量。

Gigaword Corpus

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

模型在 Gigaword 语料库上生成的摘要示例。D:源文档,R:参考摘要,OR:引入强化学习的 ConvS2S 模型的输出,OT:引入主题模型和强化学习的 ConvS2S 模型的输出。蓝色标记的词是参考摘要中没有出现的主题词。红色标记的词是参考摘要和源文档中都没有出现的主题词。

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

Rouge 在 DUC-2004 数据集上的准确度分数。在每种分数上的最佳表现用粗体表示。

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

从完整的RG-1、RG-2和RG-L的角度来看LCSTS数据集的准确性。在最后的三行中,单词级别的ROUGE分数在左边和右边的字符级上显示。

DUC-2004 Dataset

由于DUC-2004数据集是一个只有评估的数据集,所以我们首先对这些模型进行训练,然后评估它们在DUC数据集上的性能。作为标准的实践,我们在这个实验中报告了RG-1、RG-2和RG-L度量的基于recall的分数,这些在表5中给出了。从表5中我们可以看出,所提议的强化--主题--ConvS2S模型在RG-1和RG-L指标上取得了最好的成绩,并且在RG-2上具有可比性。由于这两个数据集的相似性,我们在这个实验中没有提供定性的总结。

LCSTS Dataset

现在,我们在LCSTS数据集上考虑了抽象的摘要任务。由于这是一个大型的中国数据集,所以应该首先提出合适的数据预处理方法。基本上,对中国数据集进行预处理有两种方法:基于字符和基于文字的数据。前者将每个汉字作为输入,而后者将一个输入句分割成中文单词。[Hu et al., 2015]为两种预处理方法提供了基线结果。[Shen et al., 2016]还在基于人物输入的LCSTS语料库中进行了实验。[Gu et al., 2016]提出了一种基于字符和基于文字的预处理的神经模型,将复制机制整合到序列到序列的框架中。在这项工作中,我们采用了基于文字的方法,因为我们相信,在汉语的情况下,词语比字符更重要的是对文档的潜在知识。

由于标准的ROUGE包通常用于评估英文摘要,直接使用这个包来评估中文摘要会产生被低估的结果。为了评估对LCSTS数据集的总结,我们遵循了胡等人的建议,将中文单词/字符映射到数字id,然后我们进行了胭脂评估。由于并不是所有以前的工作都明确地提到了基于文字的或基于字符的ROUGE度量,我们用这两个指标来评估我们提出的模型,以便获得一个全面的比较。这两个分数的结果在表6中显示,表6显示为基于单词的分数/字符的分数。

从表6所示的结果来看,我们可以看到,在字符级别上,我们总是可以获得比基于中文单词的更高的ROUGE分数。我们还可以观察到,我们的强化-主题-ConvS2S模型的基于字符的结果优于其他方法。对于基于文字的ROUGE评分,我们的模型在RG-1和RG-L指标方面获得了最佳性能。然而,我们最好的模型并没有像RG-1和RG-L那样获得良好的RG-2分数。我们怀疑,这可能部分是由影响词序的有偏差的概率生成机制造成的,这需要进一步的研究。

除了ROUGE评分之外,我们还会在表7中随机选取一些生成的摘要的例子。最初的例子(中文)被显示出来,所有的文本都被仔细翻译成英语,以方便阅读。实例表明,在中国的总结任务中,具有主题意识的机制也可以提高其多样性。

Conclusion and Future Work

在此工作中,我们提出了一种具有主题模型的对抽象文本摘要的强化学习模型。结果表明,新的主题模型注意机制引入了一些高层次的上下文信息。该模型的性能在各种基准数据集上提出了最先进的方法。此外,我们的模型可以生成具有更好的信息性、一致性和多样性的摘要。

请注意,此工作中的实验主要基于句子摘要。在未来,我们的目标是在数据集上评估我们的模型,其中源文本可以是长段落或多文档。此外,我们还注意到,如何评估中文摘要的效果仍然是一个悬而未决的问题。在未来研究这个课题也很有兴趣。

【读】seq2seq——(8)A Reinforced Topic-Aware Convolutional Sequence-to-Sequence Model for TextSum

模型在中文语料库 LCSTS 上生成的摘要示例。D:源文档,R:参考摘要,OR:引入强化学习的 ConvS2S 模型的输出,OT:引入主题模型和强化学习的 ConvS2S 模型的输出。蓝色标记的词是参考摘要中没有出现的主题词。红色标记的词是参考摘要和源文档中都没有出现的主题词。

LINK

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

IJCAI 2018|腾讯知文等提出结合主题信息和强化训练生成更优摘要

NOTE

一改:译于18.9.12