——Naturali 奇點機(jī)智 2018機(jī)器閱讀理解技術(shù)競賽系統(tǒng)報告
摘要:機(jī)器閱讀理解任務(wù)一直是自然語言處理領(lǐng)域的重要問題。2018機(jī)器閱讀理解技術(shù)競賽提供了一個基于真實場景的大規(guī)模中文閱讀理解數(shù)據(jù)集,對中文閱讀理解系統(tǒng)提出了很大的挑戰(zhàn)。為了應(yīng)對這些挑戰(zhàn),我們在數(shù)據(jù)預(yù)處理、特征表示、模型選擇、損失函數(shù)的設(shè)定和訓(xùn)練目標(biāo)的選擇等方面基于以往的工作做出了對應(yīng)的設(shè)計和改進(jìn),構(gòu)建出一個最先進(jìn)的中文閱讀理解系統(tǒng)。我們的系統(tǒng)在正式測試集上ROUGE-L和BLEU-4分別達(dá)到了63.38和59.23,在105支提交最終結(jié)果的隊伍里面取得了第一名。
關(guān)鍵詞:機(jī)器閱讀理解;問答系統(tǒng);深度循環(huán)神經(jīng)網(wǎng)絡(luò)
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A
System Report for 2018 NLP Challenge on Machine Reading Comprehension
Abstract: Machine Reading Comprehension (MRC) has long been a central problem in Natural Language Processing (NLP). 2018 NLP Challenge on Machine Reading Comprehension provides a large-scale application-oriented dataset for Chinese Machine Reading Comprehension, which is much more challenging than previous Chinese MRC dataset. To cope with those challenges, we put effort in all aspects, including preprocessing strategy, feature expression, model design, loss function and training criterion. Our system achieves 63.38 in ROUGE-L score and 59.23 in BLEU-4 score on the final test set, ranked first among 105 participating teams.
Key words: Machine Reading Comprehension; Question Answering; Deep Recurrent Neural Network
論文原文鏈接:http://aclweb.org/anthology/D18-1235
1 引言
機(jī)器閱讀理解任務(wù)是自然語言處理的核心問題。近年來各個數(shù)據(jù)集的發(fā)布,大大推進(jìn)了機(jī)器閱讀理解任務(wù)的發(fā)展。最近,在由中國中文信息學(xué)會和中國計算機(jī)學(xué)會主辦,百度公司,中國中文信息學(xué)會評測工委會和中國計算機(jī)學(xué)會中文信息技術(shù)專委會承辦的2018機(jī)器閱讀理解技術(shù)競賽中,提出了一個大規(guī)模的源于真實搜索引擎任務(wù)場景的中文閱讀理解數(shù)據(jù)集,這將對中文閱讀理解領(lǐng)域的發(fā)展產(chǎn)生很大的推動作用。
與其它早前發(fā)布的數(shù)據(jù)集相比,本次比賽的數(shù)據(jù)有如下特點:一、來源于真實數(shù)據(jù),包含不同類型的問題。數(shù)據(jù)不但包括事實類問題,還包括大量意見型問題,而意見型問題常常對應(yīng)多個答案;二、問題對應(yīng)的文檔以網(wǎng)頁全文的形式給出,其長度也大大超過常見閱讀理解模型的限制;三、數(shù)據(jù)包括百度搜索和百度知道兩部分不同來源的數(shù)據(jù),相互間存在很大差異。這些特點決定了這個數(shù)據(jù)集比以往的機(jī)器閱讀理解數(shù)據(jù)集具有更大的挑戰(zhàn)。
為了應(yīng)對這些挑戰(zhàn),我們從數(shù)據(jù)預(yù)處理、特征表示、模型選擇、損失函數(shù)的設(shè)定和訓(xùn)練方法的選擇等多個方面對系統(tǒng)進(jìn)行改進(jìn)。實驗表明,每個部分的改進(jìn)都對結(jié)果的提高做出了貢獻(xiàn)。最終,我們的系統(tǒng)在ROUGE-L和BLEU-4上分別取得了63.38和59.23的分?jǐn)?shù),獲得了2018機(jī)器閱讀理解技術(shù)競賽的第一名。
接下來,我們將從競賽數(shù)據(jù)集和評價方法、數(shù)據(jù)預(yù)處理、模型結(jié)構(gòu)、實現(xiàn)細(xì)節(jié)、實驗結(jié)果和樣例分析等方面分章節(jié)介紹我們的工作,并在結(jié)論部分對工作進(jìn)行總結(jié)。
2 競賽數(shù)據(jù)集和評價方法
本次競賽的數(shù)據(jù)集包括30萬問題(其中訓(xùn)練集27萬,開發(fā)集1萬,測試集2萬),其中20萬來自先前公開發(fā)布的DuReader數(shù)據(jù)集[1],所有問題均為來自搜索引擎場景中用戶的真實問題。每個問題提供最多5個候選文檔以及人工撰寫的一個或者多個答案作為參考答案。數(shù)據(jù)集分為百度搜索和百度知道兩部分(以下簡稱搜索和知道),每一部分各包括15萬問題。搜索部分的文檔來源于百度搜索引擎提供的相關(guān)度最高的網(wǎng)頁,而知道部分的文檔來源于百度知道網(wǎng)站的站內(nèi)搜索提供的相關(guān)度最高的問題對應(yīng)的網(wǎng)頁。與大多數(shù)常用的閱讀理解數(shù)據(jù)集不同的是,本次競賽數(shù)據(jù)集提供的每個文檔都包含來源網(wǎng)頁的全文文本內(nèi)容。
競賽以測試集的人工標(biāo)注答案為參考答案,采用ROUGE-L和BLEU4作為評價指標(biāo),其中以ROUGE-L作為主評價指標(biāo)。同時對于是非及實體類型問題,對ROUGE-L和BLEU4評價指標(biāo)進(jìn)行了輕微的改動,適當(dāng)增加了正確識別是非答案類型及匹配實體的得分獎勵,一定程度上彌補(bǔ)傳統(tǒng)ROUGE-L和BLEU4指標(biāo)對是非和實體類型問題評價不敏感的問題。
3 數(shù)據(jù)預(yù)處理
3.1 文檔預(yù)處理
由于這次比賽數(shù)據(jù)集提供的每個文檔都包含來源網(wǎng)頁的全部文本內(nèi)容,長度比其他常用數(shù)據(jù)集長很多,最長的文檔包含多達(dá)9萬多個詞,大大超出了常用的機(jī)器閱讀理解模型可以接受的范圍(通常為數(shù)百詞)。因此,我們需要對文檔進(jìn)行預(yù)處理,抽取出文檔中可能含有答案的部分作為篇章輸入,放入模型中進(jìn)行訓(xùn)練和預(yù)測。
對于知道和搜索兩部分?jǐn)?shù)據(jù),我們采取了不同的預(yù)處理方法。知道的數(shù)據(jù)來源是百度知道問答中相關(guān)問題的對應(yīng)網(wǎng)頁,所有內(nèi)容都是與網(wǎng)頁標(biāo)題對應(yīng)的問題(和用戶提出的問題不一定相同)相關(guān)的信息。基于越前面的信息可能越有用的假設(shè),對于知道數(shù)據(jù)里面的每一篇文檔,我們將文檔標(biāo)題和所有段落順次連接,中間插入特殊的符號表示段落分割,然后截取最前面不超過預(yù)設(shè)最大長度的內(nèi)容,將得到的結(jié)果作為預(yù)處理的結(jié)果。
對于搜索部分的數(shù)據(jù),文檔包含一般網(wǎng)頁的全部文本信息,前面部分的內(nèi)容有可能與問題沒有關(guān)系。因此,我們采取如下策略:
- 將標(biāo)題和各段內(nèi)容以特殊符號分隔連接在一起,如果得到的結(jié)果沒有超過預(yù)設(shè)最大長度,則將其作為預(yù)處理的結(jié)果;
- 否則,我們計算各段落和問題的BLEU-4分?jǐn)?shù),以衡量段落和問題的相關(guān)性;
- 在分?jǐn)?shù)排名前k的段落中,選擇最早出現(xiàn)的段落;
- 選取標(biāo)題,這個段落以及下一個段落;
- 對于此后第3到第10個段落,選取每個段落的第一句話;
- 將所有選取的內(nèi)容以特殊符號分隔連接在一起,截取最前面不超過預(yù)設(shè)最大長度的內(nèi)容,將得到的結(jié)果作為預(yù)處理的結(jié)果。
上述方法基于兩個假設(shè):第一,答案可能出現(xiàn)在與問題相似的段落后面;第二,越靠前面的內(nèi)容越重要。引入文檔標(biāo)題的原因在于從文檔標(biāo)題很容易判斷文檔內(nèi)容是否與問題相關(guān)。
引入上述啟發(fā)式預(yù)處理機(jī)制后,采用同樣的模型,得到的結(jié)果比基線系統(tǒng)提供的簡單預(yù)處理方法有大幅提高,對此我們將在實驗部分具體說明。值得注意的是,數(shù)據(jù)集提供了未經(jīng)過分詞的原始文本以及分詞后的結(jié)果,我們的模型選擇分詞后的結(jié)果作為輸入。
3.2 參考答案片段
與大多數(shù)主流工作相同,我們將閱讀理解任務(wù)建模成篇章中的片段抽取問題。在數(shù)據(jù)集中,每個問題可能對應(yīng)多個人工撰寫的答案。對于每個答案,我們在篇章中尋找一個與答案F1分?jǐn)?shù)最高的片段,作為這個答案的參考答案片段,在訓(xùn)練時使用。對于僅使用一個答案片段的模型,我們采用與任意一個答案的F1分?jǐn)?shù)最高的片段作為參考答案片段訓(xùn)練模型(這種情況與百度提供的基線系統(tǒng)一致)。
4 模型結(jié)構(gòu)
4.1 特征表示層
在現(xiàn)在常見的機(jī)器閱讀理解模型中,詞向量是最常用的特征表示方法。以往的工作表明,使用預(yù)先訓(xùn)練好的詞向量作為輸入,并在閱讀理解任務(wù)的訓(xùn)練過程中固定保持詞向量不變,相比于使用隨機(jī)初始化的詞向量,并在訓(xùn)練過程中同步訓(xùn)練詞向量,效果會有提升。因而,我們的模型也使用相同的方法。
在英文閱讀理解模型中,加入基于字符序列得到的詞表示對于結(jié)果有穩(wěn)定的提升效果。這是因為英文單詞有豐富的詞綴變化,語義相同詞性不同的單詞擁有相同的詞干,只在詞綴上有所區(qū)分,而詞綴相同的單詞往往詞性相同。這樣的特性使得引入字符序列的信息能夠緩解未登錄詞的問題。而漢語詞匯沒有這樣的特性,含有相同字的不同詞語的意思可能完全沒有任何聯(lián)系。我們也嘗試使用循環(huán)神經(jīng)網(wǎng)絡(luò)整合預(yù)訓(xùn)練好的字向量的信息得到詞的表示,作為額外的特征表示,但是實驗效果并沒有明顯的變好。
在以往的工作如Hu[2]等中,除了詞向量以外,一些其它的特征也被運用在閱讀理解模型當(dāng)中。我們的模型使用了詞性標(biāo)注信息。我們使用詞性標(biāo)注工具,對每個問題和對應(yīng)的篇章進(jìn)行詞性標(biāo)注,得到其中每一個詞的詞性信息。對于每一種詞性,我們預(yù)先訓(xùn)練好對應(yīng)的詞性向量。問題和篇章中的每個詞對應(yīng)的詞性向量也作為詞的特征表示之一。
對于篇章里面的每一個詞,我們還使用一個額外的二值特征wiq,表示這個詞有沒有在對應(yīng)的問題中出現(xiàn)。
問題的類型也能夠?qū)卮饐栴}提供幫助。2018機(jī)器閱讀理解技術(shù)競賽將問題分成三種類型:實體類,描述類和判斷類。我們認(rèn)為這樣的劃分不夠細(xì)致,通過簡單的關(guān)鍵字匹配,將問題劃分成九種常見類型,大致對應(yīng)英文的各個疑問詞。具體的問題分類和對應(yīng)的關(guān)鍵詞信息見表1。

