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方法可以在訓練過程中如同預測過程相同,下一個詞的生成是根據上一個詞的,直到生成結束再根據損失進行優化模型。其基本損失定義如下所示
LMRT(θ)=(x,y)DyS~(x)Qθ(yx)Δ(y,y) L_{MRT}(\theta)=\sum_{(x,y)\in D}\sum_{y'\in\tilde{S}(x)}Q_\theta(y'|x)\Delta(y,y')
其中

  • QθpθλQ_\theta\varpropto p_\theta^\lambdapθp_\theta是給定原文產生該摘要的概率,參數λ\lambda是平滑因子
  • Δ\Delta是兩個文檔的負ROUGE分數
  • S~(x)=S(x)y\tilde{S}(x)=S(x)\cup{y}也就是模型可能輸出的摘要與原始摘要的並集

在這種基本情況下,使用ROUGE的Recall、Precision、F1能粗略地控制輸出長度,但還是不夠理想。

2.3 GOLC

作者提出的改進方法,是修改上面的Δ\Delta方法,將文本長度加入其中:
LMRT(θ)=(x,y)DyS~(x)Qθ(yx)Δ~(y,y) L_{MRT}(\theta)=\sum_{(x,y)\in D}\sum_{y'\in\tilde{S}(x)}Q_\theta(y'|x)\tilde\Delta(y,y')

Δ~(y,y)=ROUGE(y,trim(y,c(y)))+max(0,c(y)c(y)) \tilde\Delta(y,y')=-ROUGE(y,trim(y', c_*(y)))+max(0,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模型有些許損失,但是卻從某方面提升了模型效果,也是不錯的思路。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章