《基於自注意力引導複製機制的生成式摘要模型》閱讀筆記
論文題目:
Self-Attention Guided Copy Mechanism for Abstractive Summarization
論文來源:
ACL 2020
論文連結:
https://www。
aclweb。org/anthology/20
20。acl-main。125。pdf
原始碼連結:
暫無
ABSTRACT
複製機制已經被廣泛用於各種生成式摘要模型中,但是如何保證重要的詞被 copy 到摘要中仍然是一個挑戰。
本文提出一個基於 Transformer 的模型,去增強複製機制。具體來說,就是利用Transformer 的自注意力層去構建一個有向圖,這個有向圖描述文字中每個詞的中心度,依次來判斷詞的重要程度。然後用這個重要度去明確指導複製機制。
實驗表明,該模型在 CNN/DM 和 Gigaword 兩個資料集上的表現非常好。
1.INTRODUCTION
摘要根據生成的方式一般分為抽取式摘要和生成式摘要。抽取式方法從原文中抽取句子組成摘要,而生成式方法基於 NLG 技術生成句子來作為摘要。
在過去的幾年裡,RNN 取得了很大的成功,基於 Transformer 的網路已經被發現在很多 NLP任務中優於 RNN,比如機器翻譯、句子分類和文字摘要。而摘要任務中非常優秀的模型之一就是 PGN 了,這個模型不僅能從外部詞典獲取詞彙加入到摘要中,而且能夠複製原文字中的詞,但是如何讓原文字中重要的詞都複製到摘要中仍然是一個很大的挑戰。在作者的實驗中,他們發現帶有複製機制的、基於transformer的摘要模型可能會丟失一些重要詞彙,下圖中的例子說明了這個問題,其中 Transformer+Copy 模型生成的結果缺失了“obama”, “nominees”等重要詞彙。這也是本文要解決的一個問題。
因此本文提出一個自注意力圖來引導複製機制(SAGCopy)。目的是引導複製機制去複製原文中重要的詞。利用Transformer的self-attention層去構建一個有向圖,節點為原文中的每個詞,邊表示兩個相連節點間的關聯分數,這個分數由 Q 和 K 的點乘 attention 計算而成。以下是對這個分數的一個簡單介紹:
模型基於一個鄰接矩陣去計算每個詞的中心程度。這裡作者提出了兩種中心度——向內(indegree) 的中心度和向外 (outdegree) 的中心度。其中向內的中心度根據 TextRank 演算法進行計算,衡量一個結點向內接收其他相連節點的多少關聯分數;向外的衡量一個節點向外發出多少關聯分數。
模型使用這個中心度分數作為 copy 分佈的一個指導。具體來說就是,將點乘 attention 擴充套件成一箇中心程度意識函式(centrality-aware attention)。除此之外,還添加了一個輔助loss,計算複製分佈和中心程度分佈的一個散度,以此鼓勵模型去關注重要的詞。
綜上所述,本文的三點貢獻如下:
本文提出一個利用原文詞彙的中心程度去引導 copy 機制的方法,並提出向內中心度和向外中心度兩種中心程度的衡量方法;
本文提出一箇中心程度意識函式和一個輔助loss去鼓勵模型去關注重要的詞彙;
本文模型在 CNN/DM 和 Gigaword 兩個文字摘要資料集上達到 SOTA。
2.BACKGROUND
這個部分是對PGN模型的一個簡單回顧。
上圖就是經典的 PGN 模型。給定一個文字
,經過雙向 LSTM 編碼器之後,在每一個時間步生成的隱層狀態如下:
同時,在每一個時間步,單向 LSTM 解碼器接收 target 詞嵌入生成解碼器輸出狀態:
其中
是一個 context vector,計算如下:
vocab 分佈和 copy 分佈分別如以下兩個公式所示:
生成機率
如下計算:
可得最終結果的分佈如下:
模型的損失函式如下所示,是一個負對數函式:
3.MODEL
本文模型圖
本文提出的模型如上圖所示。
3.1 Transformer with the Copy Mechanism
傳統的 self-Attention 網路計算公式如下:
Transformer+Copy 模型將最後一層解碼器的 encoder-decoder attention 作為 copy 分佈:
需要注意的是,如果是多頭 Attention,則 copy 分佈是每一個頭結果的和。
3.2 Self-Attention-Based Centrality
模型基於Transformer最後一層編碼器自注意力層計算 indegree 和 outdegree 中心度。
Indegree:
其他相連節點到該結點輸入的相關分數,可以由節點每條進入的邊的indegree分數相加得到,也可以採用基於圖的抽取式摘要方法(比如TextRank)。
Outdegree:
該節點輸出到其他相連節點的相關分數,又結點輸出到每條邊的outdegree分數相加得到。
令
為本文模型構建的一個self-attention有向圖,
是從
到
的有向邊的權重值(從self-attention層得到),滿足:
以下介紹計算詞的中心度的方法:
首先計算一個機率轉移矩陣:
基本的 indegree 中心度和基於 TextRank 計算的 indegree 中心度分別如以下兩個公式所示:
對於上述第二個式子,迭代前的中心度分數初始化為
,透過迭代計算
來獲得最終穩定的 indegree 中心度分佈,在本文實驗中,最多設定3次迭代。
outdegree計算不需要機率轉移矩陣,計算如下:
為了方便理解,我舉了個栗子~
還是以上這個例子中圖,按照 indegree 中心度的第一種計算方法舉一個例子:
有向圖邊權重矩陣,縱列為出發結點,橫排為到達結點。
經過計算之後的機率轉移矩陣
按照第一個方法計算出來的 indegree 中心度分數
3.3 Guided Copy Mechanism
本文提出的模型再一次對copy分佈計算進行修改,額外加入中心度分數——centrality aware dot-product attention:
其中
是indegree中心度或者是outdegree中心度。
然後加入輔助loss,在原始的loss基礎上加入copy分佈和score分佈的KL散度(兩個分佈的擬合程度)
:
4.RESULT
模型在CNN/DM和Gigaword資料集上測試結果分別如下所示:
CNN/DM資料集上的測試結果,其中Indegree-i表示TextRank演算法透過i個迭代獲得的Indegree中心性
Gigaword資料集上的測試結果
ROUGE分數與KL散度的趨勢關係圖如下圖所示:
該測試結果Gigaword測試集在SAGCopy Indegree-1模型上得到。上面兩個圖表示的是每個樣本ROUGE F1分數與KL散度的關係,下面兩個圖是平均ROUGE分數與KL散度的關係。
Transformer+Copy模型與本文的SAGCopy模型的對比: