盛藝暄,蘭 曼
(華東師范大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海 200062)
機(jī)器閱讀理解是自然語言處理的核心任務(wù)之一,目標(biāo)是利用機(jī)器自動(dòng)理解自然語言文本,從給定文本中獲取回答問題的答案信息.高質(zhì)量的機(jī)器閱讀理解對(duì)于搜索、問答、智能對(duì)話等任務(wù)都發(fā)揮重要作用.根據(jù)答案是否是從文章中直接抽取的文本片段,機(jī)器閱讀理解任務(wù)可以分為兩類,抽取式和非抽取式.典型的抽取式任務(wù)有CNN/DailyMai[1],CBTest[2]等這類完形填空任務(wù),以及SQuAD[3],TriviaQA[4]等這類片段抽取型任務(wù).典型的非抽取式任務(wù)有MCTest[5],RACE[6],MCScript[7]等選擇題型任務(wù).
選擇題型任務(wù)與上述直接抽取式任務(wù)最大不同在于答案候選項(xiàng)往往是與文章內(nèi)容相關(guān)的歸納總結(jié)或文本改寫,而非完全截取自文章中某文本片段.因此,需要機(jī)器通過從文章或借助外部知識(shí)進(jìn)行推理,獲得正確答案.表1 是來自MCScript 數(shù)據(jù)集中兩種類型問題舉例,問題1 的回答可由文章中下劃線句子推理得出去蒸桑拿是為了解壓:而問題2 則需要借助外部知識(shí)輔助推理,因?yàn)槿牟]有提及蒸桑拿所穿服裝的信息,因此結(jié)合文章中粗斜體句子信息(蒸桑拿很熱),并利用(steam bath,RelatedTo,sauna),(bath suit,RelatedTo,swimsuit),(nude,DerivedFrom,swim),(jeans,UsedFor,clothing),(clothing,UsedFor,warm)等從外部知識(shí)庫得到的相關(guān)外部知識(shí),幫助機(jī)器正確推理并回答問題2.相比問題1 這類僅需推理文章可得到答案的問題,問題2 這類需外部知識(shí)輔助的問題屬于選擇題問題中難度大的問題,因?yàn)樗粌H需要文章信息,還需要外部知識(shí)輔助才能得到答案,對(duì)模型推理要求更高.
解決閱讀理解的問題時(shí),可能會(huì)同時(shí)遇到問題1 這類僅需推理文章就可獲得答案的問題,以及問題2 這類需外部知識(shí)輔助推理的問題,需要模型對(duì)兩類問題都能較好地處理才能取得總體性能的提高.然而,目前選擇題型機(jī)器閱讀理解模型的研究大多是解決僅需推理文章可獲得答案的問題.這些模型精心設(shè)計(jì)文章、問題和候選項(xiàng)的語義表示以及這三者之間信息交互方式.例如,Parikh 等[8]利用正交表示排除不相關(guān)的選項(xiàng),并根據(jù)排除操作的結(jié)果增強(qiáng)文章的語義表示.Zhu 等人[9]利用選項(xiàng)之間的相關(guān)性建模選項(xiàng)語義表示.Wang 等人[10]將問題和選項(xiàng)分別與文章同時(shí)進(jìn)行交互得到既包含問題信息又包含選項(xiàng)信息的文章表示用于答案預(yù)測(cè).此外,也有一些研究工作意識(shí)到推理在選擇題型閱讀理解中的重要性,設(shè)計(jì)了多種多步推理方式.例如,Lai 等人[6]將GA Reader[11]應(yīng)用于選擇題,利用多步推理機(jī)制與文章問題之間的注意力機(jī)制結(jié)合的方式,進(jìn)行固定次數(shù)問題和文章之間的信息交互用于答案預(yù)測(cè).Xu 等人[12]在計(jì)算文章、問題和侯選項(xiàng)三者交互的語義表示后,采用強(qiáng)化學(xué)習(xí)進(jìn)行動(dòng)態(tài)多步推理得出正確答案.然而,上述模型都是針對(duì)僅需推理文章可獲得答案的問題,沒有外部知識(shí)的輔助,模型處理類似問題2 需外部知識(shí)輔助推理的問題時(shí)能力受限,無法正確推理回答問題,因此需外部知識(shí)輔助推理的問題是這類模型提高總體性能的一個(gè)突破點(diǎn).
為幫助回答問題2 這類需外部知識(shí)輔助推理的問題,Wang 等人[13]和Chen 等人[14]嘗試把從外部知識(shí)庫中得到的詞之間關(guān)系的表示向量加入詞的嵌入表示中,通過隱式方式引入相關(guān)外部知識(shí)信息,但這些模型僅僅只利用外部知識(shí)信息以及文章、問題和候選項(xiàng)這三者的信息進(jìn)行淺層的語義匹配.然而,利用外部知識(shí)輔助的問題往往對(duì)模型推理要求更高,上述模型并沒有進(jìn)行多步推理,導(dǎo)致該類模型不能深入地利用外部知識(shí)信息以及文章、問題和候選項(xiàng)這三者的信息共同進(jìn)行融合推理.
為了解決需外部知識(shí)輔助推理的問題,從而幫助提升選擇題機(jī)器閱讀理解模型的總體性能.本文提出一個(gè)利用外部知識(shí)輔助和多步推理的選擇題型機(jī)器閱讀理解模型,該模型不僅引入與回答問題相關(guān)的外部知識(shí),進(jìn)行外部知識(shí)與文章、問題和候選項(xiàng)的信息交互用于建模語義匹配表示,還利用包含外知識(shí)信息的語義匹配表示進(jìn)行多步答案推理,從而更好地利用外部知識(shí)信息幫助模型推理出答案.本文在國際語義測(cè)評(píng)競(jìng)賽2018年任務(wù)11 的數(shù)據(jù)集MCScript[7]上進(jìn)行了對(duì)比實(shí)驗(yàn),結(jié)果表明本文提出的方法有助于提高需外部知識(shí)輔助回答的問題的準(zhǔn)確率.
本文的組織結(jié)構(gòu)如下:首先在上述內(nèi)容中介紹了本文的研究動(dòng)機(jī)及相關(guān)工作,然后將在第1 節(jié)介紹本文提出的模型;在第2 節(jié)中說明實(shí)驗(yàn)設(shè)置,包含數(shù)據(jù)準(zhǔn)備,模型參數(shù)設(shè)置和評(píng)估標(biāo)準(zhǔn);在第3 節(jié)中展示實(shí)驗(yàn)結(jié)果并分析;最后在第4 節(jié)總結(jié)本文工作.
本章將介紹本文所提出的利用外部知識(shí)輔助和多步推理的選擇題型機(jī)器閱讀理解模型.本文目標(biāo)是提高需外部知識(shí)輔助推理的問題性能來幫助提高總體性能,所以需要引入一定量的外部知識(shí),然而僅需推理文章得到答案的問題原本只需要利用文章信息就可推理出答案,額外引入的外部知識(shí)對(duì)其而言可能會(huì)是噪聲信息,容易影響僅需推理文章得到答案的問題性能.因此,在實(shí)現(xiàn)本文提高需要外部知識(shí)輔助的問題的目標(biāo)的同時(shí),應(yīng)至少保持僅需推文章得到答案的問題性能不降低.因此本文基于Co-Matching 模型[9](一個(gè)針對(duì)解決僅需推理文章得到答案的問題的魯棒性強(qiáng)的選擇題型機(jī)器閱讀理解模型),增加對(duì)外部知識(shí)的顯示利用和多步知識(shí)推理功能,通過進(jìn)一步提升模型解決需外部知識(shí)輔助推理問題的能力,從而提高模型總體性能.下面首先介紹本文提出的模型,然后闡述本模型與Co-Matching 模型的不同.
與解決僅需推理文章信息得到答案的模型不同,本文模型除了輸入文章、問題和選項(xiàng),還需要輸入與文章、問題和選項(xiàng)這三者有關(guān)的外部知識(shí).通常外部知識(shí)是采用圖結(jié)構(gòu)存儲(chǔ)的知識(shí)庫形式,每條外部知識(shí)采用三元組的形式(外部知識(shí)選取的相關(guān)內(nèi)容將在第2 節(jié)實(shí)驗(yàn)配置介紹).圖1 為本文提出的模型的概括圖,展示了本文模型預(yù)測(cè)一個(gè)選項(xiàng)作為答案的概率的過程.將所有數(shù)據(jù)輸入以后,該模型通過嵌入層、編碼層、外部知識(shí)融入層、文章問題及選項(xiàng)信息交互層、答案層進(jìn)行逐層處理,并在答案層輸出預(yù)測(cè)的答案.下面從模型的輸入開始,按數(shù)據(jù)處理的順序逐步介紹上述5 層.
為便于模型描述,本文將采用下列符號(hào)化的表示定義選擇題型機(jī)器閱讀理解任務(wù).該任務(wù)輸入一個(gè)以四元組表示的選擇題型閱讀理解的全部數(shù)據(jù)<D,Q,C,K >,模型從答案候選項(xiàng)集合C 中選擇概率最高的選項(xiàng)作為預(yù)測(cè)答案輸出.四元組中給定的文章D 包含 s個(gè)句子 {DS1,DS2,···,DSs} ,其中第j句DSj的長度為lDSj個(gè)詞,問題Q的長度為 lQ個(gè)詞,答案候選項(xiàng)集合C 是包含y 個(gè)選項(xiàng)的集合{ c1,c2,···,cy} ,其中第i 個(gè)選項(xiàng)ci的長度為lci個(gè)詞,相關(guān)知識(shí)集K 是從外部知識(shí)庫中篩選出的與D,Q,C 有關(guān)的集合,是包含 p 個(gè)外部知識(shí)的三元組的集合,其中每個(gè)知識(shí)三元組k 表 示為k=(subj,rel,obj).s ubj 和o bj 是至少包含一個(gè)詞的三元組頭、尾節(jié)點(diǎn),長度分別為lsubj和lobj.rel是 subj和obj之間的關(guān)系,長度為1.
嵌入層將輸入的四元組中的每個(gè)詞投射到一個(gè)語義表示的向量空間.以問題Q 為例,其中每個(gè)詞表示為詞嵌入后得到其中表示問題中第n 個(gè)詞的嵌入表示,本文采用預(yù)訓(xùn)練的Glove 詞向量[15]并拼接人工特征作為每個(gè)詞的嵌入表示.人工特征為多個(gè)二值特征,表示該單詞是否出現(xiàn)在文章D 中、問題Q 中、候選項(xiàng)ci(i ∈[1,y])中、同時(shí)出現(xiàn)在文章D和候選項(xiàng)ci(i ∈[1,y])中,同時(shí)出現(xiàn)在問題Q和候選項(xiàng) ci(i ∈[1,y]).同樣,對(duì)文章的句子D Sj(j ∈[1,s])和選項(xiàng) ci(i ∈[1,y])中每個(gè)詞進(jìn)行向量映射后,分別得到EDSj和 Eci.此外,外部知識(shí)集合中每個(gè)三元組的詞進(jìn)行向量映射后,可表示為k =(Esubj,Erel,Eobj).

