基于注意力机制优化的生成式文档摘要模型

简介: 在互联网时代,各个领域场景产生越来越多的文本数据,文本摘要作为文本“降维”处理的重要手段,旨在将文本或者文本集合转换成包含关键信息的简短摘要。该任务方法主要分为两大类:抽取式摘要和生成式摘要。抽取式摘要方法从源文档中抽取关键句或者关键词组成摘要,摘要内容全部来自原文,这种方法比较简单直接,但是做法和人类总结概括文章的方法技巧相差甚远,同时也面临coherence等问题。

本文收录于EMNLP 2019,oral 短文。

背景

在互联网时代,各个领域场景产生越来越多的文本数据,文本摘要作为文本“降维”处理的重要手段,旨在将文本或者文本集合转换成包含关键信息的简短摘要。该任务方法主要分为两大类:抽取式摘要和生成式摘要。抽取式摘要方法从源文档中抽取关键句或者关键词组成摘要,摘要内容全部来自原文,这种方法比较简单直接,但是做法和人类总结概括文章的方法技巧相差甚远,同时也面临coherence等问题。随着sequence2sequence模型的出现和发展,生成式摘要模型相关研究也吸引了众多学者的目光。生成式摘要模型顾名思义,就是从源文档生成摘要,摘要中的词可能在原文中并不存在。这一大类方法更接近于人类的摘要方法,得到的摘要一般较为通顺,但是也存在诸多问题,如repetition、saliency、incorrect fact等。当然文本生成任务本身就具有较大难度,我们期待未来有一天计算机能够像人类一样会写作表达,可以写出高质量的自然语言文本。

本文聚焦于优化摘要模型中的注意力机制,注意力机制最早是应用于图像领域,大概是九几年就提出来的思想。在2014年,Google Mind团队发表的《Recurrent Models of Visual Attention》[1]一文使得注意力机制开始火了起来,该论文提出在RNN模型上使用Attention机制来进行图像分类,结果取得了很好的性能。随后,在Bahdanau等人发表论文《Neural Machine Translation by Jointly Learning to Align and Translate》[2]中提出在机器翻译任务上使用注意力机制将翻译和对齐同时进行,他们的工作是第一个将注意力机制应用在NLP领域中的。最近两年self attention也是很火热,各项记录不断被刷新。
在文档摘要任务中,注意力机制也是被广泛使用。但是当输入时长文档的时候,基础的注意力机制容易注意力分散,很难捕捉到那些重要的信息,因此有一些工作致力于解决这个问题,我们的工作也是沿着这个研究线探索注意力机制的优化。

模型

__
Pointer-generator模型

image.png

本文将pointer-generator模型[3]作为baseline模型,该模型采用指针网络增强标准的基于注意力机制的seq2seq模型,这个组合在之后也是被很多的学者借鉴使用。
源文档首先输入到一个Bi-LSTM的编码器中得到文档的向量表示,之后一个uni-directional LSTM的解码器逐词输出摘要,指针网络控制输出是copy自原文还是从字典生成得到的。在每个解码时间步,注意力分布a_t计算方式如下:

image.png

local optimization

image.png

(1)注意力精炼单元
就人类而言阅读总结一篇长文档也是很困难的一件事,在将要写下一个词的时候有时也会有些不确定。为了确定当前时刻要写的词是什么以及和前面已经写过的内容是否相关,很多人都会确认一下原文内容和已经写过的内容,然后调整当前时刻关注内容。这样的阅读习惯可以定义为以下计算,我们命名这样的功能块叫做注意力精炼单元。

image.png

image.png

(2)局部注意力方差损失函数
大部分的注意力机制都是“soft”的,注意力分散在输入的各个位置。直观上来讲,如果一个学生能够在概括文章写每个字的时候都很明确自己要写哪一部分的内容,那么经过反复训练之后他一定可以写出文章包含文章中心思想的概括,而不会在写作过程中注意力涣散不知道从哪儿下笔。和soft attention对应的hard attention就是会把注意力放在某个位置上,每一步都很明确自己的关注点。一些研究表明训练好hard attention倾向于取得更加准确的结果4,但是hard attention计算不可微较难训练。因此为了兼顾hard attention的好效果和soft attention的端到端易训练的特点,我们提出了局部方差损失函数,激励模型将注意力放在极少部分输入位置上,明确当前时刻的关注内容。

通过观察我们发现,当注意力权重分散在各个位置的时候,注意力分布相对于集中注意力的时候的形状要来的平坦些。从数学上来说,相对平坦的分布它的方差相对来说也是较小的。借鉴数据上的方差概念,我们认为一个好的注意力分布形状应该是尖锐的(少数位置值较大),也就是说方差是比较大的。因此,局部方差损失函数定义如下:

