ACL 2019 GOLC 优化目标损失函数

ACL2019 GOLC:Global Optimization under Length Constraint for Neural Text Summarization


论文PDF地址:https://www.aclweb.org/anthology/P19-1099

1 概述

按照论文中的观点,现有大部分模型都无法控制模型输出的摘要长度,所以很多时候都会输出超长的限制。因为在模型中都没有考虑到文本长度的信息,或者已有的一些考虑长度的模型都没有取得很好的分数。故此,论文作者提出了一个考虑到文本长度的优化目标函数(损失函数)。

2 GOLC

2.1 前情提要

之前的生成类模型,大部分都是用的MLE(最大对数似然估计),并且是强制学习(Decoder中每一步的输入使用真实摘要而不是上一步的输入)所以单纯的MLE无法解决文本过长的问题(因为训练过程中,生成到原始摘要长度就停了)

2.2 MRT

论文中使用了改进的MRT(Minimum Risk Training),MRT方法可以在训练过程中如同预测过程相同,下一个词的生成是根据上一个词的,直到生成结束再根据损失进行优化模型。其基本损失定义如下所示
L M R T ( θ ) = ∑ ( x , y ) ∈ D ∑ y ′ ∈ S ~ ( x ) Q θ ( y ′ ∣ x ) Δ ( y , y ′ ) L_{MRT}(\theta)=\sum_{(x,y)\in D}\sum_{y'\in\tilde{S}(x)}Q_\theta(y'|x)\Delta(y,y') LMRT(θ)=(x,y)DyS~(x)Qθ(yx)Δ(y,y)
其中

  • Q θ ∝ p θ λ Q_\theta\varpropto p_\theta^\lambda Qθpθλ p θ p_\theta pθ是给定原文产生该摘要的概率,参数 λ \lambda λ是平滑因子
  • Δ \Delta Δ是两个文档的负ROUGE分数
  • S ~ ( x ) = S ( x ) ∪ y \tilde{S}(x)=S(x)\cup{y} S~(x)=S(x)y也就是模型可能输出的摘要与原始摘要的并集

在这种基本情况下,使用ROUGE的Recall、Precision、F1能粗略地控制输出长度,但还是不够理想。

2.3 GOLC

作者提出的改进方法,是修改上面的 Δ \Delta Δ方法,将文本长度加入其中:
L M R T ( θ ) = ∑ ( x , y ) ∈ D ∑ y ′ ∈ S ~ ( x ) Q θ ( y ′ ∣ x ) Δ ~ ( y , y ′ ) L_{MRT}(\theta)=\sum_{(x,y)\in D}\sum_{y'\in\tilde{S}(x)}Q_\theta(y'|x)\tilde\Delta(y,y') LMRT(θ)=(x,y)DyS~(x)Qθ(yx)Δ~(y,y)

Δ ~ ( y , y ′ ) = − R O U G E ( y , t r i m ( y ′ , c ∗ ( y ) ) ) + m a x ( 0 , c ∗ ( y ′ ) − c ∗ ( y ) ) \tilde\Delta(y,y')=-ROUGE(y,trim(y', c_*(y)))+max(0,c_*(y')-c_*(y)) Δ~(y,y)=ROUGE(y,trim(y,c(y)))+max(0,c(y)c(y))

其中:

  • c ∗ ( y ) c_*(y) c(y)是代表文本y的长度
  • trim(y,c)是代表将文本y从头开始截取c个词的子文本

这样,如果生成文本超长,第一项ROUGE分数不会再变小(因为被截取了),那么 Δ ~ \tilde\Delta Δ~的第二项就不为0,损失就会变大,在优化模型的过程中,会逐渐令模型的输出长度趋近于实际长度。

3.效果

作者对比了两个主要模型,一个是基于LSTM(PG),一个基于CNN(LC),效果如下所示,可以看到,超长的情况得到了很大的缓解,而平均生成时间也缩短不少(可能因为短了)

在这里插入图片描述

4 总结

可以从模型效果看出,带有普通MRT的模型取得了较好的ROUGE成绩,虽然加入GOLC模型有些许损失,但是却从某方面提升了模型效果,也是不错的思路。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值