《Recent Advances on Neural Headline Generation》閱讀筆記

標題:《Recent Advances on Neural Headline Generation》

論文來源:JCST

原文鏈接:原文鏈接

綜述

本文主要是對Neural Headline Generation 的最新研究進展做了綜述。同時,詳細介紹了 Generation Model中的各個環節,包括輸入表示, encoder, decoder 以及 training strategy。

模型採用的都是一種 end-to-end encoder-decoder 的框架,end-to-end 的好處在於通過縮減人工預處理和後續處理,儘可能使模型從原始輸入到最終輸出,給模型更多的可以根據數據進行自動調節的空間,增加模型的整體契合度。

輸入表示

把離散的source article words映射到連續矢量空間,得到E = {e1,e2,...,eM}

E = emb(1(X))

其中1(·)是獲得詞的onehot表示的函數,emb(·)表示獲得詞表示的投影函數。詞向量是低維實值向量,這樣不僅節省空間,而且能夠反映詞之間的句法和語法關係。

encoder

把輸入表示編碼成單個向量或向量序列H,也被稱為源隱狀態:

H = enc(E)

enc(·)代表編碼器。

Bag-of-Words Encoder它將單詞嵌入到單個矢量中,忽略單詞順序或文章中單詞之間的關係。這種編碼器很簡單,但無法表示連續的短語。

Convolutional Encoder,用卷積神經網路把輸入文本向量化,採用時延神經網路(TDNN)架構,通過時間卷積層和pooling層交替使用,來得到原始文章的最終矢量。卷積編碼器仍然難以捕獲長期的依賴關係。忽略一個序列中的詞之間的聯繫,這與自然語言的本質是相悖的。

RNN Encoder使用遞歸神經網路(RNN)來模擬順序信息,RNN根據先前的輸出計算序列中每個元素的隱狀態。因此,RNN可以捕獲到目前為止發生的事情的信息。

Bidirectional RNN Encoder傳統的RNN通常只處理從開始到結束的文本序列,並且僅僅考慮其前面的單詞來建立每個單詞的隱狀態。已經證實隱狀態也應該考慮它的後面的詞。BRNN使用兩個獨立的RNN在正向和反向上處理輸入文檔,並獲得正向隱狀態。

decoder

解碼器利用源隱狀態H逐字生成標題:

Y = dec(H)

dec(·)表示解碼器。在生成的第j個步驟中,即生成第j個標題詞,解碼器首先更新其內部隱藏狀態,然後計算下一個目標單詞的條件分布。這些操作通常基於源隱狀態,以及先前的解碼器隱狀態和先前的輸出詞。解碼器可以是一個神經網路語言模型,或者RNN的各種變體.。

RNN解碼器,使用遞歸神經網路進行解碼,可以更好地捕獲順序信息。

Attention-Based RNN encoder,不同的輸入詞會對結果做出不同的貢獻。

本文實現了基於attention的GRU-RNN和LSTM-RNN解碼器來測試不同解碼器的效果。

訓練策略

最大似然訓練策略,本質上是一個詞層次的訓練策略。還有一種稱為最小風險訓練的句級訓練策略,可以優化評估矩陣的模型參數。

最大似然估計,神經標題生成模型參數通過最大化在一組訓練數據上生成標題的對數似然性來優化。兩個缺點:

1)exposure bias,在訓練期間根據正確的前一個詞來預測輸出詞。然而,在測試時間,可能基於不正確的前一個詞來預測輸出詞。

2)MLE使用單詞級交叉熵損失來最大化下一個單詞的概率,背離句子級別的評估度量標準ROUGE。

最小風險訓練MRT, 針對MLE訓練策略存在的問題,引入最小貝葉斯風險技術對神經模型進行評價指標調整。大幅度地減小了訓練數據的語句損失。給定一個文檔 XY(X;theta) 被定義為用參數 theta 生成的所有可能標題的集合。 Y 作為 X 的參考標題, Delta(Y,Y)表示 Y 與生成的標題 Y 之間的距離。MRT將損失函數定義為:

iota_{MRT}(theta)=sum_{(X,Y)in D}^{}{E_{y(X:theta)}Delta(Y,Y)}

tilde{x}_{MRT}=arg_theta minleft{ iota_{MRT}(theta) right}

E_{y(X:theta)}表示對所有可能的標題的期望, 列舉所有可能的實例通常很耗時且低效。因此,根據目前生成的標題的概率分布抽出一個子樣本 S(X;theta)in Y(X;theta) 。損失函數可以近似為:

