原文鏈接:Text Understanding with the Attention Sum Reader Network

原文作者:Rudolf Kadlec,Martin Schmid,Ondrej Bajgar,Jan Kleindienst

Text Understanding with the Attention Sum Reader Network

摘要

一些大的完形填空式context-question-answer數據集最近被公布:CNN、Daily Mail和Childrens Book Test。得益於數據集的大小,與之相關的閱讀理解任務可以適合深度學習,這一比其他方法表現出色的技術。我們提出了一個新的簡單模型,該模型使用attention從context中直接挑選答案,而不是像類似模型中常見的那樣,使用文檔中單詞的混合表示來計算答案。這使得該模型特別適用於答案是文檔中的一個單詞的問答問題。我們的模型在很大程度上優於先前為這些任務提出的模型。

1 Introduction

到目前為止,人類收集的大部分信息都是以純文本的形式存儲的。因此,在人工智慧領域,教機器如何理解這些數據至關重要。測試文本理解水平的一種方法就是簡單地問系統問題,這些問題可以從文本中推測出答案。一個眾所周知的可以利用大量非結構化文檔來回答問題的系統例子是IBM的Watson系統,用於Jeopardy挑戰 (Ferrucci et al., 2010)。

完形填空式問題( Taylor,1953 ),即通過從句子中刪除短語形成的問題,是這類問題的一種吸引人的形式。雖然任務很容易評估,但人們可以改變context、問題句子或問題中缺少的特定短語,以顯著改變任務結構和難度。

改變任務難度的一種方法是改變被替換的單詞類型,如( Hill等人)。,2015年)。這些複雜度的原因是文本理解需要去預測不同類型的單詞。預測介詞可以很容易地使用相對簡單的模型來完成,但是預測命名實體需要對context有更深入的了解。

此外,與從文本中隨機選擇句子不一樣(如( Hill等人)2015年),這些問題可以由文檔的特定部分形成,例如簡短摘要或標籤列表。因為這樣的句子經常以濃縮的形式複述文檔中所說的話,所以它們特別適合測試文本理解能力( Hermann,2015年)。

完形填空式數據集的一個重要特點是,這些數據可以從大量的真實文檔中生成。這為需要大量數據的技術(如深度學習)打開了大門。

在本文的第一部分,我們介紹了當前的任務和相關數據集的主要方面。然後我們展示了我們自己的模型來解決這個問題。隨後,我們將該模型與先前提出的體系結構進行比較,並最終描述了對模型性能的實驗結果。

2 Task and datasets

在本節中,我們簡要介紹了我們尋求解決的任務,以及最近為此任務引入的相關大規模數據集。

2.1 Formal Task Description

任務包括回答完形填空式的問題,這個問題的答案取決於對問題附帶的上下文文檔的理解。模型還提供了一組答案,從中可以選擇正確的答案。這可以形式化為如下:

訓練集是一個元組(q,d,a,A)q是問題,d是文檔,並且包含回答q的答案,A是可能的答案的集合,a∈A,是正確答案。q和d都是一序列的詞,並且都在辭彙表V之內。所有可能的答案的詞也全部來自於V,正確的答案一定出現在過d中,即a∈d。

2.2 Datasets(表格1)

2.2.1 News Articles — CNN and Daily Mail

2.2.2 Children』s Book Test

詳細見低級煉丹師:機器閱讀理解之推理網路(三)Iterative Alternating Neural Attention for Machine Reading 第二小節任務定義

3 Our Model — Attention Sum Reader

3.1 Motivation

我們的模型叫做注意力總和閱讀器( AS Reader )是定製的,以利用答案是上下文文檔中的一個單詞這一事實。這是一把雙刃劍。雖然它在所有提到的數據集上都獲得了state-of-the-art的結果(這些數據都有上述假設),但是它不能給出一個不包含在文檔中的答案。我們的模型結構如下:

1 .我們計算query的向量嵌入。

2 .我們在整個文檔中計算每個單獨單詞的向量嵌入(RNN)。

3 根據每一個出現在document中的候選答案,做對應的問題和文本嵌入的點積,來選擇最可能的答案。

3.2 Formal Description

我們的模型使用一個詞嵌入函數和兩個編碼器函數。詞嵌入函數e將單詞翻譯成向量表示。第一個編碼器功能是文檔編碼器f,它在整個文檔的上下文中對來自文檔d的每個單詞進行編碼。我們稱之為上下文嵌入。為了方便起見,我們將第I個單詞在d中的上下文嵌入表示為fi(d )。第二個編碼器g用於將query 轉換成與fi(d )相同維度的固定長度表示。兩個編碼器都使用由e計算的單詞嵌入作為輸入。然後,我們通過上下文嵌入和query嵌入的點積計算文檔中每個單詞的權重,。這個權重可以被看作是對文檔d的attention的值。

