梁小波,任飛亮,劉永康,潘凌峰,侯依寧,張 熠,李 妍
(東北大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,遼寧 沈陽(yáng) 110169)
機(jī)器閱讀理解是指讓機(jī)器閱讀文本,然后回答和閱讀內(nèi)容相關(guān)的問題。目前機(jī)器閱讀理解任務(wù)依據(jù)答案的類型可以分為兩種: 完形填空型和片段抽取型。完型填空型的機(jī)器閱讀理解需要找到文檔中一個(gè)實(shí)體作為輸入問題的答案,而片段抽取型機(jī)器閱讀理解則要從輸入文檔中抽取出一段連續(xù)的文本片段作為輸入問題的答案。本文方法屬于片段抽取型的機(jī)器閱讀理解任務(wù),在后續(xù)的內(nèi)容介紹中,也主要以此類方法為主。
在機(jī)器閱讀理解任務(wù)中,根據(jù)回答一個(gè)問題需要處理的文檔數(shù)量的不同,又進(jìn)一步可分為單文檔型閱讀理解和多文檔型閱讀理解。單文檔型閱讀理解是指針對(duì)一個(gè)問題,需從單一的文檔中尋找答案;而多文檔型閱讀理解則是指針對(duì)一個(gè)問題,需從多個(gè)輸入文檔中尋找答案。顯然,與單文檔型閱讀理解相比,多文檔型閱讀理解需要處理的信息更復(fù)雜,模型的構(gòu)建難度也更大。百度的DuReader[1]是一個(gè)面向中文的多文檔機(jī)器閱讀理解任務(wù)數(shù)據(jù)集,也是一個(gè)面向片段抽取型機(jī)器閱讀理解任務(wù)的數(shù)據(jù)集。表1給出了一個(gè)該數(shù)據(jù)集中的訓(xùn)練樣例: 每一個(gè)訓(xùn)練樣本,都包含一個(gè)問題和多個(gè)描述文檔,并且每一篇文檔都是由多個(gè)段落組成。相應(yīng)地,基于此數(shù)據(jù)集,機(jī)器閱讀理解系統(tǒng)的任務(wù),就是要從這些輸入文檔中找出可以回答對(duì)應(yīng)輸入問題的文檔片段(即答案),并且輸出的答案要盡可能的準(zhǔn)確。

表1 DuReader數(shù)據(jù)集中樣本示例
為了推動(dòng)機(jī)器閱讀理解技術(shù)的發(fā)展,斯坦福發(fā)布了SQuAD[2]數(shù)據(jù)集,并基于此數(shù)據(jù)集舉辦了面向英語的機(jī)器閱讀理解比賽。該比賽吸引了國(guó)內(nèi)外研究機(jī)構(gòu)的廣泛關(guān)注。以SQuAD數(shù)據(jù)集為基礎(chǔ),研究者們提出了大量基于神經(jīng)網(wǎng)絡(luò)的機(jī)器閱讀理解模型。如Wang[3]等提出了Match-LSTM模型,Cui[4]等提出了AoA-Reader模型,微軟亞洲研究院[5]提出了R-Net模型,Hu[6]等提出了Mnemonic-Reader模型。這些模型在SQuAD[2]數(shù)據(jù)集上都取得了很大成功,不斷地刷新SQuAD競(jìng)賽排行榜上的成績(jī)。最新的SQuAD競(jìng)賽排行榜結(jié)果顯示,當(dāng)前最好的機(jī)器閱讀理解模型在EM(Exact Match)和F1這兩個(gè)評(píng)價(jià)指標(biāo)上已經(jīng)超越了人類。
然而,這些已有的機(jī)器閱讀理解模型仍存在以下兩個(gè)問題需要進(jìn)一步解決。
當(dāng)前主流的機(jī)器閱讀理解模型大多是面向英文單文檔的模型,并不能直接用來處理面向中文的多文檔閱讀理解任務(wù)。首先,中英文在語言建模上有一定的差異性。例如,英文分詞比中文分詞容易。同時(shí),英文數(shù)據(jù)可以使用單詞中字符來定義抽象特征[7],并進(jìn)而捕獲未登錄詞和同義詞的潛在特征,而中文在字級(jí)別可以使用的特征較少。其次,多文檔數(shù)據(jù)中的每個(gè)輸入文檔都可能包含答案,使得整個(gè)建模過程要比單文檔任務(wù)更復(fù)雜。并且,這些輸入的多個(gè)文檔不僅在語言描述上具有相似性,還可能在語義上具有相似性。如表1所示,這五篇關(guān)于維生素B2的文檔中,不僅在語言描述上包含相同的詞語,如“幾乎不產(chǎn)生毒性”在文檔4和5中均有出現(xiàn)。而且這些文檔在語義上也往往具有相似性。如出現(xiàn)在文檔4和5中的“幾乎不產(chǎn)生毒性”和文檔3中“很難引起中毒”都表達(dá)了同一種語義。
我們注意到: 在片段抽取型的閱讀理解任務(wù)中,預(yù)測(cè)的答案均來源于輸入文檔,但是原始文檔一般比較長(zhǎng),往往不適合全部作為模型輸入。這一問題在多文檔機(jī)器閱讀理解任務(wù)中更嚴(yán)重。因此,對(duì)輸入文檔進(jìn)行合適的數(shù)據(jù)選擇,使最終輸入模型的文本既保留原始輸入的主要語義信息,又消除對(duì)最終結(jié)果沒有幫助的噪音信息,無疑會(huì)對(duì)整個(gè)機(jī)器閱讀理解任務(wù)有很大幫助。而在這一數(shù)據(jù)選擇過程中必須要考慮以下兩點(diǎn)。首先,必須考慮選擇輸入文本的長(zhǎng)度: 輸入模型的文本長(zhǎng)度不能太短,以確保有充足的信息去預(yù)測(cè)答案;同時(shí),輸入模型的文本也不能太長(zhǎng),否則會(huì)增加神經(jīng)網(wǎng)絡(luò)的訓(xùn)練難度。其次,必須要考慮原始輸入各個(gè)段落的語義相關(guān)性: 相關(guān)性段落可以增加數(shù)據(jù)中的語義特征,而不相關(guān)段落對(duì)于模型來說則是一種數(shù)據(jù)噪音。數(shù)據(jù)選擇問題在當(dāng)前機(jī)器閱讀理解研究中并沒有引起研究者們的足夠重視,很少有相關(guān)的學(xué)術(shù)論文對(duì)該問題進(jìn)行討論。
為解決上面兩個(gè)問題,本文提出了N-Reader,一個(gè)面向中文多文檔任務(wù)的片段抽取型機(jī)器閱讀理解模型。在該模型中,我們首先使用多段落補(bǔ)全算法把相關(guān)性高的段落抽取出來作為模型輸入。接著,采用基于單文檔的self-attention和基于多文檔的self-attention這一雙層attention機(jī)制抽取多個(gè)輸入文檔中的相關(guān)信息,并利用最終生成的多文檔表示來預(yù)測(cè)答案位置。實(shí)驗(yàn)結(jié)果顯示,N-Reader模型中的補(bǔ)全算法以及雙層self-attention機(jī)制均可以有效地提高模型性能。基于該模型,我們參加了由中國(guó)中文信息學(xué)會(huì)、中國(guó)計(jì)算機(jī)學(xué)會(huì)和百度公司聯(lián)手舉辦的“2018機(jī)器閱讀理解技術(shù)競(jìng)賽”。最終,我們的模型在該任務(wù)的數(shù)據(jù)集上取得了ROUGE-L[8]58.08%和BLEU-4[9]52.49%的成績(jī)。
近年來,機(jī)器閱讀理解任務(wù)受到了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。得益于各種大規(guī)模數(shù)據(jù)集的發(fā)布,研究者們可以訓(xùn)練各種復(fù)雜的基于神經(jīng)網(wǎng)絡(luò)的機(jī)器閱讀理解模型。此外,隨著attention[10]機(jī)制在機(jī)器翻譯、圖像分類等領(lǐng)域取得的巨大成功,該機(jī)制同樣也被廣泛應(yīng)用在機(jī)器閱讀理解任務(wù)中。本文所提模型的主要貢獻(xiàn)點(diǎn)之一在于對(duì)attention機(jī)制的改進(jìn),因此這里我們將主要介紹attention機(jī)制在機(jī)器閱讀理解任務(wù)上的相關(guān)研究工作。
2015年Hermann[11]等提出了Attentive Reader和Impatient Reader這兩種機(jī)器閱讀理解模型。其中,作者利用attention機(jī)制對(duì)輸入文檔和問題進(jìn)行編碼,并得到固定長(zhǎng)度的語義編碼表示,并以此語義表示進(jìn)行答案預(yù)測(cè)。該文的實(shí)驗(yàn)結(jié)果顯示,基于神經(jīng)網(wǎng)絡(luò)的機(jī)器閱讀理解模型要明顯優(yōu)于其他傳統(tǒng)模型。AS-Reader[12]模型是另外一個(gè)有代表性的機(jī)器閱讀理解模型。該模型取代了之前將文檔編碼為向量的做法,將文檔中每個(gè)詞都編碼為一個(gè)向量,并通過計(jì)算每個(gè)詞作為開始和結(jié)束位置的概率來預(yù)測(cè)答案。
這些早期的機(jī)器閱讀理解模型大多使用單向的attention機(jī)制,并不能很好地獲得文檔和問題之間的聯(lián)系。在文檔和問題的編碼過程中,難免會(huì)丟失有效信息。為解決這些缺陷,Xiong[13]等提出了Co-attention機(jī)制,對(duì)文檔和問題進(jìn)行多次attention計(jì)算,然后將計(jì)算的多個(gè)結(jié)果聯(lián)接起來作為最終的文檔表示。采用雙向attention機(jī)制的另外一個(gè)代表工作是Seo[14]等提出的BiDAF模型。在該模型中,作者對(duì)文檔和問題之間的語義信息進(jìn)行混合編碼,并分別從“問題到文檔”、“文檔到問題”兩個(gè)方向進(jìn)行信息提取,同時(shí)保留原始輸入的編碼信息。這些雙向attention機(jī)制可以充分融合輸入文檔和問題的語義特征,在實(shí)驗(yàn)中取得了很好的效果。
機(jī)器閱讀理解不僅需要把問題中的信息融合到文檔中,還需要對(duì)文檔本身的語義信息進(jìn)行有效編碼,目前通常采用LSTM[15]和GRU[16]模型完成這一過程。但這兩種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)很難解決語義的長(zhǎng)距離依賴問題。為此,微軟亞洲研究院[5]提出了R-Net模型,該模型主要特點(diǎn)是模擬了人類的思考過程。考慮到人在做閱讀理解時(shí)會(huì)反復(fù)地閱讀文章,并會(huì)結(jié)合全文的語境,相互推理并反復(fù)驗(yàn)證以獲得最佳的答案。因此作者使用self-attention機(jī)制來增強(qiáng)文檔表示,使每個(gè)詞在進(jìn)行信息編碼時(shí)都可以包含上下文的語義信息。實(shí)驗(yàn)結(jié)果顯示,R-Net可以有效地解決語義的長(zhǎng)距離依賴問題。
但需要注意的是,在處理多文檔的數(shù)據(jù)集時(shí),單文檔的self-attention機(jī)制只能編碼文檔自身的語義信息,并不能關(guān)注到多篇文檔之間的相似性。而多文檔的self-attention機(jī)制,則可以將多篇文檔進(jìn)行比較、推理,進(jìn)而提取出相似性的語義特征信息。在本文中,我們將這兩種self-attention機(jī)制進(jìn)行結(jié)合并提出了雙層的self-attention機(jī)制。實(shí)驗(yàn)結(jié)果證明,我們的方法可以有效地提升機(jī)器閱讀理解模型的性能。
我們的模型主要包括兩個(gè)模塊: 基于多相關(guān)段落補(bǔ)全算法的數(shù)據(jù)處理模塊和基于神經(jīng)網(wǎng)絡(luò)的機(jī)器閱讀理解模塊。數(shù)據(jù)處理模塊會(huì)針對(duì)原始文檔數(shù)據(jù)做段落選擇。神經(jīng)網(wǎng)絡(luò)模塊則會(huì)對(duì)輸入的文檔和問題進(jìn)行語義編碼,并得到最終的答案輸出。
本模塊的主要目的是從輸入的每個(gè)文檔中選出一些與答案相關(guān)度比較大的段落,并將這些選出的段落作為后續(xù)模型輸入。

(1)
其中,answer代表標(biāo)準(zhǔn)答案,Pt代表文檔中的段落,common(x,y)為求序列x和y的公共詞,len(x)為求序列x的長(zhǎng)度。該式的基本思想是:如果一個(gè)段落包含答案中的詞越多,越有可能從該段落中推理出答案,那么應(yīng)賦與該段落較高的相關(guān)度。
在訓(xùn)練過程中,我們先根據(jù)式(1)對(duì)每篇輸入文檔中的段落進(jìn)行打分,再按照分值從高到低對(duì)原始文檔的段落進(jìn)行重新排序,并按照此順序拼接成新的文檔。但當(dāng)前得到的新文檔長(zhǎng)度不一,直接輸入不利于模型的統(tǒng)一處理。為此,我們通過一種段落補(bǔ)全方法將新生成的文檔進(jìn)行統(tǒng)一長(zhǎng)度處理,具體如下: 設(shè)定一個(gè)長(zhǎng)度m,從該新文檔中選擇前m個(gè)詞(如果不足m個(gè)詞則進(jìn)行padding操作)作為此文檔有用的信息,其他信息舍棄。緊接著,對(duì)選出的這m個(gè)詞按照其在原始輸入文檔中的出現(xiàn)順序再進(jìn)行重新排序。新排序生成的文本序列將作為下一步神經(jīng)網(wǎng)絡(luò)模型的輸入。
進(jìn)行段落補(bǔ)全后每個(gè)文檔的長(zhǎng)度為m,那么多篇文檔的總段落長(zhǎng)度為k*m,此長(zhǎng)度即為輸入模型中的文檔長(zhǎng)度。
在這一過程中,第二次的排序非常必要。因?yàn)樵跀?shù)據(jù)集中,雖然每個(gè)段落的內(nèi)容都是相對(duì)獨(dú)立的,但是段落之間可能存在語義上的關(guān)聯(lián),段 落 順 序 上
也可能存在先后關(guān)系。為了保證輸入的語義連貫性,需對(duì)按公式(1)選出的文本信息按原文順序再進(jìn)行排序[注]我們嘗試了多種方式,實(shí)驗(yàn)證明,采用原文順序的方法效果最好。。
在測(cè)試過程中,由于數(shù)據(jù)中不包含標(biāo)準(zhǔn)答案,無法利用相關(guān)度函數(shù)進(jìn)行打分。所以不對(duì)段落進(jìn)行打分,而是按文檔原始順序抽取前m個(gè)詞(如果不足m個(gè)詞則進(jìn)行padding操作)作為模型輸入。
此外,為建模方便,我們將樣本中的問題也取固定長(zhǎng)度n作為輸入,其m,n∈I。
在N-Reader模型中,我們采用了雙層的self-attention機(jī)制來融合上下文語義信息,并利用Pointer-Network[17]對(duì)答案的起止位置進(jìn)行預(yù)測(cè),模型結(jié)構(gòu)如圖1所示。

圖1 N-Reader的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
圖1中虛線框中的部分為對(duì)單文欄的編碼。首先,對(duì)單個(gè)文檔進(jìn)行上下文語義編碼;然后,利用雙向的attention機(jī)制對(duì)問題和文檔信息進(jìn)行融合;最后,利用self-attention機(jī)制得到單文檔的表示。
圖1中除了虛線框部分,剩余的為針對(duì)多文檔的處理。首先,輸入的每個(gè)文檔都要先經(jīng)過上述的單文檔處理流程;然后,將生成的多個(gè)單文檔表示進(jìn)行聯(lián)接形成多文檔的表示,再經(jīng)過self-attention機(jī)制得到最終的輸入語義表示;最后,根據(jù)此表示對(duì)答案范圍進(jìn)行預(yù)測(cè)。
2.2.1 單文檔編碼
單文檔編碼分為三部分: 文檔和問題的上下文信息編碼(對(duì)應(yīng)圖1中“上下文編碼層”部分)、文檔和問題的信息融合(對(duì)應(yīng)圖1中“注意力融合層”部分)、文檔表示信息的自匹配(對(duì)應(yīng)圖1中“自注意力層”部分)。

(2)
2)文檔和問題的信息融合。這一過程采用BiDAF的方式來融合文檔和問題中的語義信息。
首先,采用式(3)所示的點(diǎn)積相似度方法計(jì)算uP和uQ的相似度矩陣S。
S=(uQ)TuP
(3)

除計(jì)算得到的attention信息之外,原始輸入的編碼信息也會(huì)向下一層網(wǎng)絡(luò)傳遞。這種方式減少了由于編碼而導(dǎo)致的信息流失。


(4)


(5)

(6)
2.2.2 多文檔編碼


(7)

(8)
2.2.3 答案預(yù)測(cè)

(9)

2017年百度發(fā)布了面向中文多文檔片段抽取型閱讀理解任務(wù)的DuReader數(shù)據(jù)集。中國(guó)中文信息學(xué)會(huì)、中國(guó)計(jì)算機(jī)學(xué)會(huì)和百度公司聯(lián)手舉辦的“2018機(jī)器閱讀理解技術(shù)競(jìng)賽”也是使用該數(shù)據(jù)集。
該數(shù)據(jù)集是一個(gè)大規(guī)模的開放領(lǐng)域中文閱讀理解數(shù)據(jù)集,來源于百度搜索和百度知道的真實(shí)場(chǎng)景。數(shù)據(jù)集中包含近30萬的數(shù)據(jù)樣本,其中27萬為訓(xùn)練樣本,1萬為開發(fā)樣本,2萬為測(cè)試樣本。在競(jìng)賽過程中,測(cè)試集并沒有提供答案。因此,實(shí)驗(yàn)中,我們對(duì)訓(xùn)練集和開發(fā)集的數(shù)據(jù)進(jìn)行隨機(jī)重組,并隨機(jī)選擇26萬作為訓(xùn)練集,1萬作為開發(fā)集,1萬作為測(cè)試集。在整個(gè)實(shí)驗(yàn)過程中,我們沒有使用任何外部數(shù)據(jù)。
我們使用競(jìng)賽組織者提供的ROUGE-L和BLEU-4作為評(píng)價(jià)指標(biāo),并以ROUGE-L為主評(píng)價(jià)指標(biāo)。后續(xù)對(duì)比實(shí)驗(yàn)中的baseline系統(tǒng)為此次競(jìng)賽舉辦方提供的BiDAF系統(tǒng)。
在實(shí)驗(yàn)中,輸入的文檔長(zhǎng)度m設(shè)置為500,問題長(zhǎng)度n設(shè)置為60,答案的最長(zhǎng)長(zhǎng)度設(shè)置為200,詞embedding的維度設(shè)置為300,GRU的隱藏層的維度d設(shè)置為150,batch的大小設(shè)置為24。訓(xùn)練中采用了Adam算法進(jìn)行優(yōu)化,學(xué)習(xí)率設(shè)置為0.001。整個(gè)模型在GeForce GTX TITAN X上訓(xùn)練了24個(gè)小時(shí)。
在實(shí)驗(yàn)的第一部分,我們以BiDAF模型為基線系統(tǒng),增量式地對(duì)比了GloVe embedding、多相關(guān)段落補(bǔ)全算法、單文檔self-attention(S self-attention)、多文檔self-attention(M self-attention)對(duì)整個(gè)模型的性能影響。基線系統(tǒng)根據(jù)式(1)選取了文檔中和答案最相關(guān)的段落作為訓(xùn)練數(shù)據(jù),沒有做數(shù)據(jù)補(bǔ)全操作。實(shí)驗(yàn)結(jié)果如表2所示。
從表2可以看出,我們提出的方法在兩個(gè)指標(biāo)上均有提高。并且可以看到在使用了數(shù)據(jù)補(bǔ)全處理和多文檔的self-attention之后整體性能漲幅明顯。

表2 26萬數(shù)據(jù)集,1萬測(cè)試集,線下測(cè)試結(jié)果
使用競(jìng)賽舉辦方提供的線上測(cè)試系統(tǒng)得到的結(jié)果如表3所示。與百度測(cè)評(píng)委員會(huì)給出的基線系統(tǒng)相比,我們的模型在ROUGE-L和BLEU-4這兩個(gè)評(píng)價(jià)指標(biāo)上分別提升了13.51%和12.95%。

表3 27萬數(shù)據(jù)集,2萬測(cè)試集,線上測(cè)試結(jié)果
為了進(jìn)一步分析實(shí)驗(yàn)結(jié)果,我們對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行了統(tǒng)計(jì)。表4為在測(cè)試集上,使用單個(gè)最相關(guān)段落作為一個(gè)輸入文檔時(shí)對(duì)應(yīng)的長(zhǎng)度統(tǒng)計(jì)信息。從中可以看出選出的單一段落長(zhǎng)度大部分小于200。表5則統(tǒng)計(jì)了不同長(zhǎng)度的標(biāo)準(zhǔn)答案在測(cè)試集上所占的樣本數(shù)。采用本文提出的多相關(guān)段落補(bǔ)全算法后,針對(duì)長(zhǎng)度不足500的樣本進(jìn)行數(shù)據(jù)補(bǔ)全。

表4 測(cè)試集上使用單個(gè)段落作為對(duì)應(yīng)文檔時(shí)得到的文檔長(zhǎng)度統(tǒng)計(jì)