圖1 利用外部知識(shí)輔助和多步推理的選擇題閱讀理解模型
編碼層是為每個(gè)詞的嵌入表示生成上下文依賴的編碼表示.本文使用雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)對(duì)文本進(jìn)行語義編碼.以問題 Q為例,采用如式(1)經(jīng)過BiLSTM得到其語義表示 HQ∈RlQ×2h:

外部知識(shí)融入層是為了把外部知識(shí)引入模型,受Mihaylov 等人[16]解決完形填空中針對(duì)名詞類型問題的啟發(fā),本文在進(jìn)行文章問題及選項(xiàng)的信息交互之前,通過外部知識(shí)和文章、問題及選項(xiàng)中每個(gè)詞的語義匹配關(guān)系得到每條外部知識(shí)的權(quán)重,并按各條外部知識(shí)的權(quán)重表示文章、問題和選項(xiàng)的每個(gè)詞,再將每個(gè)詞分別按外部知識(shí)的權(quán)重和上下文編碼的權(quán)重的結(jié)果進(jìn)行按權(quán)重的線性加和(見式(4)),這樣得到既包含外部知識(shí)信息又包含上下文依賴信息的詞表示.以問題 Q中第n個(gè)詞為例,如式(2),本文首先采用注意力機(jī)制求得外部知識(shí)集合K 中每條外部知識(shí)三元組和該詞之間的關(guān)系權(quán)重,并按權(quán)重線性加和得到∈R1×2h:


