論文:https://arxiv.org/pdf/1906.04466.pdf
源碼:https://github.com/hongwang600/Summarization
摘要: 現存摘要抽取模型大都用交叉熵損失(刻畫兩個機率分布的距離)從零訓起,難以捕獲文檔級别的全局上下文特征。本文引入三個預訓練任務,用自監督(self-supervised)方法捕獲文檔全局特征。使用CNN/DailyMail資料集證明預訓練的模型即使接上簡單子產品也比以前SOTA表現好。
1.Introduction 抽最重要的句子,得對文檔有全局觀(如主題和文章結構),但之前end-to-end模型的都沒有明确的文檔級别編碼,指望着模型自己學出來,他認為不大可能,畢竟從頭開始訓練。近幾年也是僅限于詞編碼和句編碼,于是提出了一種新的預訓練方法,這種方法使用自監督(self-supervised)對文檔編碼。
自監督(2007-2015)目的是學習原始資料的内在結構。其使用結構化的原始資料構造訓練信号來訓練模型。文章本來就是精心布局謀篇的結構化資料,是以自監督能派上用場。
本文提出了Mask、Replace、Switch三個需要學習文檔級别結構和上下文的自監督任務,然後把預訓練得到的模型遷移到摘要任務。Mask任務随機mask一些句子,然後從候選句子集中預測被mask的句子。Replace任務随機從其他文檔裡替換過幾個句子來,然後預測某句是否被替換了。Switch任務用同一文檔的句子進行交換,然後預測某句是否被交換過。下圖是Mask任務的一個例子。
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 從CNN/DM資料集實驗後發現這三個預訓練任務都很好,其中一個超過了sota模型NeuSum(ACL2018)。本文貢獻有三:
一是,首次用全局文檔資訊進行非人工标注式自監督句子表征。
二是,提出是三個方法,其中一個超過了sota。
三是,使用預訓練的模型,收斂快,效率高。
2. Model and Pre-training Methods 2.1 Basic Model 【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 模型如上,分為“句子編碼器子產品”和“文檔自注意力子產品”。句子encoder是雙向LSTM。Xi是詞向量,Si是普通句向量,Di是考慮文檔資訊的句向量,最後通過一個線性層預測是否選為摘要。
2.2 自監督的預訓練模型(三個方法) Mask
和預測被mask的詞類似,首先以
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 的機率mask一些句子
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion ,放入候選集合
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 中。模型對每個被mask的位置i,從候選集合裡挑正确句子。本文把mask的句子用<UNK>代替,并計算其文檔級别上下文的句向量
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 。用同樣的句子encoder擷取候選集合中句子的embedding
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 。
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 是候選句子 j ,用cos給句子 j 打分。
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 訓練時,使用ranking loss(排序誤差)做為損失函數最大化标準句和其他句之間的差異。i是第i個位置,j是黃金句,k是其他候選句。γ是超參數。
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion Replace
首先以機率
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 随機替換掉一些句子(來源為其他文檔),然後預測這句是不是被替換了。具體來說,本文從1萬篇随機選取的文檔裡抽句子形成候選集
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion ,
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 表示被替換的句子們的位置集合。本文使用一個線性層
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 來根據文檔編碼D來預測句子是否被替換,最小化MSE損失函數。
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 其中,
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion ,被替換的話y是1,否則y是0。
Switch
和Replace任務類似,但不是從其他文檔選句子,而是内部交換。
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 表示被交換的句子們的位置集合。本文使用一個線性層
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 來根據文檔編碼D來預測句子是否被交換,最小化MSE損失函數。
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 其中,
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 3.Experiment 本文和兩個baseline對比,一個是著名的Lead3(選前3句),一個是sota模型NeuSum(指針網絡)。
3.1 CNN/DM資料集 模型和訓練細節
本文使用是摘要标1,不是标2的方法标注。根據rouge代碼和論文,本文評測了Rouge-1,Rouge-2,Rouge-L。本文使用100維的Glove初始化詞向量權重。LSTM用作句子encoder,隐藏層size為200。文檔編碼子產品使用了5層4頭的Transformer encoder。最後是個線性分類層。
訓練分兩個階段。首先,用無标簽的原始資料預訓練(三種方法);然後,用有标簽的資料對摘要任務進行fine-tune。預訓練階段學習率為0.0001,fine-tune階段學習率為0.00001。收斂或epoch達到上限30時訓練停止。mask、replace、switch了1/4的句子。
結果
switch方法超過了sota的NeuSum。收斂速度方面,Mask、Replace、Switch分别用了21,24,17個epoch,并且在fine-tune階段分别在第18,13,9個epoch到達最佳效果。而basic model訓了24個epoch才達到最佳狀态。
【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 【ACL2019論文解讀】Self-Supervised Learning for Contextualized Extractive Summarization摘要:1.Introduction2. Model and Pre-training Methods3.Experiment 4.Conclusion 3.2 消融分析 關于模型結構
僅用句子encoder,而文檔編碼子產品随機初始化,結果如上表最下面SentEnc。對于Switch,取0.25時效果最好。隻使用句子encoder對模型也有幫助,說明了預訓練的模型也能學習句子表示。
關于超參數
實驗了Switch了百分之多少的句子,發現對模型影響不是很大,在0.15到0.25時最佳。
4.Conclusion 本文提出了三個自監督任務讓模型學習文檔級别的上下文資訊,并應用于摘要抽取任務。其中Switch的預訓練方法訓出來的模型超過了sota。文檔級别的編碼有助于摘要任務,此外超參數對結果影響不是很大。