iota_{MRT}(theta)=sum_{(X,Y)in D}^{}{sum_{Yin S(X;theta)}^{}{frac{Pr(Y|X;theta)^{varepsilon}}{sum_{Y^*in S(X;theta)}{Pr(Y^*|X;theta)^{varepsilon}}}Delta(Y,Y)}}

其中ε是控制目標函數平滑度的超參數。適當的ε值可以顯著提高MRT的有效性。

MRT利用兩句之間的距離構成損失函數,使其能夠直接優化具體評價指標的模型參數。標題生成從根本上是生成摘要的一項子任務。因此,用在文本摘要評價中廣泛使用的指標ROUGE 來合成MRT中的距離是合理的。 ROUGE的基本思想是計算計算機生成的摘要和參考摘要之間的重疊單元的數量,例如重疊N-gram,單詞序列和單詞對。評估結果使用Gigaword語料庫,做了許多的對比實驗,詳細討論了性能,以得到各部分對於標題生成的作用。在相似系統之間進行比較,找出起關鍵作用的部分。

表中列出的五個系統用相同的基本模型架構,即GRU-BRNN編碼器+ GRURNN解碼器+注意機制。不同之處在於:

1)RNN context(W)和COPYNET(W)是基於字的,其他是基於字元的;

2)只有COPYNET(W)包含複製機制;

3)僅用最小風險訓練演算法對MRT(C)進行訓練,其餘訓練用最大似然估計演算法;

4)RNN context(C)和本文的MLE系統在測試時的解碼方法上有所不同。

由於漢語中的詞不是由空白分隔的,所以分詞是一個必要的預處理步驟。分詞的錯誤會不可避免地帶入模型。另外,分詞結果也會影響辭彙量。解決這個問題的一個辦法就是直接把文章逐個字元地分開。這樣,系統中就不會出現文字分詞錯誤,而且辭彙量也會大大減小。

比較發現基於字元的模型比基於詞的模型表現得更好。儘管COPYNET(W)是基於詞的,但其ROUGE-2和ROUGE-L得分明顯優於RNN context(W),甚至優於基於字元的RNN context(C)。這證明了複製機制在處理字級或短語級信息方面的有效性。MRT系統與MLE系統相比將ROUGE分數提高了3個點以上,並一直優於其他baseline系統。

analysis

data analysis

通過觀察系統用於不同文檔的性能,發現ROUGE分數變化很大。因此,分析源文件及其相應的標題,來判斷數據屬性與系統性能之間是否存在關聯。從LCSTS數據集中隨機抽取100個樣本進行分析。

用一些規則把100個樣本分成6類,包括Proper Subset,Expression Quotation,Paraphrasing,Mathematical Reasoning,Domain Knowledge,Weak Clue從表9可以發現。

1) Proper Subset和Expression Quotation較簡單,都取得了較好的分數

2)Paraphrasing,MRT比MLE更好,MRT能更好地捕捉到綜合信息

3)Mathematical Reasoning,Domain Knowledge需要基本的推理能力和領域知識來產生一個連貫的標題。與其他情況相比,這兩個系統得分都較低。由於這些系統沒有納入任何領域知識,對具有領域知識的參考標題評估系統性能並不合適。

4)Weak Clue,最佳摘要與原文沒有多大關係,即使對人來說也很難產生最佳輸出。

Error Analysis

把用MRT訓練產生的100個有錯誤的樣例分成5類。

Missing Salient Information Errors,這是最嚴重的錯誤,占錯誤總數的63%。

Evaluation Errors,佔26%,當系統輸出的標題語義上與最佳標題相同,但是由於ROUGE未能識別出它們在語義上等同而被評為低分。

Repeated Words Errors.,佔8%,這種類型的錯誤可以歸因於系統無法記住過去生成的單詞。

Extra Words Errors,11%,輸出與源文章無關的詞。

Word Order Errors.,4%,生成的標題基本包含了原文章的重要內容,但是由於順序錯誤,造成意義不同。

總結

影響headline generation systems性能的幾個關鍵因素。

1)增加語言特徵有助於捕捉輸入文章的複雜信息。

2)encoder使用BRNN表現更好。

3)attention機制始終能提升系統的性能。

4)copy機制是擴大目標辭彙表的有效方法。

5)sentence-level的MRT訓練策略明顯優於word-level的訓練策略。

推薦閱讀:

記憶網路之End-To-End Memory Networks
邏輯回歸和SVM的區別是什麼?各適用於解決什麼問題?
隱馬爾可夫模型--更加接近真相。
《NLP》第二章The Language Modeling Problem

TAG:自然语言处理 |