Get To The Point:Summarization with Pointer-Generator Networks 论文笔记

摘要

神经序列到序列模型为抽象文本摘要提供了一种可行的新方法(这意味着它们不仅限于从原始文本中简单选择和重新排列段落)。 但是,这些模型有两个缺点:它们易于错误地再现事实细节,并且倾向于重复自己。在这项工作中,我们提出了一种新颖的体系结构,该体系结构以两种正交方式增强了标准序列间注意模型。 首先,我们使用混合指针生成器网络,该网络可以通过pointing从源文本中复制单词,这有助于准确地复制信息,同时保留通过生成器生成新单词的能力。 其次,我们使用覆盖机制来跟踪已总结的内容,从而阻止重复。我们将模型应用于CNN /Daily Mail摘要任务,其性能比当前的最高技术水平高出至少2个ROUGE点。

1.介绍

文本摘要是将一段文本压缩为一个简短的版本的任务,其中包含原始文本的主要信息。 有两种概括的方法:抽取式和生成式。 提取方法专门从直接从源文本中摘录的段落(通常是整个句子)中汇总摘要,而抽象方法可能会生成源文本中未包含的新颖单词和短语,就像人工编写的摘要通常那样。 抽取式方法更容易,因为从源文档中复制大量文本可确保语法和准确性的基线水平。 另一方面,对于高质量摘要至关重要的复杂功能,例如释义,概括或对现实世界知识的整合,仅在生成式框架中才有可能(见图5)。

由于抽象总结的困难,过去的大部分工作都是提取性的(Kupiec等,1995; Paice,1990; Saggion和Poibeau,2013)。 但是,最近成功的序列到序列模型(Sutskever等,2014)(其中循环神经网络(RNN)都可以读取并自由生成文本)使抽象总结可行(Chopra等,2016; Nallapati 等人,2016; Rush等人,2015; Zeng等人,2016)。 尽管这些系统很有希望,但它们表现出不良的行为,例如不正确地再现事实细节,无法处理非词汇表中(OOV)单词和重复生成(参见图1)。

在本文中,我们提出了一种在多句子摘要的背景下解决这三个问题的体系结构。 虽然最近的抽象工作集中于标题生成任务(将一个或两个句子减少到一个标题),但我们认为较长的文本摘要更具挑战性(要求较高的抽象级别,同时避免重复),最终更有用。 因此,我们将模型应用于最近引入的d CNN/ Daily Mail dataset ,其中包含新闻文章(平均39个句子)和多句摘要,并显示我们至少比最先进的抽象系统高出2个ROUGE点。

我们的混合式指针生成器网络有助于通过pointing从源文本复制单词(Vinyals等,2015),这提高了OOV单词的准确性和处理能力,同时保留了生成新单词的能力。该网络可以看作是提取方法与抽象方法之间的平衡,类似于Gu等人(2016)的CopyNet和Miao and Blunsom(2016)的强制注意句子压缩,它们被用于短文本摘要。 我们从神经网络翻译中提出了覆盖向量的新变体,我们将其用于跟踪和控制源文档的重复率。 我们证明coverage对于消除重复非常有效。

2.我们的模型

在本节中,我们描述(1)我们的基准序列到序列模型,(2)我们的指针生成器模型,以及(3)我们的覆盖机制,可以将其添加到前两个模型中的任何一个中。 我们模型的代码可在线获得(www.github.com/abisee/pointer-generator )。

2.1 s2s注意力模型

我们的基准模型类似于Nallapati等人的模型,并在图2中进行了描述。将文章wi的标签逐一馈入编码器(单层双向LSTM),从而生成一个编码器隐藏状态hi的序列。在每个步骤t上,解码器(单层单向LSTM)都接收前一个单词的单词嵌入(训练时,这是参考摘要的前一个单词;在测试时,它是解码器发出的前一个单词),并且生成解码器状态st。 按照Bahdanau等人的方法计算注意力分布(2015年):

v, Wh, Ws和battn都是可学习的参数。注意分布可以看作是源词上的概率分布,它告诉解码器在哪里寻找产生下一个词的位置。 接下来,注意力分布用于产生编码器隐藏状态的加权总和,称为上下文向量h^*_t​:

上下文向量可以看作是从该步骤已从原文读取的内容的固定大小表示形式,与解码器状态st串联在一起,并通过两个线性层进行馈送以产生词汇分布​P_{vocab}

V, V', b , b'都是可学习的参数。​是词汇表中所有单词的概率分布,并为我们提供了最终的分布,从中可以预测单词w:

在训练期间,时间步长t的损失是该时间步长目标词​w^*_t的负对数似然:

整个序列的总损失为:

2.2 指针生成网络

我们的指针生成器网络是我们的基准网络和指针网络之间的混合体(Vinyals等,2015),因为它既可以通过指向来复制单词,又可以从固定的词汇表中生成单词。在指针生成器模型(如图3所示)中,注意力分布​和上下文向量如2.1节所述计算。 另外,从上下文向量,解码器状态st和解码器输入xt计算出时间步t的生成概率pgen∈[0,1]:

