今天分享的paper是劉羣老師發表在ACL2019的一篇文章,同樣是一篇介紹複述生成的論文,叫Decomposable Neural Paraphrase Generation(DNPG,網絡可分解的複述生成)。
論文的動機:作者發現一個句子的複述通常有多個不同粒度的模式組成,從單詞粒度到短語粒度到句子粒度等,如下圖:
藍色部分爲句子粒度,綠色部分爲短語粒度。在這篇論文中,作者取了這兩個粒度進行分析。
論文的主要貢獻:
1. 可解釋性;
2. 可控性;
3. 可遷移性。
論文的主要框架如下圖:
模型結構共分爲四個部分:Separator(分離器),encoder,decoder,Aggregator(聚合器)。分離器將原句子的每個詞分爲短語模式或者句子模式,encoder,decoder即分別對每個模式進行編碼解碼,最後使用聚合器將各個模式聚合起來,得到預測的結果。
以下三條公式分別表示encoder,decoder以及最後的輸出(即複述生成的結果):
前兩條公式的m表示不同粒度模式下使用不同的編碼,最後一條公式中的表示不同的模式:短語模式或者句子模式,相應的取值0或1;公式第一項表示在模式下的預測結果,第二項表示t時刻的輸出爲模式的概率。
Separator(分離器):
分離器部分,作者使用stacked LSTM來判斷輸入變量的每個時刻的模式(0或1):
Multi-granularity encoder and decoder:
編碼解碼部分作者使用了transformer的結構,並做了一點小改動。這部分作者介紹了三個方面,分別是positional encoding, multi-head attention, model capacity.
positional encoding 如下圖所示,跟transformer中的描述一樣,想仔細瞭解這部分的讀者,可以看我上一篇文章:transformer中的positional encoding(位置編碼)
對於短語模式,位置編碼不做改變;對於句子模式,對於每個位置,作者取該位置之前的所有模式爲1的位置編碼之和作爲該位置的編碼。
multi-head attention方面,在短語模式下,作者取鄰近三個變量做attention,目的是爲了獲取局部特徵;句子模式下,作者取所有模式爲1的變量做attention。具體如下圖:
Model Capacity方面,作者爲了提高短語模式下transformer的能力,引入了16年一篇文章中介紹的attention過程中的copy機制(這篇文章我還沒看,暫不做展開,後續看完再開一篇博客具體介紹),具體如下:
下面一張圖是對短語模式和句子模式的對比。
Aggregator(聚合器):
聚合器其實就是一個判別器,判斷當前時刻輸出結果的模式,如下圖公式所:
我們上文提到,最後輸出結果由下式得到:
其中聚合器完成第二項的計算,而第一項由每個模式下decoder的輸出結果得到。
引入先驗知識:Learning of Separator and Aggregator
we induce weak supervision to guide the training of the model. (引入先驗知識:短語對)
其中,作者從一個已知庫中獲取一些短語對,並把這些短語對中的詞作爲短語模式,即存在短語對中的爲1,或者爲0,以此來添加先驗知識,加快收斂速度,同時,在模型訓練過程中,從1到0衰減。
接下來介紹實驗結果:
Interpretable Paraphrase Generation(可解釋性):
Controllable Paraphrase Generation(可控性):
Unsupervised Domain Adaptation(可遷移性):
作者使用強化學習的方法將第一個數據集的語言模型得到的結果作爲獎勵添加到第二個數據集中,以此來提高第二個數據集的學習能力,得到的結果如下:
Ablation Studies(消融實驗):
以上,便是這篇論文的所有介紹,歡迎交流。