賀文靜,張 虎
(山西大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院,山西太原 030006)
機(jī)器閱讀理解的主要目標(biāo)是讓機(jī)器閱讀一段材料后回答問題。研究主要分為基于規(guī)則、基于機(jī)器學(xué)習(xí)、基于深度學(xué)習(xí)3個(gè)發(fā)展階段。
20 世紀(jì)70 年代,基于規(guī)則的閱讀理解方法[1]受到普遍關(guān)注。Lehnert[2]采用策略模擬和腳本設(shè)計(jì)一種關(guān)于問答系統(tǒng)的框架。Hirschman 等[3]結(jié)合問題選擇與問題匹配度最高的句子,基于規(guī)則的詞袋模型設(shè)計(jì)DEEP READ系統(tǒng)。
在機(jī)器學(xué)習(xí)研究階段,人們嘗試將機(jī)器閱讀理解轉(zhuǎn)化為有監(jiān)督學(xué)習(xí)問題。Narasimhan 等[4]在最大化模型概率的同時(shí),既考慮句子間的關(guān)系,又通過設(shè)置隱變量捕捉句子間的關(guān)聯(lián)。Sachan 等[5]根據(jù)潛在結(jié)構(gòu)支持向量機(jī)將問題或預(yù)期答案類型進(jìn)行劃分。
隨著深度學(xué)習(xí)發(fā)展,Hermann 等[6]提出神經(jīng)網(wǎng)絡(luò)模型Attentive Reader,該模型通過注意力機(jī)制結(jié)合問題與文章內(nèi)容,以便于抽取答案片段。Seo 等[7]通過雙向注意力獲得每個(gè)時(shí)間步的上下文向量表示,動(dòng)態(tài)獲取文章和問題間的交互模式。
近年來,Vaswani 等[8]提出的Transformer 結(jié)構(gòu)和Devlin等[9]提出的大規(guī)模預(yù)訓(xùn)練模型BERT 進(jìn)一步加速機(jī)器閱讀理解的發(fā)展。其中,Transformer 的自注意力機(jī)制相較于LSTM 的記憶/遺忘機(jī)制,建模長(zhǎng)距離依賴的優(yōu)勢(shì)更強(qiáng);BERT 將Transformer 作為特征抽取器,能夠更好地獲取上下文信息。
目前,機(jī)器閱讀理解在實(shí)際任務(wù)中都達(dá)到了較好的效果,但面對(duì)篇幅較長(zhǎng)、冗余信息較多的閱讀理解材料時(shí),現(xiàn)有模型只能從原文中抽取與問題相關(guān)的單個(gè)連續(xù)片段回答問題,作答準(zhǔn)確率較低。
為此,本文對(duì)高考閱讀理解數(shù)據(jù)集進(jìn)行分析,發(fā)現(xiàn)高考閱讀理解數(shù)據(jù)集的閱讀材料一般由多個(gè)文本段落組成,答案來源于不同段落的片段。由圖1 可見,候選答案句分布于3 個(gè)不同段落,需要先從文本中精準(zhǔn)定位各個(gè)關(guān)鍵片段。

Fig.1 Examples of college entrance examination reading comprehension圖1 高考閱讀理解樣例
此外,通過樣例分析發(fā)現(xiàn),材料中答案句子的數(shù)量遠(yuǎn)小于非答案句(見表1),這種數(shù)據(jù)的非平衡性對(duì)基于分類的答案句抽取方法影響較大。
由表1 可知,當(dāng)訓(xùn)練集句子總數(shù)>30 時(shí),候選句條數(shù)平為4 條,測(cè)試集候選句總數(shù)為7 條;當(dāng)訓(xùn)練集句子總數(shù)≤30時(shí),候選句條數(shù)平為3條,測(cè)試集候選句總數(shù)為6條。

Table 1 Analysis of candidate sentences in training set and test set表1 訓(xùn)練集和測(cè)試集中候選句條數(shù)分析
由表2 可知,候選答案句數(shù)(標(biāo)簽為1)和句子總數(shù)(標(biāo)簽為0)的比例約為1:7,答案句的數(shù)量遠(yuǎn)小于非答案句數(shù)量。