為了構建document中的詞正確的概率分布,我們使用softmax函數來歸一化權重。我們得到在document中位置i處的詞可以正確回答q的概率 s_i ,方程形式為:

最終我們計算得到詞w是正確答案的概率為:

其中I(w,d)是w出現在document中的位置的集合。我們稱這個機製為pointer sum attention,因為我們在document中使用attention來作為在離散的辭彙上的一個指針,然後我們把某個辭彙的所有地方的attention相加。這模型和seq2seq中常見的attention用法不一樣,在那個模型中attention被用來混合詞的表達到一個新的嵌入向量。

模型如圖1所示。

3.3 Model instance details

在我們的模型中,文檔編碼器f被實現為雙向門控循環單元( GRU )網路( Cho,2014年),其隱藏狀態形成上下文詞嵌入,即 f_i(d)=overrightarrow{f_i}(d)||overleftarrow{f_i}(d) ,兩個分別表示前向和後向的文本嵌入,||表示向量拼接。Query的編碼器g被另外一個雙向gru實現,GRU前向的最後一個隱狀態和反向的最後一個隱狀態會拼接在一起形成query嵌入,即 g(d)=overrightarrow{g_{|q|}}(q)||overleftarrow{g_1}(q) 。訓練過程中我們聯合優化參數f,g,e。

4 Related Work

最近的兩種深度神經網路架構( Hermann 2015年)(希爾,2015 )被應用於文本理解任務。這兩種體系結構都使用了一種attention機制,允許它們在文檔中高亮顯示可能與回答問題相關的詞。現在,我們將簡要描述這些體系結構,並將它們與我們的方法進行比較。

4.1 Attentive and Impatient Readers

即低級煉丹師:機器閱讀理解之開山之作 Teaching Machines to Read and Comprehend的內容

4.2 Memory Networks

MemNNs (Weston et al., 2014) 被應用到閱讀理解的任務中。

最佳性能的記憶網路模型設置——窗口內存——使用以候選詞為中心的固定長度窗口( 8 )作為記憶單元。因為這個有限的上下文窗口,模型無法捕獲超出此窗口範圍的依賴項。

此外,這個窗口裡的表示向量被計算為那個窗口裡的詞嵌入之和。相比之下,在我們的模型中,每個單詞的表示是使用循環網路來計算的,這不僅允許它從整個文檔中捕獲上下文,而且嵌入計算比簡單的求和更加靈活。

為了提升初始精度,一個叫self supervision的啟發式方法會被使用,來幫助網路選擇正確的記憶。單一的MemNNs在閱讀理解任務上沒有競爭力,而我們的模型並不需要這個。

4.3 Pointer Networks

我們模型的靈感來自於PtrNets,這個模型使用attention機制去選擇文本中的答案,而不是用來將所有詞混合為一個向量表達。PtrNet模型由一個編碼器一個解碼器構成,在每一步都會用attention機制去選擇輸出,而我們的模型只在單一步輸出答案。此外,指針網路假設序列中沒有輸入出現一次以上,而在我們的設置中不是這樣的。

4.4 Summary

我們的模型結合了上述提到的架構的最好的特徵。我們像attentive和impatient readers一樣使用循環網路來讀document和query,我們也像PtrNets一樣使用attention機制,也像MenNNs一樣使用attention和的方式。

5 Evaluation

本節中,我們在三個數據集上評估了我們的模型,儘管它非常簡單,依舊取得了state-of-the-art的效果。

5.1 Training Details

我們使用隨機梯度下降,ADAN優化器,學習率為0.001或者0.0005。損失函數為負log-likelihood。

初始權值為[-0.1,0.1]中的隨機值。GRU中權重被隨機正交矩陣初始化,biases被初始化為0.梯度裁剪閾值為10,batch size為32.

訓練過程中我們在每個epoch中都會隨機打亂樣本。為了加快訓練速度,我們總是預先提取10批樣本,並根據文檔的長度對它們進行排序。這樣,每批包含的文檔長度大致相同。

對於CNN和每日郵報數據集,對於每一批,我們隨機重組命名實體到相應單詞嵌入向量的分配,以匹配( Hermann等人)中提出的過程。,2015年)。這保證了命名實體的單詞嵌入僅用作語義上無意義的標籤,不編碼所表示實體的任何內在特徵。這迫使模型從與問題相關聯的單個上下文文檔中真正推導答案。