其中,ReLU 是一種非線性激活函數(shù),[ ,]是拼接操作,-和? 是元素減和元素乘操作,W1和b1是訓(xùn)練參數(shù).隨后將 Q 中第n 個(gè)詞優(yōu)化后的外部知識(shí)按權(quán)重的表示向量和上下文編碼向量進(jìn)行有權(quán)線性加和,如式(4)

其中,α ∈R1×2h是一個(gè)隨機(jī)初始化可訓(xùn)練的向量.經(jīng)該層處理后,問題 Q 表示為,其中每個(gè)詞表示都包含外部知識(shí)信息和上下文信息.類似地,對(duì)文章中的句子和選項(xiàng)采用同樣操作可分別得到和.
為了生成文章、問題和候選項(xiàng)這三者之間的交互語義匹配表示,使模型關(guān)注到這三者匹配度高的部分,信息交互層在Wang 等人[9]提出的Co-Matching 匹配方式的基礎(chǔ)上進(jìn)行了改進(jìn).Co-Matching 模型僅僅利用文章、問題和候選項(xiàng)三者的上下文編碼直接進(jìn)行語義匹配,缺乏外部知識(shí)的輔助,因而回答需外部知識(shí)輔助推理的問題時(shí)能力受限,而為了使外部知識(shí)的信息能夠參與語義匹配中,本文使用外部知識(shí)融入層的輸出替代只有上下文編碼信息的表示,并通過注意力機(jī)制同時(shí)計(jì)算問題和文章中每個(gè)句子的語義匹配關(guān)系以及各個(gè)選項(xiàng)和文章中每個(gè)句子的語義匹配關(guān)系.以問題Q 和文章中第 j 句D Sj的信息交互為例,用如式(5)和式(6)計(jì)算得到包含外部知識(shí)信息和問題信息的文章中第 j 句的表示:

