A Co-Matching Model for Multi-choice Reading Comprehensiongit
Abstract:github
多選式閱讀理解是一項具備挑戰性的任務,它包含了文章和問答對間的匹配。針對這個問題,本文提出了一種新的協同匹配方法,對一篇文章可否同時對問題和答案實現匹配進行了聯合建模。在RACE數據集上的實驗結果證實咱們的方法實現了最優性能。函數
1.Introduction性能
使得機器可以理解天然語言文本能夠說是天然語言處理任務的終極目標,而機器閱讀理解任務則是通向這個最終目標的中間環節。近期,Lai等人發表了一個名爲RACE的新的多選式閱讀理解數據集,該數據集中的數據來自中國高中和初中的英語考試。表1展現了RACE中一篇文章和兩個相關問題的樣例。RACE與先前發表的一些機器閱讀理解數據集(例如the CNN/Daily Mail dataset (Hermann et al.,2015) and SQuAD (Rajpurkar et al., 2016))的關鍵區別是RACE數據集中的答案一般沒法直接在給定的原文中進行提取,例如表1中展現的兩個問題(Q1&Q2)的答案並未在原文中直接出現。所以,回答RACE中的問題有更多的挑戰,也須要更多的推理。學習
先前針對機器閱讀理解的方法一般是基於對成對序列的匹配,好比文章與問句和候選答案的聯接結果進行匹配,或者是文章與問句作完匹配後,用這個匹配結果再與候選答案進行匹配,以選出最終答案。然而,因爲問句和答案是一樣重要的,所以上述方法可能並不適合於多選式閱讀理解問題。如表1中的第一個問題樣例,若是僅將文章與問句進行匹配可能並沒有意義,而且可能會致使原始文章中的信息丟失。另外,將問句和候選答案聯接成一個序列再與文章進行匹配可能也是無效的,這是由於這種方式缺乏問句與候選答案間的交互。正如表1中的第二個問題樣例,模型爲了選擇c做爲正確答案,可能須要參考問句來識別「he」和「it」所指代的對象。RACE中的這種現象說明咱們面對的挑戰是三元組(文章、問句和答案)間的匹配而不是二元組間的匹配。測試
在本文中,咱們提出了一個新的模型,該模型針對給定的文章可對問答對進行匹配。咱們的協同匹配方法明確地將問題和候選答案視爲兩個序列,並針對給定的文章,對它們進行聯合匹配。具體來講,針對文章中的每一個位置,咱們都計算兩個注意力權重,一個來自問句,一個來自候選答案。隨後構造兩個匹配表示:第一個用問句表示去匹配文章表示,而另外一個用候選答案表示匹配去匹配文章表示。這兩個新構造的匹配表示一塊兒造成了協同匹配狀態。直觀上來講,它對與文章中特定內容相匹配的問句和候選答案的位置信息進行編碼。最終,咱們對文章中不一樣位置的協同匹配狀態序列應用分層LSTM。信息從詞級聚合爲句子級,而後從句子級聚合爲文檔級。經過這種方式,咱們的模型能夠更好地處理那些證據分散在不一樣句子中的問題。咱們的模型比RACE數據集上的最優模型提升了3個百分點。咱們的代碼公開在https://github.com/shuohangwang/comatch。編碼
2.Model對象
多選式閱讀理解任務:給定機器一篇文章、一個問題和一系列候選答案,它的目標是在這些候選答案中選出正確答案。咱們將文章、問題和候選答案分別表示爲P∈Rd*P,Q∈Rd*Q和A∈Rd*A,這裏的每個序列都被表示爲一個嵌入向量。d表示嵌入維度,P、Q和A表示上述各個序列的長度。blog
總的來講,咱們的模型以下。對於每一個候選答案,咱們的模型都會構造一個向量,該向量表示P與Q和A的匹配。全部候選答案的向量用於正確答案的選擇。由於咱們同時對P與Q和A作匹配,因此咱們成這個模型爲協同匹配。咱們在2.1節介紹詞級協同匹配機制,而後再2.2節介紹分層聚合方法,最後再2.3節介紹目標函數。咱們協同匹配模型圖展現在圖1中。文檔
2.1 協同匹配
咱們模型中的協同匹配部分致力於在詞級上對文章與問題和答案進行匹配。受先前工做的啓發,咱們先用BiLSTM對這三者進行預處理:
這裏的Hp∈Rl*P,Hq∈Rl*Q和Ha∈Rl*A是BiLSTM處理完成後生成的序列表示。咱們使用注意力機制將文章中的每一個狀態與問句和候選答案的聚合表示進行匹配。注意力向量計算以下:
這裏的Wg∈Rl*l和bg∈Rl是待學習的參數。eQ是全部1s的向量,它被用於將偏置向量重複到矩陣中。Gq∈RQ*P和Ga∈RA*P是分別分配到問題和候選答案序列中不一樣隱狀態的注意力權重。是全部問題隱狀態的加權和,它表示問題是如何與文章的每一個隱狀態對齊的。
亦是如此。最後咱們能協同匹配文章狀態與問題和候選答案,公式以下:
這裏的Wg∈Rl*2l和bg∈Rl是待學習的參數。是按列聯接兩個矩陣,
和
是對兩個矩陣進行按元素相減和按元素相乘,經過這兩個操做可得到更好的矩陣表示。Mq∈Rl*P表示文章隱狀態和問句中相應的注意力權重的匹配表示。類似地,咱們用Ma∈Rl*A表示文章隱狀態和候選答案中相應的注意力權重的匹配表示。最後,C∈R2l*P是Mq∈Rl*P和Ma∈Rl*A的聯接結果,它表示每個文章是如何與問句和候選答案進行匹配的。咱們將C∈R2l*P(C是單列的)稱爲協同匹配狀態,它將文章狀態同時與問句和候選答案進行匹配。
2.2 分層聚合
爲了捕獲文章中的句子結構,咱們對上面提到的模型進行了進一步的修改,並在協同匹配狀態以後應用了分層LSTM。具體來講,咱們先將文章分爲若干個句子,並用P1,P2,…,PN(N表示文章中的句子數量)來表示這些句子。對於每一個三元組{Pn,Q,A},n∈[1,N],咱們都能經過公式1-公式3獲得一個對應的協同匹配狀態Cn。隨後咱們對每一個協同匹配狀態Cn應用BiLSTM進行編碼,並經過最大池化操做進行處理,公式以下:
這裏的MaxPooling(.)是指逐行最大池化操做。是協同匹配狀態的句子級聚合。全部這些表示都將經過另外一個BiLSTM進行進一步地處理,以獲得最終的三元匹配表示:
Hs∈Rl*N是全部句子級表示的聯接結果,也是最後一個LSTM的輸入。ht∈Rl是最終的輸出結果,它是文章、問題和候選答案的匹配表示。
2.3 目標函數
對於每一個候選答案Ai,咱們都能經過公式5獲得它與文章和問題的匹配表示hit∈Rl。咱們的目標函數以下:
這裏的W∈Rl是待學習的參數。
3. 實驗
咱們使用RACE數據集來驗證咱們提出的分層協同匹配模型的有效性,該數據集包含兩部分:RACE-M來自初中考試題,RACE-H來自高中考試題,RACE表示包含這兩部分的完整數據集。
咱們將咱們的模型與一些基準模型進行了比較,而且也對咱們模型的兩個消融模型進行了比較。
對比方法:咱們將咱們的模型與如下模型進行了比較:
Sliding Window:該方法根據問答對和每一個特定尺寸窗口的子文章間匹配詞的tf-idf值的加和進行匹配。
Stanford Attentive Reader (AR):該方法先用注意力機制生成一個與問題相關的文章表示,隨後與每一個候選答案進行匹配,給出每一個候選答案的可能性。
GA:該方法使用多跳門控注意力機制提取與問句相關的文章信息與候選答案進行匹配。
ElimiNet:該方法先排除最不相關的答案,而後選擇最優的答案。
HAF:該方法不只考慮了三者(文章、問句和答案)間的匹配,並且還對候選答案之間也進行了匹配。
MUSIC:該方法整合了不一樣的匹配策略並使用多步推理單元進行答案選擇。
此外,咱們還報道了兩個結果做爲參考:Turkers是由Amazon Turkers回答RACE測試集中隨機抽取的問題的準確率。Ceiling是測試集的子集中有明確的正確答案的問題所佔的百分比。
咱們模型的性能和上述基準方法均被展現於表2中。從表中能夠看出,咱們提出的分層協同匹配模型在全部公開結果的基準方法中實現了最優性能。可是,它仍沒法與人類的表現相提並論,這說明該研究仍具備很大的提高空間。
消融研究:
另外,針對咱們的模型結構,咱們還構造了消融研究。在該項研究中,咱們對每一個組件對最終結果有多少貢獻很感興趣。咱們探究了兩個關鍵組件:(1)協同匹配模塊,(2)分層聚合方法。咱們發現經過單匹配狀態(好比只保留公式3中的Ma)替換掉協同匹配狀態,並將問句和每一個候選答案直接聯接會使得最終結果降低4%。咱們還發現咱們將原有的分層LSTM結構換爲將文章視爲一個完整的序列,並在兩層LSTM(爲了保證待訓練參數數量是一致的)上運行模型會使得最終結果大約降低2%。
問題類型分析:
咱們還探究了咱們的模型能夠更好地處理哪類問題。咱們發現咱們的模型對於以「wh」開頭的問題具備差很少的表現,好比「why,」 「what,」 「when」 and 「where」,在這類問題上,咱們模型的性能在50%左右。咱們還驗證了合理性性問題,像關鍵詞爲「true」的問題(例如「Which of the following statements is true」),關鍵詞爲否認詞「not」的問題(例如「which of the following is not true」),關鍵詞「title」的總結性問題(例如「what is the best title for the passage?」),在這些問題上的性能分別爲51%,52%和48%。能夠看到咱們的模型在RACE中的各種問題上的表現都是差很少的。然而,咱們的模型僅基於詞級匹配,這可能致使沒有推理能力。爲了能回答這些總結類問題、推理類問題和緣由類問題,咱們將會進一步探究該數據集並提升咱們的模型。最後,咱們進一步對咱們模型與基準方法進行了比較,當將問題和每一個候選答案進行聯接後,咱們模型在各種問題上均實現了更好地性能。例如在名詞類問題的子集中,咱們的模型能夠實現49.8%和47.9的準確率。相似的,在關鍵詞爲「true」的合理性問題中,咱們的模型能夠實現51%和47%的更優性能。
4. 總結
在本文中,針對多選式閱讀理解任務,咱們提出了一個協同匹配模型。該模型包括協同匹配模塊和分層聚合組件。咱們展現了咱們的模型在RACE數據集上已經實現了最優性能。在將來,咱們將把協同匹配和分層聚合的思想應用於標準開放域問答中。咱們也將進一步探究如何對RACE數據集中的推理和緣由類問題進行建模。