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