給定任意一個問題,首先按表1的順序從上到下匹配各個關(guān)鍵詞,如果問題包含某一分類的其中一個關(guān)鍵詞,則被匹配到該分類。如果問題沒有包含上述任意關(guān)鍵詞,則認(rèn)為問題是數(shù)據(jù)集給定的類型。因此,我們一共將問題分為十二類,對于每個問題,都會在問題開始加上一個特殊符號表示其對應(yīng)的問題類型。
4.2 問題篇章分別編碼層
參照已有的工作,我們采取雙向LSTM模型分別對問題和篇章的輸入特征和
進(jìn)行編碼,得到問題和篇章的編碼表示
和
:

4.3 問題篇章匹配層
分別給定問題和篇章的編碼表示和
,匹配層負(fù)責(zé)融合兩方面的信息,生成包含問題和篇章信息的隱層表示?,F(xiàn)在主流的模型大多數(shù)都利用注意力機(jī)制將問題和篇章的編碼信息進(jìn)行融合。我們在模型中嘗試使用了BiDAF、MatchLSTM和DCA三種不同的匹配層。
4.3.1 BiDAF匹配層
Seo[3]等提出的BiDAF模型利用雙向注意力機(jī)制來融合問題和篇章的信息的方法。我們首先通過內(nèi)積計算出每個問題中的詞和每個篇章中的詞的相似度:

然后利用他們的方法計算出問題到篇章(context2query)和篇章到問題(query2context)的注意力表示:


然后再利用一層雙向LSTM得到隱層表示:

4.3.2 MatchLSTM匹配層
參照Wang和Jiang[4]提出的MatchLSTM模型,我們首先計算:

然后再利用一層雙向LSTM得到隱層表示:

4.3.3 DCA匹配層
Hasan和Fischer[5]提出在使用雙向注意力機(jī)制之后,再使用一層注意力機(jī)制進(jìn)一步融合信息的方法:

然后再利用一層雙向LSTM得到隱層表示:

在實驗結(jié)果部分,我們會比較不同匹配層對模型性能帶來的影響。
4.4 答案抽取層
我們將閱讀理解任務(wù)建模成篇章片段抽取問題,答案抽取層利用兩步的指針網(wǎng)絡(luò),以匹配層輸出的隱層表示為輸入,分別預(yù)測答案片段在篇章中的開始位置和結(jié)束位置的概率分布和:

其中t=1,2。
在答案抽取層,為了給一個問題統(tǒng)一尋找一個答案片段,同一問題對應(yīng)的不同篇章得到的隱層表示被連接起來,這部分的實現(xiàn)和基線系統(tǒng)相同。
4.5 損失函數(shù)
對于片段抽取模型來說,通常采取如下?lián)p失函數(shù):

