楊?yuàn)檴?姜麗芬,孫華志,馬春梅
(天津師范大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,天津 300387)
機(jī)器閱讀理解是在限定上下文的條件下為給定問題找到答案的一類任務(wù),它是自然語言處理的核心任務(wù)之一[1]。近年來,機(jī)器閱讀理解已經(jīng)成為評(píng)價(jià)人工智能系統(tǒng)在自然語言處理領(lǐng)域的一個(gè)重要應(yīng)用問題,計(jì)算機(jī)語言學(xué)領(lǐng)域?qū)ζ浣o予了極大的關(guān)注。傳統(tǒng)的機(jī)器閱讀理解系統(tǒng)主要依賴于語言注釋、結(jié)構(gòu)化的外界知識(shí)和語義分析[2],對(duì)專業(yè)知識(shí)的要求較高,不具備普遍適用性。隨著深度學(xué)習(xí)在自然語言處理領(lǐng)域的廣泛應(yīng)用,基于深度神經(jīng)網(wǎng)絡(luò)的機(jī)器閱讀理解也迅速發(fā)展[3-5]。當(dāng)前機(jī)器閱讀理解一般分為完形填空式、問答式和多項(xiàng)選擇式三類。
早期基于深度學(xué)習(xí)的機(jī)器閱讀理解主要是完形填空式。完形填空式任務(wù)是在機(jī)器閱讀并理解一篇文章的內(nèi)容后,要求機(jī)器對(duì)指定問題進(jìn)行回答,而問題一般是被抽掉某個(gè)實(shí)體詞的句子,機(jī)器回答問題的過程就是預(yù)測問題句子中被抽掉的實(shí)體詞,且一般要求被抽掉的實(shí)體詞在文章中出現(xiàn)過。2015年,大型的完形填空閱讀理解數(shù)據(jù)集CNN/DailyMail[2]和CBT[6]的相繼公布為機(jī)器閱讀理解提供了豐富的語料,基于深度學(xué)習(xí)的機(jī)器閱讀理解方法也隨之得到廣泛應(yīng)用。文獻(xiàn)[7]將注意力機(jī)制應(yīng)用于機(jī)器閱讀理解,并提出了經(jīng)典的ASReader模型。文獻(xiàn)[8]基于多跳結(jié)構(gòu)提出門控注意力模型。文獻(xiàn)[9]提出用于機(jī)器閱讀理解的迭代交替注意力機(jī)制。但是有學(xué)者對(duì)CNN/DailyMail進(jìn)行詳細(xì)評(píng)估后發(fā)現(xiàn),該類任務(wù)需要處理的邏輯相對(duì)簡單,現(xiàn)有的針對(duì)完形填空式任務(wù)的機(jī)器閱讀理解方法基本已經(jīng)達(dá)到了該類任務(wù)的準(zhǔn)確度上限[10]。
由于完形填空式任務(wù)的解決相對(duì)簡單,學(xué)者們試圖構(gòu)造出更加復(fù)雜的閱讀理解數(shù)據(jù)集來增強(qiáng)機(jī)器對(duì)文本的推理,而近年來問答式閱讀理解數(shù)據(jù)集SQuAD[11]和NewsQA[12]引起了廣泛關(guān)注,問答式機(jī)器閱讀理解也隨之興起。問答式任務(wù)是在給定文章和問題的條件下,機(jī)器閱讀進(jìn)行一定的推理,進(jìn)而預(yù)測出正確答案,且正確答案一般是文章中的文本段。目前,很多有效的機(jī)器閱讀理解模型已經(jīng)被應(yīng)用于問答式任務(wù),文獻(xiàn)[13]使用雙向注意力機(jī)制對(duì)文章和問題進(jìn)行匹配,并構(gòu)建了BiDAF模型。文獻(xiàn)[14]將自匹配注意力機(jī)制應(yīng)用于序列的自關(guān)注,提出自匹配網(wǎng)絡(luò)。文獻(xiàn)[15]將卷積神經(jīng)網(wǎng)絡(luò)、多頭注意力機(jī)制和前饋神經(jīng)網(wǎng)絡(luò)相結(jié)合作為編碼器,并提出QANet模型,但是由于問答式任務(wù)中正確答案是文章中的文本段,一般通過檢索出答案的開始位置和結(jié)束位置即可得到答案,因此多數(shù)面向問答式任務(wù)的模型主要關(guān)注淺層的語義,并不適用于更深層次的推理。
當(dāng)前機(jī)器閱讀理解任務(wù)面臨的主要挑戰(zhàn)仍然是多句推理,這對(duì)挖掘深層語義提出更高的要求。針對(duì)多項(xiàng)選擇式和問答式任務(wù)的機(jī)器閱讀理解方法存在的上述局限性,且不能很好地解決該問題,因此進(jìn)行復(fù)雜語義推理的多項(xiàng)選擇式任務(wù)逐漸占據(jù)主流。多項(xiàng)選擇式任務(wù)是給定了文章、問題和候選答案,機(jī)器經(jīng)過理解和推理,從候選答案中選擇出正確的答案,候選答案多數(shù)是由句子組成,且一般不會(huì)在原文中出現(xiàn)。相比于完形填空式和問答式任務(wù),由于正確答案多數(shù)無法在原文中找到,多項(xiàng)選擇式任務(wù)將會(huì)更加復(fù)雜、更具有代表性,因此本文以多項(xiàng)選擇式任務(wù)為研究內(nèi)容。面向多項(xiàng)選擇的機(jī)器閱讀理解模型主要是基于循環(huán)神經(jīng)網(wǎng)絡(luò),文獻(xiàn)[16]使用雙向GRU進(jìn)行特征提取,并結(jié)合注意力機(jī)制提出分層注意力流模型,文獻(xiàn)[17]使用分層的雙向長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)分別提取句子級(jí)別和文檔級(jí)別的特征。利用循環(huán)神經(jīng)網(wǎng)絡(luò)提取特征,盡管從理論上能夠捕獲無限長的記憶,從而建立上下文間的長期依賴關(guān)系,但是仍存在梯度消失問題,且隨著需要處理序列的增長,還有一定程度的信息丟失,導(dǎo)致無法捕獲全局的語義關(guān)系。
為有效地對(duì)文章、問題和候選答案進(jìn)行匹配以減少特征的丟失,基于時(shí)間卷積網(wǎng)絡(luò)(Temporal Convolutional Network,TCN)[18],本文構(gòu)建一種面向多項(xiàng)選擇的機(jī)器閱讀理解M-TCN模型。該模型在中國初高中英語考試的閱讀理解數(shù)據(jù)集RACE[19]上進(jìn)行訓(xùn)練,并與現(xiàn)有機(jī)器閱讀理解模型進(jìn)行對(duì)比分析,以驗(yàn)證該模型的機(jī)器閱讀理解性能。
針對(duì)多項(xiàng)選擇式任務(wù),本文采用深度學(xué)習(xí)技術(shù)構(gòu)建一種M-TCN模型,該模型結(jié)構(gòu)如圖1所示。在圖1中,假設(shè)P表示文章,Q表示問題,A表示一個(gè)候選答案,該模型通過預(yù)訓(xùn)練好的詞向量文件將P、Q和A中的每個(gè)單詞向量化,并采用單層的雙向LSTM網(wǎng)絡(luò)[20]對(duì)向量化后的序列進(jìn)行編碼,以獲得文章、問題和候選答案的上下文表示。為了對(duì)文章、問題和候選答案進(jìn)行匹配,構(gòu)建三者之間的內(nèi)在聯(lián)系,分別計(jì)算文章和問題以及文章和候選答案之間的注意力,并利用融合函數(shù)將注意力值與文章的上下文表示相融合。同時(shí),使用TCN和最大池化方法對(duì)匹配表示分層進(jìn)行句級(jí)聚合和文檔級(jí)聚合。M-TCN模型的目標(biāo)是計(jì)算出每一個(gè)候選答案的概率,并以概率最大的候選答案作為預(yù)測標(biāo)簽。
圖1 本文模型結(jié)構(gòu)Fig.1 Structure of the proposed model
注意力層主要負(fù)責(zé)匹配和融合來自文章、問題和候選答案的信息。本文使用注意力機(jī)制同時(shí)對(duì)文章和問題以及文章和候選答案進(jìn)行匹配,在存在監(jiān)督訓(xùn)練的過程中,通過更新參數(shù)矩陣學(xué)習(xí)來顯示出問題和候選答案中與文章密切相關(guān)的內(nèi)容,忽略與文章不相關(guān)的內(nèi)容,注意力向量的計(jì)算方法如下:
Sq=Softmax(Hpδ((HqWm+bm)T)
Sa=Softmax(Hpδ((HaWm+bm)T)
Tq=SqHq
Ta=SaHa
(1)
為了整合原始上下文表示,從不同層次反映語義信息,本文將文章上下文表示Hp分別與問題注意力向量Tq以及候選答案注意力向量Ta相融合,并產(chǎn)生矩陣Q′和A′,Q′和A′的計(jì)算方法為:
Q′=β(Hp,Tq)
A′=β(Hp,Ta)
(2)
其中,β是一個(gè)需要訓(xùn)練的融合函數(shù),最簡單的融合方法是將2個(gè)輸入相結(jié)合,然后進(jìn)行線性或非線性變換。為了更好地提取融合特征,文獻(xiàn)[21]提出一種基于差異性與相似性的融合方法,該方法能有效組合不同的表示形式,同時(shí)本文參考文獻(xiàn)[17]采用的融合方式對(duì)β進(jìn)行如下定義:
β(Hp,Tq)=δ([Tq-Hp;Tq·Hp]Wz+bz)
(3)
其中,[;]表示矩陣的連結(jié)操作,“-”“.”表示2個(gè)矩陣之間逐元素的減法和乘法操作,Wz和bz是需要學(xué)習(xí)的參數(shù)。
將Q′和A′相結(jié)合得到注意力層的輸出,計(jì)算方法為:
M=[Q′;A′]
(4)
為了捕獲文章的句子結(jié)構(gòu),建立句子之間的聯(lián)系,本文在匹配層的基礎(chǔ)上建立了聚合層。首先將文章分為單個(gè)的句子,并用P1,P2,…,PN分別表示文章中的每個(gè)句子,其中,N表示文章中句子的總個(gè)數(shù)。對(duì)于每一個(gè)三元組(Pn,Q,A),n∈[1,N],通過前幾層的處理可以得到匹配表示Mn。為了捕獲Mn中上下文間的長距離依賴關(guān)系,減少特征丟失,本文采用TCN來提取高層特征。
TCN是一種特殊的一維時(shí)間卷積網(wǎng)絡(luò),用于序列建模任務(wù),文獻(xiàn)[15]表明,TCN在多種任務(wù)和數(shù)據(jù)集上的性能均優(yōu)于LSTM等典型的循環(huán)神經(jīng)網(wǎng)絡(luò),且相比于循環(huán)神經(jīng)網(wǎng)絡(luò),TCN可以記住更長的歷史信息,捕獲更全局的語義關(guān)系。在序列建模任務(wù)中,一般有以下2個(gè)要求:
1)模型產(chǎn)生與輸入長度相同的輸出。
2)信息的傳遞是單向的,且未來的信息僅由過去的信息決定。
(5)
其中,d表示空洞因子,k表示卷積核的大小,空洞卷積如圖2所示。TCN中還加入了殘差連接[22]、權(quán)值歸一化[23]和空間Dropout[24]來提高性能,TCN的整體架構(gòu)如圖3所示。
圖2 空洞卷積示意圖Fig.2 Schematic diagram of hole convolution
圖3 TCN整體結(jié)構(gòu)Fig.3 The overall structure of TCN
本文模型采用2個(gè)分層的TCN,第一層TCN的輸入是匹配表示Mn,得到的輸出緊接著進(jìn)行最大池化,計(jì)算方法為:
Sn=MaxPooling(TCN(Mn))
(6)
S=[S1;S2;…;SN]
D=MaxPooling(TCN(S))
(7)
(8)
其中,Wv是需要學(xué)習(xí)的參數(shù)。
機(jī)器閱讀理解的效果與采用的數(shù)據(jù)集密切相關(guān),本文采用RACE數(shù)據(jù)集。RACE數(shù)據(jù)集是一個(gè)基于中國初高中英語考試的多項(xiàng)選擇閱讀理解數(shù)據(jù)集,由27 933篇文章和97 687個(gè)問題組成,每個(gè)問題配有4個(gè)候選答案,且只有一個(gè)正確答案。為了對(duì)應(yīng)初中和高中閱讀理解難度水平,該數(shù)據(jù)集包含2個(gè)子數(shù)據(jù)集,分別為初中閱讀理解數(shù)據(jù)集RACE-M和高中閱讀理解數(shù)據(jù)集RACE-H。將RACE數(shù)據(jù)集看成三元組{P,Q,A}的集合。實(shí)驗(yàn)數(shù)據(jù)的具體信息如表1所示,該數(shù)據(jù)集的樣例如表2所示。
表1 實(shí)驗(yàn)數(shù)據(jù)信息Table 1 Experimental data information
表2 RACE數(shù)據(jù)集的樣例Table 2 Example of RACE dataset
本文模型在配備有英特爾i7 CPU以及NVIDIA GTX1080Ti GPU的計(jì)算機(jī)上進(jìn)行訓(xùn)練,采用深度學(xué)習(xí)框架Pytorch,集成開發(fā)環(huán)境為Pycharm。在深度學(xué)習(xí)中模型參數(shù)的調(diào)整對(duì)實(shí)驗(yàn)結(jié)果有重要的影響,參數(shù)過大或過小都會(huì)影響模型的精度。本文通過實(shí)驗(yàn)并結(jié)合經(jīng)驗(yàn)手動(dòng)調(diào)節(jié)參數(shù),對(duì)模型進(jìn)行科學(xué)訓(xùn)練,以提高資源利用率。其中,參數(shù)的調(diào)整包括TCN層數(shù)、TCN隱層節(jié)點(diǎn)數(shù)與學(xué)習(xí)率等,并探索了這些參數(shù)在不同配置下對(duì)模型精度的影響。
2.2.1 TCN層數(shù)的選擇
從理論上來講,增加TCN的層數(shù)可以增強(qiáng)非線性表達(dá)能力,提取更深層次的特征,從而提升模型的性能。在利用本文模型進(jìn)行機(jī)器閱讀理解的過程中,需要對(duì)TCN的層數(shù)進(jìn)行實(shí)驗(yàn)驗(yàn)證,驗(yàn)證結(jié)果如表3所示。從表3可以看出,模型的精度隨著TCN層數(shù)的增加呈現(xiàn)先上升后下降的趨勢,這是由于TCN層數(shù)越多,模型的參數(shù)量越大,反而不易訓(xùn)練,為了使模型能夠保持良好的性能,實(shí)驗(yàn)選擇TCN的層數(shù)為3層。
表3 TCN層數(shù)對(duì)模型精度的影響Table 3 Influence of TCN layers on model accuracy
2.2.2 TCN隱層節(jié)點(diǎn)數(shù)的選擇
TCN隱層節(jié)點(diǎn)數(shù)是模型提取數(shù)據(jù)特征能力大小的重要參數(shù),且如果TCN隱層節(jié)點(diǎn)數(shù)太少,則網(wǎng)絡(luò)性能較差,如果TCN隱層節(jié)點(diǎn)數(shù)太多,雖然能夠減小網(wǎng)絡(luò)的系統(tǒng)誤差,但是會(huì)使得訓(xùn)練時(shí)間延長,甚至出現(xiàn)過擬合,因此選擇合適的隱層節(jié)點(diǎn)數(shù)十分重要。本文考察了不同TCN隱層節(jié)點(diǎn)數(shù)對(duì)模型精度的影響,結(jié)果如表4所示。從表4可以看出,模型的精度隨著TCN隱層節(jié)點(diǎn)數(shù)的增加呈現(xiàn)先增加后降低的趨勢。因此,實(shí)驗(yàn)選擇TCN隱層節(jié)點(diǎn)數(shù)為450。
表4 TCN隱層節(jié)點(diǎn)數(shù)對(duì)模型精度的影響Table 4 Influence of the number of hidden nodes in TCN on model accuracy
2.2.3 模型學(xué)習(xí)率的選擇
學(xué)習(xí)率控制著參數(shù)更新的速度,如果學(xué)習(xí)率過大可能導(dǎo)致參數(shù)在最優(yōu)解兩側(cè)振蕩,如果學(xué)習(xí)率過小會(huì)極大降低模型的收斂速度。圖4給出了本文模型在不同學(xué)習(xí)率下的精度。從圖4可以看出,隨著訓(xùn)練次數(shù)的增加,模型的精度逐漸趨于穩(wěn)定;當(dāng)學(xué)習(xí)率為0.001時(shí),本文模型的精度最高,為了保證模型的收斂速度以及性能,實(shí)驗(yàn)將學(xué)習(xí)率設(shè)置為0.001。
圖4 學(xué)習(xí)率對(duì)模型精度的影響Fig.4 Influence of learning rate on model accuracy
為了對(duì)模型效果進(jìn)行評(píng)估,實(shí)驗(yàn)將GA(Gated Attention)[8]模型、ElimiNet(Eliminate Network)[25]模型、HAF(Hierarchical Attention Flow)[16]模型、MRU(Multi-range Reasoning Units)[26]模型、HCM(Hierarchical Co-Matching)[17]模型與本文模型進(jìn)行比較,并以精度作為衡量模型性能的指標(biāo),結(jié)果如表5所示。從表5可以看出,本文模型在RACE-H數(shù)據(jù)集與RACE數(shù)據(jù)集上的精度分別達(dá)到了48.9%、52.5%,均優(yōu)于其他基線模型,僅在RACE-M數(shù)據(jù)集上的精度次于MRU模型,說明了本文模型有效且具有一定的優(yōu)勢。
表5 本文模型與基線模型的精度對(duì)比Table 5 Accuracy comparison between the proposed model and the baseline model %
為了證明本文模型中各個(gè)功能模塊的有效性,本文還進(jìn)行了模型簡化實(shí)驗(yàn)來探索注意力機(jī)制、融合函數(shù)以及TCN對(duì)模型效果的影響,結(jié)果如表6所示。從表6可以看出,當(dāng)從本文模型中去除注意力機(jī)制、融合函數(shù)或者TCN時(shí),該模型的精度分別下降了9.1%、7.8%、7.9%,下降的幅度較大,證明了注意力機(jī)制、融合函數(shù)以及TCN是影響模型效果的重要因素。
表6 在RACE數(shù)據(jù)集上的模型簡化實(shí)驗(yàn)結(jié)果Table 6 Experimental results of model simplification on RACE dataset %
本文提出一種基于TCN的機(jī)器閱讀理解M-TCN模型,并將其應(yīng)用于多項(xiàng)選擇任務(wù)。該模型使用注意力機(jī)制對(duì)文章、問題和候選答案進(jìn)行匹配,采用TCN提取高層特征。實(shí)驗(yàn)結(jié)果表明,M-TCN模型在RACE數(shù)據(jù)集上的預(yù)測精度達(dá)到了52.5%,與同類模型相比具有一定的優(yōu)勢。后續(xù)將在本文工作的基礎(chǔ)上,采用預(yù)訓(xùn)練技術(shù)進(jìn)一步提升模型效果,并不斷增強(qiáng)其推理能力。