王瑞琦,羅智勇,劉 祥,韓瑞昉,李舒馨
(北京語言大學(xué) 信息科學(xué)學(xué)院,北京 100083)
機(jī)器閱讀理解(Machine Reading and Comprehension, MRC)任務(wù)與人類閱讀理解任務(wù)相似,是指計(jì)算機(jī)根據(jù)指定篇章文本回答相關(guān)問題的過程。近年來,隨著深度學(xué)習(xí)技術(shù),特別是詞向量表示、預(yù)訓(xùn)練語言模型方法的發(fā)展,機(jī)器閱讀理解模型的性能得到巨大提升,甚至在個(gè)別機(jī)器閱讀理解數(shù)據(jù)集評(píng)測任務(wù)中逼近或超越了人類的水平[1]。但在涉及到遠(yuǎn)距離、深層次的語義關(guān)系時(shí),現(xiàn)有的深度學(xué)習(xí)方法仍然沒有取得實(shí)質(zhì)性的突破。
在機(jī)器閱讀理解任務(wù)中,這一現(xiàn)象主要體現(xiàn)在: 中文機(jī)器閱讀理解任務(wù)的篇章文本(Context)長度較長,經(jīng)常包含多個(gè)標(biāo)點(diǎn)句;且問題(Question)對(duì)應(yīng)的答案與回答此問題需要的線索要素在篇章文本中跨越多個(gè)標(biāo)點(diǎn)句,這種情況給機(jī)器閱讀理解任務(wù)的答案抽取帶來較大困難,具體示例如圖1所示。
圖1 跨標(biāo)點(diǎn)句問答樣例
圖1中,我們使用換行縮進(jìn)形式直觀地表示了篇章文本中話頭-話體共享關(guān)系[2]: 此樣例中篇章文本(Context)一共有8個(gè)標(biāo)點(diǎn)句(用換行表示),其中,c2至c8等7個(gè)標(biāo)點(diǎn)句均共享標(biāo)點(diǎn)句c1中的話頭“徐珂”(用縮進(jìn)表示)。Question1中的線索要素包括: “1901年”(位于c8)、“徐珂”(位于c1,“加粗”顯示),問題要素是“擔(dān)任什么職務(wù)”(用“波浪線”標(biāo)記),該問題對(duì)應(yīng)的答案是“1901年在上海擔(dān)任了《外交報(bào)》《東方雜志》的編輯”(位于c8,用“下劃線”標(biāo)記)。線索要素與問題答案之間在篇章文本中跨越8個(gè)標(biāo)點(diǎn)句,屬于遠(yuǎn)距離關(guān)聯(lián)關(guān)系。在本例中,要想讓模型準(zhǔn)確地抽取出答案,必須在標(biāo)點(diǎn)句c1中找到標(biāo)點(diǎn)句c8缺失的話頭“徐珂”,并將c8補(bǔ)充完整,再進(jìn)行問答。
我們針對(duì)于這一跨標(biāo)點(diǎn)句、遠(yuǎn)距離關(guān)聯(lián)的現(xiàn)象,在CMRC2018閱讀理解數(shù)據(jù)集[3]上進(jìn)行了標(biāo)注,結(jié)果如表1所示。其中,跨標(biāo)點(diǎn)句問答問題占全部訓(xùn)練數(shù)據(jù)的67.89%;BERT的基線系統(tǒng)在跨標(biāo)點(diǎn)句問答的問題上的精確匹配率(EM)為61.02%,相比于其他問題上的EM值72.02%,降低了11.00%,在一定程度上說明了跨標(biāo)點(diǎn)句問答給答案的抽取帶來了一定困難。
表1 CMRC2018閱讀理解數(shù)據(jù)集跨標(biāo)點(diǎn)句問答統(tǒng)計(jì)情況
目前針對(duì)中文機(jī)器閱讀理解任務(wù)的研究方法多為模型結(jié)構(gòu)的更改或增加實(shí)體信息等外部知識(shí),卻很少關(guān)注數(shù)據(jù)中普遍存在的跨標(biāo)點(diǎn)句問答問題。本文應(yīng)用小句復(fù)合體理論降低中文機(jī)器閱讀理解任務(wù)中跨標(biāo)點(diǎn)句問答問題答案抽取的難度,提高模型的性能。小句復(fù)合體理論基于邏輯語義關(guān)系和成分共享關(guān)系研究漢語中跨標(biāo)點(diǎn)句的句間關(guān)系,本文應(yīng)用該理論對(duì)閱讀理解數(shù)據(jù)的篇章文本進(jìn)行分析,使用標(biāo)點(diǎn)句間的話頭-話體共享信息構(gòu)建遠(yuǎn)距離標(biāo)點(diǎn)句之間的聯(lián)系。篇章文本中的標(biāo)點(diǎn)句補(bǔ)全缺失的話頭話體成分,轉(zhuǎn)化為自足的話題結(jié)構(gòu)后,問題的線索要素與答案要素將處于同一話頭自足句或者同一小句復(fù)合體結(jié)構(gòu)內(nèi)部,便于答案的抽取。標(biāo)點(diǎn)句之間的遠(yuǎn)距離成分共享關(guān)系可以保證標(biāo)點(diǎn)句語義的完整性,為模型提供額外的語義信息,提高模型的語義表示能力,對(duì)于機(jī)器閱讀理解等自然語言處理任務(wù)具有基礎(chǔ)性的意義。
本文的主要貢獻(xiàn)在于: 提出將小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)與機(jī)器閱讀理解任務(wù)融合的策略,利用小句復(fù)合體中話頭-話體遠(yuǎn)距離共享關(guān)系,為模型提供句級(jí)別的結(jié)構(gòu)化語義信息,降低遠(yuǎn)距離答案抽取的難度;提出了基于小句復(fù)合體的機(jī)器閱讀理解模型,并驗(yàn)證了小句復(fù)合體話頭-話體共享關(guān)系在機(jī)器閱讀理解任務(wù)中的作用效果;另外,本文在CMRC2018閱讀理解數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明: 小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)對(duì)機(jī)器閱讀理解任務(wù)中的遠(yuǎn)距離跨標(biāo)點(diǎn)句問答問題有明顯的效果,與基準(zhǔn)模型相比,基于小句復(fù)合體的機(jī)器閱讀理解模型的整體精確匹配率(EM)提升3.26%,其中跨標(biāo)點(diǎn)句問答問題的EM提升3.49%。
本文組織結(jié)構(gòu)如下: 第1節(jié)介紹相關(guān)研究;第2節(jié)介紹相關(guān)概念和基于小句復(fù)合體的機(jī)器閱讀理解任務(wù)建模;第3節(jié)介紹基于小句復(fù)合體的機(jī)器閱讀理解模型設(shè)計(jì);第4節(jié)介紹實(shí)驗(yàn)結(jié)果及分析,第5節(jié)為總結(jié)與展望。
機(jī)器閱讀理解任務(wù)的起源可以追溯到20世紀(jì)70年代,但是由于數(shù)據(jù)集規(guī)模過小和傳統(tǒng)的基于規(guī)則的方法的局限性,當(dāng)時(shí)的機(jī)器閱讀理解系統(tǒng)性能較差,不能滿足實(shí)際應(yīng)用的需要。1977年Lehnert等人提出基于腳本和計(jì)劃的框架QUALM[4],專注于語用問題,以及故事的上下文背景對(duì)回答問題的影響。由于機(jī)器閱讀理解任務(wù)的復(fù)雜性,很長一段時(shí)間該任務(wù)被擱置沒有進(jìn)展。直至20世紀(jì)90年代,Hirschman等人[5]提出一個(gè)包含60個(gè)故事的數(shù)據(jù)集,并提出Deep Read系統(tǒng),使用基于規(guī)則的詞袋模型進(jìn)行淺層語言處理,加入詞干提取、指代消解等幫助理解文本。Riloff等人2000年提出的QUARC系統(tǒng)[6],基于詞匯和語義對(duì)應(yīng)。這些基于規(guī)則的方法,準(zhǔn)確率最高只有30%~40%。此階段,由于缺少大型的數(shù)據(jù)集,任務(wù)發(fā)展緩慢。
機(jī)器學(xué)習(xí)興起后,閱讀理解被定義為有監(jiān)督問題[7],將MRC任務(wù)看作一個(gè)三元組(篇章,問題,答案),訓(xùn)練一個(gè)統(tǒng)計(jì)學(xué)模型將篇章及問題映射到答案。MCTest[8]和ProcessBank[9]兩個(gè)數(shù)據(jù)集的提出,促進(jìn)了該任務(wù)的發(fā)展。Garcia等人[8]同時(shí)提出了滑動(dòng)窗口法計(jì)算篇章與問題、答案之間的信息重疊度,還提出將答案轉(zhuǎn)化為語句,然后做文本蘊(yùn)含的方法?;跈z索技術(shù)的閱讀理解模型,通過關(guān)鍵詞匹配在文章中搜索答案,存在局限性,匹配度高的結(jié)果有時(shí)并不是問題的答案。此階段,機(jī)器學(xué)習(xí)模型對(duì)機(jī)器閱讀理解任務(wù)帶來的提升有限,原因在于模型使用語義角色標(biāo)注系統(tǒng)等語言工具提取特征,這些工具多用單一領(lǐng)域的語料訓(xùn)練,難以泛化;而且數(shù)據(jù)集過小,不足以支撐模型的訓(xùn)練。
2015年以后,深度學(xué)習(xí)飛速發(fā)展,提出了很多大規(guī)模數(shù)據(jù)集(如CNN &Daily Mail[10]、SQuAD[11]等)和易于提取上下文語義信息的神經(jīng)網(wǎng)絡(luò)模型。模型的效率與質(zhì)量大幅度提升,在一些數(shù)據(jù)集上甚至可以達(dá)到人類平均水平。Hermann等人[10]于2015年提出的基于Attention的LSTM模型“Attentive Reader”和“Impatient Reader”,成為了后來許多研究的基礎(chǔ),Attentive Reader將篇章和問題用雙向RNN分別表示后,利用Attention機(jī)制在篇章中尋找問題相關(guān)的信息,最后根據(jù)相關(guān)程度給出答案的預(yù)測。在SQuAD數(shù)據(jù)集的基礎(chǔ)上,產(chǎn)生了許多神經(jīng)閱讀理解模型,如基線模型Logistic Regression。2018年,Google提出的BERT模型也提供了閱讀理解問答的模型架構(gòu),在SQuAD數(shù)據(jù)集上的F1值達(dá)到了93.16%。各種大規(guī)模數(shù)據(jù)集和預(yù)訓(xùn)練語言模型的提出推動(dòng)該任務(wù)飛速發(fā)展。
目前,預(yù)訓(xùn)練語言模型存在上下文語義表示和學(xué)習(xí)不足的問題,解決方法多為添加額外的語言學(xué)知識(shí)。ELMo[12]、BERT[13]等語言模型只發(fā)掘了Character Embedding、Word Embedding等上下文敏感的特征,沒有考慮結(jié)構(gòu)化的語言學(xué)信息。Zhang等人[14]于2019年提出: Semantics-aware BERT模型,將 BERT與語義角色標(biāo)注任務(wù)結(jié)合,用謂詞-論元信息來提升閱讀理解模型的語言表示能力,提高了問題的準(zhǔn)確率。該融合模型在機(jī)器閱讀理解任務(wù)上應(yīng)用的有效性,表明顯式的上下文語義信息可以與預(yù)訓(xùn)練語言模型的語言表示融合來提高機(jī)器閱讀理解任務(wù)的性能。Zhang等人[15]提出: ERNIE,用知識(shí)圖譜來增強(qiáng)語言表示,該模型在BERT的基礎(chǔ)上,加入了實(shí)體、短語等語義知識(shí)。這兩種方法均應(yīng)用額外的語義信息增強(qiáng)模型的表示,提高了模型的性能,證明了結(jié)合必要外部知識(shí)對(duì)提升模型性能的有效性。但語義角色標(biāo)注和實(shí)體信息并不能處理機(jī)器閱讀理解任務(wù)中遠(yuǎn)距離跨標(biāo)點(diǎn)句問答的問題。
現(xiàn)有基于CMRC2018等數(shù)據(jù)集的研究方法多為對(duì)于分詞或者模型結(jié)構(gòu)的更改。排行榜中取得較好成績的模型MACBERT[16]和RoBERTa-wwm-ext-large[17]都是針對(duì)預(yù)訓(xùn)練策略的更改,沒有考慮篇章文本中存在的遠(yuǎn)距離問答的問題。而小句復(fù)合體結(jié)構(gòu)分析可以提供句間的語義信息,用話頭話體的共享關(guān)系來增強(qiáng)標(biāo)點(diǎn)句間的語義完整性和相關(guān)性,簡化抽取答案的難度,從而提升模型效果,故本文采用小句復(fù)合體結(jié)構(gòu)分析模型與機(jī)器閱讀理解模型融合的方法解決跨標(biāo)點(diǎn)句問答問題。
小句復(fù)合體研究任務(wù)已經(jīng)歷十幾年,定義、分類及內(nèi)部理論體系已經(jīng)成熟,在此基礎(chǔ)上話頭識(shí)別工作有如下成果: 起初僅對(duì)小句復(fù)合體語料中的堆棧類型數(shù)據(jù)進(jìn)行單個(gè)標(biāo)點(diǎn)句的話頭結(jié)構(gòu)分析,蔣玉茹等人[18]于2012年使用窮舉法研究,在上一個(gè)話頭自足句中找出當(dāng)前標(biāo)點(diǎn)句的全部候選話頭,再使用語義泛化和編輯距離兩種手段選出合適的話頭,識(shí)別正確率為73.36%?;谥把芯?蔣玉茹等人[19]又采用相同方法研究堆棧類型標(biāo)點(diǎn)句序列的話頭結(jié)構(gòu)識(shí)別,將各標(biāo)點(diǎn)句的全部候選話頭存儲(chǔ)于樹結(jié)構(gòu)中,選取概率最大的路徑獲得話頭序列,最終正確率為64.99%。由于窮舉法對(duì)系統(tǒng)執(zhí)行效率和話題句識(shí)別的準(zhǔn)確率存在限制,蔣玉茹[20]等人在2014年利用標(biāo)點(diǎn)句在篇章中的位置和話頭的語法特征等信息減少生成的候選話頭的數(shù)量,從而提高模型的識(shí)別效率和效果。2018年,MAO等人[21]提出的基于 Attention-LSTM的神經(jīng)網(wǎng)絡(luò)模型在單個(gè)標(biāo)點(diǎn)句的話頭識(shí)別任務(wù)上的正確率達(dá)到81.74%。胡紫娟[22]2020年在前面研究的基礎(chǔ)上,增加了對(duì)新支、匯流、后置類型數(shù)據(jù)的分析,并且添加了標(biāo)點(diǎn)句尾缺失成分的識(shí)別,總的正確率達(dá)93.24%,為小句復(fù)合體理論在實(shí)際任務(wù)中的應(yīng)用打下基礎(chǔ)。
機(jī)器閱讀理解任務(wù)主要分為完形填空、多項(xiàng)選擇、跨度提取和自由回答四種類型,另外還有會(huì)話式回答、多段式閱讀理解等。本文涉及到的類型為跨度提取型閱讀理解,如圖2所示。該任務(wù)要求在原文中抽取一個(gè)片段作為答案。
圖2 跨度提取型閱讀理解樣例
本文使用線索要素、問題要素、答案要素來描述閱讀理解任務(wù)中遠(yuǎn)距離跨標(biāo)點(diǎn)句問答的情況:
線索要素: 問題中明確給出的關(guān)鍵詞,是尋找答案的限定條件。
問題要素: 問題的提問方式,如when、where、how,what,why、who等。
答案要素: 原文中的實(shí)體、短語、句子。閱讀理解問題的答案,與問題要素相對(duì)應(yīng)。
全部要素是否跨標(biāo)點(diǎn)句:將問題中的問題要素替換成答案要素,并轉(zhuǎn)化成陳述句,其中包含的線索要素與答案要素在原文中是否處于同一標(biāo)點(diǎn)句。
跨標(biāo)點(diǎn)問答分為兩種類型: 第一種答案要素較短,為詞、短語或者一個(gè)標(biāo)點(diǎn)句,與線索要素距離較遠(yuǎn)而跨多個(gè)標(biāo)點(diǎn)句(如圖3中樣例所示)。另一種答案要素很長,答案在篇章文本中跨標(biāo)點(diǎn)句(如圖11中樣例所示)。
圖3 跨標(biāo)點(diǎn)句問答樣例
圖3中,Question1的線索要素為: “范廷頌”和“被任為主教”,問題要素是“什么時(shí)候”,答案要素是“1963年”。將問題中的問題要素替換為答案后,問句可以轉(zhuǎn)化為陳述句“范廷頌是1963年被任為主教”,該陳述句在原文中對(duì)應(yīng)的標(biāo)點(diǎn)句序列是“范廷頌樞機(jī),圣名保祿·若瑟,是越南羅馬天主教樞機(jī)。1963年被任為主教;”,線索要素與答案要素跨越4個(gè)標(biāo)點(diǎn)句。Question2的線索要素是“1990年”和“范廷頌”,問題要素是“擔(dān)任什么職務(wù)”,答案要素是“1990年被擢升為天主教河內(nèi)總教區(qū)宗座署理”,全部要素在原文中跨越5個(gè)標(biāo)點(diǎn)句。兩問題均屬于遠(yuǎn)距離跨標(biāo)點(diǎn)句問答問題。
標(biāo)點(diǎn)句: 本文的標(biāo)點(diǎn)句是指被逗號(hào)、分號(hào)、句號(hào)、問號(hào)、嘆號(hào)所分隔出的詞語序列。如圖4中的樣例共有13個(gè)標(biāo)點(diǎn)句。
圖4 例2用換行縮進(jìn)表示話頭話體共享關(guān)系
話頭、話體:在微觀話題角度,話語的出發(fā)點(diǎn)叫做話頭(Naming),話體(Telling)是對(duì)話頭的說明。
話頭結(jié)構(gòu):話頭話體間關(guān)系構(gòu)造的多個(gè)標(biāo)點(diǎn)句之間的結(jié)構(gòu)稱為話頭結(jié)構(gòu)。換行縮進(jìn)標(biāo)注體系是使用空格表明話頭結(jié)構(gòu)的方式。
小句復(fù)合體:是話頭共享關(guān)系和邏輯關(guān)系都不可分割的最小標(biāo)點(diǎn)句序列。主要有堆棧、匯流、新支、后置四種類型。本文將閱讀理解的篇章文本看作一個(gè)整體,分析各標(biāo)點(diǎn)句之間的話頭話體共享關(guān)系。
將圖3中的標(biāo)點(diǎn)句使用小句復(fù)合體理論進(jìn)行分析,并用換行縮進(jìn)格式表示其話頭結(jié)構(gòu),如圖4所示,標(biāo)點(diǎn)句c1至c8的8個(gè)標(biāo)點(diǎn)句處于同一小句復(fù)合體結(jié)構(gòu),c9至c11的3個(gè)標(biāo)點(diǎn)句處于另一小句復(fù)合體結(jié)構(gòu),這種關(guān)系的劃分基于話頭-話體共享關(guān)系與邏輯語義關(guān)系(本課題不研究邏輯語義關(guān)系)。該樣例中,標(biāo)點(diǎn)句c1成分完整,但被后面的標(biāo)點(diǎn)句共享話頭,因此c1至c8處于一個(gè)小句復(fù)合體中。其中,c2至c6和c8共享c1中的話頭“范廷頌”,c7共享的話頭來自標(biāo)點(diǎn)句c1和c6,為“范廷頌1994年”。c9不共享其他標(biāo)點(diǎn)句中的話頭,且自身不缺少成分,但被c10、c11共享話頭“范廷頌”,故c9至c11這3個(gè)標(biāo)點(diǎn)句被劃分在一個(gè)小句復(fù)合體結(jié)構(gòu)中。
使用小句復(fù)合體結(jié)構(gòu)自動(dòng)分析工具將待處理的篇章文本轉(zhuǎn)換為換行縮進(jìn)模式,并補(bǔ)全為話頭自足句,使線索要素和答案要素處于同一標(biāo)點(diǎn)句或同一小句復(fù)合體結(jié)構(gòu)中。根據(jù)線索要素與問題要素在篇章文本中的位置來抽取答案,答案要素短的樣例在一個(gè)話頭自足句中提取即可;答案要素跨越多個(gè)標(biāo)點(diǎn)句的樣例在一個(gè)小句復(fù)合體結(jié)構(gòu)內(nèi)抽取答案,同一小句復(fù)合體內(nèi)的標(biāo)點(diǎn)句由于共享話頭或話體被組織到一起,更容易把跨標(biāo)點(diǎn)句的答案要素提取完全。
將圖4中以換行縮進(jìn)模式表示的部分標(biāo)點(diǎn)句補(bǔ)全缺失成分,轉(zhuǎn)化為話頭自足句(即NT小句),如圖5所示。從圖中可以看出,標(biāo)點(diǎn)句c4“范廷頌1963年被任為主教”包含了Question1的全部線索要素與答案要素,c5“范廷頌1990年被擢升為天主教河內(nèi)總教區(qū)宗座署理”包含了Question2的全部線索要素與答案要素。直接在一個(gè)標(biāo)點(diǎn)句完成問答,化簡了答案抽取的難度。
圖5 話題自足句
本文使用的CMRC2018閱讀理解數(shù)據(jù)集的類型是片段提取,該類型任務(wù)可定義為: 將機(jī)器閱讀理解任務(wù)看做一個(gè)三元組
圖6 機(jī)器閱讀理解模型
小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)可以定義為: 已知小句復(fù)合體C1,…,Cn,求對(duì)應(yīng)的話頭自足句Z1,…,Zn的過程。在每個(gè)標(biāo)點(diǎn)句首尾插入[MASK],并在[MASK]處預(yù)測話頭的位置(start,end),即預(yù)測共享的成分,補(bǔ)全共享的成分,便能得到相應(yīng)的話頭自足句。不添加[MASK]則使用T1、Tn位置的向量預(yù)測。圖7為基于BERT的小句復(fù)合體結(jié)構(gòu)自動(dòng)分析模型圖。
圖7 小句復(fù)合體結(jié)構(gòu)自動(dòng)分析模型
BERTNTC模型將小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)作為預(yù)訓(xùn)練任務(wù),先在中文小句復(fù)合體數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,之后在機(jī)器閱讀理解數(shù)據(jù)集上對(duì)模型進(jìn)行微調(diào)。此方法用于初步驗(yàn)證小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)對(duì)于機(jī)器閱讀理解任務(wù)是否有作用。模型的結(jié)果于第5節(jié)實(shí)驗(yàn)結(jié)果部分展示并分析。
BERT_NTC/MRC模型如圖8所示,為機(jī)器閱讀理解任務(wù)與小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)融合的第二種方法。本模型中采用多任務(wù)學(xué)習(xí)的方式同時(shí)訓(xùn)練小句復(fù)合體結(jié)構(gòu)分析任務(wù)與機(jī)器閱讀理解任務(wù),兩任務(wù)共享一個(gè)BERT模型的參數(shù)。訓(xùn)練時(shí), 對(duì)于一個(gè)批次的數(shù)據(jù),如果是機(jī)器閱讀理解類型的數(shù)據(jù),經(jīng)過BERT預(yù)訓(xùn)練語言模型編碼, 獲取上下文語義信息及話頭-話體共享信息后,進(jìn)入MRC的輸出層,進(jìn)行答案片段Start/End Span的預(yù)測;如果是小句復(fù)合體結(jié)構(gòu)分析類型的數(shù)據(jù), 獲得上下文表示后進(jìn)入NTC的輸出層,通過MASK位置或者標(biāo)點(diǎn)句的首位位置的向量預(yù)測缺失的話頭話體的位置Start/End。
圖8 BERT_NTC/MRC模型
圖9中,BERT_NTC_add_MRC模型為機(jī)器閱讀理解任務(wù)與小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)融合的第三種方法。該模型可以分為2個(gè)模塊,分別使用獨(dú)立的預(yù)訓(xùn)練語言模型。左側(cè)模型BERTntc進(jìn)行話頭-話體結(jié)構(gòu)信息抽取,右側(cè)BERTmrc抽取上下文及問題信息。訓(xùn)練時(shí),BERTntc模型訓(xùn)練好后,保存參數(shù),使該模型擁有表達(dá)話頭-話體信息的能力,再訓(xùn)練BERTmrc模型。
圖9 BERT_NTC_add_MRC模型
BERT_NTC_add_MRC模型分為三層: 編碼層、信息交互層和答案預(yù)測層。
編碼層:該層的功能是將閱讀理解任務(wù)的輸入Input=[CLS]+Context+[SEP]+Question+[SEP]轉(zhuǎn)換成計(jì)算機(jī)可以理解的向量Emrc,Emrc向量由詞向量(Token Embedding)、位置向量(Position Embedding)、句向量(Segment Embedding)拼接得到。
信息交互層:在此層Emrc通過兩個(gè)BERT預(yù)訓(xùn)練語言模型獲得包含上下文信息、問題信息和話頭-話體共享信息的詞向量表示。
BERTntc模型的輸入格式為:Entc=E[CLS]+EContext+E[SEP]。
BERTmrc模型的輸入格式為:Emrc=E[CLS]+EContext+E[SEP]+EQuestion+E[SEP]。
經(jīng)過BERT編碼后,分別取兩模型最后一層隱藏層的輸出Tntc與Tmrc,將二者相加T=Tmrc+Tntc,把T接全連接層得到:ON×2=FC(TN×D)。其中,D為隱藏層大小768,經(jīng)全連接層FC將維度轉(zhuǎn)換為2,獲得每個(gè)字作為Start和End的Logit值。
答案預(yù)測層:本層對(duì)Start/End Logits對(duì)進(jìn)行相加計(jì)算,經(jīng)softmax選擇概率最高的一組,得到最后的答案。
基于小句復(fù)合體的閱讀理解模型答案預(yù)測總計(jì)算如式(1)所示。
Start/End Logit=Softmax(FC(BERTntc(Entc)+
BERTmrc(Emrc)))
(1)
小句復(fù)合體語料:北京語言大學(xué)中文小句復(fù)合體標(biāo)注語料(簡稱小句復(fù)合體語料),包括百科全書、政府工作報(bào)告、新聞、小說4個(gè)領(lǐng)域,其中共有小句復(fù)合體9 256個(gè)、標(biāo)點(diǎn)句37 635個(gè)。該語料主要用于訓(xùn)練小句復(fù)合體結(jié)構(gòu)自動(dòng)分析模型(NTC模型)。
機(jī)器閱讀理解語料:CMRC2018閱讀理解數(shù)據(jù)集用以訓(xùn)練機(jī)器閱讀理解模型。該數(shù)據(jù)集的篇章文本來自于維基百科,問題由人工撰寫,屬于片段抽取式閱讀理解任務(wù)。其中,訓(xùn)練集有篇章2 403篇、問題10 142個(gè)。驗(yàn)證集有篇章848篇、問題3 219個(gè)。在對(duì)CMRC2018閱讀理解數(shù)據(jù)集的研究中發(fā)現(xiàn)了存在大量不嚴(yán)謹(jǐn)?shù)牡胤?如答案長度提取不一致、問題答案不對(duì)應(yīng)、答案位置錯(cuò)誤等。經(jīng)過核對(duì),數(shù)據(jù)集中約有20%的樣例存在此問題,現(xiàn)已全部修改。本文主要使用的是經(jīng)過糾正后的數(shù)據(jù)集。
本文采用的評(píng)估指標(biāo)有F1、EM、AVERAGE。對(duì)于每個(gè)訓(xùn)練樣例,預(yù)測的文本為prediction,長度為prediction_len,答案文本為answer,長度為answer_len,它們之間最長重合部分為lcs,lcs_len為重合文本的長度。
精確率(Precision)為正確預(yù)測為閱讀理解答案的部分占全部預(yù)測比例。定義為: Precision=lcs_len/prediction_len。
召回率(Recall)為正確預(yù)測為閱讀理解答案的部分占全部真實(shí)答案比例。定義為: Recall= lcs_len/answer_len。
模糊匹配率(F1)為精確率和召回率的調(diào)和平均數(shù),兩個(gè)值都很高時(shí)才高,可以綜合體現(xiàn)預(yù)測的水平。定義為:F1=(2×Precision×Recall)/(Precision+Recall)。
精確匹配率(EM)是完全匹配的體現(xiàn),當(dāng) prediction=answer時(shí)記為1,不等時(shí)記為0。
對(duì)于全部訓(xùn)練樣例,Count為訓(xùn)練樣例的個(gè)數(shù),整體的F1=Σ(F1)/Count,整體的EM=Σ(EM)/Count。
AVERAGE=(F1+EM)/2,為EM與F1的平均值。
如表2所示為BERT基線模型在CMRC2018閱讀理解數(shù)據(jù)集上的結(jié)果,EM為64.55%,更改數(shù)據(jù)集中不嚴(yán)謹(jǐn)?shù)那闆r后的EM提升至69.46%。
表2 CMRC2018上機(jī)器閱讀理解任務(wù)基線模型結(jié)果
如表3所示,在小句復(fù)合體數(shù)據(jù)集中,小句復(fù)合體結(jié)構(gòu)分析模型對(duì)與所有類型話頭總Accuracy為93.24%,F1為94.69%。
表3 小句復(fù)合體語料庫上小句復(fù)合體自動(dòng)分析結(jié)果
實(shí)驗(yàn)中涉及的模型均使用pytorch搭建,BERT、RoBERTa、RoBERTa_wwm_ext三個(gè)預(yù)訓(xùn)練語言模型均為base版本,12層的Transformer。Batch size設(shè)置為8,Epoch為2,學(xué)習(xí)率(learning_rate)為3e-5。
在修改后的CMEC2018閱讀理解數(shù)據(jù)集上,對(duì)兩種基于小句復(fù)合體的機(jī)器閱讀理解模型的效果進(jìn)行驗(yàn)證,結(jié)果如表4所示,其中,第一行結(jié)果為BERT基線系統(tǒng)的結(jié)果,F1為86.83%,EM為69.46%。
表4 基于小句復(fù)合體的機(jī)器閱讀理解模型驗(yàn)證集上的結(jié)果
BERTNTC模型:將小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)作為預(yù)訓(xùn)練任務(wù),在修改后CMRC2018閱讀理解數(shù)據(jù)集上的結(jié)果與基準(zhǔn)模型相比F1值提升1.11%,EM值提升1.49%。該結(jié)果初步證明小句復(fù)合體結(jié)構(gòu)自動(dòng)分析可以為機(jī)器閱讀理解任務(wù)帶來一定幫助。
多任務(wù)學(xué)習(xí)模型BERT_NTC/MRC:與基線模型相比,F1提升1.46%,EM提升2.21%。雖然小句復(fù)合體結(jié)構(gòu)分析任務(wù)與機(jī)器閱讀理解任務(wù)具有一定的相似性,但畢竟屬于兩個(gè)不同的任務(wù)。其中,MRC是根據(jù)篇章和問題在原文中找到相應(yīng)的答案片段,而NTC結(jié)構(gòu)分析要對(duì)每個(gè)缺失成分的標(biāo)點(diǎn)句在原文中找到相應(yīng)的話頭話體成分。從結(jié)果上看,在這樣的模型融合方式中,小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)雖然給機(jī)器閱讀理解任務(wù)帶來了一定的性能提升,但提升的效果并不顯著。
BERT_NTC_add_MRC模型:將CMRC2018閱讀理解數(shù)據(jù)集篇章文本部分的輸入經(jīng)過兩個(gè)模型的最后一層隱藏層的表示相加,再進(jìn)行答案片段的預(yù)測。這個(gè)過程使篇章文本的表示即包含詞級(jí)別的信息和篇章上下文的語義信息,也包含基于話頭話體共享關(guān)系的結(jié)構(gòu)化語義信息。此模型的EM達(dá)到72.72%,與基線模型相比提高了3.26%。本文提出的三種小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)與機(jī)器閱讀理解任務(wù)融合的方法,均可以給機(jī)器閱讀理解任務(wù)帶來性能提升。
更換預(yù)訓(xùn)練語言模型為RoBERTa后,EM為72.57%,添加小句復(fù)合體信息使EM提升1.24%。將語言模型換為RoBERTa_wwm_ext,融合模型三在CMRC2018閱讀理解數(shù)據(jù)集上的EM達(dá)到74.96%,提高1.17%。實(shí)驗(yàn)結(jié)果表明,在不同的預(yù)訓(xùn)練語言模型上,小句復(fù)合體結(jié)構(gòu)自動(dòng)分析信息的融入,均能夠給模型帶來一定的性能提升,證明了小句復(fù)合體理論在實(shí)際任務(wù)中的應(yīng)用價(jià)值。
為驗(yàn)證小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)對(duì)機(jī)器閱讀理解任務(wù)中遠(yuǎn)距離跨標(biāo)點(diǎn)句問答問題的影響,在全部的數(shù)據(jù)集中標(biāo)注出線索要素與答案要素在原文中是否為跨標(biāo)點(diǎn)句,為此定義了一個(gè)新的標(biāo)簽“tag”。其中,tag為0的樣例為較為簡單的閱讀理解問題;tag為1的樣例為跨標(biāo)點(diǎn)句問答且能應(yīng)用小句復(fù)合體結(jié)構(gòu)信息化簡答案抽取難度的問題;tag為2的樣例中也存在跨標(biāo)點(diǎn)句問答問題,但是由于其他因素影響不能使用話頭-話體共享信息化簡任務(wù)難度,具體標(biāo)注樣例如圖10所示。
圖10 tag標(biāo)注樣例
tag=0: 問題與答案的全部要素對(duì)應(yīng)回原文處于同一標(biāo)點(diǎn)句。
tag=1: 全部要素不處于同一標(biāo)點(diǎn)句,但是處于同一小句復(fù)合體內(nèi)。
tag=2: 除上述兩種情況之外的情況,包括指代消解、推理等問題。
圖10中,Question1的線索要素是“觀察家報(bào)”“報(bào)紙”,問題要素為“哪國”,答案要素為“英國”,全部要素對(duì)應(yīng)回原文處于同一標(biāo)點(diǎn)句,故tag標(biāo)簽為0。Question2的線索要素為“觀察家報(bào)”“發(fā)行”,“什么時(shí)候”答案要素為“每周周日發(fā)行”,將問題轉(zhuǎn)換為陳述句為: 觀察家報(bào)每周周日發(fā)行,對(duì)應(yīng)回原文跨越2個(gè)標(biāo)點(diǎn)句,且中間分隔符號(hào)為句號(hào),但是按照小句復(fù)合體理論,由于這兩個(gè)標(biāo)點(diǎn)句共享話頭“觀察家報(bào)(The Observer)”,因此處于同一小句復(fù)合體內(nèi)部,tag為1。Question3的線索要素為“觀察家報(bào)”“公開宣言了無黨派傾向的編輯方針”,問題要素為“哪一年”,答案要素為“1942年”,雖然跨標(biāo)點(diǎn)句,但“該報(bào)”指代線索要素“觀察家報(bào)”為指代消解的問題,小句復(fù)合體結(jié)構(gòu)分析難以解決這種情況,故tag標(biāo)簽為2。
對(duì)CMRC2018閱讀理解數(shù)據(jù)集的驗(yàn)證集中tag標(biāo)簽的情況進(jìn)行統(tǒng)計(jì)。結(jié)果如表5所示。數(shù)據(jù)集修改前后,驗(yàn)證集上tag=1的數(shù)據(jù)的EM都小于tag=0的EM值,tag=2的問題由于需要復(fù)雜推理等較難回答,EM值最低,拉低了整體水平。符合之前的認(rèn)知,跨標(biāo)點(diǎn)句的遠(yuǎn)距離問答會(huì)給機(jī)器閱讀理解任務(wù)的答案抽取帶來困難。Bert基礎(chǔ)上的融合模型三經(jīng)過訓(xùn)練后,tag=0樣例的完全匹配率提升2.08%,tag=1的EM提升3.49%,tag=2的EM提升4.06%。小句復(fù)合體結(jié)構(gòu)分析不僅對(duì)跨標(biāo)點(diǎn)句問答有提升,對(duì)其他類型也有幫助。
表5 CMRC閱讀理解數(shù)據(jù)集驗(yàn)證集上tag標(biāo)簽EM統(tǒng)計(jì)情況
用實(shí)例具體分析基于小句復(fù)合體的機(jī)器閱讀理解模型對(duì)跨標(biāo)點(diǎn)句問答問題的解決情況,圖11為tag標(biāo)簽為1的樣例,對(duì)模型增加小句復(fù)合體結(jié)構(gòu)信息前后的答案預(yù)測結(jié)果進(jìn)行分析。該樣例中,前兩個(gè)標(biāo)點(diǎn)句單層匯流的關(guān)系,第三和第四個(gè)標(biāo)點(diǎn)句共享第二個(gè)標(biāo)點(diǎn)句中的話頭“于樂”,故四個(gè)標(biāo)點(diǎn)句處于同一話頭結(jié)構(gòu)內(nèi)。不添加小句復(fù)合體結(jié)構(gòu)信息時(shí),預(yù)測答案較短,導(dǎo)致錯(cuò)誤;加入話頭話體共享信息后,線索要素與答案要素雖然未處于同一標(biāo)點(diǎn)句內(nèi),但是處于同一小句復(fù)合體結(jié)構(gòu)內(nèi),模型預(yù)測出了完整答案,證明了小句復(fù)合體結(jié)構(gòu)分析對(duì)于解決機(jī)器閱讀理解任務(wù)中跨標(biāo)點(diǎn)句問答的有效性。
圖11 加入小句復(fù)合體信息后的答案預(yù)測
CMRC2018閱讀理解數(shù)據(jù)集的驗(yàn)證集問題數(shù)為3 219,全部錯(cuò)誤樣例數(shù)量為878。對(duì)全部的錯(cuò)誤樣例進(jìn)行分類,其中,F=0: 按照正常邏輯,可以算作正常答案,共計(jì)438個(gè);F=1: 答案過長,預(yù)測缺失,共計(jì)77;F=2: 答案很短,預(yù)測過長,共計(jì)227;F=3: 由于復(fù)雜推理等原因,完全預(yù)測錯(cuò)誤,共計(jì)130。
在如圖12所示的錯(cuò)誤樣例中,對(duì)于Question1,模型預(yù)測的答案多了人物的定語,被判定預(yù)測錯(cuò)誤。然而,很多標(biāo)準(zhǔn)答案中也包含加定語的答案,所以此類型的錯(cuò)誤樣例可以算作正確。Question2的結(jié)果表明小句復(fù)合體結(jié)構(gòu)分析對(duì)跨標(biāo)點(diǎn)句問答有幫助,雖然該樣例沒有預(yù)測出全部的答案,但是與不加小句復(fù)合體信息時(shí)相比預(yù)測的長度更長了。當(dāng)然,也存在部分樣例由于添加了話頭話體共享關(guān)系信息,預(yù)測了多余的答案。
圖12 錯(cuò)誤樣例分析
如Question3所示,對(duì)于包含多個(gè)時(shí)間的情況,經(jīng)常預(yù)測錯(cuò)誤,但是這類問題不是小句復(fù)合體結(jié)構(gòu)分析可以解決的。
Question4涉及指代消解,而且需要推理屬于中國的地區(qū),是小句復(fù)合體結(jié)構(gòu)分析解決不了的問題。
總體而言,小句復(fù)合體結(jié)構(gòu)分析提供的結(jié)構(gòu)化語義信息可以解決部分跨標(biāo)點(diǎn)句問答問題,給機(jī)器閱讀理解任務(wù)帶來幫助。
在中文機(jī)器閱讀理解任務(wù)中,增加外部知識(shí)成為提高模型表現(xiàn)的一種熱門方向。小句復(fù)合體理論的話頭-話體共享關(guān)系保證了標(biāo)點(diǎn)句的語義連貫性,加強(qiáng)了遠(yuǎn)距離標(biāo)點(diǎn)句之間的聯(lián)系,缺失成分的補(bǔ)充同時(shí)降低了答案抽取的難度。更換不同的基礎(chǔ)模型后,模型效果均有不同程度的提升,也體現(xiàn)了小句復(fù)合體結(jié)構(gòu)分析任務(wù)與機(jī)器閱讀理解任務(wù)融合的有效性。
目前,在小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)中,實(shí)際需要預(yù)測的節(jié)點(diǎn)的準(zhǔn)確率還有提升空間,雖然該任務(wù)上F1有94.6%,但預(yù)測的位置大多不缺少成分,預(yù)測的結(jié)果表現(xiàn)高于實(shí)際的預(yù)測水平,這對(duì)于模型融合的效果產(chǎn)生了影響。另外,本文中實(shí)驗(yàn)沒有采取先對(duì)閱讀理解數(shù)據(jù)進(jìn)行話頭-話體結(jié)構(gòu)分析,補(bǔ)全缺失成分后,再作為機(jī)器閱讀理解任務(wù)的輸入,微調(diào)模型的方法,主要是由于機(jī)器識(shí)別話頭-話體的水平有限,且沒有對(duì)機(jī)器閱讀理解數(shù)據(jù)集進(jìn)行小句復(fù)合體結(jié)構(gòu)的人工標(biāo)注。因此,提高小句復(fù)合體結(jié)構(gòu)自動(dòng)分析任務(wù)的準(zhǔn)確率,對(duì)機(jī)器閱讀理解數(shù)據(jù)集進(jìn)行小句復(fù)合體話頭-話體結(jié)構(gòu)標(biāo)注,探索小句復(fù)合體理論在其他自然語言處理任務(wù)中的應(yīng)用是下一步的研究工作。