其中和
分別表示參考答案片段對應(yīng)篇章中的開始位置和結(jié)束位置。
與大多數(shù)已有的閱讀理解數(shù)據(jù)集不同,2018機(jī)器閱讀理解技術(shù)競賽的數(shù)據(jù)集為每個問題提供不止一個參考答案。最終評判的時候,只要機(jī)器預(yù)測的答案與其中一個答案相同或者類似,就會得到比較高的分?jǐn)?shù)。因而,與只考慮一個參考答案的經(jīng)典模型相比,在訓(xùn)練的時候考慮所有參考答案可以更有效的利用數(shù)據(jù),訓(xùn)練出更好的模型。對于給出多個參考答案的問題,我們利用3.2節(jié)介紹的方法對于每個答案找到它在篇章中的參考答案片段,并定義如下?lián)p失函數(shù):

其中和
分別表示第k個答案對應(yīng)片段在篇章中的開始位置和結(jié)束位置。
4.6 利用輔助任務(wù)聯(lián)合訓(xùn)練
Tan[6]等提出了以預(yù)測答案從哪個篇章得到的問題作為輔助訓(xùn)練任務(wù),進(jìn)行聯(lián)合訓(xùn)練,提高多篇章閱讀理解模型性能的方法。我們借鑒了他們的思路,設(shè)計了篇章選擇損失函數(shù)。
我們對于每一個篇章得到的隱層表示,使用“注意力池化”(attention pooling)和投影得到和問題的匹配分?jǐn)?shù):