其中向量wh,ws,wx和标量bptr是可学习的参数,而σ是sigmoid函数。 接下来,将pgen用作软开关,以选择是通过从Pvocab进行采样来从词汇表生成单词,还是通过从注意力分布at进行采样来从输入序列复制单词。对于每个文档,让扩展词汇表表示词汇表的并集,并且所有单词出现在源文档中。 我们在扩展词汇表上获得以下概率分布:

请注意,如果w是未登录(OOV)词,则Pvocab(w)为零; 类似地,如果w没有出现在源文档中,则ati为零。 产生OOV字的能力是指针生成器模型的主要优点之一; 相比之下,我们的基准等模型则仅限于预设的词汇表。

损失函数如方程式(6)和(7)中所述,但相对于方程式(9)中给出的修正概率分布P(w)而言。

2.3 覆盖机制

重复是序列到序列模型的常见问题,并且在生成多语句文本时特别明显( 参见图1)。 我们采用Tu等人的覆盖模型来解决问题。 在我们的覆盖模型中,我们维护一个覆盖向量ct,它是所有先前解码器时间步长上注意分布的总和:

直观地,ct是源文档单词上的(非规范化)分布,表示到目前为止这些单词已从关注机制中获得的覆盖程度。 请注意,c0是零向量,因为在第一时间步,没有覆盖任何源文档。

覆盖向量用作注意力机制的额外输入,将等式(1)更改为:

其中wc是长度与v相同的可学习参数向量。这确保了注意力机制的先前决定(在ct中进行了总和)可以提醒注意力机制的当前决定(选择下一个关注的点)。这应该使注意力机制更容易避免重复关注相同的位置,从而避免生成重复的文本。

我们发现有必要(请参阅第5节)另外定义覆盖范围损失,以对反复出现在相同位置的单词进行处罚:

请注意,覆盖范围损失是有限制的; 特别是。公式(12)与机器翻译中使用的覆盖损耗不同。 在MT中,我们假设应该有大约一对一的翻译比率; 因此,如果最终覆盖向量大于或小于1,则将受到惩罚。

我们的损失函数更加灵活:由于摘要不需要统一的覆盖范围,因此到目前为止,我们仅对每个注意力分布和覆盖范围之间的重叠部分进行惩罚——防止重复关注。 最后,将覆盖loss(由某些超参数λ重新加权)添加到主要损耗函数中,以产生新的复合损耗函数:

3.相关工作

Pointer-generator networks

指针网络(Vinyals et al。,2015)是一个序列到序列模型,使用了Bahdanau等人提出的软注意力分布来产生由输入序列中的元素组成的输出序列。指针网络已被用于为NMT(Gulcehre等,2016),语言建模(Merity等,2016)和摘要(Gu et al., 2016; Gulcehre et al., 2016; Miao and Blunsom, 2016; Nallapati et al., 2016; Zeng et al., 2016)。

我们的方法接近于Miao和Blunsom(2016)的强迫注意句子压缩模型和Gu等人(2016)的CopyNet模型,但有一些小差异:(i)我们计算出显式切换概率pgen,而Gu等人通过共享的softmax函数引发竞争。 (ii)我们回收注意力分布以用作复制分布,但是Gu等人使用两个单独的分布。 (iii)当单词在源文本中多次出现时,我们对注意力分布的所有相应部分的概率质量求和,而Miao和Blunsom则没有。我们的推理是(i)计算显式pgen有用地使我们能够而不是单独地提高或降低所有生成的单词或所有复制单词的概率,(ii)两种分布具有类似的目的,我们发现我们更简单的这种方法就足够用了;(iii)我们观察到指针机制经常复制一个单词,同时注意源文本中多次出现该单词。

我们的方法与Gulcehre等人(2016)和Nallapati等人(2016)有很大不同。 他们的工作训练其指针组件仅针对未登录词或命名实体(而我们允许我们的模型自由学习何时使用指针)激活,并且它们不会混合复制分布和词汇分布中的概率。我们认为,此处描述的混合方法更适合抽象总结-在第6节中,我们证明复制机制对于准确地复制稀有但在词汇中的单词至关重要,而在7.2节中,我们观察到混合模型支持语言模型和复制 一起执行抽象复制的机制。

Coverage

源于统计机器翻译(Koehn,2009),Tu等人(2016)和Mi等人(2016)对NMT进行了覆盖调整,他们都使用GRU来更新覆盖向量。 我们发现,一种简单的方法就足够了:将注意力分布求和以获得覆盖向量。在这方面,我们的方法类似于Xu等人(2015年),后者将类似覆盖率的方法应用于图像字幕; Chen等人(2016年),也将覆盖率机制(他们称为“分散注意力”)纳入了描述。 在等式(11)中将较长的文本进行神经总结。