同時(shí)對(duì)選項(xiàng) ci進(jìn)行類似處理可得.然后將和進(jìn)行拼接可得既包含外部知識(shí)信息又包含問題 Q和選項(xiàng) ci信息的文章中第 j 句的語義匹配表示Gi,j=對(duì)每個(gè)問題、文章中某句子和某一個(gè)候選項(xiàng)構(gòu)成的任一組合 {Q,DSj(j ∈[1,s]),ci(i ∈[1,y])}都可采用上述四層處理,得到一個(gè)語義匹配的表示Gi,j,i 和 j分別表示第i 個(gè)選項(xiàng)和文章第 j 句.以第i 個(gè)候選項(xiàng)ci為例,在得到融入了外部知識(shí)、問題和候選項(xiàng)信息的文章中所有句子的表示 { Gi,1,Gi,2,···,Gi,s}后,采用如式(7)將文章句子的矩陣表示Gi,j變成向量表示gi,j:

由此可以得到由文章中所有句子語義匹配表示向量組成的語義匹配表示 Ui={gi,1,gi,2,···,gi,s},Ui中含有經(jīng)過語義匹配的外部知識(shí)輔助信息、以及問題文章和選項(xiàng)的信息.
答案層采用多步推理機(jī)制實(shí)現(xiàn)答案預(yù)測(cè).用多層BiLSTM 對(duì)信息交互層得到的語義匹配表示 Ui進(jìn)行推理,根據(jù)每層BiLSTM 的輸出,得到一系列輸出結(jié)果,其中T 為總推理步數(shù),為第t 層BiLSTM 的輸出.然后,對(duì)每層BiLSTM 的輸出使用最大池化操作得到.在多步推理的過程中,為避免出現(xiàn)某步推理偏執(zhí)的問題(“step bias problem”),本文對(duì)多步推理的結(jié)果使用Liu 等人[19]提出的隨機(jī)丟失策略(Stochastic dropout),即按一定的隨機(jī)丟失概率隨機(jī)丟棄中的一些結(jié)果,隨機(jī)留下z (z ≤T)步推理結(jié)果.然后本文根據(jù)留下的推理結(jié)果計(jì)算選項(xiàng)ci為預(yù)測(cè)答案的概率,并計(jì)算余下步驟的概率均值,得到綜合考量多個(gè)推理步驟后選項(xiàng)ci作為預(yù)測(cè)答案的平均概率:

本文提出的模型是基于Co-Matching 模型,但與Co-Matching 模型在各層中都存在不同.(1)在嵌入層,本文加入了人工特征表示詞匹配關(guān)系,對(duì)回答一些候選項(xiàng)與文章有詞共現(xiàn)的問題有幫助.(2)在編碼層,本文增加對(duì)外部知識(shí)的編碼.(3)額外增加外部知識(shí)融入層豐富詞表示,使模型具有靈活豐富的外部知識(shí)的信息輔助.(4)在文章問題及選項(xiàng)信息交互層,Co-Matching 模型僅利用文章,問題和選項(xiàng)的信息做語義匹配,本文模型使用外部知識(shí)融入層的輸出,在進(jìn)行三者信息交互時(shí)有外部知識(shí)的信息參與,增強(qiáng)了機(jī)器閱讀理解模型回答需要外部知識(shí)輔助類問題時(shí)的語義匹配能力.(5)在答案層,采用了多步推理機(jī)制而并非單層答案預(yù)測(cè)層,可更進(jìn)一步利用外部知識(shí)信息幫助推理,解決了僅利用外部知識(shí)信息進(jìn)行淺層語義匹配的缺陷,增強(qiáng)了模型的推理能力,更有利于推理需外部知識(shí)輔助的問題.
本章介紹實(shí)驗(yàn)的設(shè)置,包括數(shù)據(jù)準(zhǔn)備,模型參數(shù)設(shè)置和評(píng)估指標(biāo).
數(shù)據(jù)集:本文使用國際語義測(cè)評(píng)競(jìng)賽2018-SemEval的任務(wù)11 的數(shù)據(jù)集MCScript 進(jìn)行實(shí)驗(yàn).MCScript 是旨在于讓大家探索使用外部知識(shí)進(jìn)行機(jī)器閱讀理解的數(shù)據(jù)集,其中每篇文章對(duì)應(yīng)若干問題,每個(gè)問題有2 個(gè)選項(xiàng),需從中選擇一個(gè)正確答案.數(shù)據(jù)集中同時(shí)包含需要外部知識(shí)輔助推理的問題(表中“cs”類型)和僅需文章信息可推理答案的問題(表中“text”類型),“cs”類問題和“text”類問題比例約3:7,“cs”型的問題數(shù)量比“text”類型的問題的數(shù)量少.因此,“cs”類型問題應(yīng)該有較大變化才能影響數(shù)據(jù)集的總體效果.數(shù)據(jù)集的具體分布如表2 所示,“all”是所有問題,“#”表示數(shù)量.

