Teaching Machines to Read and Comprehend

原文鏈接:Teaching Machines to Read and Comprehend

作者:Karl Moritz Hermann,Tomá? Ko?isky,Edward Grefenstette,Lasse Espeholt,Will Kay,Mustafa Suleyman,Phil Blunsom

摘要

教機器閱讀自然語言文檔仍然是一個難以捉摸的挑戰。機器閱讀系統可以測試其回答對他們所看到的文檔內容提出的問題的能力,但迄今為止,這類評估缺少大規模的訓練和測試數據集。在這項工作中,我們定義了一種新的方法來解決這個瓶頸,並提供大規模的監督型閱讀理解數據。這使我們能夠開發一類基於attention的深度神經網路,學習閱讀真實的文檔,用最少的語言結構知識回答覆雜的問題。

1 Introduction

從簡單的詞袋模型信息檢索到能夠閱讀和理解文本的機器這一進程目前相當緩慢。傳統的機器閱讀理解的方法是基於人工識別語法,或者通過檢測謂詞參數的信息提取方法,這種方法之後可以作為關係型資料庫進行查詢。由於缺乏大規模的訓練數據集,以及難以構建足夠靈活的統計模型來學習探索文檔架構,在這一領域很大程度上缺乏有監督的機器學習方法。

獲得監督型自然語言閱讀理解數據已被證明非常困難,一些研究者已經探索了如何合成敘事和問題。這些方法允許生成幾乎無限量的監督數據,並且使得研究者去隔離他們在個人模擬現象上的演算法的性能。對這些數據的研究表明,基於神經網路的模型有望為閱讀理解建模,這是我們將在此建立的基礎。然而,歷史來說,許多在計算機語言學上的類似的方法未能完成從合成數據到真實環境的轉變,因為這些相近的單詞不可避免地都未能捕捉到自然語言的複雜性,多樣性以及噪音。

在本文中,我們通過引入一種新的構建監督學習機器閱讀理解數據集來直接解決真實自然語言訓練集的缺點。我們注意到,一些摘要和帶有釋義的句子,與他們相關聯的文檔,能夠通過一些簡單的實體偵測或者匿名演算法被轉換為context-query-answer的三元組。使用這種方法,我們搜集到了兩個新的語料庫大約一百萬篇新聞報道和相關的queries。

我們通過構建新的深度學習模型來展示新語料庫的有效性。這些模型借鑒了最近的發展,將注意力機制納入了循環神經網路架構。這使得模型能夠專註於它認為有助於回答問題的文檔的各個方面,也讓我們能夠想像出它的推理過程。我們將這些神經模型與一系列baselines和啟發式benchmarks進行比較,這些baselines和啟發式benchmarks基於最先進的自然語言處理方式提供的傳統框架語義分析。我們的結果表明,神經模型實現了更高的準確性,並且不需要對文檔或查詢結構進行任何特定的編碼。

2 Supervised training data for reading comprehension

閱讀理解任務很自然地將自己變成一個有監督的學習問題。具體來說,我們試圖估計條件概率p ( a | c,q ),其中c是上下文文檔(context),q是與該文檔相關的查詢(query),a是該查詢的答案(answer)。為了重點評估,我們希望能夠排除額外的信息,例如從共現統計中獲得的世界知識,以測試模型檢測和理解上下文文檔中實體之間語言關係的核心能力。

這種方法需要大量的document–query–answer三元組訓練語料庫,到目前為止,這種語料庫大小僅限於數百個例子,因此其中大部分僅用於測試。這種限制意味著這一領域的大多數工作都採取了無監督的方式,使用模板或句法/語義分析器從文檔中提取關係元組,以形成可查詢的知識圖。

在這裡,我們提出了一種方法來創建真實世界的、大規模的有監督的訓練數據,用於學習閱讀理解模型。我們利用在線報紙文章及其匹配的摘要創建了兩個機器閱讀語料庫。我們從CNN收集了93K篇文章,從每日郵件網站收集了220K篇文章。兩個新聞提供商都用一些要點來補充他們的文章,總結文章中包含的信息。重要的是,這些要點是抽象的,而不是簡單地從文檔中複製句子。我們通過用佔位符一次替換一個實體,將這些要點變成完形填空式的問題,從而構建了一個document–query–answer三元組語料庫。這生成了大約1M數據的組合語料庫(表1 )。

2.1 Entity replacement and permutation