Table 2 Proportion of answer sentences and sentences in the material表2 材料中的答案句和句子占比
針對(duì)以上問題,為保證提取候選句的精確率,在最大限度上召回答案句。本文引入段落篩選器解決語(yǔ)文閱讀理解中正負(fù)樣本不均衡的問題,并采用數(shù)據(jù)增強(qiáng)方法擴(kuò)充答案句數(shù)量以緩解正負(fù)樣本不均衡對(duì)模型性能產(chǎn)生的影響。
綜上所述,本文以國(guó)內(nèi)高考語(yǔ)文閱讀理解問答題為實(shí)驗(yàn)數(shù)據(jù),提出面向多段落高考閱讀理解的答案句子抽取方法。主要貢獻(xiàn)包括:①提出“段落篩選器—答案句抽取”的高考閱讀理解答題框架,設(shè)計(jì)基于詞頻—逆文件頻率(Term Frequency-Inverse Document Frequency,TF-IDF)的段落篩選器;②設(shè)計(jì)基于文本增強(qiáng)(Easy Data Augmentation,EDA)的答案句擴(kuò)充方法,解決數(shù)據(jù)集中答案句與非答案句不平衡的問題;③實(shí)現(xiàn)基于RoBERTa 模型的答案句抽取。
主要從機(jī)器閱讀理解、候選句抽取和數(shù)據(jù)增強(qiáng)3 個(gè)方面梳理國(guó)內(nèi)外研究現(xiàn)狀。
機(jī)器閱讀理解旨在讓機(jī)器學(xué)習(xí)閱讀材料包含的語(yǔ)義信息,回答材料提出的問題,現(xiàn)已成為自然語(yǔ)言處理研究的一項(xiàng)重要任務(wù)。
目前,面向多文檔、多段落閱讀理解數(shù)據(jù)集的研究已受到廣泛關(guān)注。Wang 等[10]引入單詞級(jí)別的權(quán)重匹配和信息交互提出Match-LSTM 模型,有效預(yù)測(cè)答案起始和結(jié)束位置。Cui 等[11]引入AOA 層疊注意力機(jī)制,通過在文檔級(jí)的注意力機(jī)制上增加一層注意力以確定答案。Wang 等[12]引入門機(jī)制提出R-Net 模型,根據(jù)與問題的相關(guān)程度給文本每個(gè)詞賦于不同權(quán)重。譚紅葉等[13]針對(duì)描述類問題語(yǔ)義概括程度,將問題類型、主題、焦點(diǎn)特征與QU-NNs 模型進(jìn)行融合,以便于有效提取文章信息。Zhang 等[14]基于BERT 對(duì)材料、問題進(jìn)行編碼,并利用余弦相似度和注意力機(jī)制獲取材料和選項(xiàng)、材料和問題之間的權(quán)重信息。Lan等[15]通過精簡(jiǎn)參數(shù)提升訓(xùn)練速度,同時(shí)引入自監(jiān)督損失增強(qiáng)學(xué)習(xí)句間的連貫性。
以上模型雖取得了較好的成效,但由于高考閱讀理解材料普遍較長(zhǎng),現(xiàn)有模型難以對(duì)材料進(jìn)行預(yù)篩選,存在非答案區(qū)域的冗余段落,造成模型運(yùn)行效率較低。
通過上述研究可知,獲取答案句是閱讀理解的最終目的。在候選句抽取過程中,首先通過信息檢索方法計(jì)算兩個(gè)句子的相似度,然后基于概率主題模型方法將文檔高維矩陣進(jìn)行降維,實(shí)現(xiàn)低維空間表示,并基于此計(jì)算語(yǔ)義相關(guān)度。該方法雖然通過文檔與詞間的聯(lián)系進(jìn)行建模,但忽略了句子間的聯(lián)系。
隨著深度神經(jīng)網(wǎng)絡(luò)的快速發(fā)展,基于神經(jīng)網(wǎng)絡(luò)方法抽取候選句也越來越普遍。郭少茹等[16]分析句子級(jí)語(yǔ)義信息以加強(qiáng)材料和選項(xiàng)的相關(guān)度,并通過不同維度計(jì)算句子的語(yǔ)義相關(guān)度,選出最佳答案。Xiong 等[17]動(dòng)態(tài)協(xié)同注意力網(wǎng)絡(luò)(Dynamic Co-Attention Networks,DCN)融合表示問題和文檔,然后利用動(dòng)態(tài)解碼器不斷更新答案范圍。Devlin 等[9]將BERT 模型用于抽取答案句,通過雙向Transformer 網(wǎng)絡(luò)獲取文本的語(yǔ)義表示。楊陟卓等[18]利用漢語(yǔ)框架網(wǎng)絡(luò)抽取與問句語(yǔ)義相似的候選句。
通過以上研究表明,目前所提出的模型在大部分問答數(shù)據(jù)集上均取得了不錯(cuò)的效果。但由于高考閱讀題目數(shù)據(jù)集的答案區(qū)間較為分散,若直接將模型應(yīng)用于該數(shù)據(jù)集上時(shí),實(shí)驗(yàn)效果較差。
為了解決該問題,本文通過RoBERTa 模型對(duì)候選句是否為答案句的概率進(jìn)行預(yù)測(cè)。
數(shù)據(jù)增強(qiáng)是一種常用的數(shù)據(jù)集擴(kuò)充方式,但在自然語(yǔ)言處理領(lǐng)域,該方法仍處于探索階段。張一珂等[19]將數(shù)據(jù)增強(qiáng)模型表述為強(qiáng)化學(xué)習(xí)問題,利用對(duì)抗訓(xùn)練策略語(yǔ)言模型進(jìn)行數(shù)據(jù)增強(qiáng),采用蒙特卡洛搜索算法對(duì)生成序列的中間狀態(tài)進(jìn)行評(píng)估。Wei 等[20]針對(duì)自然語(yǔ)言處理中的文本分類任務(wù)提出文本增強(qiáng)(Easy Data Augmentation,EDA)方法。
現(xiàn)有模型雖有效融合了問題及閱讀材料間的聯(lián)系,但仍存在部分問題尚待解決。例如,針對(duì)高考閱讀理解材料篇幅較長(zhǎng),答案由分散在不同段落中的句子概括而成,而現(xiàn)有研究方法未能根據(jù)該特性提出改進(jìn)機(jī)制,導(dǎo)致模型性能普遍較低。
為此,探索融入段落篩選器和基于EDA 模型的答案句擴(kuò)充方法對(duì)提高模型預(yù)測(cè)召回率、準(zhǔn)確率存在十分重要的實(shí)際意義。
基于RoBERTa 所提出的面向多段落閱讀理解的答案句抽取模型的整體架構(gòu)如圖2 所示,該架構(gòu)主要包括段落篩選器、文本增強(qiáng)(EDA)和答案句抽取3個(gè)部分。