表2 數(shù)據(jù)集MCScript 的數(shù)據(jù)分布
外部知識(shí)集合K 的構(gòu)建:由于要給模型輸入相關(guān)的外部知識(shí),本文采用如下3 個(gè)步驟挑選得到與 D,Q和C 有關(guān)的外部知識(shí)集合K.第1 步,從外部知識(shí)庫中搜索包含 D ,Q和C 中詞語(去停詞)的知識(shí)三元組.本文使用圖結(jié)構(gòu)存儲(chǔ)的ConceptNet[20]作為外部知識(shí)庫,ConceptNet 做外部知識(shí)庫是因?yàn)槠洳捎枚喾N資源構(gòu)建,包含OMCS[21],Open Multilingual Word Net[22],Open-Cyc[23],DBPedia[24],JMDict[25]和“Games with a purpose”[26-28].知識(shí)圖中每兩個(gè)節(jié)點(diǎn)和其連接邊可組成一個(gè)外部知識(shí)三元組,兩節(jié)點(diǎn)分別是 subj 和o bj,邊為兩節(jié)點(diǎn)的關(guān)系r el.第2 步,根據(jù)以下兩點(diǎn)對(duì)外部知識(shí)進(jìn)行打分:(1)外部知識(shí)中的詞在給定的不同文本中出現(xiàn)的重要性不同,在候選項(xiàng)中出現(xiàn)最重要,問題其次,文章更次;(2)外部知識(shí)三元組里出現(xiàn)在給定文本中的詞數(shù)在外部知識(shí)總詞數(shù)的占比,并排序選出得分最高的前50 條知識(shí).其中一條外部知識(shí)三元組k 的相關(guān)性得分的計(jì)算如式(10)和式(11):

式中, scoresubj為 s ubj分?jǐn)?shù),有4 個(gè)值,取值方式為:subj中的詞如果出現(xiàn)在選項(xiàng)中給4 分,如果出現(xiàn)在問題中為3 分,如果在文章中給2 分,不出現(xiàn)給0 分.scoreobj類似.式(11)中c nt()為 詞語數(shù)量,∪表示兩者中出現(xiàn)過的所有詞,∩表示兩者中共同出現(xiàn)的詞.第3 步,為防止外部知識(shí)出現(xiàn)頻率對(duì)模型選答案造成影響,使兩條選項(xiàng)所對(duì)應(yīng)的外部知識(shí)數(shù)量一致,本文首先把選項(xiàng)對(duì)應(yīng)的外部知識(shí)進(jìn)行排序,保留所有選項(xiàng)前 x條外部知識(shí)( x為對(duì)應(yīng)外部知識(shí)最少的選項(xiàng)的外部知識(shí)數(shù)量).所有只與文章或與問題有關(guān)的外部知識(shí)則都保留.
本文提出的模型采用Pytorch 框架構(gòu)建實(shí)現(xiàn).詞嵌入為300 維預(yù)訓(xùn)練Glove 詞向量[15]和8 維人工特征拼接的308 維向量.MCScript 數(shù)據(jù)集中每道題對(duì)應(yīng)2 個(gè)選項(xiàng),人工特征為8 維,即是否出現(xiàn)在文章D,問題 Q,選項(xiàng) c1,選項(xiàng) c2,同時(shí)出現(xiàn)在文章D 和候選項(xiàng)c1,同時(shí)出現(xiàn)在文章D 和候選項(xiàng) c2,問題Q 和候選項(xiàng)中c1,問題Q 和候選項(xiàng) c2中.由于外部知識(shí)三元組中r el是外部知識(shí)庫自己定義的字符表示并且種類固定(ConceptNet中為34 種),本文采用34 個(gè)308 維隨機(jī)初始化向量分別表示這些關(guān)系.BiLSTM 的隱層是150 維,損失函數(shù)是NLLLoss.采用Adamax算法[29]以0.002 為初始學(xué)習(xí)率開始訓(xùn)練,并在每10 個(gè)批大小(batch size)進(jìn)行更新.為防止過擬合,嵌入層和編碼層都采用概率0.4 的丟失策略(dropout).答案層采用8 層的BiLSTM 進(jìn)行8 步推理,答案層隨機(jī)丟失的概率也為0.4.模型共訓(xùn)練50 輪(epoch).
本文采用準(zhǔn)確率來評(píng)估模型,如式(12)計(jì)算.