本文的目標是提供一個語料庫來衡量模型閱讀和理解一個單文檔的能力,不能引入世界知識和共識。為了理解其中的區別,請參考下面例子。(來自每日郵報數據集)a) The hi-tech bra that helps you beat breast X;b) Could Saccharin helpbeat X?;c) Can fish oils help fight prostate X? 其中的X是完形填空要填寫的內容。在每日郵報數據集上訓練過的n-gram模型可以很輕易地預測出(X=cancer),而不用任何文檔的內容,因為這是一個在每日郵報上出現頻率很高的實體。

為了防止這種退而求其次的解決方案並創建一個有意義的任務,我們通過以下步驟匿名化和隨機化我們的語料庫,a )使用共參照系統在每個數據點建立共參照;b )根據共指,用抽象實體標記替換所有實體;c )每當載入數據點時,隨機置換這些實體標記。

比較表3中示例的原始版本和匿名版本。顯然,人類讀者可以正確回答這兩個問題。然而,在匿名設置中,需要上下文document來回答query,而原始版本也可以由具有必要背景知識的人來回答。因此,按照這個程序,回答問題的唯一策略是利用每個問題所呈現的上下文來回答問題。因此,我們兩個語料庫上的表現真正衡量了閱讀理解能力。自然地,生成系統將受益於所有可用的信息源,例如通過語言和共現統計的線索。

表2顯示了任務的難度,顯示了給定文檔中前N個實體標記中包含正確答案的頻率。請注意,我們的模型不區分實體標記和常規單詞。這使得任務更加艱巨,模型更加通用。

3 Models

到目前為止,我們已經開始需要更好的數據集和任務來評估機器閱讀模型的能力。我們通過描述一些baselines、benchmarks和新模型來對照這個範例進行評估。我們定義了兩個簡單的baseline,majority baseline (maximum frequency)選擇context中最常見的實體,而exclusive majority (exclusive frequency) 選擇context中最常見但query中不常見的實體。這種排除背後的想法是佔位符不太可能在單個完形填空表單query中被提及兩次。

3.1 Symbolic Matching Models

傳統上,一種nlp模型的途徑已經被用來嘗試問題的回答,那些模型會利用語言標註,結構化數據知識,語義分析和其他相似的nlp方法輸出。建立在這些方法上,我們為機器閱讀任務定義了一系列的nlp核心的模型。

Frame-Semantic Parsing:語義構成解析嘗試識別謂語和它們的內容,使得模型去獲得一些如同「誰對誰做了什麼事」的信息。自然,這種注釋會被用來回答問題。我們將使用一個最先進效果的語法構成解析器來作為實驗的benchmark。當解析器廣泛使用語言信息時,我們在我們的語料庫的未匿名版本上運行這些benchmarks。這裡並沒有優勢,因為使用的語義構成解析方法除了在解析階段利用一個語言模型之外,不具備概括整個語言模型的能力。因此,評價機器理解能力的關鍵目標得以保持。我們同時從query q和context document d中提取實體謂語三元組,被標記為(e1,V,e2),我們試著解決queries使用一些規則來平衡精準率和召回率,如表4

為了清晰的原因,我們假裝所有的三元組是(e1,V,e2)的形式。實際上,我們將解析器的參數編號考慮在內,並且只進行相似的比較,除非是構成規則被置換,在這種情況下,排序是寬鬆的。在單個規則中有多個可能答案的情況下,我們隨機選擇一個。

Word Distance Benchmark:我們考慮另一個依賴單詞距離測量的benchmark。這裡,我們將完形填空表單問題的佔位符與context document中的每個可能實體對齊,然後根據對齊的實體來計算問題和文檔直接的距離衡量。這個分數是通過將q中的每個單詞與d中最近對齊的單詞的距離相加來計算的,其中對齊是通過直接匹配單詞或通過共指系統對齊來定義的。我們調整驗證數據集上每個單詞的最大懲罰( m = 8 )。

3.2 Neural Network Models

神經網路已經成功地應用於NLP中的一系列任務。這包括分類任務,情感分析或詞性標籤,以及生成問題,如語言建模或機器翻譯。我們提出了三種神經模型,用於從文檔d回答查詢q中估計單詞類型a的概率:

其中V是辭彙表,W ( a )索引權重矩陣W的行A,並通過稍微濫用符號詞類型來加倍作為索引。請注意,我們不區分實體或變數,模型必須學會在輸入序列中區分它們。函數g ( d,q )返迴文檔和查詢對的向量編碼。

The Deep LSTM Reader: LSTM網路最近在機器翻譯和語言建模等任務上取得了相當大的成功。當用於翻譯時,Deep LSTMS顯示出了將長序列嵌入向量表示中的非凡能力,該向量表示包含足夠的信息以生成另一種語言的完整翻譯。對於閱讀理解我們的第一個神經網路模型測試了DeepLSTM編碼器解決長序列的能力。我們先把我們的document餵給DeepLSTM,在一個分隔符之後,把query也喂進去。另外我們也試過先query再document。結果是,該模型將每個文檔查詢對作為單個長序列進行處理。給定嵌入的document和query,網路預測文檔中哪個詞回答了query。

我們使用一個Deep LSTM單元建立從每一個輸入x(t)到每一個隱藏層的連接,以及每一個隱藏層到輸出outputy(t)的連接:

其中||代表向量拼接h(t,k),是第k層在時間t的隱藏層。I,f,o分分別是輸入,遺忘,輸出門。因此我們的Deep LSTM模型被定義為 g^{LSTM}(d,q)=y(|d|+|q|) ,帶著被標識符||分隔開的d與q的拼接。

The Attentive Reader: Deep LSTM閱讀器必須在長距離上傳播決策來連接queries到他們的答案。固定長度的隱藏層向量變成了信息流的瓶頸。受到翻譯和圖像識別成果的啟發,我們提議使用attention機制。這個attention模型首先使用單獨的雙向單層LSTMS [ 19 ]對document和query進行編碼。

我們標註前向和反向LSTMs的輸出為 overrightarrow{y}(t)overleftarrow{y}(t) 。Query的長度為|q|的編碼u是前向和反向傳播的最後一步的拼接, u=overrightarrow{y_q}(t)(|q|)||overleftarrow{y_q}(1) 。對於document,每個在t位置的詞的合成輸出是 y_d(t)=overrightarrow{y_d}(t)||overleftarrow{y_d}(t) 。Document d的表示r是這些輸出向量的加權和。這些權重被解釋為模型在回答query時關注document中特定辭彙的程度:

其中yd是一個矩陣,其中的每一列都是document在第t個辭彙被組成的向量yd(t)變數s(t)是第t個辭彙被歸一化的attention。給定attention評分,document的嵌入會被計算為詞嵌入的加權和。模型會通過query和document的非線性結合來聯合計算:

The Attentive Reader可以被看作是記憶網路應用於回答問題的概括。該模型在句子層面採用了注意力機制,每個句子都由嵌入向量來表示。Attentive Reader採用了一種更細粒度的標記級別注意機制,在該機制中,給定輸入文檔的整個未來和過去的上下文,所有詞會被嵌入成一個向量。

The Impatient Reader:Attentive Reader可以集中注意到document中最有可能得到答案的段落。我們可以進一步升級到當query中的每個詞被閱讀的時候,模型都會重新閱讀document。在query q的每一個詞i,模型都會計算一個document表示向量r(i),使用的是雙向嵌入

結果是是一種attention機制,它允許模型隨著它讀入各個query的詞,不斷地從document中累計信息,最終為答案預測輸出一個query和document的聯合向量表示。

4 Empirical Evaluation

在前一節中已經描述了許多模型,接下來我們將在我們的閱讀理解語料庫上評估這些模型。我們的假設是,神經模型原則上應該非常適合這項任務。然而,我們認為像LSTM這樣簡單的循環模型可能沒有足夠的表達能力來解決需要複雜推理的任務。因此,我們預計基於attention的模型將優於純粹的基於LSTM的方法。

考慮到我們調查的第二個維度,傳統和神經網路方法對NLP的比較,我們沒有強烈的偏好使一種方法勝過另一種方法。儘管一些機構在過去幾年中證明了神經模型優於經典方法,但這可能是所有自然語言處理的神經模型所固有的能力,這種固有能力對於真正的閱讀理解模型帶來的副作用到底是多大程度上的目前仍不清楚。這裡呈現的任務的實體匿名化和置換方法最終可能會在這方面創造公平的競爭環境,有利於能夠處理語法而不僅僅是語義的模型。

考慮到這些因素,本文的實驗部分有三個目的。首先,我們想通過應用大量的模型來確定機器閱讀任務的難度。其次,我們比較了基於語法解析的方法和神經模型的性能。第三,在所研究的神經模型組中,我們想確定每個組件對最終性能的貢獻;也就是說,我們想分析LSTM能在多大程度上解決這個任務,以及各種attention機制在多大程度上影響性能。

所有模型超參數都在兩個語料庫各自的驗證集上進行了調整。我們的實驗結果見表5,Attentive Reader和 Impatient Reader在兩個數據集上表現最好。

Frame-semantic benchmark:雖然本文提出的一個Frame-semantic模型是對nlp方法的簡化,但是從符號NLP的角度來看,它確實突出了任務的難度。

在詳細分析結果時,有兩個問題非常突出。首先,Frame-semantic方法的覆蓋率很低,許多關係沒有被我們的解析器提取出來,因為它們沒有遵循默認的謂詞參數結構。這種影響也會被構成我們數據集中用作高亮部分的語言類型所加劇。第二個問題是,Frame-semantic方法不能簡單地擴展到幾個句子的情況,因此,frames需要去回答一個query。數據集中的大多數查詢都是如此。

Word distance benchmark:更令人驚訝的可能是單詞距離benchmark的相對強大的性能,特別是相對於frame-semantic benchmark,這個我們原本期望它表現得更好的模型。這裡,數據集的特性可以解釋這個結果。當frame-semantic模型由於hightlight中使用的語言而受到影響時,單詞距離模型卻會從中受益。特別是在每日郵報數據集的情況下,highlight經常與附錄文章中的段落有顯著的辭彙重疊,這使得單詞距離基準變得容易。例如,「Tom Hanks is friends with X』s manager,Scooter Brown」這個query有詞語「... turns out he is good friends with Scooter Brown, manager for Carly Rae Jepson」在context中。單詞距離benchmark正確地對齊了這兩者,而frame-semantic方法在解析query時未能獲得這些關係。我們預計,在使用問題而不是完形填空查詢的其他類型的機器閱讀數據上,這個模型會表現得更差。

Neural models:在這裡研究的神經網路中,Impatient和the Attentive Readers表現性能最出眾。這與我們想像的一致,對於機器閱讀和問題回答來說attention是一個關鍵的部分,因為信息需要遠距離的傳播。Deep LSTM模型效果出人意料地好,再一次證明簡單的序列模型架構也能學習到抽象的長序列,即使詞的長度最大可到2000。。然而,這個模型依舊差於基於attention的模型的性能,即使這些模型只使用單層LSTM。

Uniform Reader的糟糕性能支持了我們的想法,因為在應用attention的性能出色的模型中,和uniform Reader唯一的區別就是attention機制。圖二中精準率和召喚率的數據顯示了attention方法的強大。

我們把document上的attention機制可視化為一個熱圖,來獲得模型性能的進一步了解。這些高亮的辭彙展現了document中哪些辭彙被模型所關注。此外,在每個詞處的向量都通過雙向LSTM編碼器整合了很大範圍文本處的信息,我們必須把這個納入考慮。圖3描繪了兩個被attention Reader正確回答的兩個queries的熱圖。在這兩個例子中,都顯示了模型想要到達正確的答案需要完成詞性概括轉換,如」killed」—>」deceased」,以及共指回指的解決,如」ent119 was killed」—>」he was identified」。然而,同樣明顯的是,該模型能夠將這些signals與粗略的heuristic indicators相結合,例如query中詞與候選答案的相似度。

5 Conclusion

本文為訓練機器閱讀理解模型的監督範例,對構建完整的自然語言理解系統的進步提供了一個具有前途的途徑。我們展現了一個獲得大量document-query-answer三元組的方法,並且顯示了循環attention模型可以為此任務提供一個有效的模型框架。我們的分析顯示attentive和impatient reader能夠在長距離上傳播和整合語義信息。特別地,我們相信attention機制的加入是這些成果的關鍵因素。

我們採用的attention機制只是一個非常普通的想法的實例,可以進一步研究。但是,結合世界知識和多document query也需要attention和嵌入知識的發展他們對於query的複雜度並不是隨著數據大小線性上升。仍有許多需要更複雜推理或者更大範圍推理的queries,我們的模型不能正確回答。因此,我們的數據提供了一個可衡量的挑戰,可以支持未來的NLP研究。此外,使用我們描述的技術可以獲得更大的訓練數據集,這無疑讓我們能夠訓練更有表現力和更精確的模型。

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

關注專欄

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

zhuanlan.zhihu.com圖標
推薦閱讀:

查看原文 >>
相关文章