《Deep Recurrent Generative Decoder for Abstractive Text Summarization》閱讀筆記

論文:Deep Recurrent Generative Decoder for Abstractive Text Summarization

來自:arxiv

原文鏈接

論文簡介:

該論文是NLP領域中關於文本摘要方向的。論文在之前的基於attention的seq2seq生成模型基礎上提出了DRGN(deep recurrent generative decoder)模型。該模型的思路來源是借鑒了之前在圖像領域提出的VAE(variational auto-encoder),將該生成模型應用在了生成摘要上,達到了一個生成摘要的最優。

背景介紹:

信息爆炸的時代,人們可以得到資訊,新聞的方式越來越多,而互聯網上的信息也越來越繁雜,這時候需要文本的自動摘要來幫我們進行信息篩選和過濾從而節省更多的時間。目前文本摘要方向主要分為抽取式和生成式:

  1. 抽取式摘要主要目的是將文章中最核心的最能說明文章的目的的句子抽取出來作為摘要,抽取原句子的好處在於獲得的句子比自動生成的句子要更合邏輯,但是缺點就是可能需要抽取多個句子來得到文章信息。
  2. 隨著神經網路的出現,越來越多的基於神經網路的生成模型開始出現,其中最為著名的是Alexander M. Rush在2015年提出的《A Neural Attention Model for Abstractive Sentence Summarization》,採用的是基於attention的seq2seq生成模型來獲得摘要。也是這篇論文的baseline。

Baseline模型:

該圖來自於論文《Get To The Point: Summarization with Pointer-Generator Networks》

seq2seq-attention模型通常由三部分組成:encoder、decoder和attention機制。

encoder部分可以採用一個雙向LSTM或GRU,輸入原文的詞向量序列,輸出一個編碼後的隱層狀態序列h_i;採用雙向LSTM進行編碼的目的是為了更好的得到詞之間的聯繫以及詞的位置特徵,使得輸入轉化為一個個向量形式。

attention是針對原文的概率分布,目的在於告訴模型在當前步的預測過程中,原文中的哪些詞更重要,具體的計算公式為

decoder部分採用一個單層單向LSTM,每一步的輸入是前一步預測的詞的詞向量,同時輸出一個解碼的狀態序列st用於當前步的預測;

在計算出當前步的attention分布後,對encoder輸出的隱層做加權平均,獲得原文的動態表示,稱為語境向量ct。最終依靠decoder輸出的隱層st和語境向量ct,共同決定當前步預測在詞表上的概率分布,每次選擇概率最大的作為當前的生成詞,通常採用beamsearch來進行選擇。

論文創新:

論文對於CNN新聞的一些人工的摘要進行了語言學的分析,發現人工的摘要存在著一些固定的結構,從下面給出的例子可以看出:

存在著一些共同的結構,如「What」,「What-happened」,「Who action what」。第一句中Apple sues Qualcomm for nearly $1 billion。符合了[Apple] [sues] [Qualcomm],第三個模板。

第四句符合第一個模板,更多陳述一種現象。第二個模板主要傾向於發生了什麼事,比如哪裡被襲擊了。

本篇論文主要是希望能夠將這些潛在的結構信息融入到生成摘要模型中,從而提高生成模型生成句子的質量。為了解決這個問題,論文在baseline模型的基礎上增加了潛在結構模型部分,同時採用VAEs作為生成的框架來解決推理生成問題。由於VAE提出時並不是用在端到端模型中的,所以文中通過改進提出了DRGD模型。

論文框架

該模型的輸入輸出還是和baseline一樣,輸入為X={x1,x2...xm},每一個xi表示輸入的詞,然後最終生成的是Y={y1,y2...yn},表示得到的摘要。通過雙向LSTM得到源文檔的隱層狀態向量表示 {{h_{1}^{d},h_{2}^{d}...,h_{n}^{d}} },然後解碼的隱層狀態生成為

