楊陟卓,韓 暉,張 虎,錢揖麗,李 茹,2
(1. 山西大學 計算機與信息技術(shù)學院,山西 太原 030006;2. 山西大學 計算智能與中文信息處理教育部重點實驗室,山西 太原 030006)
機器閱讀理解的目標是讓機器像人類一樣閱讀文本,提煉文本信息并準確回答相關(guān)問題。目前,機器閱讀理解作為自然語言處理的核心領(lǐng)域,借助于深度學習技術(shù)獲得了快速發(fā)展,成為學術(shù)界研究的焦點。
閱讀理解從題型上劃分可以分為選擇題、填空題、問答題三大類型。其中,填空題的數(shù)據(jù)集代表有CNN/Daily Mail、漢語PeopleDaily/CFT等;選擇題的數(shù)據(jù)集代表有MCTest、RACE等;而問答題的數(shù)據(jù)集代表有SQuAD、DuReader和CMRC等。上述問答題數(shù)據(jù)集中的問題較簡單,而高考語文閱讀理解的問題較為復雜,背景材料相對較長且答案具有較強的隱藏性。通??疾炜忌Y選并整合文中關(guān)鍵信息的能力,必須對問題和全文信息進行深度理解和推理才能獲取正確答案。高考語文閱讀理解中問答題樣例如表1所示。
表1 2018年北京高考語文閱讀理解問答題
近年來,隨著深度學習技術(shù)的快速發(fā)展和廣泛應用,機器閱讀理解能力有了大幅提高。深度學習模型的優(yōu)勢在于能夠自動捕獲文本的有效信息,使得問答系統(tǒng)中很多語義鴻溝問題得到一定程度的改善或解決。端到端的深度學習模型減輕了人工標注的大量工作,靈活多變的深度網(wǎng)絡結(jié)構(gòu)提供了強大的文本建模能力。 但是,直接將這些模型應用在高考任務中存在以下不足:
(1) 沒有對高考閱讀理解問句進行預處理。問句存在文字冗余,給解題帶來干擾信息。
(2) 閱讀理解背景材料篇幅普遍較長,沒有對材料進行預篩選,存在非答案區(qū)域的冗余段落。
(3) 只能作答一些簡單、具體的問題,對于復雜、抽象以及答案片段分散的問題,仍然無法解決。
本文針對高考閱讀理解問答題的特點,首先對問句進行簡化處理,去除與題干信息無關(guān)的詞語。其次,設立答案段落評價機制,刪除非答案區(qū)域的段落。然后,采用BERT預訓練語言模型獲取句子的特征表示,使用邏輯回歸模型對候選句進行抽取,獲得多個分散的答案片段。最后,借助融合問句信息的PageRank算法對BERT的輸出結(jié)果進行重排序,選取排序分數(shù)較高的候選句作為答案句。
目前,在閱讀理解問答任務中,主要有基于檢索匹配和基于深度學習兩大研究方向。最早的基于檢索匹配的方法有基于詞語共現(xiàn)或TF-IDF等方法。隨后,為獲得語句更深層的語義信息,出現(xiàn)了HowNet[1]、FrameNet[2]、Chinese FrameNet[3]、同義詞詞林[4]等語義資源計算候選句相似度。文獻[5]提出將問題和候選句的語義角色標注結(jié)果表示成樹狀結(jié)構(gòu),用樹核的方法計算語義結(jié)構(gòu)相似度。文獻[6]基于框架語義提出利用框架篇章關(guān)系、框架關(guān)系及有定零形式線索三個語義特征來進行答案句的抽取。文獻[7]利用語法、框架、語義三方面的特征提高機器閱讀理解的性能。文獻[8]利用框架語義以及引入流行排序?qū)Υ鸢妇溥M行抽取。
基于深度學習的方法,文獻[9]通過指針網(wǎng)絡對答案的開始位置和結(jié)束位置進行預測。文獻[10]對文章和問題進行編碼, 通過雙向注意力機制來提升效果。文獻[11]提出了動態(tài)迭代和雙注意力機制,可以同時對文章和問題使用注意力機制, 并通過迭代預測來提升模型效果。為了獲得更多細節(jié)信息,文獻[12]提出了一個多層網(wǎng)絡結(jié)構(gòu)R-Net,分別從四個層面對MRC任務進行建模,效果率先超越了人類水平。為了更深入挖掘問句信息,文獻[13]提出將問題類型和問題主題、問題焦點這三種問題特征融入QU-NNs模型。2018年,自然語言領(lǐng)域的研究人員研究出一種新的預訓練模型架構(gòu)。該架構(gòu)在大規(guī)模語料上進行無監(jiān)督的訓練模型,完成訓練后針對不同的下游任務進行特定的有監(jiān)督訓練任務。ELMO[14]、OpenAI GPT[15]和BERT[16]都是預訓練模型,隨著BERT等模型的興起,單段落的簡單閱讀理解任務取得了重大突破[17-19]。隨后,研究者將目光轉(zhuǎn)向更能體現(xiàn)機器智能的“多跳”和“復雜”情形。文獻[20]提出一種基于認知圖譜問答(CogQA)框架:該方法使用兩個系統(tǒng)來維護一張認知圖譜(Cognitive Graph),系統(tǒng)一在文本中抽取與問題相關(guān)的實體名稱并擴展節(jié)點和匯總語義向量,系統(tǒng)二利用圖神經(jīng)網(wǎng)絡在認知圖譜上進行推理計算。該方法在HotpotQA數(shù)據(jù)集上取得了良好的效果。文獻[21]提出了一種基于框架的句子表示方法,該方法利用框架以及框架之間的關(guān)系對句子進行注意力建模,可以得到更好的句子表示,提高閱讀理解任務上的效果。
絕大多數(shù)深度學習模型都應用在普通問答任務中,只能預測答案句的起始位置和結(jié)束位置。但是高考問答的答案區(qū)間都不是連續(xù)的,通常由5至6個組成。同時,高考問答任務中閱讀理解材料篇章較長,不能將所有句子都輸入。傳統(tǒng)的深度學習模型無法直接應用在高考問答任務中。此外,高考問答任務的復雜性以及訓練數(shù)據(jù)的匱乏也是制約深度學習模型應用的關(guān)鍵性因素。因此,本文提出一種融合Bert語義表示的高考語文閱讀理解問答方法,該方法可以融合Bert模型和圖模型的優(yōu)勢,對高考語文中的復雜問題進行語義表示、語義計算,有效建立抽象的問句與隱藏的候選句之間的關(guān)聯(lián),對答案區(qū)間較為分散的復雜問題進行分析和推理。
本文將高考問答題的解答形式化定義為: 給定一個問題s0和一篇材料D={s1,s2,…,si},si表示閱讀材料中的第i個句子。本文的目標是從篇章材料D中抽取與問題最相關(guān)的片段A*={a1,a2,…,a6},其中ak為D中的一個句子, 在D中答案句之間連續(xù)或不連續(xù)。
首先,對材料進行預處理,包括將問句精簡、背景材料切句。其次,采用段落評價機制對非答案區(qū)域的冗余段落進行剔除。第三,利用BERT模型抽取答案句,形成Top-15答案候選句集。第四,通過PageRank算法對上一步的答案候選句集合進行重排序,最終選取排序較高的Top-6,作為答案句集。具體問答系統(tǒng)流程如圖1所示。
圖1 問答系統(tǒng)流程圖
相比普通問句,高考問句長度普遍較長,句中的詞語修飾關(guān)系非常復雜,存在很多對解題很關(guān)鍵卻是非重要成分的詞語。例如,表1中的問題“簡要說明人類對人工智能的認識是如何不斷深化的”,利用依存句法分析工具[22]找出該句最重要的語法成分,包括“說明”“認識”“是”和“深化”。發(fā)現(xiàn)這些詞語對解題的幫助較小,而“人工智能”“不斷”“深化”才是解決問答題的關(guān)鍵。因此,本文建立面向高考問答的問句停用詞表,剔除問句中的非關(guān)鍵信息,保留單句中所有的句子成分,如表2所示。
表2 停用詞表及問句精簡
在高考語文閱讀理解問答題任務中,答案大多集中在文中的一段或幾段。背景材料中存在很多與解題要點無關(guān)的內(nèi)容,這些內(nèi)容會對深度學習模型帶來較多的干擾,降低系統(tǒng)答題的召回率和準確率。針對這個問題,本文提出基于MMR的篇章段落質(zhì)量評價機制,結(jié)合背景材料和問題,剔除每篇材料中與解題無關(guān)的段落。MMR算法又叫最大邊界相關(guān)算法,此算法在設計之初是用來計算查詢詞與被搜索文檔之間的相似度。本文在MMR算法基礎上,添加了問句與材料句的相關(guān)度因素。首先,將能夠代表段落的句子抽出,計算如式(1)所示。
(1)
其中,sim(s0,si)表示篇章段落中的某個句子si與問句s0的相關(guān)度,sim(Di,si)表示si與句子所在整個段落Di的相關(guān)度,sim(si,sj)表示si與段落Dj抽取出的句子sj的相關(guān)度,β1,β2用于調(diào)節(jié)式(1)中三個部分的權(quán)重。其中,前兩項指的是待抽取句子和問句與整篇文檔的相關(guān)程度,第三項指的是待抽取句子和已抽取句子的相關(guān)程度。最終的目標是抽取出的句子既與問句相關(guān),又能表達整個段落的含義,同時具備多樣性。其次,將各個段落的句子SDi與問句s0進行相關(guān)度計算,返回需要剔除的段落索引Dindex,計算如式(2)所示。
(2)
本文利用Word2Vec[23]計算句子與句子、句子與段落的相關(guān)度。首先對句子進行分詞,去停用詞,利用Word2Vec輸出的詞向量加權(quán)求和構(gòu)造句子向量或段落向量,每個詞向量的權(quán)重為詞在材料中的TF-IDF值,最后利用余弦相似度公式計算各個向量的相關(guān)度,計算如式(3)所示。
(3)
其中,VS表示問句的詞向量,Vq表示句子或者段落的特征詞向量。
與之前的其他語言模型不同,BERT(Bidirectional Encoder Representations from Transformers)通過調(diào)節(jié)所有層中的上下文來進行深度雙向的預訓練。原始的BERT只能預測連續(xù)的答案區(qū)間,而通過統(tǒng)計高考題發(fā)現(xiàn),絕大多數(shù)高考題的答案區(qū)間是分散的。此外BERT模型的輸入最大長度為512個字符,無法將完整的高考閱讀理解背景材料全部讀入,因此原始的BERT模型不適用于高考閱讀理解問答任務。為了克服原始BERT模型的缺點,本文利用改進的BERT模型對候選句是否為答案句的概率進行預測。
改進的BERT模型抽取答案候選句總體結(jié)構(gòu)如圖2所示。BERT模型的輸入: 每個句子首部都會添加一個特殊符號“[CLS]”。為了對不同的句子進行區(qū)分,在輸入序列中在每個句子的末尾加入特殊符號“[SEP]”。由于本文的任務是進行閱讀理解問答,因此輸入序列是由兩個句子組成的句子對,即問句-答案候選句。BERT模型的輸出是經(jīng)過多層編碼器對應的融合問句和答案候選句信息的語義表示。
圖2 BERT模型抽取候選句
BERT模型的核心是Transform,在Transformer中摒棄了RNN的循環(huán)式網(wǎng)絡結(jié)構(gòu),完全基于注意力機制來對一段文本進行建模,其中最主要的模塊是自注意力部分。假設文本序列輸入問句和候選句向量為F=([CLS],E1,E2,…,EN,[SEP],E1,E2,…,EM,[SEP]),對于序列中的每個字,會對應三個向量,Query向量(Q)、Key向量(K)和Value向量(V)。輸入序列中每個向量的重要程度Xscore由Query向量和Key向量相乘得到,計算如式(4)所示。
Xscore=Q·K
(4)
attention值通過使用softmax對Xscore做平滑而得,平滑后的結(jié)果與 Value 向量相乘,其中,dk為輸入向量維度,計算如式(5)所示。
(5)
之后將attention(Q,K,V)拼接在一起并做線性變換,再經(jīng)過殘差連接和層規(guī)范,得到最終的向量表征。
獲取到問句和答案候選句的特征向量表示后,輸入分類器中進行分類處理。假設訓練樣本為{(x1,y1,z),(x1,y2,z),…,(x1,yn,z);(x2,y1,z),(x2,y2,z),…,(x2,yn,z);…;(xi,y1,z),(xi,y2,z),…,(xi,yn,z)),其中,(xi,y1,z)表示試題中第i個問題對應第n條候選句的類別z,z∈{0,1},z為1表示為答案句,z為0表示為非答案句。利用回歸模型輸出條件概率,概率最大的類別即為當前樣本所屬的類別,計算如式(6)所示。
(6)
其中,hθ(x,y)表示回歸模型的判別函數(shù),θ0和θ1是模型參數(shù)。p(z|xi,yn)可以實現(xiàn)對候選句是否為答案句的概率值的預測,選取概率較大的Top-15候選句作為BERT模型的輸出結(jié)果。
與普通閱讀理解任務相比,高考閱讀理解問答難度較大。此外,人工標記的高考訓練數(shù)據(jù)比較缺乏,但當前訓練數(shù)據(jù)的規(guī)模,不足以訓練一個高效的深度學習模型。為了獲取更準確的答案,本文對BERT模型的排序結(jié)果進行重排序。使用PageRank算法對答案候選句的重要度進行迭代計算。PageRank算法最早應用于谷歌的網(wǎng)頁排序,判別網(wǎng)頁的重要性程度。原始的PageRank模型存在數(shù)量和質(zhì)量假設。與原始的PageRank模型不同。本文存在以下假設:如果問句s0與某個候選句si之間的關(guān)聯(lián)較大,那么該候選句是答案句的概率較高,即PageRank值相對較高。為了獲取更好的排序效果,本文在原始PageRank算法的基礎上,添加了問句信息,形成融合問句信息的PageRank算法,計算如式(7)所示。
(7)
其中,PR(si)是候選句節(jié)點si的重要度,n表示句子數(shù),d為阻尼因子(0 (8) 其中,s0si表示問句s0和候選句si的相似度。矩陣中僅僅計算問句與候選句之間的相似度,而不同候選句之間以及候選句與自身的相似度記為0,保證候選句之間以及候選句自身的重要度不要相互增強。這是由于高考問答任務與其他任務不同,更注重問句s0與候選句si之間的關(guān)聯(lián),而與候選句si相關(guān)的其他候選句并不一定與問句s0有問答關(guān)系。如果將所有候選句之間的關(guān)聯(lián)都加入weight矩陣,反而會引入一部分噪聲。隨后,預先設定問句的重要度為1,其他候選句重要度為0,按照式(7)進行迭代排序。經(jīng)多次迭代計算,所有句子的重要度不再發(fā)生變化,選取Top-6作為最終答案句。 本文采用的BERT模型在高考語文閱讀理解問答任務上進行適應性微調(diào),微調(diào)語料采用了各省高考真題 450套(不包含北京卷),包括大約兩萬對問題-答案句。訓練和測試語料采用北京近10年的高考題10套和各省份高考模擬題80套,包括大約0.6萬對問題-答案句。 采用五倍交叉實驗,將訓練和測試語料平均分成五份,使用其中一份作為測試集,其他四份作為訓練集,重復五次實驗,取平均值作為最終結(jié)果。實驗過程中查閱了高考語文問答題的評分規(guī)則,答中要點即得分。本文按照所給的標準答案,人工找到其在原文中所對應的句子,標記為答案句的集合A*,集合A*的大小就是答案句的句子數(shù)。SA是按照本文方法形成的Top-6句子的集合,本文實驗結(jié)果的評價標準如式(9)~式(11)所示。 (11) BERT預訓練模型是Google開源的BERT-base模型,網(wǎng)絡結(jié)構(gòu)一共12層,隱藏層有768維,采用12多頭注意力機制,學習率設置為0.000 04,迭代輪數(shù)epoch設置為10,批量大小Batch_size設置為128,輸入句子最大長度為40。段落評價中,β1∶β2=0.4∶0.4,用來調(diào)節(jié)段落中句子間的影響。PageRank算法中,d=0.88,用來調(diào)節(jié)候選句節(jié)點間的影響。 3.3.1 不同方法實驗結(jié)果比較 為了驗證本文方法的有效性,同時與其他高考閱讀理解問答題解題方法進行比較,本文將文獻[8]的方法(框架匹配)作為Baseline,該方法通過漢語框架網(wǎng)(CFN)召回答案句,然后利用流形排序算法對候選句進行重排序。將原始的BERT模型記為BERT_1。該模型的輸入是問句和背景材料,模型的輸出是答案區(qū)間的起點和終點位置。為了克服原始BERT模型的缺點,本文利用改進的BERT模型對候選句是否為答案句進行預測,模型架構(gòu)如圖2所示。根據(jù)概率值對候選句進行排序,排序靠前的候選句作為答案句,該模型記為BERT_2。所有方法在北京十年高考真題上進行對比,實驗結(jié)果如表3所示。 表3 不同方法實驗結(jié)果比較 從實驗結(jié)果可以看出,BERT_1模型答題效果最差,因為該模型只能標記一個連續(xù)的答案區(qū)間,而高考題的答案區(qū)間通常有五六個,其他的答案區(qū)間都沒有標記。此外,對于具有較長背景材料的高考問答題,該模型沒有將完整的文章讀入,影響了答題效果。當僅使用BERT_2模型對候選句進行抽取時,答題效果優(yōu)于BERT_1模型,但是不及Baseline方法。當對BERT_2模型加入各種策略(問句精簡+段落評價+PageRank排序)后,本文的方法答題效果達到最優(yōu),召回率和準確率分別達到61.2%和50.1%。首先,該方法對問句進行精簡,使模型聚焦問句的關(guān)鍵信息,增強BERT模型對問句的理解。其次,利用段落評價對段落進行評分篩選,壓縮包含正確答案區(qū)域的范圍,降低非答案段落對BERT模型解題的干擾。最后,利用PageRank算法對答案候選句進行迭代排序,根據(jù)問句與候選句之間的關(guān)聯(lián)對候選句進行重新排序,選擇迭代分數(shù)較高的句子作為答案。從實驗結(jié)果可以看出,本文提出的各種策略是切實有效的。PageRank排序?qū)蜻x句的抽取具有較大的提升作用,一方面BERT和Page-Rank模型分析和篩選候選句的原理不同。另一方面,PageRank模型利用Word2Vec計算句子之間的關(guān)聯(lián),而Bert模型和Word2Vec所采用的訓練語料和訓練方法也不同。因此PageRank模型可以彌補Bert模型訓練不夠充分的缺點,提升答題效果。 3.3.2 不同省份試題實驗結(jié)果比較 為了測試本文所提出方法在其他省份高考閱讀理解問答題上的效果,將此方法和Baseline方法在其他省份高考閱讀理解問答題上進行對比,實驗結(jié)果如圖3所示。 圖3 不同省份模擬題的實驗效果 通過實驗結(jié)果發(fā)現(xiàn),本文方法在各個省份模擬題上都比Baseline方法答題效果好。除此此外,兩種方法都在北京和各個省份的高考題上的答題效果略有差異,研究試題發(fā)現(xiàn): ①閱讀材料體裁不同: 北京高考為科技類文本,分為自然科學類與社會科學類。其他省份為時評、短評、書評、傳記、新聞、報告、科普文等。②考查難點不同: 北京地區(qū)問答題大多需要歸納整合材料信息,別的省份模擬題大多考查對關(guān)鍵詞句的理解。③答案要點不同: 北京高考問答題的答案要點數(shù)量較多,其他省份高考問答題的答案要點數(shù)量相對較少。 3.3.3 不同參數(shù)對實驗效果的影響 在段落評價方法中,存在參數(shù)β1和β2。β1表示句子與問句的相關(guān)度權(quán)重,β2表示句子與所在段落其他句子的相關(guān)度權(quán)重。本文比較了不同參數(shù)比值對實驗效果的影響,如圖4所示。可以看出,β1∶β2=0.4∶0.4時,召回率最高,說明句子與段落、句子與問句的相關(guān)度對答案句的召回影響較大。 圖4 β1∶β2對實驗效果的影響 在PageRank排序方法中,存在參數(shù)d平衡相近句子節(jié)點和初始句子節(jié)點對其他句子節(jié)點分數(shù)的影響。本文比較了不同參數(shù)值對實驗效果的影響,如圖5所示。可以看出d=0.88時,召回率最高,表明臨近句子節(jié)點對答案候選句節(jié)點分數(shù)的影響較大,初始分數(shù)節(jié)點對候選句分數(shù)的影響較小。 圖5 d對實驗效果的影響 本文提出了融合BERT語義表示的高考語文閱讀理解答案句抽取方法,該方法首先利用段落評價機制刪除冗余段落,然后采用預訓練模型BERT進行答案句抽取,最后通過圖模型對候選句進行排序。該方法可有效彌補BERT模型所面臨的數(shù)據(jù)稀疏問題,在一定程度上提高了答案句的召回率和準確率。目前,高考題數(shù)據(jù)量偏少,針對高考閱讀理解問答任務的預訓練模型還不夠完善。未來的工作中,我們一方面要利用數(shù)據(jù)增強的方法擴充數(shù)據(jù),另一方面還要將語言學知識融入預訓練模型中,逐步提升答題效果。3 實驗
3.1 實驗數(shù)據(jù)
3.2 模型參數(shù)設置
3.3 實驗結(jié)果及分析
4 結(jié)束語