然后將輔助任務(wù)損失函數(shù)定義為:

其中表示是否有答案片段出自該篇章。
于是,我們使用最大似然估計聯(lián)合訓(xùn)練優(yōu)化目標(biāo)函數(shù):

4.7 利用最小風(fēng)險訓(xùn)練
前面提出的損失函數(shù)使用最大似然估計,目標(biāo)是最大化訓(xùn)練集中每個問題的參考答案區(qū)間出現(xiàn)的概率。與之相比,使用最小風(fēng)險訓(xùn)練直接對評估指標(biāo)的期望進(jìn)行優(yōu)化,在機(jī)器翻譯等方向取得了很好的結(jié)果。
在閱讀理解任務(wù)上,最小風(fēng)險訓(xùn)練的目標(biāo)函數(shù)可以被定義為:

其中表示預(yù)測的答案,表示參考答案,是衡量兩者差異的函數(shù),我們直接使用ROUGE-L作為。
參考前人的工作,進(jìn)行最小風(fēng)險訓(xùn)練的時候,我們以最大似然估計訓(xùn)練得到的模型參數(shù)作為初始化參數(shù)。在這種情況下,我們發(fā)現(xiàn),聯(lián)合訓(xùn)練最大似然估計和最小風(fēng)險訓(xùn)練的目標(biāo)函數(shù)可以得到更好的結(jié)果:

4.8 判斷類問題模型
對于判斷類問題,給出和參考答案一致的判斷結(jié)果(Yes,No或者Depends)會得到分?jǐn)?shù)的加成。于是我們單獨訓(xùn)練了一個模型,給定問題和提取出來的答案進(jìn)行分類。模型結(jié)構(gòu)與上面描述的閱讀理解主模型類似,只是篇章輸入變成了提取出來的答案。模型僅使用預(yù)訓(xùn)練詞向量作為特征輸入,經(jīng)過相同的編碼層和匹配層,得到隱層表示,然后使用“注意力池化”(attention pooling)得到向量表示
:

然后將做投影到分類維度,再用交叉熵做損失函數(shù)訓(xùn)練分類模型。
5 實現(xiàn)細(xì)節(jié)
5.1 預(yù)訓(xùn)練詞向量
我們利用數(shù)據(jù)集提供的未分詞文本和分詞結(jié)果,使用一層的LSTM模型訓(xùn)練了一個分詞器,然后用這個分詞器將SogouT的部分文檔進(jìn)行分詞,用分詞得到的結(jié)果作為輸入,以語言模型為訓(xùn)練目標(biāo),使用一層的LSTM模型訓(xùn)練256維的中文詞向量。得到的預(yù)訓(xùn)練詞向量被用在閱讀理解模型中,并且在訓(xùn)練閱讀理解模型的過程中保持不變。
5.2 模型參數(shù)和訓(xùn)練方法
在訓(xùn)練過程中,我們設(shè)定每篇篇章的最大長度為500詞,batch size為32。為防止模型過擬合,層與層之間采用了dropout技術(shù),所有隱層表示向量為150維,單模型系統(tǒng)的dropout比例設(shè)為0.15。我們使用=10.0,在單一模型情況下
=5.0。
我們采用Adam算法來優(yōu)化我們的模型,學(xué)習(xí)率(learning rate)在訓(xùn)練過程中保持0.001不變。對于知道部分和搜索部分的數(shù)據(jù),我們使用兩個模型分別訓(xùn)練和預(yù)測。使用最大似然估計訓(xùn)練模型時,我們訓(xùn)練10輪(epoch),每一輪訓(xùn)練之后在開發(fā)集測試性能,最終選擇開發(fā)集上性能最好的模型。使用最小風(fēng)險訓(xùn)練時,模型以最大似然估計訓(xùn)練得到的參數(shù)作為初始化參數(shù)進(jìn)行訓(xùn)練。由于使用最小風(fēng)險訓(xùn)練速度較慢,且使用最大似然估計訓(xùn)練好的模型參數(shù)進(jìn)行初始化以后,模型通常在第一輪訓(xùn)練結(jié)束的時候就達(dá)到最好的效果,于是使用最小風(fēng)險訓(xùn)練時我們只訓(xùn)練1輪。
5.3 實驗環(huán)境和訓(xùn)練時間
實驗所用的服務(wù)器使用4核Intel(R) Xeon(R) CPU E5-2630 v4 2.20GHz CPU,配有128G內(nèi)存,顯卡為TITAN X Pascal,顯存大小為12G。每個實驗使用單個GPU進(jìn)行訓(xùn)練。
在搜索部分?jǐn)?shù)據(jù)上,BiDAF模型每一輪數(shù)據(jù)訓(xùn)練和驗證時間約為3小時,MatchLSTM模型約為5小時,DCA模型約為3個小時。知道部分?jǐn)?shù)據(jù)每一輪訓(xùn)練所用時間與搜索部分?jǐn)?shù)據(jù)相仿。使用最小風(fēng)險訓(xùn)練時,由于每次要計算所有片段和參考答案的Rouge-L值,訓(xùn)練速度相對緩慢,BiDAF模型每一輪大概需要16個小時。
5.4 預(yù)測結(jié)果和結(jié)果后處理
預(yù)測時,我們使用模型預(yù)測答案片段在篇章的開始位置和結(jié)束位置的概率分布,并尋找同一篇章內(nèi)使得開始位置概率乘以結(jié)束位置概率最大的片段作為預(yù)測結(jié)果。
值得說明的是,數(shù)據(jù)集對每個問題提供多個文檔,這些文檔來源于搜索結(jié)果,并按照搜索結(jié)果順序呈現(xiàn),也就是說搜索系統(tǒng)認(rèn)為更靠前的文檔與問題更相關(guān),而這個信息在我們的系統(tǒng)里面并沒有顯示體現(xiàn)。盡管模型在訓(xùn)練的時候增加了輔助任務(wù)預(yù)測答案從哪一個篇章得到,我們發(fā)現(xiàn),對于訓(xùn)練好的模型,在開發(fā)集中僅使用前3篇文檔進(jìn)行預(yù)測的結(jié)果,比使用全部(最多5篇)文檔進(jìn)行預(yù)測得到的結(jié)果有明顯提高。在實驗部分我們會給出數(shù)據(jù)進(jìn)行具體說明。因此,在最后預(yù)測的時候,對于每個問題,我們僅使用前3篇文檔進(jìn)行預(yù)測得到結(jié)果。
我們還對提取出來的片段進(jìn)行簡單后處理,包括去除我們在預(yù)處理階段增加的特殊分隔符和\u3000、\n等特殊符號,以及對標(biāo)點符號進(jìn)行規(guī)范化處理。最終提交的結(jié)果是經(jīng)過后處理的結(jié)果。
5.5 集成模型
由于實驗結(jié)果表明,使用BiDAF,MatchLSTM和DCA作為匹配層的效果相近,為了使得集成模型來源的各個模型具有多樣性,所以我們采用了來自不同匹配模型的結(jié)果進(jìn)行集成。我們還使用了不同的dropout比例,不同的聯(lián)合學(xué)習(xí)比率訓(xùn)練不同的模型。表2詳細(xì)介紹了集成結(jié)果來源的各個模型的不同部分具體選項。所有18種不同選擇分別被用于訓(xùn)練,共得到18個模型,這些模型的結(jié)果最后被集成得到最終結(jié)果。