在訓練過程中,我們在每個epoch中都會評估模型性能,當驗證集上誤差開始增加的時候,停止訓練。

2個epoch後模型開始收斂。在Nvidia K40 GPU上每個數據集訓練一個epoch的時候如表格6

超參數,也就是隱層維度和嵌入維度會被通過grid search來選擇。我們開始以128到384為範圍,然後以128為間距提升上界,直到驗證集準確率的持續下降。表7總結了我們探索的超參數空間區域,該區域具有最佳精度的模型參數。

我們的模型使用Theano和Blocks實現。

5.2 Evaluation Method

我們同時用單模和集成模型評估模型。

對於單個模型,我們報告了最佳模型的結果以及最佳的20 %模型的平均精度,因為單個模型由於隨機權重初始化而顯示出相當大的結果差異,即使對於相同的超參數值也是如此。因此,單一模型的性能可能很難再現。

對於集成模型,我們使用集成成員預測的答案概率的簡單平均。

集合模型要麼被選為所有訓練模型的前70 %,要麼使用以下演算法:根據驗證性能,我們從性能最佳的模型開始。然後在每一步中,我們都嘗試添加以前從未嘗試過的最佳性能模型。如果它確實提高了驗證性能,我們會將它保留在系綜中,否則會丟棄它。通過這種方式,我們把所有模型都試驗了一次。我們稱由此產生的模型為貪婪式集成。

5.3 Results

我們的模型在CBT數據集上的性能總結在表5中,表4顯示了CNN和每日郵報數據集上的結果。這些表格還列出了在這些數據集上評估的其他已發布模型的性能。我們的集成模型在所有評估數據集上展現出了較好的性能。而且,即使是我們的單模型的最好性能也比之前報道的最好的結果要好。

表8以測試用例的比例來衡量準確性,其中,對於k = 1,2,5,貪婪集成模型提出的前k個答案中有答案。

6 Analysis

為了進一步分析我們模型的性質,我們試驗了模型準確率的各個依賴項:文本長度,候選答案數量,正確答案在文本中的頻率。(如圖2到4)

在CNN和每日郵報數據集上,隨著文檔長度增加,準確率下降(圖2a)我們認為可能有以下幾個原因。(1)長文檔使任務更複雜(2)長文檔比較少,會使得模型更加善於解決短文本。(圖2b)(3)文本長度一般都會和命名實體的數量有關聯,可能答案的數量本身便副作用於準確率。(圖3)

在CBT數據集上上面的負趨勢變消失了(圖2c)。這支持了上面後面兩種說法。因為這個數據集的長度分布更加均衡(圖2d),並且候選答案的數量是常量(10)。

候選答案數量的增加對模型準確性的影響可見於圖3a。我們可以清楚地看到,隨著候選答案數量的增加,準確率下降。另一方面,有大量候選答案的例子數量非常少(圖3b )。

最後,由於我們模型中的attention的和總是會使多次出現的實體更加受益,我們也可視化了準確性與文檔中正確答案的頻率的關係。圖4a顯示,與其他候選答案相比,隨著正確答案的頻率在文檔中變得越來越少,準確性顯著下降。並且,正確的答案更傾向於會頻繁出現(圖4a )。

6.1 Comparison to Weighted Average Blending

我們在第4.1節中假設,attentive reader利用attention來混合表達可能會損害其表現。為了驗證這種直覺,我們在我們的模型中實現了混合表達,使它更接近於attentive reader。

在這個修正過的模型中,我們依舊用原來的方式計算attention s_i。同時用下面的等式:

其中r是混加後的表達a』屬於∈A是可能的答案。這個變化會導致模型在所有數據集上的準確率急劇地降低。

在每一個CBT數據集上,差異幾乎是15 %,而在CNN和每日郵報上,差異分別超過6 %和2 %。此外,無論是看每個epoch的訓練時間還是收斂需要的epoch數量,混合模型的訓練時間都幾倍於我們的模型。

7 Conclusion

本文中,我們提出了一種新的用於自然語言文本理解的神經網路結構。雖然我們的模型比以前發布的模型更簡單,但它在所有評估數據集上都達到了state-of-the-art的性能。

Text Understanding with the Attention Sum Reader Network(完)

有任何疑問或者糾錯,作者隨時在線哦

關注專欄

深度學習經典論文翻譯(nlp方向)?

zhuanlan.zhihu.com
圖標

推薦閱讀:
查看原文 >>
相关文章