自然语言生成工具箱 - SimCLS

2021-12-27  本文已影响0人  processor4d

文章名称

【ACL/IJCNLP-2021】【Carnegie Mellon University】SimCLS: A Simple Framework for Contrastive Learning of Abstractive Summarization

核心要点

文章旨在解决序列生成(abstractive summarization领域)中训练目标和评估指标不一致的问题(teacher-forcing和Rouge-*)。作者提出了一种SIMCLS框架,把seq2seq学习框架转换为基于对比学习的reference-free evaluation的文本生成问题。

方法细节

问题引入

现有的序列生成(abstractive summarization领域)方法存在训练目标和评估指标不一致的问题,这种不一致主要体现在teacher-forcing要求模型准确估计下一个token,是token-level的损失函数。而评测指标,如ROUGE会在全局比对生成的句子和基准的差异。并且,在测试阶段,模型需要持续输出一个序列,并没有中间token级别的监督输入,在解码时前面积累的偏差,会影响整个模型输出的效果,训练和测试之间的这种gap被称为exposure bias[1,2]。

具体做法

首先,形式化定义一下问题,

  • 源文档D,目标摘要\hat{S},模型生成的候选摘要S
  • 测评指标记作M,可以是人工评估指标,也可以是自动评估指标,文中选择了ROUGE。
  • 生成模型记作f,可以得到最优摘要S = f(D),使得测评分数m = M(S, \hat{S})最高。

为了解决上述问题,作者将摘要生成拆分为两个阶段,整体流程示意如下图所示。


SimCLS framework
  • 候选句子生成阶段,按照原有序列生成的模型训练套路,利用源文档D,目标摘要\hat{S}和MLE损失,训练seq2seq生成模型g。随后,利用训练好的g,生成候选摘要集合S_1, \ldots, S_n(生成过程可以利用beam search等策略)。
  • 候选句子评估阶段,利用预训练的语言模型(论文里用的RoBERTa),评估候选摘要和源文档的相似度。该评估模型记作h,评估分数记作r_* = h(S_*, D)。最终生成的摘要为所有候选摘要中分数最高的。

文章的亮点是,作者没有直接构建正负样本,而是利用生成阶段的MLE的分数,构建了对比损失。具体的公式如下图所示。

contrastive loss

其中,\tilde{S}_*表示利用生成阶段的测评分数M排序后的摘要,\lambda_{i,j} = (j - i) * \lambda是依据排序顺序差得到的margin,而\lambda是模型的超参数,用来调节每两个相邻的位置差会带来多大的间隔。

心得体会

Reference-free Evaluation

个人感觉,本文属于比较简单的粗暴的。第二阶段所谓的Reference-free Evaluation,其实就是计算相似度,这个方法没有什么特别,只不过套了一个Contrastive Learning的壳儿。在实际使用中,其实原文包括很多噪声,我们期望通过抽象的摘要生成,来去掉这些噪声,提取核心意思。该方法在噪声较多的场景中,可能无法得到好的效果。

文章引用

[1] Samy Bengio, Oriol Vinyals, Navdeep Jaitly, and Noam Shazeer. 2015. Scheduled sampling for sequence prediction with recurrent neural networks.

[2] Marc’Aurelio Ranzato, Sumit Chopra, Michael Auli, and Wojciech Zaremba. 2016. Sequence level train- ing with recurrent neural networks. In 4th Inter- national Conference on Learning Representations, ICLR 2016, San Juan, Puerto Rico, May 2-4, 2016, Conference Track Proceedings.

上一篇下一篇

猜你喜欢

热点阅读