暂时注意力是一种已应用于NMT(Sankaran等,2016)和总结(Nallapati等,2016)的相关技术。 在这种方法中,每个注意力分布都除以先前的总和,从而有效地抑制了重复注意力。 我们尝试了此方法,但发现它破坏力太大,使注意力机制的信号失真并降低了性能。 我们假设覆盖等早期干预方法要优于事后注意等事后干预方法,最好是通知注意机制以帮助其做出更好的决策,而不是完全忽略其决策。 这一理论得到了覆盖率提高而获得的ROUGE得分的支持(见表1),而对于同一任务,暂时注意力则得到了较小的提升(Nallapati等人,2016)。

4.数据集

我们使用CNN /每日邮件数据集(Hermann等,2015; Nallapati等,2016),其中包含在线新闻文章(平均781个令牌)和多句摘要(平均3.75个句子或56个令牌)。 我们使用Nallapati等人(2016)提供的脚本来获取数据的相同版本,该数据具有287,226个训练对,13,368个验证对和11,490个测试对。 数据集的两个发布结果(Nallapati等人,2016年,2017年)均使用匿名版本的数据,该版本已进行了预处理,以使用示例对本身的唯一标识符替换每个命名实体(例如,联合国), 例如@ entity5。 相比之下,我们直接对原始文本(或数据的非匿名版本)进行操作2,我们认为这是一个有利的问题,因为它不需要预处理。

5.实验

我们对这两个基准模型进行了约60万次迭代训练(33个epoch),这与Nallapati等人(2016年)的最佳模型所要求的35个时期相似。 对于50k词汇模型,训练花费4天14小时,对于150k词汇模型,训练花费8天21小时。 我们发现指针生成器模型可以更快地进行训练,所需的迭代次数少于23万次(12.8个epoch)。 总共3天4个小时。 特别是,指针生成器模型在训练的早期阶段取得了更快的进步。 为了获得最终的覆盖模型,我们添加了覆盖机制,将覆盖损失加权为λ= 1(如公式13中所述),并进行了进一步的3000次迭代(约2小时)训练。 在这段时间内,覆盖范围的损失从约0.5的初始值收敛到约0.2。 我们还尝试了更激进的λ= 2值; 这减少了覆盖损失,但增加了主要损失函数,因此我们没有使用它。

我们尝试在没有损失功能的情况下训练覆盖率模型,希望注意力机制可以自己学习,而不是反复参加相同的地点,但是我们发现这种做法无效,重复次数没有明显减少。 我们还尝试从第一次迭代开始就进行覆盖训练,而不是将其作为单独的训练阶段,但是我们发现,在训练的早期阶段,覆盖目标干扰了主要目标,从而降低了整体绩效。

6.结果

我们发现我们的两个基准模型在ROUGE和METEOR方面的表现都很差,实际上较大的词汇量(150k)似乎无济于事。 即使是性能更好的基准(词汇量为50k),也会产生带有几个常见问题的摘要。 事实细节经常被错误地复制,经常用更常见的替代词代替不常见(但在词汇中)的单词。 例如,在图1中,基线模型似乎很难预测罕见的单词thwart,反而生成了destabilize,这导致了虚构的短语 destabilize nigeria’s economy 。 更具灾难性的是,摘要有时会变成重复的废话,例如图1中的基准模型产生的第三句话。此外,基准模型无法复制词汇外的单词(例如,图1中的muhammadu buhari)。 所有这些问题的其他示例在补充材料中提供。

我们的指针生成器模型获得的ROUGE和METEOR得分比基线要好得多,尽管训练时间要少得多。 摘要之间的区别也很明显:词汇外的单词很容易处理,事实细节几乎总是正确地复制,没有捏造(见图1)。 但是,重复仍然非常普遍。

我们带有覆盖机制的的指针生成器模型,进一步提高了ROUGE和METEOR得分,令人信服地超过了Nallapati等人(2016)的最佳抽象模型几个ROUGE点。 尽管覆盖训练阶段很简短(约占总训练时间的1%),但是重复问题几乎完全消除了,从定性(图1)和定量(图4)都可以看出。 但是,我们的最佳模型并没有完全超过Lead-3基线的ROUGE得分,也没有超过目前的最佳抽取式模型(Nallapati等人,2017)。 我们将在7.1节中讨论此问题。

7.讨论

主要是解释为什么结果没有抽取式系统好,因为主要是来学习指针生成网络的,所以这部分我跳过了。

8.结论

在这项工作中,我们提出了一种具有覆盖机制的混合指针生成器体系结构,并表明它减少了不准确性和重复性。 我们将模型应用于新的具有挑战性的长文本数据集,并且明显优于抽取式的最新结果。 我们的模型具有许多抽象能力,但是达到更高的抽象水平仍然是一个开放的研究问题。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值