表3 展示了本文模型與其他模型的實(shí)驗(yàn)對(duì)比結(jié)果.其中“—”表示數(shù)據(jù)未提供,“*”表示是使用原作者提供的代碼復(fù)現(xiàn)的結(jié)果,除了MITRE 均為單模型結(jié)果.
表3 中Random,Sliding Window,Bilinear Model 和Attentive Reader 是MCScript 上的實(shí)驗(yàn)基線系統(tǒng).Co-Matching[10]是本文模型的基線系統(tǒng).HMA[30],TriAN[12]是競(jìng)賽前兩名的單模型結(jié)果.MITRE[31]是競(jìng)賽第3 名的集成模型的結(jié)果,因?yàn)槠涫褂貌煌Y(jié)構(gòu)的模型集成,并非同一結(jié)構(gòu)不同隨機(jī)種子訓(xùn)練的模型集成,因此將其3 個(gè)集成模型MITRE(NN-T),MITRE(NN-GN)和MITRE(LR)的結(jié)果也列在表中.其中GCN[13]和TriAN[12]是隱式引入外部知識(shí)到模型詞嵌入層中的模型,而本文模型是在編碼之后顯示引入外部知識(shí)的模型,其余模型都未引入外部知識(shí).

表3 不同模型的準(zhǔn)確率對(duì)比(單位:%)
本文模型在MCScrip 中需要外部知識(shí)輔助的問題(“cs”類型的問題)上取得了79.95%的準(zhǔn)確率,超過Co-Matching 的準(zhǔn)確率2.92%,甚至超過了MITRE 集成模型在“cs”類型的問題上0.95%的準(zhǔn)確率.而僅由文章推理可得答案的問題(“text”類型的問題)取得了81.53%的準(zhǔn)確率,相比于Co-Matching 的準(zhǔn)確率提升0.32%,說明本文模型在引入外部知識(shí)時(shí)保持“text”類型的問題性能不降低.從總體性能和問題占比情況看,本文模型取得了81.01%的準(zhǔn)確率,相比Co-Matching提升了1%,這主要是靠在數(shù)據(jù)集中相對(duì)數(shù)量少的、占比約30%的“cs”類型問題近3%的提升所貢獻(xiàn)的.該實(shí)驗(yàn)結(jié)果與本文目標(biāo)通過提升需外部知識(shí)輔助問題的性能,從而幫助選擇題型閱讀理解是一致的.另外,與表3 中總體性能(“all”問題的準(zhǔn)確率)超過本文模型的集成模型MITRE 和單模型TriAN(擴(kuò)展訓(xùn)練數(shù)據(jù))比較,MITRE 效果好于本文模型是因?yàn)槠涫褂? 個(gè)子模型集成,然而其3 個(gè)子模型各自的在“all”問題的準(zhǔn)確率均低于本文單模型效果;與單模型TriAN(擴(kuò)展訓(xùn)練數(shù)據(jù))比較,本文模型準(zhǔn)確率比TriAN 低0.93%,這是因?yàn)門riAN 使用了額外的大規(guī)模單選題數(shù)據(jù)集RACE做訓(xùn)練,而本文未使用額外訓(xùn)練數(shù)據(jù).當(dāng)TriAN 只用MCScript 進(jìn)行訓(xùn)練時(shí)結(jié)果為80.51%,本文模型的結(jié)果高于其結(jié)果0.50%.
為了深入分析不同外部知識(shí)數(shù)量對(duì)模型的影響,表4 展示了不同外部知識(shí)的結(jié)果.當(dāng)知識(shí)數(shù)量為100條時(shí),“cs”類問題的效果最好,但總體性能相比50 條時(shí)略有下降.整體觀察表格中數(shù)據(jù)情況,可以發(fā)現(xiàn)當(dāng)外部知識(shí)數(shù)量越高,模型的效果整體呈降低趨勢(shì),這可能是由于隨著外部知識(shí)的引入同時(shí)會(huì)帶來噪聲,說明構(gòu)建外部知識(shí)集合K 的方式、外部知識(shí)被引進(jìn)模型及與文章問題選項(xiàng)三者交互的方式仍可以被改進(jìn).