6 實驗結(jié)果
6.1 不同匹配模型的選擇
在模型結(jié)構(gòu)的匹配層部分,我們介紹了BiDAF、MatchLSTM和DCA三種不同的選擇。我們在開發(fā)集上比較了選用不同匹配方法的模型結(jié)果。表3展示了不同匹配層在搜索和知道上的結(jié)果。由于不同模型結(jié)果非常接近,為了減少誤差,對于每種情況,我們使用兩個不同的隨機(jī)種子訓(xùn)練模型,最終匯報的結(jié)果是兩個模型結(jié)果的平均值。

可以看出,使用不同的匹配層得到的結(jié)果非常接近。MatchLSTM得到的結(jié)果最好,但是和BiDAF和DCA得到的結(jié)果非常接近。因此,在之后的單模型實驗中,我們選擇使用速度較快的BiDAF匹配層。而在集成模型的時候,為了使來源的各個模型具有多樣性,我們使用了BiDAF,MatchLSTM和DCA匹配層得到的不同模型。
6.2 模型其它各部分的貢獻(xiàn)
我們從基線系統(tǒng)開始,逐步增加各個部分,驗證每個部分對于效果帶來的影響。表4總結(jié)了這部分的實驗結(jié)果,其中數(shù)據(jù)是模型在開發(fā)集上沒有經(jīng)過后處理的直接預(yù)測結(jié)果的表現(xiàn)。值得說明的是,比賽提供的結(jié)果評估腳本里計算BLEU4指標(biāo)的方式造成了每個問題權(quán)重不等,答案長的問題實際權(quán)重更高,這是不合理的,而計算ROUGE-L的時候每個問題的權(quán)重是相同的,且最終比賽結(jié)果也選擇了ROUGE-L作為主要的評價指標(biāo),所以我們匯報實驗結(jié)果的時候主要關(guān)注ROUGE-L的結(jié)果。

從實驗結(jié)果可以看出,每項改變都使系統(tǒng)性能得到提升。其中,我們提出的的啟發(fā)式篇章預(yù)處理的方法非常有效,使用這種方法相對于基線系統(tǒng)的預(yù)處理方法有大幅提高,在搜索部分提升了11.30,在知道部分也提升了4.62。使用預(yù)訓(xùn)練詞向量使得搜索和知道部分的結(jié)果分別進(jìn)一步提升了4.51和4.50。進(jìn)一步增加其它特征(詞性標(biāo)注,問題類型,wiq)會在搜索和知道上分別帶來0.17和0.65的額外提升。與僅利用一個答案相比,在損失函數(shù)中考慮多個答案使ROUGE-L指標(biāo)在搜索和知道上分別進(jìn)一步上升了1.60和1.30。值得說明的是,加上輔助任務(wù)進(jìn)行聯(lián)合訓(xùn)練后,雖然ROUGE-L值沒有大幅提高,但是模型訓(xùn)練的穩(wěn)定性得到了增強(qiáng)。
最終,基于上面的模型,再使用最小風(fēng)險訓(xùn)練,我們的模型在開發(fā)集上搜索和知道的ROUGE-L值分別達(dá)到49.61和58.11,相比基線系統(tǒng)分別提高18.84和12.21。這是我們的單系統(tǒng)模型在開發(fā)集上沒有使用后處理的結(jié)果。
6.3 僅用前三篇文檔進(jìn)行預(yù)測的的結(jié)果
如5.5節(jié)所說,我們在實驗中發(fā)現(xiàn),對于同一個訓(xùn)練好的模型,在開發(fā)集中僅使用前3篇文檔得到的篇章進(jìn)行預(yù)測的結(jié)果,比使用全部文檔進(jìn)行預(yù)測得到的結(jié)果有明顯提高,表5給出了對比的實驗結(jié)果。