表5 測(cè)試集上標(biāo)準(zhǔn)答案長(zhǎng)度的樣本分布
基于表4~5的統(tǒng)計(jì)結(jié)果,我們從標(biāo)準(zhǔn)答案長(zhǎng)度和輸入文檔數(shù)據(jù)長(zhǎng)度這兩個(gè)角度實(shí)驗(yàn),分析了本文所提出的數(shù)據(jù)補(bǔ)全算法、雙層self-attention機(jī)制的有效性,結(jié)果如圖2~3所示。
從圖2~3實(shí)驗(yàn)結(jié)果可以看出,對(duì)于標(biāo)準(zhǔn)答案長(zhǎng)度較短的樣本,數(shù)據(jù)補(bǔ)全的影響比較小,但是對(duì)于標(biāo)準(zhǔn)答案長(zhǎng)度越長(zhǎng)的樣本,多段落數(shù)據(jù)補(bǔ)全的優(yōu)勢(shì)就越明顯。說明了針對(duì)于短的答案來說,由于文檔中包含的信息足夠推理出答案,其文檔的長(zhǎng)度對(duì)于模型的性能影響不大。但隨著標(biāo)準(zhǔn)答案的長(zhǎng)度增長(zhǎng),太短的文檔不足以尋找出關(guān)鍵的線索,文檔補(bǔ)全就顯得至關(guān)重要。由統(tǒng)計(jì)數(shù)據(jù)也可以看出,近三分之一的文檔標(biāo)準(zhǔn)答案長(zhǎng)度大于100,這些文檔在通過多段落補(bǔ)全處理之后,兩個(gè)指標(biāo)均有較大的提升。對(duì)于不同的輸入長(zhǎng)度,可以看出輸入數(shù)據(jù)越長(zhǎng),越有利于模型找到答案。我們的補(bǔ)全算法會(huì)對(duì)輸入段落進(jìn)行補(bǔ)全,這些段落在語義上具有相關(guān)性,可以幫助模型抽取到潛在的規(guī)律,有利于模型預(yù)測(cè)答案的范圍。
圖2~3也對(duì)比了在數(shù)據(jù)處理基礎(chǔ)上加入雙層self-attention后的實(shí)驗(yàn)效果。從中可以看出,在加入了單文檔的self-attention之后,性能提升不明顯。而在此基礎(chǔ)上加入了多文檔的self-attention后,兩個(gè)評(píng)價(jià)指標(biāo)提升較為明顯。說明了單個(gè)文檔中的信息并不足以推理出答案,需要用到多篇文檔中的信息。如同人類做閱讀理解時(shí),在單個(gè)文檔信息不足時(shí),通過閱讀不同來源的多個(gè)文檔,往往可以找到更加符合問題的答案。這些文檔都是同一個(gè)問題的描述,并且在語言描述和語義上具有相似性,有利于模型找到關(guān)鍵線索,推理出更加合理的答案。

圖2 不同的標(biāo)準(zhǔn)答案長(zhǎng)度下的BLEU-4和ROUGE-L

圖3 為不同輸入長(zhǎng)度下的BLEU-4和ROUGE-L
本文提出了一種面向中文多文檔片段抽取型機(jī)器閱讀理解任務(wù)的N-Reader模型,其主要貢獻(xiàn)點(diǎn)列舉如下。
首先,我們針對(duì)多文檔片段抽取型機(jī)器閱讀理解任務(wù)提出了一種多相關(guān)段落補(bǔ)全算法。該算法既可以保留原始輸入文本中的主要語義信息,又可以消除對(duì)最終結(jié)果沒有幫助的噪音信息。實(shí)驗(yàn)結(jié)果顯示,該算法可以較大幅度地提高機(jī)器閱讀理解任務(wù)的性能。
其次,我們提出了雙層的self-attention機(jī)制來生成文檔和問題的向量表示。首先對(duì)單個(gè)文檔進(jìn)行編碼并利用self-attention機(jī)制得到單文檔的表示;其次,將單文檔表示進(jìn)行聯(lián)接形成多文檔的表示;最后,經(jīng)過另外一個(gè)self-attention機(jī)制得到最終的輸入語義表示,并據(jù)此表示進(jìn)行答案范圍的預(yù)測(cè)。實(shí)驗(yàn)結(jié)果顯示,該雙層self-attention機(jī)制對(duì)提升機(jī)器閱讀理解任務(wù)的性能有較大幫助。
最后,使用N-Reader模型,我們參加了由中國(guó)中文信息學(xué)會(huì)、中國(guó)計(jì)算機(jī)學(xué)會(huì)和百度公司聯(lián)手舉辦的“2018機(jī)器閱讀理解技術(shù)競(jìng)賽”,獲得了第三名的成績(jī),這一成績(jī)證明了本文模型的有效性。
我們計(jì)劃在未來的研究中深入地挖掘多文檔數(shù)據(jù)之間的內(nèi)在聯(lián)系,以及在模型中引入句法結(jié)構(gòu)信息以增強(qiáng)模型的表示能力。此外,我們還計(jì)劃設(shè)計(jì)新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來提高模型的表示和推理能力。