表4 不同外部知識(shí)數(shù)量情況下test 上的準(zhǔn)確率(單位:%)
本文還進(jìn)行了消減實(shí)驗(yàn)用以分析外部知識(shí)的引入以及利用外部知識(shí)和文章信息一起進(jìn)行推理的作用.首先本文模型分別與如下3 種模型對(duì)比:(1)“-外部知識(shí)引入”是指僅采用上下文編碼信息進(jìn)行匹配和多步推理,僅在本文模型上刪去外部知識(shí)引入層;(2)“-答案多步推理”是在本文模型上刪去多步推理答案層,僅使用Co-Matching 模型原本的答案層,但保留了外部知識(shí)的引入;(3)“-外部知識(shí)引入&答案多步推理”是在本文模型中刪除外部知識(shí)引入和多步推理兩種模塊.表5 給出了消減實(shí)驗(yàn)的結(jié)果,“-”表示刪減某個(gè)模塊.
對(duì)比表5 中“本文模型”和“-外部知識(shí)引入”發(fā)現(xiàn)刪除外部知識(shí)的輔助在“cs”類型問題上有1.94%的下降,并且表中包含外部知識(shí)引入的模型(“本文模型”和“-答案多步推理”)在“cs”類型問題的結(jié)果都高于其余兩種無外部知識(shí)輔助模型的效果,證明加入外部知識(shí)信息是有助于回答需要外部知識(shí)輔助類型問題的.
對(duì)比表5 中“本文模型”和“-答案多步推理”,發(fā)現(xiàn)在“cs”類型問題的表現(xiàn)上下降0.94%,說明在語義匹配的基礎(chǔ)上進(jìn)一步利用外部信息推理是對(duì)答題有幫助的.“-答案多步推理”和“-外部知識(shí)引入”對(duì)比,發(fā)現(xiàn)刪去多步推理機(jī)制比刪去外部知識(shí)引入對(duì)“text”類型的問題影響更大.對(duì)比“-答案多步推理”和“-外部知識(shí)引入&答案多步推理”,發(fā)現(xiàn)在“text”類型的問題上“-答案多步推理”要略遜0.10%,說明引入外部知識(shí)信息后若僅采用語義匹配,不增加推理步驟可能會(huì)對(duì)“text”類型的回答略有影響,也證明了利用外部知識(shí)進(jìn)行推理(而不僅僅是語義匹配)在使模型盡可能不降低“text”類型的效果上略有幫助.

表5 test 上的消減實(shí)驗(yàn)準(zhǔn)確率(單位:%)
表6 中為本文模型和基線模型Co-Matching 每一輪(epoch)平均訓(xùn)練時(shí)間、訓(xùn)練至目標(biāo)函數(shù)的損失值波動(dòng)平穩(wěn)的收斂時(shí)間和全部測(cè)試數(shù)據(jù)的測(cè)試時(shí)間.本文模型對(duì)基線模型Co-Matching 的各層都增加了功能,時(shí)間的主要增長來源應(yīng)是額外增添的外部知識(shí)融入層和多步推理答案層,因此訓(xùn)練時(shí)間、收斂時(shí)間和測(cè)試時(shí)間都有所增加,但增加的時(shí)間在合理可控的范圍內(nèi).

表6 每輪的運(yùn)行時(shí)間分析(單位:s)
針對(duì)需要外部知識(shí)輔助的單項(xiàng)選擇題閱讀理解問題,本文提出了一個(gè)利用外部知識(shí)輔助和多步推理的選擇題型機(jī)器閱讀理解模型,這個(gè)模型在保證引入外部知識(shí)的情況下,不降低回答僅需文章推理的問題性能的同時(shí),提高需要外部知識(shí)輔助問題的性能,從而提高模型的整體性能.本文的實(shí)驗(yàn)結(jié)果證明提出的模型的有效性,然而對(duì)比人類的結(jié)果還有巨大的差距,因此接下來將更深入分析人類回答兩類問題的特點(diǎn),模擬人類的回答方式探索更細(xì)致有效的外部知識(shí)引入模型的方式,研究不同外部知識(shí)引入方式對(duì)模型性能的影響.