h_{t}^{d} = f(y_{t-1}, h_{t-1}^{d})

yt-1為上一輪生成的詞,ht-1為上一輪的隱層狀態,通過f一個非線性激活函數得到當前的解碼隱層狀態,具體的計算如下:

h_{t}^{d} = g(W_{yh}^{d}y_{t-1}+W_{hh}^{d}h_{t-1}^d+b_{h}^{d})

本文通過對解碼過程的研究發現上述的變數很有限,不能夠把高級的語法以及結構化信息模型化,因此針對這一缺點進行了改進。VAEs生成模型在模型化一些潛在的隨機變數方面有著強大的兼容性,在句子生成和圖像生成方面取得了顯著的成就,正好可以用來彌補本文所提出的端到端模型的缺點。

由上面模型可以看到論文里增加了個變數Zt,這個就是一個潛在變數,而在VAEs中,通常潛在變數用高斯分布表示,通過這個變數和二層隱層狀態得到最終的輸出詞yt。

encoder端:

雙向LSTM得到兩個編碼隱層狀態,然後通過求平均得到輸入的隱層狀態

然後第一層解碼得到decoder的隱層狀態

通過decoder的隱層狀態來確定編碼隱層狀態的權重分布。

通過權重分布得到最後的源文檔向量:

然後將其上一輪的輸出yt-1和上一輪的第二層隱層狀態以及ct輸入得到第二層GRU的當前隱層狀態:

之前的baseline就可以直接通過得到的這個隱層狀態進行輸出詞yt的概率計算了,該論文多了個潛在變數zt,通過第二層隱層向量和潛在變數zt得到最後的狀態向量:

根據上述得到的最終的向量來得到輸出yt的概率:

VAE的引入

關鍵在這個zt的引入,zt裡面包含有整個的潛在結構信息。在已知觀察到的變數 y_{<t} 的情況下,進行推理階段,得到當前的zt, p_{theta} (z_t|y_{<t},z_{<t}) ,相比於VAEs的只是 p_{theta}(z_t|y_t) ,改進的這個VAE的推理式子更能通過之前的歷史抽取到暗含在序列當中的結構特徵:

p_{theta}(y) = prod_{t=1}^{T}int p_theta(y_t|z_t)p_theta(z_t)dz_t

通過之前的所有結構信息和輸出詞的信息得到當前生成詞的hi 概率,為了得到 p_theta(z_t|y_{<t},z_{<t}) ,採用VAE的方法,提出一個識別模型 q_phi(z_t|y_{<t},z_{<t}) ,通過KL散度來共同學習 phitheta

下面式子為計算VAE的概率分布,是高斯分布

其中下面的為雜訊分布:

實驗部分:

論文的訓練數據用的也是baseline模型論文的數據Gigawords,處理後的數據總共有3.8m個標題-文本對,190k個驗證集,2000測試集。最後用DUC2004評測的數據作為模型的評價數據,評價標準是ROUGE指標,有R-1,R-2,R-L幾個衡量指標。

總結

基於attention端到端的生成模型的最大缺點在於生成的句子不在掌控之內,內部是個黑盒,只是通過概率來生成,無法進行人為控制,而本論文的優點在於首先發現了摘要所存在的固定的結構特徵,然後通過這個潛在的結構向量和VAE所具有的優勢結合起來,把結構向量加到端到端模型中,使得最終生成的摘要也具有一些結構特徵。


推薦閱讀:

揭開知識庫問答KB-QA的面紗6·深度學習中篇
《Exploring the E?ffectiveness of Convolutional Neural Networks for Answer Selection ...》閱讀筆記
揭開知識庫問答KB-QA的面紗5·深度學習上篇
REASONING ABOUT ENTAILMENT WITH NEURAL ATTENTION
隆重介紹集智的吉祥物--集智娘

TAG:自然语言处理 | 机器学习 |