image.png

global optimization
为了解决摘要中常见的重复问题,我们提出了另外一个基于方差的损失函数——全局方差损失函数。理想情况下,同一个位置不应该被反复赋予较高注意力权重,也就是说某位置除去某个时刻赋予的一个较高权重外,其他时刻赋予的注意力应该都比较小或者没有。比较有名的coverage机制会记录当前时刻前的所有时刻的注意力分布总和,并加入到注意力分布的计算中,但是这种方法可能会引入一些错误的监督信息。当之前的某个时刻错误将注意力放在了某位置上,coverage机制会阻碍后续步骤正确的给与该位置较高注意力。我们直接设计了全局角度的损失函数防止重复并避免这种情况,在理想情况下所有解码时间步的注意力分布总和去掉每个位置历史最大注意力值组成的分布应该是一个全部为0的分布,也就是说方差是0。从下图可以看出,当某个位置反复给与较大注意力权重的时候(会导致重复问题),该位置的注意力总和和历史最大注意力权重之间的差值是比较大的,差值分布整体是比较尖锐的,方差相对来说也比较大。

image.png

因此,全局方差损失函数设计如下:

image.png

模型训练
本文模型分两个阶段训练,先训练基础的pointer-generator模型至收敛,训练的目标函数是:

image.png

finetune阶段加入本文的两个损失函数继续训练至收敛:

image.png

实验

__
数据集和评价指标
实验主要在公开摘要数据集CNN/Daily Mail上进行,数据集包括287226对训练数据、13368对验证数据、11490对测试数据。评价指标采用ROUGE系列和METEOR。
实验配置
• hidden_dim & embedding_dim: 256
• 优化器:adagrad
• batch_size: 64
• learning rate: 0.15

实验结果
在CNN/Daily Mail数据集上实验效果如下,相对于baseline模型PGN,本文模型有较大提升(3.85, 2.1 and 3.37 in terms of R-1, R-2 and R-L respectively)。本文模型没有超过当当时效果最好的几个模型,
FastAbs[6]将ROUGE-L作为强化学习的reward函数,这带来了巨大的性能提升。 DCA[7]提出了具有增强功能的深层通讯器,并在CNN/Daily Mail上取得了最佳效果。尽管我们的实验结果并未优于最新模型,但我们的模型结构却参数少,简单可移植,是一次注意力机制优化的探索,

image.png

人工评测
我们还对生成的摘要进行人工评估,我们从CNN/Daily Mail数据集的测试集中随机选择了100个样本,并要求3名人类测试人员测量每个摘要的相关性和可读性(打分从1-5,1最差,5最好)。相关性基于摘要包含的重要信息,而可读性则取决于摘要的流利程度和语法。以下为评测结果,从表中可以看出我们的模型在relevance得分上要高于baseline模型,也说明了模型可以更好的捕捉重要内容。

image.png

global optimization的有效性
从下图可以看出,重复的n-grams比率有较大降低,数据接近reference。

image.png

case study
此外,我们在表3中显示了由我们的模型和基准模型生成的摘要的示例。从表中可以看出,PGN遭受重复的困扰,而且无法获得重要信息。尽管采用coverage机制解决了saliency和repetition问题,但它的结果包含一些琐碎的事实。使用注意力精炼单元(ARU),该模型成功地将注意力集中在重要信息上,但是,它也存在严重的重复问题。通过方差损失函数进一步优化,我们的模型可以避免重复,并且包含重点信息。此外,与PGN + Coverage模型相比,我们生成的摘要包含的琐碎信息更少。

image.png

未来工作

__
在本文中,我们提出了一种简单而有效的方法来优化摘要文档摘要中的基础注意机制,在CNN/Daily Mail数据集上的结果证明了我们方法的有效性。我们认为,这些简单的方法也适用于其他摘要模型。对此的进一步探索以及与RL等其他方法的结合仍然是我们未来的一个研究方向。

参考文献