Fig.2 Overall model architecture圖2 模型整體架構(gòu)
首先,將整個(gè)材料按段落劃分,根據(jù)TF-IDF 計(jì)算段落與問題的相關(guān)性得分,按照分?jǐn)?shù)對(duì)段落進(jìn)行排序,為每個(gè)問題選擇最小TF-IDF 余弦距離的前k段落。
然后,通過EDA 模型利用隨機(jī)(等價(jià))實(shí)體替換、隨機(jī)同義詞替換、隨機(jī)近義字替換、隨機(jī)字刪除、隨機(jī)置換鄰近的字共5 種方式對(duì)答案句進(jìn)行擴(kuò)充,使材料中的答案句和非答案句比例達(dá)到1∶1。
最后,采用RoBERTa 預(yù)訓(xùn)練語(yǔ)言模型獲取句子的嵌入表示,并將編碼后的句子表示輸入至全連接層進(jìn)行打分,以預(yù)測(cè)句子是否為答案句。
機(jī)器閱讀理解任務(wù)是一個(gè)監(jiān)督學(xué)習(xí)問題,需要計(jì)算機(jī)在閱讀文本后回答相關(guān)問題。因此,可將問題描述為:給定一篇閱讀理解材料D={P1,P2,...,Pn},訓(xùn)練一個(gè)機(jī)器閱讀理解模型,該模型輸入為一段文本P和相對(duì)應(yīng)的問題Q,輸出為答案A:

在高考閱讀理解材料中,由于答案分布于一個(gè)或多個(gè)段落,不同段落對(duì)答案句具有不同的支撐作用。為了減少無(wú)關(guān)段落對(duì)模型預(yù)測(cè)的干擾,基于TF-IDF 段落篩選器計(jì)算每個(gè)段落與問題的相關(guān)度,并將相關(guān)度較高的段落按段落順序進(jìn)行拼接。
問題描述為:基于每篇材料給出問題,根據(jù)TF-IDF 計(jì)算與問題相似度最高的前n個(gè)段落:

其中,wi,j為詞語(yǔ)ti在 段落pj中出現(xiàn)的次 數(shù),∑knk,j為段落pj中所有詞匯出現(xiàn)的次數(shù)總和,|N|為語(yǔ)料庫(kù)中的段落總數(shù),|{j:ti∈pj}|表示包含詞語(yǔ)ti的段落數(shù)目。若某個(gè)詞語(yǔ)未在語(yǔ)料庫(kù)中出現(xiàn),則會(huì)導(dǎo)致分母為0,因此在一般情況下會(huì)使用1+|{j:ti∈pj}|表示包含詞語(yǔ)ti的段落數(shù)目。
基于深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的研究任務(wù)中通常會(huì)發(fā)生樣本不均衡問題。例如,高考閱讀理解數(shù)據(jù)集中答案句和非答案句樣本量差距較大。在這種情況下,模型會(huì)處于欠擬合狀態(tài),預(yù)測(cè)準(zhǔn)確率較低。
為此,本文共使用了隨機(jī)(等價(jià))實(shí)體替換、隨機(jī)同義詞替換、隨機(jī)近義字替換、隨機(jī)字刪除及隨機(jī)置換鄰近的字共5種樣本增強(qiáng)技術(shù)解決該問題。具體操作如下:
(1)隨機(jī)(等價(jià))實(shí)體替換。從一段高考閱讀理解句子中隨機(jī)找出句中某個(gè)不屬于停用詞集的詞,將該實(shí)體與原句中的實(shí)體進(jìn)行替換,并且重復(fù)執(zhí)行n次。
(2)隨機(jī)同義詞替換。從高考閱讀材料句中隨機(jī)選取一個(gè)詞匯,若它不屬于停用詞集,則隨機(jī)選擇它的同義詞進(jìn)行替換,并且重復(fù)執(zhí)行n次。
(3)隨機(jī)近義字替換。從高考閱讀理解材料中隨機(jī)選取一個(gè)詞,使用近義詞預(yù)測(cè)工具尋找備選詞進(jìn)行替換,并且重復(fù)執(zhí)行n次。
(4)隨機(jī)字刪除。從一段高考閱讀理解文本中隨機(jī)選取一個(gè)詞匯并刪除,并且重復(fù)執(zhí)行n次。
(5)隨機(jī)置換鄰近的字。從一段高考閱讀理解文本中隨機(jī)選取某個(gè)字和鄰近的n個(gè)字進(jìn)行交換,若遇到特殊字符則停止操作,并且重復(fù)執(zhí)行n次。
其中,參數(shù)n表示對(duì)當(dāng)前候選句文本的操作次數(shù)。
本文使用EDA 復(fù)制原始句子,通過隨機(jī)插入和隨機(jī)同義詞替換加入噪聲防止模型發(fā)生過擬合。表3 為使用EDA 模型進(jìn)行5 種操作后的句子示例,原始答案句文本為“首先牡丹意象作為盛唐文化的表征,在民族記憶強(qiáng)大的恒定力的籠罩下,其內(nèi)涵被剝奪了拓展的可能和空間。”
Word2Vec 或Glove 的嵌入層僅為每個(gè)單詞提供一個(gè)上下文無(wú)關(guān)的向量表示,而RoBERTa 的嵌入層不僅在句子的開頭和結(jié)尾分別加入特殊字符,還將單詞本身的詞向量、句向量和位置進(jìn)行向量疊加,再將疊加后的嵌入向量作為輸入,最后輸出整個(gè)句子詞級(jí)別的上下文向量表示。