6.4 判斷模型的影響
表6比較了使用4.8節(jié)描述的判斷模型給判斷類問題抽取出來的答案加上判斷結(jié)果后,對于在線測試集上ROUGE-L和BLEU4帶來的變化??梢钥闯?,加上判斷結(jié)果后,ROUGE-L和BLEU4分別提高了0.26和0.23。

6.5 在線測試集的結(jié)果
表7顯示了我們的單模型和集成模型在在線測試集的結(jié)果。集成模型的具體設(shè)置見實驗細(xì)節(jié)中的集成模型部分??梢钥闯?,相比于單一模型,集成模型在ROUGE-L和BLEU-4上分別有1.58和2.28的提高。

6.6 最終結(jié)果
圖1顯示了比賽公布的最終結(jié)果,我們的系統(tǒng)在ROUGE-L和BLEU-4上分別取得了63.38和59.23的結(jié)果,排名第一,分別領(lǐng)先第2名2.39和3.30。

7 樣例分析
圖2給出了一些開發(fā)集中我們系統(tǒng)預(yù)測答案沒有完全和參考答案相符的例子。其中,對于問題1,我們的預(yù)測答案包含了額外的非答案信息。問題2的預(yù)測答案只包括了參考答案的一部分,沒有完整包含應(yīng)有的信息。問題3對應(yīng)了另外的情況,我們的預(yù)測答案是文檔里完整包含了答案信息的片段,但是標(biāo)注者重新整理了這個片段并編寫得到了更簡潔和合適的參考答案。問題4則對應(yīng)了最差的情況,我們的系統(tǒng)預(yù)測的結(jié)果完全不是回答給定問題的答案。從這些例子可以看出,我們的系統(tǒng)盡管整體上取得了很好的結(jié)果,在一些情況下仍然存在預(yù)測的答案不夠準(zhǔn)確(缺少必要部分,包含不必要的部分),甚至完全錯誤的情況。一種可能的解決方法是考慮引入答案驗證模塊,提高答案的準(zhǔn)確性。

8 結(jié)論
2018機(jī)器閱讀理解技術(shù)競賽的數(shù)據(jù)集是基于真實場景的大規(guī)模數(shù)據(jù)集,包含不同類型的問題和不同來源的文檔,非常具有挑戰(zhàn)性。針對數(shù)據(jù)集的特點,我們從數(shù)據(jù)預(yù)處理、特征表示、模型選擇、損失函數(shù)的設(shè)定和訓(xùn)練方法的選擇等多個方面入手構(gòu)造系統(tǒng),在正式測試集中在ROUGE-L和BLEU-4上分別取得了63.38和59.23的分?jǐn)?shù),在最終提交結(jié)果的105支參賽隊伍里取得了第一名的成績。
參考文獻(xiàn)
[1]Wei He, Kai Liu, Jing Liu, Yajuan Lyu, Shiqi Zhao, Xinyan Xiao, Yuan Liu, Yizhong Wang, Hua Wu, Qiaoqiao She, Xuan Liu, Tian Wu, Haifeng Wang. DuReader: a Chinese Machine Reading Comprehension Dataset from Real-world Applications [J]. arXiv preprint arXiv:1711.05073, 2018
[2]Minghao Hu, Yuxing Peng, Zhen Huang, Xipeng Qiu, Furu Wei, Ming Zhou. Reinforced Mnemonic Reader for Machine Reading Comprehension[J]. arXiv preprint arXiv:1705.02798, 2017.
[3]Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, and Hannaneh Hajishirzi. Bidirectional attention flow for machine comprehension. [J]. arXiv preprint arXiv: 1611.01603, 2016.
[4]Shuohang Wang and Jing Jiang. Machine comprehension using match-lstm and answer pointer. [J]. arXiv preprint arXiv: 1608.07905, 2016.
[5]Hasan Z, Fischer S. Pay More Attention-Neural Architectures for Question-Answering[J].
[6]Chuanqi Tan, Furu Wei, Nan Yang, Bowen Du, Weifeng Lv, and Ming Zhou. S-net: From answer extraction to answer synthesis for machine reading comprehension. [J]. arXiv preprint arXiv: 1706.04815, 2017