[1] Mnih, Volodymyr, Hees, Nicolas, Graves, Alex, and Kavukcuoglu, Koray. Recurrent models of visual attention. In NIPS, 2014.
[2] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2014. Neural machine translation by jointly learning to align and translate. CoRR, abs/1409.0473.
[3] Abigail See, Peter J. Liu, and Christopher D. Manning. 2017. Get to the point: Summarization with pointer- generator networks. In Proceedings of the 55th An- nual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 1073– 1083. Association for Computational Linguistics.
[4] Kelvin Xu, Jimmy Ba, Ryan Kiros, Kyunghyun Cho, Aaron C. Courville, Ruslan Salakhutdinov, Richard S. Zemel, and Yoshua Bengio. 2015. Show, attend and tell: Neural image caption generation with visual attention. In Proceedings of the 32nd In- ternational Conference on Machine Learning, ICML 2015, Lille, France, 6-11 July 2015, pages 2048– 2057.
[5] Shiv Shankar, Siddhant Garg, and Sunita Sarawagi. 2018. Surprisingly easy hard-attention for sequence to sequence learning. In Proceedings of the 2018 Conference on Empirical Methods in Natural Lan- guage Processing, Brussels, Belgium, October 31 - November 4, 2018, pages 640–645.
[6] Yen-Chun Chen and Mohit Bansal. 2018. Fast abstrac- tive summarization with reinforce-selected sentence rewriting. In Proceedings of the 56th Annual Meet- ing of the Association for Computational Linguistics (Volume 1: Long Papers), pages 675–686. Associa- tion for Computational Linguistics.
[7] Asli Celikyilmaz, Antoine Bosselut, Xiaodong He, and Yejin Choi. 2018. Deep communicating agents for abstractive summarization. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Hu- man Language Technologies, Volume 1 (Long Pa- pers), pages 1662–1675. Association for Computa- tional Linguistics.

相关文章
|
7天前
|
存储 人工智能 数据处理
一文读懂:大模型RAG(检索增强生成)
RAG(检索增强生成)旨在弥补大模型知识局限性、幻觉问题和数据安全性的不足。它通过向量搜索从私域数据库中检索相关信息,结合问题生成提示,使模型能提供准确答案。
|
2月前
|
机器学习/深度学习 编解码 自然语言处理
一文综述 | 万字文总结,近几年都有哪些语义分割模型用了Transformer方法呢?
一文综述 | 万字文总结,近几年都有哪些语义分割模型用了Transformer方法呢?
110 0
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
一文解码语言模型:语言模型的原理、实战与评估
一文解码语言模型:语言模型的原理、实战与评估
92 0
|
9月前
|
自然语言处理 测试技术 开发者
刷新20项代码任务SOTA,Salesforce提出新型基础LLM系列编码器-解码器Code T5+
刷新20项代码任务SOTA,Salesforce提出新型基础LLM系列编码器-解码器Code T5+
132 0
|
11月前
|
编解码 数据可视化 测试技术
基于一致性的半监督语义分割方法:刷新多项SOTA,还有更好泛化性
基于一致性的半监督语义分割方法:刷新多项SOTA,还有更好泛化性
184 0
|
11月前
|
人工智能 知识图谱
将语言模型用作知识嵌入:链接预测、三元组分类全部SOTA,超越基于结构的传统方法
将语言模型用作知识嵌入:链接预测、三元组分类全部SOTA,超越基于结构的传统方法
135 0
|
11月前
|
机器学习/深度学习 自然语言处理 文字识别
多语种翻译,跨模态文档理解,视觉合成, Backbone... 12个去年刷爆基准的SOTA工作一文回顾(1)
多语种翻译,跨模态文档理解,视觉合成, Backbone... 12个去年刷爆基准的SOTA工作一文回顾
258 0
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
多语种翻译,跨模态文档理解,视觉合成, Backbone... 12个去年刷爆基准的SOTA工作一文回顾
多语种翻译,跨模态文档理解,视觉合成, Backbone... 12个去年刷爆基准的SOTA工作一文回顾
107 0
|
11月前
|
数据采集 机器学习/深度学习 JSON
【Pytorch神经网络实战案例】32 使用Transformers库的管道方式实现:加载指定模型+文本分类+掩码语言建模+摘要生成+特征提取+阅读理解+实体词识别
在Transformers库中pipeline类的源码文件pipelines.py里,可以找到管道方式自动下载的预编译模型地址。可以根据这些地址,使用第三方下载工具将其下载到本地。
511 0
|
机器学习/深度学习 存储 人工智能
注意力机制最新综述解读
注意力模型(Attention Model,AM)已经成为神经网络中的一个重要概念,并在不同的应用领域进行了充分的研究。这项调查提供了一个结构化和全面的概述关于attention的发展。我们回顾了注意力机制被纳入的不同的神经网络结构,并展示了注意力如何提高神经网络的可解释性。最后,我们讨论了在实际应用中,注意力机制取得的重要影响。我们希望这项调查能够为注意力模型提供一个简明的介绍,并在开发应用方法的同时指导实践者。
注意力机制最新综述解读