Table 3 EDA enhancement example表3 EDA增強(qiáng)示例
由于需要對(duì)答案句進(jìn)行抽取,故采用改進(jìn)RoBERTa 模型將輸入序列組成兩個(gè)句子對(duì),即問句—答案候選句,然后對(duì)候選句進(jìn)行二分類以判斷每個(gè)候選句是否為答案句。為了便于計(jì)算,使用RoBERTa 作為模型編碼器獲得句子S和問題Q的向量化表示,計(jì)算公式如下:

其中,input表示RoBERT的輸入序列,v表示句子和問題的向量化表示,本文將[CLS]在v中得到的向量c來表示當(dāng)前輸入的句子和問題,然后輸入全連接層Dense得到當(dāng)前選項(xiàng)是否為支撐句的概率。

式中,S表示句子與問題Q間的關(guān)系為答案句的概率,y取值為0 或1,當(dāng)y=0 時(shí)表示該句子不是該問題答案,當(dāng)y=1 時(shí)表示該句子是該問題答案,L(S|P,Q)表示該句子是問題Q正確答案的損失值。
由于高考問答題在閱讀理解中所占比例較小,本文采用的數(shù)據(jù)集包括各省高考真題、模擬題及對(duì)選擇題改造的問答題,并基于RoBERTa 模型在高考語(yǔ)文閱讀理解問答任務(wù)上進(jìn)行適當(dāng)微調(diào),微調(diào)語(yǔ)料采用各省450 套(不含北京卷)高考真題,約2 萬(wàn)對(duì)問題答案句。訓(xùn)練和測(cè)試語(yǔ)料采用北京近10 年的高考題(10 套)和各省份高考模擬題(80套),共包括約0.6 萬(wàn)對(duì)問題—答案句。經(jīng)過篩選,最終在各省近12 年高考真題上提取到132 個(gè)問句,在各省高考模擬題上提取到511個(gè)問句。
依據(jù)高考語(yǔ)文問答題只要答中要點(diǎn)即得分的評(píng)分規(guī)則。按照標(biāo)準(zhǔn)答案,人工找到其在原文中所對(duì)應(yīng)的句子,標(biāo)記為答案句集合A*,集合A*的大小就是答案句句子數(shù)。RA為按照本文方法組成的答案句中正確答案句集合,為按照本文方法形成的答案句集合。實(shí)驗(yàn)結(jié)果的評(píng)價(jià)標(biāo)準(zhǔn)如式(10)-式(12)所示。

為驗(yàn)證本文方法的有效性,將本文算法與較為常見的閱讀理解基線模型進(jìn)行比較,具體包括:
(1)BERT 模型。該模型由多個(gè)雙向Transformer 編碼器堆疊而成,相較于其它深度學(xué)習(xí)模型,能夠獲取更多文本特征表示。通過結(jié)合該模型結(jié)構(gòu),使用網(wǎng)上公開BERTbase 中文版本預(yù)訓(xùn)練模型初始化參數(shù),通過高考數(shù)據(jù)集對(duì)模型進(jìn)行微調(diào),最終得到測(cè)試BERT 模型。
(2)RoBERTa 模型。該模型是BERT 的改進(jìn)版本,在預(yù)處理階段采用Dynamic Masking 取代Static Masking,在數(shù)據(jù)生成方式和任務(wù)改進(jìn)過程中去掉了Next Sentence Prediction,并從一個(gè)文檔中獲得數(shù)據(jù)。此外,RoBERTa 模型參數(shù)量更大、訓(xùn)練數(shù)據(jù)更多,在規(guī)模、算力上優(yōu)勢(shì)顯著。
將Google 官方公開的中文RoBERTa 預(yù)訓(xùn)練模型作為初始化模型,先使用高考訓(xùn)練集微調(diào)模型,然后使用微調(diào)后的模型對(duì)侯選句是否為答案句進(jìn)行預(yù)測(cè)。在微調(diào)過程中,epoch 設(shè)置為12,學(xué)習(xí)率設(shè)為2e-5,輸入文本序列最大截?cái)嚅L(zhǎng)度設(shè)為512,batch size 設(shè)為10。
本文分別使用BERT、RoBERTa、RoBERTa+EDA+TF 等6 個(gè)模型在高考閱讀理解數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)比較,以答題召回率作為模型的評(píng)價(jià)指標(biāo),具體實(shí)驗(yàn)結(jié)果見表4。
由表4 可知,RoBERTa 模型的答題效果優(yōu)于BERT 模型。在引入答案候選句擴(kuò)充機(jī)制后,分別采用COPY 復(fù)制(復(fù)制n條答案句,使答案句與非答案句數(shù)量達(dá)到平衡)和EDA 策略進(jìn)行數(shù)據(jù)增強(qiáng)。

Table 4 Experimental results of each model表4 各模型實(shí)驗(yàn)效果 (%)
實(shí)驗(yàn)結(jié)果顯示,兩種數(shù)據(jù)擴(kuò)充機(jī)制對(duì)模型召回率的提升相差不大,但準(zhǔn)確率和F1值存在顯著差別。當(dāng)在Ro-BERTa 模型同時(shí)加上段落篩選和EDA 策略時(shí),結(jié)果最優(yōu),召回率和準(zhǔn)確率分別達(dá)到51.76%和51.16%,相較于Ro-BERTa 模型答題準(zhǔn)確率約提升10%。
數(shù)據(jù)分析結(jié)果表明,答案候選句數(shù)量與閱讀材料的長(zhǎng)短存在明顯關(guān)系,為進(jìn)一步驗(yàn)證模型的有效性,分別在Ro-BERTa、RoBERTa+EDA、RoBERTa+EDA+TF 模型上進(jìn)行比較實(shí)驗(yàn),嘗試依據(jù)每篇材料中所包含的答案句條數(shù)動(dòng)態(tài)調(diào)整k值,具體實(shí)驗(yàn)結(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)練集候選句占比
實(shí)驗(yàn)結(jié)果顯示,當(dāng)k與閱讀材料句子數(shù)的比值越小時(shí),模型召回的句子數(shù)量越少,此時(shí)3 種模型的召回率下降,但準(zhǔn)確率均存在一定程度的提升。同時(shí),相較于其他模型,RoBERTa+EDA+TF 模型表現(xiàn)得更穩(wěn)定。
本文針對(duì)高考閱讀理解問答任務(wù),提出了面向多段落閱讀理解任務(wù)的答案句抽取方法。首先,提出了段落篩選器計(jì)算不同段落對(duì)問題的支撐度,并按照相關(guān)性得分對(duì)段落進(jìn)行篩選。然后,提出答案候選句擴(kuò)充策略解決數(shù)據(jù)集中存在的非平衡數(shù)據(jù)問題。最后,使用RoBERTa 閱讀理解模型實(shí)現(xiàn)答案句標(biāo)注。實(shí)驗(yàn)結(jié)果表明,本文方法相較于現(xiàn)有傳統(tǒng)方法,準(zhǔn)確率更高,適用性更強(qiáng)。
盡管所提出的模型取得了較好的作答效果,但目前未能利用答案句之間的關(guān)聯(lián)關(guān)系,僅從問題角度分析段落和問題的相關(guān)程度,答案句抽取效果較差。下一步將深入挖掘不同答案句間的關(guān)聯(lián)關(guān)系,使用圖神經(jīng)網(wǎng)絡(luò)準(zhǔn)確抽取答案句,并考慮答案句間的復(fù)雜語(yǔ)義推理關(guān)系。