賀文靜,張 虎
(山西大學計算機與信息技術(shù)學院,山西太原 030006)
機器閱讀理解的主要目標是讓機器閱讀一段材料后回答問題。研究主要分為基于規(guī)則、基于機器學習、基于深度學習3個發(fā)展階段。
20 世紀70 年代,基于規(guī)則的閱讀理解方法[1]受到普遍關(guān)注。Lehnert[2]采用策略模擬和腳本設(shè)計一種關(guān)于問答系統(tǒng)的框架。Hirschman 等[3]結(jié)合問題選擇與問題匹配度最高的句子,基于規(guī)則的詞袋模型設(shè)計DEEP READ系統(tǒng)。
在機器學習研究階段,人們嘗試將機器閱讀理解轉(zhuǎn)化為有監(jiān)督學習問題。Narasimhan 等[4]在最大化模型概率的同時,既考慮句子間的關(guān)系,又通過設(shè)置隱變量捕捉句子間的關(guān)聯(lián)。Sachan 等[5]根據(jù)潛在結(jié)構(gòu)支持向量機將問題或預(yù)期答案類型進行劃分。
隨著深度學習發(fā)展,Hermann 等[6]提出神經(jīng)網(wǎng)絡(luò)模型Attentive Reader,該模型通過注意力機制結(jié)合問題與文章內(nèi)容,以便于抽取答案片段。Seo 等[7]通過雙向注意力獲得每個時間步的上下文向量表示,動態(tài)獲取文章和問題間的交互模式。
近年來,Vaswani 等[8]提出的Transformer 結(jié)構(gòu)和Devlin等[9]提出的大規(guī)模預(yù)訓(xùn)練模型BERT 進一步加速機器閱讀理解的發(fā)展。其中,Transformer 的自注意力機制相較于LSTM 的記憶/遺忘機制,建模長距離依賴的優(yōu)勢更強;BERT 將Transformer 作為特征抽取器,能夠更好地獲取上下文信息。
目前,機器閱讀理解在實際任務(wù)中都達到了較好的效果,但面對篇幅較長、冗余信息較多的閱讀理解材料時,現(xiàn)有模型只能從原文中抽取與問題相關(guān)的單個連續(xù)片段回答問題,作答準確率較低。
為此,本文對高考閱讀理解數(shù)據(jù)集進行分析,發(fā)現(xiàn)高考閱讀理解數(shù)據(jù)集的閱讀材料一般由多個文本段落組成,答案來源于不同段落的片段。由圖1 可見,候選答案句分布于3 個不同段落,需要先從文本中精準定位各個關(guān)鍵片段。
Fig.1 Examples of college entrance examination reading comprehension圖1 高考閱讀理解樣例
此外,通過樣例分析發(fā)現(xiàn),材料中答案句子的數(shù)量遠小于非答案句(見表1),這種數(shù)據(jù)的非平衡性對基于分類的答案句抽取方法影響較大。
由表1 可知,當訓(xùn)練集句子總數(shù)>30 時,候選句條數(shù)平為4 條,測試集候選句總數(shù)為7 條;當訓(xùn)練集句子總數(shù)≤30時,候選句條數(shù)平為3條,測試集候選句總數(shù)為6條。
Table 1 Analysis of candidate sentences in training set and test set表1 訓(xùn)練集和測試集中候選句條數(shù)分析
由表2 可知,候選答案句數(shù)(標簽為1)和句子總數(shù)(標簽為0)的比例約為1:7,答案句的數(shù)量遠小于非答案句數(shù)量。
Table 2 Proportion of answer sentences and sentences in the material表2 材料中的答案句和句子占比
針對以上問題,為保證提取候選句的精確率,在最大限度上召回答案句。本文引入段落篩選器解決語文閱讀理解中正負樣本不均衡的問題,并采用數(shù)據(jù)增強方法擴充答案句數(shù)量以緩解正負樣本不均衡對模型性能產(chǎn)生的影響。
綜上所述,本文以國內(nèi)高考語文閱讀理解問答題為實驗數(shù)據(jù),提出面向多段落高考閱讀理解的答案句子抽取方法。主要貢獻包括:①提出“段落篩選器—答案句抽取”的高考閱讀理解答題框架,設(shè)計基于詞頻—逆文件頻率(Term Frequency-Inverse Document Frequency,TF-IDF)的段落篩選器;②設(shè)計基于文本增強(Easy Data Augmentation,EDA)的答案句擴充方法,解決數(shù)據(jù)集中答案句與非答案句不平衡的問題;③實現(xiàn)基于RoBERTa 模型的答案句抽取。
主要從機器閱讀理解、候選句抽取和數(shù)據(jù)增強3 個方面梳理國內(nèi)外研究現(xiàn)狀。
機器閱讀理解旨在讓機器學習閱讀材料包含的語義信息,回答材料提出的問題,現(xiàn)已成為自然語言處理研究的一項重要任務(wù)。
目前,面向多文檔、多段落閱讀理解數(shù)據(jù)集的研究已受到廣泛關(guān)注。Wang 等[10]引入單詞級別的權(quán)重匹配和信息交互提出Match-LSTM 模型,有效預(yù)測答案起始和結(jié)束位置。Cui 等[11]引入AOA 層疊注意力機制,通過在文檔級的注意力機制上增加一層注意力以確定答案。Wang 等[12]引入門機制提出R-Net 模型,根據(jù)與問題的相關(guān)程度給文本每個詞賦于不同權(quán)重。譚紅葉等[13]針對描述類問題語義概括程度,將問題類型、主題、焦點特征與QU-NNs 模型進行融合,以便于有效提取文章信息。Zhang 等[14]基于BERT 對材料、問題進行編碼,并利用余弦相似度和注意力機制獲取材料和選項、材料和問題之間的權(quán)重信息。Lan等[15]通過精簡參數(shù)提升訓(xùn)練速度,同時引入自監(jiān)督損失增強學習句間的連貫性。
以上模型雖取得了較好的成效,但由于高考閱讀理解材料普遍較長,現(xiàn)有模型難以對材料進行預(yù)篩選,存在非答案區(qū)域的冗余段落,造成模型運行效率較低。
通過上述研究可知,獲取答案句是閱讀理解的最終目的。在候選句抽取過程中,首先通過信息檢索方法計算兩個句子的相似度,然后基于概率主題模型方法將文檔高維矩陣進行降維,實現(xiàn)低維空間表示,并基于此計算語義相關(guān)度。該方法雖然通過文檔與詞間的聯(lián)系進行建模,但忽略了句子間的聯(lián)系。
隨著深度神經(jīng)網(wǎng)絡(luò)的快速發(fā)展,基于神經(jīng)網(wǎng)絡(luò)方法抽取候選句也越來越普遍。郭少茹等[16]分析句子級語義信息以加強材料和選項的相關(guān)度,并通過不同維度計算句子的語義相關(guān)度,選出最佳答案。Xiong 等[17]動態(tài)協(xié)同注意力網(wǎng)絡(luò)(Dynamic Co-Attention Networks,DCN)融合表示問題和文檔,然后利用動態(tài)解碼器不斷更新答案范圍。Devlin 等[9]將BERT 模型用于抽取答案句,通過雙向Transformer 網(wǎng)絡(luò)獲取文本的語義表示。楊陟卓等[18]利用漢語框架網(wǎng)絡(luò)抽取與問句語義相似的候選句。
通過以上研究表明,目前所提出的模型在大部分問答數(shù)據(jù)集上均取得了不錯的效果。但由于高考閱讀題目數(shù)據(jù)集的答案區(qū)間較為分散,若直接將模型應(yīng)用于該數(shù)據(jù)集上時,實驗效果較差。
為了解決該問題,本文通過RoBERTa 模型對候選句是否為答案句的概率進行預(yù)測。
數(shù)據(jù)增強是一種常用的數(shù)據(jù)集擴充方式,但在自然語言處理領(lǐng)域,該方法仍處于探索階段。張一珂等[19]將數(shù)據(jù)增強模型表述為強化學習問題,利用對抗訓(xùn)練策略語言模型進行數(shù)據(jù)增強,采用蒙特卡洛搜索算法對生成序列的中間狀態(tài)進行評估。Wei 等[20]針對自然語言處理中的文本分類任務(wù)提出文本增強(Easy Data Augmentation,EDA)方法。
現(xiàn)有模型雖有效融合了問題及閱讀材料間的聯(lián)系,但仍存在部分問題尚待解決。例如,針對高考閱讀理解材料篇幅較長,答案由分散在不同段落中的句子概括而成,而現(xiàn)有研究方法未能根據(jù)該特性提出改進機制,導(dǎo)致模型性能普遍較低。
為此,探索融入段落篩選器和基于EDA 模型的答案句擴充方法對提高模型預(yù)測召回率、準確率存在十分重要的實際意義。
基于RoBERTa 所提出的面向多段落閱讀理解的答案句抽取模型的整體架構(gòu)如圖2 所示,該架構(gòu)主要包括段落篩選器、文本增強(EDA)和答案句抽取3個部分。
Fig.2 Overall model architecture圖2 模型整體架構(gòu)
首先,將整個材料按段落劃分,根據(jù)TF-IDF 計算段落與問題的相關(guān)性得分,按照分數(shù)對段落進行排序,為每個問題選擇最小TF-IDF 余弦距離的前k段落。
然后,通過EDA 模型利用隨機(等價)實體替換、隨機同義詞替換、隨機近義字替換、隨機字刪除、隨機置換鄰近的字共5 種方式對答案句進行擴充,使材料中的答案句和非答案句比例達到1∶1。
最后,采用RoBERTa 預(yù)訓(xùn)練語言模型獲取句子的嵌入表示,并將編碼后的句子表示輸入至全連接層進行打分,以預(yù)測句子是否為答案句。
機器閱讀理解任務(wù)是一個監(jiān)督學習問題,需要計算機在閱讀文本后回答相關(guān)問題。因此,可將問題描述為:給定一篇閱讀理解材料D={P1,P2,...,Pn},訓(xùn)練一個機器閱讀理解模型,該模型輸入為一段文本P和相對應(yīng)的問題Q,輸出為答案A:
在高考閱讀理解材料中,由于答案分布于一個或多個段落,不同段落對答案句具有不同的支撐作用。為了減少無關(guān)段落對模型預(yù)測的干擾,基于TF-IDF 段落篩選器計算每個段落與問題的相關(guān)度,并將相關(guān)度較高的段落按段落順序進行拼接。
問題描述為:基于每篇材料給出問題,根據(jù)TF-IDF 計算與問題相似度最高的前n個段落:
其中,wi,j為詞語ti在 段落pj中出現(xiàn)的次 數(shù),∑knk,j為段落pj中所有詞匯出現(xiàn)的次數(shù)總和,|N|為語料庫中的段落總數(shù),|{j:ti∈pj}|表示包含詞語ti的段落數(shù)目。若某個詞語未在語料庫中出現(xiàn),則會導(dǎo)致分母為0,因此在一般情況下會使用1+|{j:ti∈pj}|表示包含詞語ti的段落數(shù)目。
基于深度學習和機器學習的研究任務(wù)中通常會發(fā)生樣本不均衡問題。例如,高考閱讀理解數(shù)據(jù)集中答案句和非答案句樣本量差距較大。在這種情況下,模型會處于欠擬合狀態(tài),預(yù)測準確率較低。
為此,本文共使用了隨機(等價)實體替換、隨機同義詞替換、隨機近義字替換、隨機字刪除及隨機置換鄰近的字共5種樣本增強技術(shù)解決該問題。具體操作如下:
(1)隨機(等價)實體替換。從一段高考閱讀理解句子中隨機找出句中某個不屬于停用詞集的詞,將該實體與原句中的實體進行替換,并且重復(fù)執(zhí)行n次。
(2)隨機同義詞替換。從高考閱讀材料句中隨機選取一個詞匯,若它不屬于停用詞集,則隨機選擇它的同義詞進行替換,并且重復(fù)執(zhí)行n次。
(3)隨機近義字替換。從高考閱讀理解材料中隨機選取一個詞,使用近義詞預(yù)測工具尋找備選詞進行替換,并且重復(fù)執(zhí)行n次。
(4)隨機字刪除。從一段高考閱讀理解文本中隨機選取一個詞匯并刪除,并且重復(fù)執(zhí)行n次。
(5)隨機置換鄰近的字。從一段高考閱讀理解文本中隨機選取某個字和鄰近的n個字進行交換,若遇到特殊字符則停止操作,并且重復(fù)執(zhí)行n次。
其中,參數(shù)n表示對當前候選句文本的操作次數(shù)。
本文使用EDA 復(fù)制原始句子,通過隨機插入和隨機同義詞替換加入噪聲防止模型發(fā)生過擬合。表3 為使用EDA 模型進行5 種操作后的句子示例,原始答案句文本為“首先牡丹意象作為盛唐文化的表征,在民族記憶強大的恒定力的籠罩下,其內(nèi)涵被剝奪了拓展的可能和空間。”
Word2Vec 或Glove 的嵌入層僅為每個單詞提供一個上下文無關(guān)的向量表示,而RoBERTa 的嵌入層不僅在句子的開頭和結(jié)尾分別加入特殊字符,還將單詞本身的詞向量、句向量和位置進行向量疊加,再將疊加后的嵌入向量作為輸入,最后輸出整個句子詞級別的上下文向量表示。
Table 3 EDA enhancement example表3 EDA增強示例
由于需要對答案句進行抽取,故采用改進RoBERTa 模型將輸入序列組成兩個句子對,即問句—答案候選句,然后對候選句進行二分類以判斷每個候選句是否為答案句。為了便于計算,使用RoBERTa 作為模型編碼器獲得句子S和問題Q的向量化表示,計算公式如下:
其中,input表示RoBERT的輸入序列,v表示句子和問題的向量化表示,本文將[CLS]在v中得到的向量c來表示當前輸入的句子和問題,然后輸入全連接層Dense得到當前選項是否為支撐句的概率。
式中,S表示句子與問題Q間的關(guān)系為答案句的概率,y取值為0 或1,當y=0 時表示該句子不是該問題答案,當y=1 時表示該句子是該問題答案,L(S|P,Q)表示該句子是問題Q正確答案的損失值。
由于高考問答題在閱讀理解中所占比例較小,本文采用的數(shù)據(jù)集包括各省高考真題、模擬題及對選擇題改造的問答題,并基于RoBERTa 模型在高考語文閱讀理解問答任務(wù)上進行適當微調(diào),微調(diào)語料采用各省450 套(不含北京卷)高考真題,約2 萬對問題答案句。訓(xùn)練和測試語料采用北京近10 年的高考題(10 套)和各省份高考模擬題(80套),共包括約0.6 萬對問題—答案句。經(jīng)過篩選,最終在各省近12 年高考真題上提取到132 個問句,在各省高考模擬題上提取到511個問句。
依據(jù)高考語文問答題只要答中要點即得分的評分規(guī)則。按照標準答案,人工找到其在原文中所對應(yīng)的句子,標記為答案句集合A*,集合A*的大小就是答案句句子數(shù)。RA為按照本文方法組成的答案句中正確答案句集合,為按照本文方法形成的答案句集合。實驗結(jié)果的評價標準如式(10)-式(12)所示。
為驗證本文方法的有效性,將本文算法與較為常見的閱讀理解基線模型進行比較,具體包括:
(1)BERT 模型。該模型由多個雙向Transformer 編碼器堆疊而成,相較于其它深度學習模型,能夠獲取更多文本特征表示。通過結(jié)合該模型結(jié)構(gòu),使用網(wǎng)上公開BERTbase 中文版本預(yù)訓(xùn)練模型初始化參數(shù),通過高考數(shù)據(jù)集對模型進行微調(diào),最終得到測試BERT 模型。
(2)RoBERTa 模型。該模型是BERT 的改進版本,在預(yù)處理階段采用Dynamic Masking 取代Static Masking,在數(shù)據(jù)生成方式和任務(wù)改進過程中去掉了Next Sentence Prediction,并從一個文檔中獲得數(shù)據(jù)。此外,RoBERTa 模型參數(shù)量更大、訓(xùn)練數(shù)據(jù)更多,在規(guī)模、算力上優(yōu)勢顯著。
將Google 官方公開的中文RoBERTa 預(yù)訓(xùn)練模型作為初始化模型,先使用高考訓(xùn)練集微調(diào)模型,然后使用微調(diào)后的模型對侯選句是否為答案句進行預(yù)測。在微調(diào)過程中,epoch 設(shè)置為12,學習率設(shè)為2e-5,輸入文本序列最大截斷長度設(shè)為512,batch size 設(shè)為10。
本文分別使用BERT、RoBERTa、RoBERTa+EDA+TF 等6 個模型在高考閱讀理解數(shù)據(jù)集上進行實驗比較,以答題召回率作為模型的評價指標,具體實驗結(jié)果見表4。
由表4 可知,RoBERTa 模型的答題效果優(yōu)于BERT 模型。在引入答案候選句擴充機制后,分別采用COPY 復(fù)制(復(fù)制n條答案句,使答案句與非答案句數(shù)量達到平衡)和EDA 策略進行數(shù)據(jù)增強。
Table 4 Experimental results of each model表4 各模型實驗效果 (%)
實驗結(jié)果顯示,兩種數(shù)據(jù)擴充機制對模型召回率的提升相差不大,但準確率和F1值存在顯著差別。當在Ro-BERTa 模型同時加上段落篩選和EDA 策略時,結(jié)果最優(yōu),召回率和準確率分別達到51.76%和51.16%,相較于Ro-BERTa 模型答題準確率約提升10%。
數(shù)據(jù)分析結(jié)果表明,答案候選句數(shù)量與閱讀材料的長短存在明顯關(guān)系,為進一步驗證模型的有效性,分別在Ro-BERTa、RoBERTa+EDA、RoBERTa+EDA+TF 模型上進行比較實驗,嘗試依據(jù)每篇材料中所包含的答案句條數(shù)動態(tài)調(diào)整k值,具體實驗結(jié)果見表5-表7。圖3 為訓(xùn)練集候中候選句的占比。
Table 5 Effect of RoBERTa recall of the first k sentences表5 RoBERTa召回前k句的效果 (%)
Table 6 Effect of RoBERTa+EDA recall of the first k sentences表6 RoBERTa+EDA召回前k句的效果 (%)
Table 7 Effect of RoBERTa+EDA+TF recall of the first k sentences表7 RoBERTa+EDA+TF召回前k句的效果 (%)
Fig.3 Proportion of candidate sentences in training set圖3 訓(xùn)練集候選句占比
實驗結(jié)果顯示,當k與閱讀材料句子數(shù)的比值越小時,模型召回的句子數(shù)量越少,此時3 種模型的召回率下降,但準確率均存在一定程度的提升。同時,相較于其他模型,RoBERTa+EDA+TF 模型表現(xiàn)得更穩(wěn)定。
本文針對高考閱讀理解問答任務(wù),提出了面向多段落閱讀理解任務(wù)的答案句抽取方法。首先,提出了段落篩選器計算不同段落對問題的支撐度,并按照相關(guān)性得分對段落進行篩選。然后,提出答案候選句擴充策略解決數(shù)據(jù)集中存在的非平衡數(shù)據(jù)問題。最后,使用RoBERTa 閱讀理解模型實現(xiàn)答案句標注。實驗結(jié)果表明,本文方法相較于現(xiàn)有傳統(tǒng)方法,準確率更高,適用性更強。
盡管所提出的模型取得了較好的作答效果,但目前未能利用答案句之間的關(guān)聯(lián)關(guān)系,僅從問題角度分析段落和問題的相關(guān)程度,答案句抽取效果較差。下一步將深入挖掘不同答案句間的關(guān)聯(lián)關(guān)系,使用圖神經(jīng)網(wǎng)絡(luò)準確抽取答案句,并考慮答案句間的復(fù)雜語義推理關(guān)系。