陳謹(jǐn)雯 陳羽中
隨著智能技術(shù)的發(fā)展,建立一個良好的人機問答系統(tǒng)越來越受到研究人員的關(guān)注.機器閱讀理解是人機問答系統(tǒng)的重要組成部分,其目標(biāo)是讓計算機擁有與人類相媲美的文章理解能力.與信息檢索任務(wù)不同,機器閱讀理解不是簡單地讓機器根據(jù)問題匹配文本數(shù)據(jù)庫中相似度最高的字符串,而是讓機器能夠理解用戶描述的自然語言問題,這些問題的答案可能存在于文本段落中,可能是“是或否”,也有可能是無法回答的,甚至需要機器根據(jù)自己的理解生成或計算正確的答案[1].
多跳閱讀理解是指給出的問題無法在單個段落或單個文檔中回答,需要經(jīng)過至少兩次文檔跳轉(zhuǎn)的推理鏈才能得到答案.相比傳統(tǒng)的閱讀理解問題,多跳閱讀理解更需要提高模型的推理能力,要求模型具有更好的解釋性和拓展性.對文本語義理解的準(zhǔn)確性會影響人機問答系統(tǒng)下游的各種學(xué)習(xí)任務(wù)的性能,而僅使用簡單匹配文章文本和問題詞的方式無法獲取具體的文章語義信息.因此獲得真實的文本語義信息至關(guān)重要.
近年來,隨著預(yù)訓(xùn)練模型BERT(Bidirectional Encoder Representation from Transformers)的興起,單跳閱讀理解的簡單閱讀理解任務(wù),如SQuAD(Stanford Question Answering Dataset)[2]、TriviaQA[3]、NewsQA[4]等已取得重大突破,研究者們逐漸將目光轉(zhuǎn)到更能檢驗?zāi)P屠斫獬潭鹊摹岸嗵薄ⅰ巴评怼鼻樾紊?Welbl等[5]設(shè)計的WIKIHOP數(shù)據(jù)集和Yang等[6]設(shè)計的HOTPOTQA數(shù)據(jù)集是新近發(fā)布的較有挑戰(zhàn)性的多跳閱讀理解數(shù)據(jù)集.HOTPOTQA數(shù)據(jù)集提供各種推理策略,包含多種問題類型,每個問題對應(yīng)多段文檔,模型應(yīng)根據(jù)不同問題類型在多段文檔中構(gòu)造一條多跳推理鏈,整合推理鏈上的信息,得出最終答案.
由于單跳任務(wù)已取得較大突破,許多單跳模型使用的方法可跨任務(wù)借鑒.例如:QFE(Query Focu-sed Extractor)[7]和基于標(biāo)簽增強的機器閱讀理解模型(Label-Enhanced Reader, LE-Reader)[8]使用多任務(wù)方法輔助主任務(wù)預(yù)測答案.然而,大多數(shù)研究依舊使用檢索方式查找可能包含正確答案的段落,再使用單文檔答案預(yù)測方法.Min等[9]使用跨度預(yù)測的方法將多跳閱讀理解問題分解為單跳問題,大幅降低訓(xùn)練樣本數(shù)量,并使用打分制,從每個子問題的答案中選擇最優(yōu)答案.一些研究工作則嘗試避免推理,采用分模塊、單跳方法或動態(tài)尋找研究模型多跳推理的可解釋性.姜文超等[10]分別匹配問題與文本內(nèi)容后,對多個文本中可能出現(xiàn)的答案進(jìn)行再排序和組合.
但是,多跳推理需要同時應(yīng)用不同粒度的信息,單一的檢索方式不能有效地將收集到的推理證據(jù)進(jìn)行整合.由于圖神經(jīng)網(wǎng)絡(luò)能夠有效整理節(jié)點之間的依賴關(guān)系,學(xué)者們提出實體詞構(gòu)圖、使用關(guān)系構(gòu)圖或使用段落和實體詞混合構(gòu)圖,在圖網(wǎng)絡(luò)層后的實體詞中選擇答案,更好地整合細(xì)粒度信息.Song等[11]使用段落作為節(jié)點構(gòu)圖,希望使用圖結(jié)構(gòu)獲得全局意義上的證據(jù)信息并實現(xiàn)多跳推理.De Cao等[12]使用實體詞作為節(jié)點構(gòu)圖,圖上的邊是不同實體之間的關(guān)系,利用圖神經(jīng)網(wǎng)絡(luò)進(jìn)行消息傳遞并構(gòu)建推理鏈,實現(xiàn)段落跨越推理,整合實體信息,并從中預(yù)測正確答案.Dhingra等[13]利用循環(huán)層從外部系統(tǒng)獲取實體詞的共指消解,從而將實體詞劃分為不同集群進(jìn)行連接構(gòu)圖.Ding等[14]模仿人類對關(guān)鍵信息的提取記憶過程,先提取與問題相關(guān)的實體詞和候選答案,與此同時構(gòu)造一個認(rèn)知圖,整合當(dāng)前線索并預(yù)測下一跳可能的跨度信息,直至不能時再給出新的候選答案時,將認(rèn)知圖中當(dāng)前的推導(dǎo)結(jié)果作為最終答案.但是,此類方法構(gòu)造的圖難以支持事實信息,許多情況下只是實體詞匹配成功,構(gòu)造的推理鏈無法實現(xiàn)真正的推理效果.
鑒于此種情況,學(xué)者們使用段落、句子、實體詞構(gòu)造多粒度異構(gòu)圖.Tu等[15]使用候選答案、文章、實體詞作為構(gòu)圖節(jié)點,邊是節(jié)點之間的交互關(guān)系,使用互注意力機制及自注意力機制學(xué)習(xí)問題感知的初始節(jié)點表示,并使用圖神經(jīng)網(wǎng)絡(luò)傳遞結(jié)點消息.Qiu等[16]提出DFGN(Dynamically Fused Graph Network),構(gòu)造一個動態(tài)實體圖,每次推理時使用模塊融合相關(guān)實體構(gòu)造的實體圖和文檔,從給定的與問題相關(guān)的實體開始,沿著文章動態(tài)探索相關(guān)實體詞以進(jìn)行推理.Fang等[17]提出HGN(Hierarchical Graph Net-work),使用匹配和打分查找推理鏈,構(gòu)建多粒度層次圖,圖中包含的節(jié)點類型有問題、段落、句子、實體詞,初始結(jié)點表示通過圖傳播進(jìn)行更新和多跳推理,遍歷不同類型的邊以完成后續(xù)的子任務(wù),并使用多任務(wù)學(xué)習(xí)完成不同種類問題的回答.但是,多層次細(xì)粒度圖將所有線索合并成一個圖,難以解釋模型的決策.文獻(xiàn)[17]還發(fā)現(xiàn),模型在證據(jù)句子中容易被相似性噪聲影響,關(guān)鍵信息的獲取受到挑戰(zhàn),訓(xùn)練時容易引入錯誤的實體進(jìn)行答案推理.圖神經(jīng)網(wǎng)絡(luò)方法過于依賴鄰接矩陣,缺乏擴展性.
綜上所述,圖注意力網(wǎng)絡(luò)在融合文本和問題之間語義表示上取得一定成就,但在語義理解方面依舊存在不足,在證據(jù)句子中容易被相似性噪聲影響.分析人類閱讀理解過程可知,在閱讀文章回答問題時,人們通常需要再結(jié)合問題內(nèi)容以明確答案應(yīng)具有的關(guān)鍵信息,列出候選答案,再通過候選答案得出正確答案.在閱讀時人類通常會通過辨別文章和問題中的關(guān)鍵信息和干擾信息以得到正確答案,由此本文提出用于多跳閱讀理解的雙視圖對比學(xué)習(xí)網(wǎng)絡(luò)(Dual View Contrastive Learning Graph Networks, DV-CGN).主要貢獻(xiàn)如下.
1)DVCGN基于異構(gòu)圖的節(jié)點級正負(fù)樣本對比學(xué)習(xí)任務(wù)獲取更加豐富的上下文互信息.該任務(wù)首先通過隨機破壞異構(gòu)圖中的多粒度節(jié)點表示和拓?fù)溥吷呻p視圖,而不是僅僅對文本表示進(jìn)行擾動.使用兩個視圖之間的結(jié)點對比損失訓(xùn)練模型,目標(biāo)是最大限度計算節(jié)點之間的相似性.經(jīng)對比學(xué)習(xí)后的網(wǎng)絡(luò)擁有更豐富的上下文語義信息,能夠有效辨別多粒度上下文信息以及干擾信息,更能關(guān)注到與問題有關(guān)的正確答案的范圍,使推理鏈擁有更加豐富的互信息.
2)DVCGN通過問題引導(dǎo)篩選答案節(jié)點以縮小候選答案范圍,該方法使用問題表示對答案實體節(jié)點構(gòu)造注意力權(quán)重矩陣,再利用關(guān)系篩選算法保留關(guān)聯(lián)性最強的部分關(guān)系,減弱相似性表述對網(wǎng)絡(luò)預(yù)測候選答案造成的噪聲,為網(wǎng)絡(luò)提供更加精確的答案預(yù)測范圍,解決模型證據(jù)句子確定但無法得出正確答案的問題.
給定問題文本
Q={q1,q2,…,qm}
和文章文本
P={p1,p2,…,pn},
其中,qi為問題文本Q中的第i個詞,i=1,2,…,m,m為問題Q中的詞語數(shù)量,pj為文章P中的第j個段落,j=1,2,…,n,n為文章段落群中的段落數(shù)量.
多跳閱讀理解任務(wù)的目標(biāo)為:根據(jù)給定的問題Q和多段落文章P,經(jīng)多跳推理預(yù)測問題的答案
A∈{span,entity,Yes/No}.
答案A不僅僅來源于單一文章且形式不固定,包括跨度、實體與是非類型.
本文提出用于多跳閱讀理解的雙視圖對比學(xué)習(xí)網(wǎng)絡(luò)(DVCGN),總體架構(gòu)如圖1所示.網(wǎng)絡(luò)包括5個模塊:上下文編碼層、層次圖構(gòu)造層、基于對比學(xué)習(xí)的雙視圖推理層、問題引導(dǎo)圖節(jié)點剪枝層、多任務(wù)預(yù)測層.圖1中左邊的段落匹配模塊為層次圖段落節(jié)點篩選步驟,是層次圖構(gòu)造的一部分.
圖1 DVCGN整體架構(gòu)
上下文編碼層通過文本多跳匹配算法構(gòu)建推理鏈,進(jìn)一步采用RoBERTa(Robustly Optimized BERT
Pre-training Approach)語言模型編碼問題、段落、句子、實體詞,獲得圖節(jié)點的初始特征表示.層次圖構(gòu)造層基于問題、段落、句子、實體詞之間的邊關(guān)系構(gòu)建一個層次圖,連接不同來源的線索.段落匹配模塊為數(shù)據(jù)預(yù)處理階段,通過標(biāo)題匹配、實體詞匹配和RoBERTa打分器評分等方式篩選層次圖中與問題匹配的段落.基于對比學(xué)習(xí)的雙視圖推理層將上述層次圖以及節(jié)點特征進(jìn)行擾動處理,生成兩個視圖,采用對比學(xué)習(xí)的方法將雙視圖分別送入GAT(Graph Attention Networks)聯(lián)合更新,學(xué)習(xí)節(jié)點表示.問題引導(dǎo)圖節(jié)點剪枝層將上一步更新的節(jié)點表示進(jìn)行進(jìn)一步的篩選,再與上下文編碼的初始節(jié)點特征表示經(jīng)門控注意力模塊進(jìn)行問題引導(dǎo)的答案預(yù)測.多任務(wù)預(yù)測層將答案預(yù)測、段落預(yù)測、支持事實預(yù)測、實體預(yù)測以及雙視圖對比學(xué)習(xí)子任務(wù)的特征信息分別傳入分類器進(jìn)行打分預(yù)測,并預(yù)測最終答案輸出.
數(shù)據(jù)集上的問題與文章經(jīng)過數(shù)據(jù)預(yù)處理,得到每條樣本對應(yīng)的初步層次圖,在上下文編碼層中使用預(yù)訓(xùn)練模型RoBERTa,獲得所有圖節(jié)點的初始表示.首先將該問題對應(yīng)選定的段落與上下文合并,并與問題一起送入RoBERTa中,獲得初始表征.經(jīng)互注意力層獲得問題表示
Q={q0,q1,…,qm-1}∈Rm×d
和段落上下文表示
P={p0,p1,…,pn-1}∈Rn×d,
其中,m表示問題數(shù)量,n表示段落數(shù)量,d表示表征向量維度.
第二步將問題和上下文表示分開處理,上下文表示經(jīng)Bi-LSTM(Bidirectional Long Short-Term Me-
mory)網(wǎng)絡(luò)提取段落、句子、實體三種類型的節(jié)點表示(fpi,fsi,fei):
具體地,對于不同類型的節(jié)點,均以跨度形式表示加入計算,Bi-LSTM網(wǎng)絡(luò)的兩個方向正對應(yīng)跨度的開始與結(jié)束,而問題節(jié)點經(jīng)過最大池化層獲得節(jié)點表示:
fq=maxpooling(Q).
RoBERTa為RoBERTa-large,是BERT更精細(xì)的調(diào)優(yōu)版本,能夠適應(yīng)更大的模型參數(shù)量以及更多的訓(xùn)練數(shù)據(jù),適合本文的大型數(shù)據(jù)集.
綜上所述,經(jīng)過上下文編碼層得到第i項段落、句子、實體3種類型的節(jié)點表示(fpi,fsi,fei),問題節(jié)點表示為fq.
層次圖的構(gòu)建主要分為兩步:段落匹配和圖的構(gòu)建.段落匹配基于每條樣本中的問題,匹配文章中符合該問題的段落.圖的構(gòu)建是基于段落匹配中得出的關(guān)系對、段落中句子關(guān)系和實體詞關(guān)系在鄰接矩陣中構(gòu)建節(jié)點、添加邊.將圖的構(gòu)建放在數(shù)據(jù)預(yù)處理階段,形成數(shù)據(jù)文件,在訓(xùn)練時載入并進(jìn)行計算.
1.4.1 段落匹配模塊
HOTPOTQA數(shù)據(jù)集樣本中的每個段落都有對應(yīng)的標(biāo)題,記標(biāo)題和段落的關(guān)系對為(ti,pi),標(biāo)題涉及段落大意的關(guān)鍵詞,所以先考慮使用標(biāo)題進(jìn)行文本和問題的匹配依舊是DVCGN的首選.當(dāng)標(biāo)題匹配失敗時,選擇使用問題中出現(xiàn)的實體詞在段落中進(jìn)行匹配.
為了輔助段落匹配結(jié)果的選擇,還使用預(yù)訓(xùn)練模型RoBERTa對段落pi包含黃金證據(jù)事實的概率進(jìn)行打分.計算過程的具體描述如下.
第一跳匹配.首先,訓(xùn)練一個基于預(yù)訓(xùn)練RoBE-
RTa的編碼器作為打分器對段落進(jìn)行排序,得到排序后的段落集合:
Pranking=RoBERTaranking(P),
第二跳匹配.為了模擬人類進(jìn)行多跳閱讀,第二跳節(jié)點應(yīng)與第一跳節(jié)點直接相關(guān)以回答問題,但直接使用第一跳節(jié)點進(jìn)行段落間的實體詞匹配,會引入大量噪聲.這里直接引用數(shù)據(jù)集上第一跳節(jié)點段落中的超鏈接(Hyperlink_Titles),搜索可能存在的第二跳段落,該段落需是在第一跳沒有被選中的段落.尋找到第二跳段落后隨即構(gòu)建兩段落節(jié)點之間的邊(pi,pj).
兩跳的段落選擇構(gòu)建的邊均為雙向邊,計算結(jié)束后會得到n個候選段落
pcandi={p1,p2,…,pn}.
為了減少圖推理中的噪聲,進(jìn)一步使用打分器選擇排名前N的段落.
1.4.2 層次圖構(gòu)建
由于段落和句子之間、句子和實體詞之間自然有包含關(guān)系,利用此包含關(guān)系能夠豐富多粒度圖結(jié)構(gòu)中的語義關(guān)系,于是定義為層次圖.層次圖中還包含段落之間的關(guān)系(如第二跳得到的超鏈接匹配關(guān)系),同一段落中的句子之間的兄弟關(guān)系,句子和段落之間的超鏈接匹配所得的邊關(guān)系.
綜上可知,構(gòu)建的層次圖中存在4種節(jié)點:問題節(jié)點q、段落節(jié)點
p={p1,p2,…,pnp}、
句子節(jié)點
s={s1,s2,…,sns}、
實體詞節(jié)點
e={e1,e2,…,ene},
其中,np、ns、ne分別表示圖中限定的段落、句子、實體詞節(jié)點的個數(shù).存在如下邊關(guān)系:
1)第一跳匹配的問題節(jié)點和段落節(jié)點的連邊(q,pi);
2)句子節(jié)點和通過超鏈接相連的段落節(jié)點的連邊(si,pi);
3)第二跳的段落節(jié)點之間的連邊(pi,pj);
4)同一段落中的相鄰句子節(jié)點之間的連邊(si,sj);
5)段落節(jié)點及其包含的句子節(jié)點之間的連邊(pi,si);
6)句子節(jié)點及其包含的實體詞節(jié)點之間的連邊(si,ei);
7)問題節(jié)點及其包含的實體詞節(jié)點之間的連邊(q,ei)(圖1中未展示).
1.5.1 雙視圖構(gòu)造
負(fù)樣本的生成是對比學(xué)習(xí)的關(guān)鍵.機器閱讀理解領(lǐng)域工作的負(fù)樣本策略主要集中在文本表示的負(fù)樣本生成,本文考慮采用基于異構(gòu)圖結(jié)構(gòu)的負(fù)樣本生成.由于本文的層次圖涵蓋多粒度的文本信息,在圖結(jié)構(gòu)上進(jìn)行負(fù)樣本生成有助于對比學(xué)習(xí)作用于全局,同時也有助于網(wǎng)絡(luò)在多粒度節(jié)點上學(xué)習(xí)到更豐富的語義信息.
DVCGN考慮使用隨機刪除邊關(guān)系和隨機掩蔽節(jié)點特征的方法對視圖進(jìn)行破壞,從圖結(jié)構(gòu)和節(jié)點特征級別對圖進(jìn)行損壞,從而構(gòu)建多粒度節(jié)點對比.定義圖G=(V,E),其中,V為圖節(jié)點集,E為圖中的邊關(guān)系集合.圖的鄰接矩陣Aadj∈RnV×nV,Aadj中的值由7種邊關(guān)系定義,由于邊是雙向邊,所以Aadj為對稱矩陣.特征矩陣F∈RnV×d,其中d為節(jié)點特征維度.
刪除邊.首先將鄰接矩陣Aadj轉(zhuǎn)換為稀疏矩陣Acoo,根據(jù)節(jié)點個數(shù)隨機構(gòu)造一個矩陣Amask∈RnV×nV作為掩蔽矩陣:
其中,β(·)為伯努利分布,pv為自定義的掩蔽概率.
當(dāng)Aadj中存在邊關(guān)系時為掩蔽矩陣分配相應(yīng)數(shù)值,其值是根據(jù)伯努利分布計算得到.再將掩蔽矩陣與原鄰接矩陣進(jìn)行哈達(dá)瑪乘積,得到被損壞的鄰接矩陣:
其中°為哈達(dá)瑪積,
向量掩蔽.首先采樣隨機向量fmask作為d維掩蔽向量,向量中的值采用伯努利分布提取,即
再將節(jié)點特征與掩蔽向量進(jìn)行哈達(dá)瑪乘積,生成被損壞的節(jié)點特征:
1.5.2 圖推理
圖推理模塊聚合的特征來自不同粒度鄰居節(jié)點,用于更新節(jié)點自身表示.由于在多粒度圖中,不同的鄰居節(jié)點可能對節(jié)點本身具有不同的作用,節(jié)點本身需要學(xué)習(xí)不同粒度相應(yīng)的節(jié)點表示.
eij=([Wehi;Wehj]),j∈Ni,
其中,hi為當(dāng)前計算的節(jié)點i表示,hj為節(jié)點i的鄰居節(jié)點j的表示,We∈Rd為共享參數(shù)矩陣.
再經(jīng)過歸一化后得到注意力系數(shù)
則當(dāng)前節(jié)點i更新后的表示為:
其中W1∈Rd×d為共享參數(shù)矩陣.
在GAT運算后添加一個門控注意力模塊,用于答案跨度預(yù)測任務(wù).使用圖網(wǎng)絡(luò)學(xué)習(xí)后的節(jié)點特征與上下文表示輸出融合,能夠有指導(dǎo)性地找到用于跨度提取的上下文門控表示集合.
具體來說,定義E={Q,P}為上下文編碼層經(jīng)RoBERTa編碼后的初始嵌入表示,以類似注意力機制的計算方式計算上下文嵌入和更新圖節(jié)點的相關(guān)性系數(shù):
其中,W2∈R2d×2d,W3∈R2d×2d,均為可學(xué)習(xí)參數(shù)矩陣.再結(jié)合門控機制獲得門控上下文表征:
其中,W4∈R4d×4d,W4∈R4d×4d,均為可學(xué)習(xí)參數(shù)矩陣.EG用于答案跨度預(yù)測.
1.5.3 雙視圖對比學(xué)習(xí)
其中τ為溫度系數(shù).當(dāng)前圖中負(fù)例對的訓(xùn)練目標(biāo)為:
圖2展示一個用于關(guān)系過濾方法示例的主要篩選步驟,給定問題“浪漫喜劇《巨石谷鎮(zhèn)》的導(dǎo)演位于紐約的哪個城市?”.經(jīng)過圖推理后的候選答案節(jié)點分別為E1、E2、E3、E4,其中,E1為人名,與題目要求的地名答案導(dǎo)向不一致,故經(jīng)過算法篩選后刪除E1節(jié)點.
圖2 關(guān)系過濾方法示例
其中sort(·)為降序排序函數(shù).再按上述排序順序?qū)ψ⒁饬?quán)重矩陣保留Nrelation個維度,獲得較精準(zhǔn)的注意力權(quán)重稀疏矩陣:
1.7.1 子任務(wù)預(yù)測
根據(jù)圖網(wǎng)絡(luò)層更新后的不同類型節(jié)點進(jìn)行不同的子任務(wù)預(yù)測,主要有段落預(yù)測、支持事實預(yù)測、實體詞預(yù)測.定義總損失為Lall,使用交叉熵?fù)p失計算,總損失
Lall=Lstart+Lend+μ1Lpara+μ2(Lsent+μgraLgra)+
μ3Lent+μ4Ltype,
其中,μ1、μ2、μ3、μ4、μgra為超參數(shù),Lstart、Lend為跨度預(yù)測,Lpara為段落預(yù)測,Lsent為句子預(yù)測,Lent為實體詞預(yù)測,Ltype為答案類型預(yù)測.
段落預(yù)測具體是預(yù)測一個段落中是否包含正確標(biāo)注數(shù)據(jù)的支持事實,句子預(yù)測具體是預(yù)測一個句子是否被選擇為支持事實,實體詞預(yù)測是預(yù)測來自于問題和上下文中匹配的實體節(jié)點之間是否存在黃金答案.由于句子的語義學(xué)習(xí)對于答案預(yù)測以及段落預(yù)測都十分重要,本文將雙視圖對比學(xué)習(xí)的損失與句子預(yù)測損失放在一起進(jìn)行計算.段落中包含支持事實的概率
句子被選擇為支持事實的概率
實體節(jié)點中存在正確答案的概率
段落預(yù)測和句子預(yù)測是一個二分類預(yù)測任務(wù),實體詞預(yù)測是一個多分類任務(wù).
1.7.2 答案預(yù)測
然而,在多答案閱讀中直接使用實體預(yù)測最終答案是不合理的,本文使用實體詞預(yù)測作為一個依據(jù),與答案類型預(yù)測以及跨度預(yù)測一起進(jìn)行答案預(yù)測.具體地,由于答案具有多種類型,主要有跨度、實體、是非類型.首先進(jìn)行答案類型預(yù)測以判斷答案類型,定義答案類型預(yù)測任務(wù)為ptype.使用多層感知機(Multi-layer Perception, MLP),基于門控注意力層的隱藏狀態(tài)進(jìn)行計算,編碼方式如下:
ptype=MLP7(EG[0]).
若答案為是非類型,直接返回答案.若答案為實體類型,返回實體詞預(yù)測結(jié)果.若答案為跨度預(yù)測類型,使用上述門控注意力層的隱藏狀態(tài)進(jìn)行跨度預(yù)測計算.答案開始位置的概率為:
pstart=MLP8(EG)∈Rnp,
其中EG為候選答案表示.答案結(jié)束位置的概率為:
pend=MLP9(EG)∈Rnp.
為了驗證DVCGN的有效性,本文使用HOTPO-
TQA數(shù)據(jù)集進(jìn)行實驗評估.HOTPOTQA數(shù)據(jù)集是2018年提出的新型多跳數(shù)據(jù)集,由113 000個Wikipedia問答對組成,其中的答案是通過在多個文檔上建立的證據(jù)鏈推理生成.HOTPOTQA數(shù)據(jù)集的問題形式多樣,對推理模型的泛化性要求較高.DVCGN在HOTPOTQA數(shù)據(jù)集上帶有干擾性設(shè)置類型的數(shù)據(jù)集上評估網(wǎng)絡(luò)性能,此類設(shè)置主要由2個Gold段落和8個來自Wikipedia的干擾句段落組成.
HOTPOTQA數(shù)據(jù)集提供句子級支持事實以實現(xiàn)強監(jiān)督推理,因此,除了答案預(yù)測任務(wù),數(shù)據(jù)集還包含支持事實預(yù)測任務(wù)和聯(lián)合度量任務(wù),用于評估模型性能.每個任務(wù)都采用完全匹配指標(biāo)(Exact Match, EM)和部分一致的F1指標(biāo)(簡稱F1)作為評價指標(biāo).表1列出HOTPOTQA數(shù)據(jù)集的統(tǒng)計數(shù)據(jù).
表1 HOTPOTQA數(shù)據(jù)集的統(tǒng)計信息
為了驗證DVCGN的有效性,選取如下基準(zhǔn)模型.
1)文獻(xiàn)[6]模型.主要由循環(huán)神經(jīng)網(wǎng)絡(luò)、雙向注意力、自注意力模塊構(gòu)成,同時,加入判斷支持事實、判斷是非、判斷跨度答案的模塊.
2)QFE[7].由于不同證據(jù)句子之間存在相關(guān)性,受抽取式總結(jié)模型的啟發(fā),使用循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合注意力的方式抽取證據(jù)句子,使其能覆蓋問題句子中的重要信息,以此縮小模型預(yù)測答案的范圍.
3)DFGN[16].首個在此類閱讀理解方法中使用圖神經(jīng)網(wǎng)絡(luò)的模型,將問題的實體詞與文檔中的實體詞結(jié)合構(gòu)建動態(tài)的實體詞圖網(wǎng)絡(luò),在每個時間步上對問題賦予不同權(quán)重、更新問題表示.經(jīng)過不斷的迭代形成推理鏈.
4)文獻(xiàn)[18]模型.利用基于命名實體識別和共指消解的啟發(fā)式算法,得到離散推理鏈,減少對支持事實的依賴.
5)文獻(xiàn)[19]模型.提出除BERT的兩個預(yù)訓(xùn)練任務(wù)以外的跨度選擇預(yù)訓(xùn)練任務(wù),該任務(wù)類似于完形填空任務(wù),在有限的訓(xùn)練數(shù)據(jù)內(nèi)提升預(yù)測性能.
6)LQR-Net(Latent Question Reformulation Net-
work)[20].提出新的問答系統(tǒng),將問題表示簡化為向量,在閱讀模塊使用自注意力方法、讀取閱讀塊堆棧,以及使用弱監(jiān)督幫助答案生成.
7)SAE-large(Select, Answer and Explain)[21].僅使用BERT完成整個模型的構(gòu)建,根據(jù)問題與輸入文檔的相關(guān)性對句子進(jìn)行評分,從而得到分?jǐn)?shù)最高的句子集并以此預(yù)測答案,再利用生成的答案識別支持事實句子.
8)文獻(xiàn)[22]模型.提出圖結(jié)構(gòu)及其鄰接矩陣都是任務(wù)相關(guān)的先驗知識,而圖注意可以看作是自注意的特例,并用實驗證實圖結(jié)構(gòu)效果不如直接使用子注意力或Transformers.
9)Longformer(Long-Document Transformer)[23].采用新的融合機制,結(jié)合滑動窗口的自注意力表示和全局自注意力機制,并且可通過多個注意力層構(gòu)建全文理解,以此方式解決長文本問答.
10)IRC(Interpretable Reading Comprehension)[24].將段落建模為序列數(shù)據(jù),并將多跳信息檢索視為一種序列標(biāo)記任務(wù),捕獲段落間的依賴關(guān)系,并利用門控機制消除段落間的噪聲,以此增強模型信息性能.
11)LOUVRE(Learning from Multi-hop Variation of Document Relations)[25].提出新的預(yù)訓(xùn)練檢索器,采用問題和子問題嵌套結(jié)構(gòu)的可擴展數(shù)據(jù)生成方法,作為預(yù)訓(xùn)練的弱監(jiān)督,預(yù)訓(xùn)練還使用復(fù)雜問題向量表示以及密集編碼器,以此提升模型的魯棒性.
12)文獻(xiàn)[26]模型.從問題生成角度提出一個捕獲上下文語義的方法,通過詢問固有的邏輯子問題幫助模型理解上下文,以便提供清晰的推理鏈完成答案預(yù)測.
13)LittleBird[27].基于BigBird,采用基于線性偏差注意的位置表示方法拆分表示全局信息的方法,模型也適用于長文本,既提高運行速度又降低內(nèi)存占用,實現(xiàn)性能的提升.
實驗所用的處理器為NVIDIA A100,基于Pytorch開源庫設(shè)計,采用Stanford CoreNLP工具包處理輸入,使用spacy3提取實體詞.為了更好地獲取多文檔上下文表示,采用RoBERTa-large編碼,最大輸入維度為1 024,隱藏層設(shè)置為600.RoBERTa-large能夠容納更多的訓(xùn)練數(shù)據(jù)和參數(shù)量.段落匹配中打分器在段落排序后選擇前4個分?jǐn)?shù)最高的段落構(gòu)造異構(gòu)圖,異構(gòu)圖中的段落、句子、實體詞節(jié)點個數(shù)分別限制在4、40、60以內(nèi).
在雙視圖對比學(xué)習(xí)中,為了得到更好的節(jié)點級語義學(xué)習(xí)效果,構(gòu)造負(fù)樣本圖像的掩蔽概率,分別設(shè)置為0.1、0.3,構(gòu)造負(fù)樣本特征掩蔽概率,分別設(shè)置為0.25、0.3.在答案剪枝模塊中,為了細(xì)化答案范圍,保留Nrelation(Nrelation=52)個關(guān)系.訓(xùn)練使用Adam優(yōu)化器(Adaptive Moment Estimation),在20個階段進(jìn)行微調(diào),每個階段數(shù)據(jù)批次大小為24,初始學(xué)習(xí)率設(shè)置為1×10-5,設(shè)置多任務(wù)預(yù)測的μ1=1,μ2=1,μ3=5,μ4=1.
各模型在HOTPOTQA數(shù)據(jù)集上的性能如表2所示,表中黑體數(shù)字表示最優(yōu)值.在distractor設(shè)置上,相比使用傳統(tǒng)啟發(fā)式算法的文獻(xiàn)[18]模型,DVCGN具有較大的性能提升,其原因主要是傳統(tǒng)的啟發(fā)式算法具有較大的不穩(wěn)定性,深度學(xué)習(xí)模型通過高精度的計算獲得更加細(xì)致的語義表示,有助于模型理解問題.
表2 各模型在HOTPOTQA數(shù)據(jù)集上的性能對比
DVCGN在答案預(yù)測任務(wù)和聯(lián)合度量任務(wù)上均取得最佳性能,在答案預(yù)測任務(wù)上,相比基準(zhǔn)模型中最佳的Longformer,DVCGN的EM和F1值分別提升1.99%和1.3%,在聯(lián)合度量任務(wù)上,相比基準(zhǔn)模型中最佳的Longformer,DVCGN的EM和F1值分別提升1.23%和1.73%.這可以歸因于DVCGN提出的雙視圖對比學(xué)習(xí)方法能夠捕獲更多的節(jié)點級語義信息,使網(wǎng)絡(luò)更好地理解推理鏈上關(guān)鍵信息,問題引導(dǎo)節(jié)點剪枝算法能夠有效縮小候選答案范圍,引導(dǎo)網(wǎng)絡(luò)在圖網(wǎng)絡(luò)傳播時著重傳播關(guān)鍵信息,精確預(yù)測正確答案.
由表2可知,DVCGN在答案預(yù)測任務(wù)和聯(lián)合度量任務(wù)上的EM和F1值最優(yōu),并在支持事實預(yù)測任務(wù)的EM和F1指標(biāo)上取得次優(yōu)的結(jié)果,表明DVCGN在答案跨度預(yù)測及所有類型聯(lián)合預(yù)測方面表現(xiàn)優(yōu)秀.相比DVCGN,構(gòu)建新的自注意力網(wǎng)絡(luò)模式并進(jìn)行長文檔建模的Longformer在證據(jù)句子預(yù)測方面的表現(xiàn)略優(yōu),EM和F1分別提高0.82%和0.40%,這可以歸因于Longformer的長文檔建模的編碼器,使編碼后的節(jié)點信息攜帶豐富的上下文信息.然而,DVCGN在答案跨度預(yù)測及所有類型聯(lián)合預(yù)測指標(biāo)上都明顯優(yōu)于Longformer,在答案跨度預(yù)測任務(wù)上分別提高1.99%和1.30%,在聯(lián)合預(yù)測任務(wù)上EM和F1值分別提高1.23%和1.73%.這是因為DVCGN的貢獻(xiàn)主要在于豐富模型在編碼后的語義信息學(xué)習(xí),在答案預(yù)測方面再一次使用問題進(jìn)行關(guān)鍵引導(dǎo),故DVCGN的答案預(yù)測性能與聯(lián)合預(yù)測性能均優(yōu)于Longformer.同時,與Longformer的對比分析也啟發(fā)本文后續(xù)對于數(shù)據(jù)預(yù)處理和編碼方向的改進(jìn).
綜上所述,DVCGN具有更強的競爭力和更好的領(lǐng)域適應(yīng)性.DVCGN相對基準(zhǔn)模型的性能優(yōu)勢也表明:DVCGN在學(xué)習(xí)推理鏈上節(jié)點信息和預(yù)測正確答案方面更有效.
本節(jié)通過不同模塊的消融實驗分析其對網(wǎng)絡(luò)整體的性能貢獻(xiàn).
定義消融網(wǎng)絡(luò)如下:1)DVCGN w/o DVC.表示從DVCGN中去除雙視圖對比學(xué)習(xí)模塊.2)DVCGN w/o Pruning.表示從DVCGN中去除問題引導(dǎo)圖節(jié)點剪枝模塊.各網(wǎng)絡(luò)消融實驗結(jié)果如表3所示.
表3 各模塊消融實驗結(jié)果
由表3可知,DVCGN w/o DVC性能較差,這說明本文提出的雙視圖對比學(xué)習(xí)方法可有效豐富節(jié)點級語義信息,引導(dǎo)模型正確理解推理鏈中不同節(jié)點的相關(guān)性.DVCGN w/o Pruning表現(xiàn)次于DVCGN w/o DVC,這說明本文提出的問題引導(dǎo)圖剪枝方法可正確引入問題信息篩選答案節(jié)點,縮小候選答案范圍,從而降低網(wǎng)絡(luò)對于候選答案的預(yù)判,減弱相似信息帶來的噪聲影響.DVCGN w/o Pruning的性能差于DVCGN w/o DVC,這說明構(gòu)造雙視圖進(jìn)行節(jié)點級別的樣本對比學(xué)習(xí)能夠提升網(wǎng)絡(luò)理解答案節(jié)點的準(zhǔn)確度,從而引導(dǎo)網(wǎng)絡(luò)預(yù)測正確答案,對提升網(wǎng)絡(luò)性能起到關(guān)鍵性作用.
雙視圖構(gòu)造方法中選取的損壞兩個圖節(jié)點的掩蔽概率pv1和pv2是影響DVCGN性能的關(guān)鍵因素,決定其對樣本學(xué)習(xí)的程度.本文在HOTPOTQA數(shù)據(jù)集上評估pv1、pv2的不同取值對DVCGN性能的影響.結(jié)果如圖3所示.
(a)EM
由圖3可以觀察到,當(dāng)pv1=1,pv2=3時,DVCGN取得最佳性能,當(dāng)pv1=1,pv2=2時,性能表現(xiàn)次優(yōu).其原因主要有:DVCGN在構(gòu)造雙視圖時,掩蔽概率決定兩個圖節(jié)點之間的負(fù)樣本數(shù)目,若對兩個圖都掩蔽過少節(jié)點容易造成負(fù)樣本數(shù)目過少,網(wǎng)絡(luò)從中并不能學(xué)習(xí)到足夠的知識,反而引入噪聲.當(dāng)pv1=1,pv2=2時,DVCGN的負(fù)樣本相對較少,不足以支撐模型學(xué)習(xí);當(dāng)pv1=1,pv2=3時,DVCGN能根據(jù)足夠的正負(fù)樣本對比學(xué)習(xí)到推理中節(jié)點之間豐富的語義信息,更好地理解上下文語義.隨著兩個圖掩蔽概率一起增大,網(wǎng)絡(luò)性能開始持續(xù)下降,這主要歸因于引入過多的負(fù)樣本,為網(wǎng)絡(luò)帶來噪聲,誤導(dǎo)網(wǎng)絡(luò)的學(xué)習(xí),影響網(wǎng)絡(luò)對推理鏈的理解以及答案的選取.總之,DVCGN使用pv1=1,pv2=3時獲得最佳性能.
在問題引導(dǎo)圖節(jié)點剪枝層中,為了細(xì)化答案范圍,在過濾方法的最后保留Nrelation(Nrelation=52)個關(guān)系以確定參與最終答案預(yù)測計算的候選答案數(shù)量,去除相似性的冗余噪聲.為了確定Nrelation取何值對DVCGN性能改善最為合適,本節(jié)將Nrelation分別設(shè)置為45,48,50,52,55,60,進(jìn)行參數(shù)實驗,分析最適合DVCGN的Nrelation取值.
在3個預(yù)測任務(wù)中設(shè)置不同的Nrelation,其對DVCGN的性能影響如圖4所示.由圖可觀察出,其余參數(shù)不變的情況下,在Nrelation=52時,DVCGN的支持事實預(yù)測任務(wù)中F1值接近最優(yōu),其余指標(biāo)達(dá)到最優(yōu),故在Nrelation=52時,DVCGN的綜合性能達(dá)到最優(yōu).Nrelation過小,容易過濾真正可參考的候選答案;Nrelation過大,圖節(jié)點剪枝層便起不到篩選答案的作用,反而使過濾方法成為冗余操作,影響網(wǎng)絡(luò)預(yù)測答案的準(zhǔn)確性.
(a)EM
針對現(xiàn)有的多跳閱讀理解模型對跨文檔閱讀中語義信息理解不充分以及相似性表述再預(yù)測答案時引入的噪聲影響問題,本文提出用于多跳閱讀理解的雙視圖對比學(xué)習(xí)網(wǎng)絡(luò)(DVCGN),以此豐富多文檔推理鏈上的語義信息、減弱噪聲.DVCGN主要使用正負(fù)樣本對比學(xué)習(xí)、圖注意力網(wǎng)絡(luò)以及注意力機制.首先,使用RoBERTa預(yù)訓(xùn)練模型,得到文檔以及問題的上下文表示,通過語義匹配和打分器構(gòu)造推理鏈,使用推理鏈的上下文特征向量構(gòu)造異構(gòu)圖網(wǎng)絡(luò).再對該異構(gòu)圖進(jìn)行節(jié)點級和特征級的損壞,以此構(gòu)造雙視圖,讓兩視圖中損壞后的節(jié)點和其余節(jié)點作為負(fù)樣本,兩視圖中對應(yīng)的節(jié)點作為正樣本,以此構(gòu)造對比學(xué)習(xí)子任務(wù).在答案預(yù)測層,首先使用經(jīng)編碼后的問題初始表示與答案實體節(jié)點進(jìn)行注意力計算,得到注意力權(quán)重矩陣,對此注意力矩陣進(jìn)行相關(guān)性篩選,去除關(guān)聯(lián)性較弱的部分權(quán)重,以此過濾答案節(jié)點中與問題關(guān)聯(lián)性不強的部分節(jié)點,讓圖網(wǎng)絡(luò)傳播更加符合問題要求的信息,縮小候選答案范圍,避免相似性表述造成的誤判問題.最后,篩選后的候選節(jié)點經(jīng)門控注意力層預(yù)測不同問題種類的答案.實驗驗證DVCGN在多跳閱讀理解方面的性能,消融實驗驗證雙視圖對比學(xué)習(xí)和圖節(jié)點剪枝方法的有效性,參數(shù)實驗驗證雙視圖構(gòu)造中掩蔽節(jié)點概率的選擇對性能的影響.
在研究負(fù)樣本構(gòu)造時發(fā)現(xiàn),負(fù)樣本的質(zhì)量對學(xué)習(xí)過程至關(guān)重要.如果負(fù)樣本與正樣本相似度過高,模型會過度擬合;如果負(fù)樣本與正樣本相似度過低,模型就無法很好地學(xué)習(xí)數(shù)據(jù)特征,導(dǎo)致欠擬合.因此,今后將考慮更高效的負(fù)樣本設(shè)計方法.