包 玥,李艷玲,林 民
內(nèi)蒙古師范大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,呼和浩特010022
機(jī)器閱讀理解(Machine Reading Comprehension,MRC)是自然語(yǔ)言處理(Natural Language Processing,NLP)領(lǐng)域的熱門研究方向,利用機(jī)器對(duì)數(shù)據(jù)集中的文本內(nèi)容進(jìn)行理解和分析,回答提出的問(wèn)題,能夠最大程度地評(píng)估機(jī)器理解語(yǔ)言的能力。目前,MRC任務(wù)一般分為填空式、選擇式、抽取式、生成式和多跳推理式5類[1]。在過(guò)去的數(shù)十年中,涌現(xiàn)出許多在限定領(lǐng)域的MRC應(yīng)用,例如智慧城市、智能客服、智能司法系統(tǒng)以及智能教育系統(tǒng)。
抽取式機(jī)器閱讀理解是MRC任務(wù)中重要的一類,其主要利用給定的文本內(nèi)容和相關(guān)問(wèn)題,通過(guò)對(duì)文本內(nèi)容的分析和理解,給出正確的答案。該任務(wù)需要預(yù)測(cè)出答案的起止位置從而選出答案片段,通常也被稱為跨距預(yù)測(cè)或者片段預(yù)測(cè)[2]。抽取式MRC任務(wù)中的問(wèn)題一般由人工提出,答案可能存在長(zhǎng)度上的差距,同時(shí)存在問(wèn)題無(wú)答案的可能,更加貼合現(xiàn)實(shí)生活中的應(yīng)用場(chǎng)景。
近年來(lái),隨著MRC受到越來(lái)越多的關(guān)注,針對(duì)MRC的總結(jié)性文章也隨之增加。Liu等人[2]于2019年發(fā)表了一篇關(guān)于神經(jīng)機(jī)器閱讀理解方法的綜述,其重點(diǎn)在于歸納基于深度學(xué)習(xí)的MRC方法,對(duì)于早期基于規(guī)則的方法與機(jī)器學(xué)習(xí)方法沒(méi)有介紹,且對(duì)于數(shù)據(jù)集的介紹比較簡(jiǎn)單,沒(méi)有深入挖掘;同年,Zhang等人[3]發(fā)表了一篇有關(guān)MRC的綜述,其中較為客觀全面地介紹了MRC數(shù)據(jù)集以及一些經(jīng)典模型,但是對(duì)于MRC的未來(lái)發(fā)展方向沒(méi)有提出任何建議;Gupta等人[4]于2020年發(fā)表了一篇關(guān)于會(huì)話機(jī)器理解(Conversational Machine Comprehension,CMC)的綜述,其重點(diǎn)歸納了CMC的相關(guān)數(shù)據(jù)集與模型;Dzendzik等人[5]于2021年發(fā)表了一篇關(guān)于MRC英文數(shù)據(jù)集的綜述,該文詳細(xì)介紹了數(shù)據(jù)集的數(shù)據(jù)收集以及創(chuàng)建過(guò)程,并對(duì)各個(gè)數(shù)據(jù)集從多維度進(jìn)行了分析對(duì)比,但對(duì)于MRC方法沒(méi)有進(jìn)行介紹。目前還沒(méi)有一篇綜述文獻(xiàn)針對(duì)抽取式MRC進(jìn)行系統(tǒng)全面的介紹,本文聚焦于抽取式MRC的常用數(shù)據(jù)集以及相關(guān)模型方法,對(duì)常用數(shù)據(jù)集進(jìn)行了系統(tǒng)介紹與分析,對(duì)相關(guān)模型方法進(jìn)行了分類總結(jié),希望本文對(duì)抽取式MRC在國(guó)內(nèi)的研究起到一定的推動(dòng)作用。
對(duì)于MRC的研究有著悠久的歷史,近半個(gè)世紀(jì)以來(lái),其發(fā)展經(jīng)歷了三個(gè)階段。
第一階段:自20世紀(jì)70年代起,人們開(kāi)始利用基于規(guī)則的方法構(gòu)建早期MRC系統(tǒng),最具代表性的有Lehnert等人提出的QUALM系統(tǒng)[6]和Hirschman等人提出的DEEP READ系統(tǒng)[7]?;谝?guī)則的方法采用模式匹配的方式提取特征,且匹配時(shí)使用固定大小的窗口。受限于當(dāng)時(shí)的數(shù)據(jù)集規(guī)模、文本編碼能力和計(jì)算機(jī)水平,MRC進(jìn)步緩慢。
第二階段:2013至2015年間,隨著機(jī)器學(xué)習(xí)的發(fā)展,學(xué)者們開(kāi)始使用機(jī)器學(xué)習(xí)相關(guān)方法解決MRC任務(wù)。Richardson等人提出了MCTest數(shù)據(jù)集[8],該數(shù)據(jù)集通過(guò)眾包方法構(gòu)建,其優(yōu)點(diǎn)是可以保證問(wèn)題的多樣性,且問(wèn)題和答案更接近人類真實(shí)問(wèn)答。該數(shù)據(jù)集的出現(xiàn)直接推動(dòng)了基于機(jī)器學(xué)習(xí)的MRC模型的發(fā)展,這些模型大多是基于最大間隔(Max-Margin)[9],通過(guò)加入豐富的語(yǔ)義特征集(句法依存、共指消解、語(yǔ)義框架、詞嵌入等),實(shí)現(xiàn)對(duì)“文本-問(wèn)題-答案”三元組的擬合。對(duì)于特征的提取主要依賴于依存解析器、語(yǔ)義角色標(biāo)注等技術(shù),這些NLP技術(shù)是由單一領(lǐng)域數(shù)據(jù)訓(xùn)練所得,應(yīng)用于MCTest數(shù)據(jù)集會(huì)引起噪聲。而且該數(shù)據(jù)集規(guī)模太小,不足以訓(xùn)練良好的機(jī)器學(xué)習(xí)模型。
第三階段:2015年以來(lái),隨著深度學(xué)習(xí)的再次興起,MRC也獲得了巨大的發(fā)展,大規(guī)模MRC數(shù)據(jù)集應(yīng)運(yùn)而生,如CNN/Daily Mail[10]、SQuAD1.1[11]等。研究者們開(kāi)始利用神經(jīng)網(wǎng)絡(luò)搭建MRC模型,相比于傳統(tǒng)的基于規(guī)則的分類器,基于深度學(xué)習(xí)的MRC模型能夠更好地識(shí)別詞匯匹配和釋義,提取更深層次的語(yǔ)義特征。但是基于深度學(xué)習(xí)的MRC模型仍然存在一些缺陷,如:傳統(tǒng)的詞向量無(wú)法解決一詞多義問(wèn)題,注意力模塊的網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,難以處理較長(zhǎng)的文本等[12],因此預(yù)訓(xùn)練語(yǔ)言模型應(yīng)運(yùn)而生。預(yù)訓(xùn)練語(yǔ)言模型通過(guò)在大量文本上進(jìn)行半監(jiān)督訓(xùn)練以捕獲句子間深層次的語(yǔ)義關(guān)系,從而提升模型性能,其中最具代表性的BERT(Bidirectional Encoder Representation from Transformers)模型[13],一經(jīng)問(wèn)世就刷新了NLP領(lǐng)域11項(xiàng)記錄。預(yù)訓(xùn)練語(yǔ)言模型在一些數(shù)據(jù)集上的表現(xiàn)甚至超越了人類,其能力被越來(lái)越多的學(xué)者認(rèn)可,對(duì)于該領(lǐng)域的研究呈現(xiàn)出加速增長(zhǎng)的態(tài)勢(shì)。
現(xiàn)有MRC任務(wù)一般可以概括為5類:填空式MRC、選擇式MRC、抽取式MRC、生成式MRC和多跳推理MRC。
填空式MRC任務(wù)需要推測(cè)出段落中缺失的詞語(yǔ),該任務(wù)存在答案內(nèi)容簡(jiǎn)短、與現(xiàn)實(shí)生活距離較遠(yuǎn)等特點(diǎn),其數(shù)據(jù)集出現(xiàn)較早,且依賴于人工標(biāo)注,存在一定的局限性。選擇式MRC任務(wù)主要從多個(gè)候選答案中為問(wèn)題選擇正確答案,該任務(wù)存在答案局限、單一等特點(diǎn)。抽取式MRC的答案可能是一個(gè)字詞、一段話或者無(wú)答案,其更加符合人類日常需求。
抽取式MRC任務(wù)是近年來(lái)學(xué)者們研究頻率最高的MRC任務(wù),其面臨的困難也較其他任務(wù)更大。
(1)搜索空間廣:需要從給定的大量文本中尋找答案。
(2)迷惑性大:給定段落中可能存在一些“似是而非”的答案,如何從具有迷惑性答案的段落中找出正確答案是該研究的難點(diǎn)。
(3)存在無(wú)答案問(wèn)題:一般情況下,所提出的問(wèn)題均存在對(duì)應(yīng)的答案,但在一些有難度的數(shù)據(jù)集中,存在問(wèn)題無(wú)對(duì)應(yīng)答案的情況。如何正確理解段落內(nèi)容,并對(duì)問(wèn)題的可答性作出正確判斷也是該研究的重點(diǎn)。
抽取式MRC任務(wù)因其更加實(shí)用而被學(xué)者廣泛研究,其更能檢驗(yàn)?zāi)P偷睦斫饽芰?。?給出了中文抽取式數(shù)據(jù)集CMRC2018[14]的一個(gè)示例。
給定段落中,具有許多迷惑性答案,如:廣茂鐵路加兩條支線全長(zhǎng)421.326公里,廣三鐵路全長(zhǎng)49公里,三茂鐵路全長(zhǎng)357公里。這種情況要求機(jī)器理解更深層次的文本語(yǔ)義,從而找到正確答案,而不只是進(jìn)行簡(jiǎn)單的文本匹配。
通常情況下,假設(shè)抽取式MRC給定三元組數(shù)據(jù)(C,Q,A),其中,C即Context,表示數(shù)據(jù)集中的文本;Q即Question,表示數(shù)據(jù)集中的問(wèn)題;A即Answer,表示該問(wèn)題在文本中的答案。通過(guò)數(shù)據(jù)的表示學(xué)習(xí),模型能夠擬合輸入與輸出的關(guān)系f,其表示通常如式(1)所示[9]:
表1 CMRC2018示例
式(1)中的A通常表示為(astart,aend),起始位置astart和結(jié)束位置aend之間的部分即為所要預(yù)測(cè)的最終答案。
抽取式MRC數(shù)據(jù)集具有問(wèn)題復(fù)雜、答案自由、涉及領(lǐng)域多樣等特點(diǎn)。隨著研究者們對(duì)抽取式MRC研究與探索的不斷深入,越來(lái)越多的抽取式MRC數(shù)據(jù)集應(yīng)運(yùn)而生。目前,抽取式MRC數(shù)據(jù)集主要包括SQuAD1.1[11]、NewsQA[15]、TriviaQA[16]、SearchQA[17]、SQuAD2.0[18]、CMRC2018[14]等。
2.2.1 SQuAD1.1
2016年,Rajpurkar等人提出第一個(gè)真正意義上的大規(guī)模抽取式MRC數(shù)據(jù)集SQuAD1.1(Stanford Question Answering Dataset 1.1)[11]。該數(shù)據(jù)集的形式為“問(wèn)題-文本-答案”三元組,其答案是文章中的某個(gè)片段,解決了現(xiàn)有數(shù)據(jù)集的兩大不足:第一,現(xiàn)有數(shù)據(jù)集規(guī)模太?。坏诙?,足夠大的數(shù)據(jù)集往往是機(jī)器生成的,其內(nèi)容與人類語(yǔ)言習(xí)慣不符,無(wú)法直接測(cè)試機(jī)器的閱讀理解能力。SQuAD1.1的發(fā)布直接推動(dòng)了當(dāng)時(shí)抽取式MRC的發(fā)展,具有里程碑式的意義。
2.2.2 NewsQA
Trischler等人認(rèn)為MRC系統(tǒng)特別適合大量、快速變化的信息源,如新聞,所以他們構(gòu)造出一個(gè)全新且具有挑戰(zhàn)性的、需要進(jìn)行推理才能得到答案的大型抽取式MRC數(shù)據(jù)集:NewsQA[15]。該數(shù)據(jù)集通過(guò)眾包方法構(gòu)建,眾包方法保證了提出問(wèn)題的多樣性。工作者從上萬(wàn)篇CNN新聞文章中提取出十萬(wàn)多個(gè)自然語(yǔ)言問(wèn)題,相比于SQuAD1.1,該數(shù)據(jù)集包含無(wú)答案問(wèn)題,難度相對(duì)較高。
2.2.3 TriviaQA
TriviaQA數(shù)據(jù)集[16]包含超過(guò)65萬(wàn)個(gè)“問(wèn)題-答案-證據(jù)”三元組、95 000個(gè)問(wèn)答對(duì)和獨(dú)立收集的證據(jù)文檔(平均每個(gè)問(wèn)題有6個(gè)),證據(jù)文檔收集于Wikipedia和Web,為答案預(yù)測(cè)提供高質(zhì)量的遠(yuǎn)程監(jiān)督。與眾包方法相比,這種遠(yuǎn)程監(jiān)督的構(gòu)造方法不需要大量的人力資源,造價(jià)成本低。相比于當(dāng)時(shí)其他大型數(shù)據(jù)集,TriviaQA問(wèn)題構(gòu)成較為復(fù)雜,其丟棄了假設(shè)條件,更接近于人類問(wèn)答,需要更多的跨句推理預(yù)測(cè)答案,具有一定的挑戰(zhàn)性。隨著深度神經(jīng)網(wǎng)絡(luò)的發(fā)展,越來(lái)越多的研究人員開(kāi)始關(guān)注TriviaQA這類復(fù)雜數(shù)據(jù)集。
2.2.4 SearchQA
SearchQA與TriviaQA構(gòu)造方法類似,Dunn等人也采用了遠(yuǎn)程監(jiān)督方法構(gòu)造SearchQA數(shù)據(jù)集[17]。該數(shù)據(jù)集由超過(guò)14萬(wàn)個(gè)“問(wèn)題-答案”二元組組成,每對(duì)二元組平均有49.6個(gè)片段。與之前的大多數(shù)數(shù)據(jù)集不同,SearchQA通過(guò)世界上最大的搜索引擎獲取嘈雜、真實(shí)的上下文,構(gòu)造“問(wèn)題-答案”二元組,其更加貼近人類生活,實(shí)用性更強(qiáng)。
2.2.5 SQuAD2.0
SQuAD1.1數(shù)據(jù)集只關(guān)注可回答問(wèn)題,且現(xiàn)有模型對(duì)于無(wú)答案問(wèn)題的識(shí)別研究關(guān)注較少。為了彌補(bǔ)這些不足,Rajpurkar等人[18]又提出了SQuAD2.0數(shù)據(jù)集,在SQuAD1.1的基礎(chǔ)上加入了53 775個(gè)“無(wú)答案問(wèn)題”,該數(shù)據(jù)集更具挑戰(zhàn)性,在SQuAD1.1上性能最好的模型在SQuAD2.0上的F1值由85.8%變?yōu)?6.3%。難度的增加使模型在該數(shù)據(jù)集上的準(zhǔn)確率明顯下降,該數(shù)據(jù)集也成為學(xué)者們的研究熱點(diǎn)。
2.2.6 CMRC2018
現(xiàn)有閱讀理解數(shù)據(jù)集大多是英文的,中文數(shù)據(jù)集屈指可數(shù)。目前,基于中文的數(shù)據(jù)集包括填空式數(shù)據(jù)集PeopleDaily/CFT[19]、生成式數(shù)據(jù)集DuReader[20],以及抽取式數(shù)據(jù)集CMRC2018[14]等。
為彌補(bǔ)抽取式MRC數(shù)據(jù)集在中文領(lǐng)域的空白,Cui等人提出CMRC2018數(shù)據(jù)集[14]。該數(shù)據(jù)集由近萬(wàn)個(gè)真實(shí)問(wèn)題組成,并新增了挑戰(zhàn)集(Challenge Set),以模擬更加復(fù)雜的真實(shí)環(huán)境。由于挑戰(zhàn)集中的問(wèn)題需要機(jī)器具備一定的知識(shí)推理能力,目前還沒(méi)有特定的模型能夠獲得較好的效果。該數(shù)據(jù)集僅包含有答案問(wèn)題且規(guī)模較小。
各數(shù)據(jù)集基本信息如表2所示。對(duì)于抽取式MRC的研究是從SQuAD1.1數(shù)據(jù)集的發(fā)布開(kāi)始興起,目前數(shù)據(jù)集的構(gòu)造方式大致可以概括為眾包方法和遠(yuǎn)程監(jiān)督方法兩種。眾包方法可以保證問(wèn)題和答案的質(zhì)量,但是需要耗費(fèi)大量人力物力;遠(yuǎn)程監(jiān)督方法無(wú)需人工標(biāo)注,節(jié)約成本,但是數(shù)據(jù)集質(zhì)量無(wú)法得到保障。抽取式任務(wù)的評(píng)估指標(biāo)主流的有EM(Exact Match)值和F1值兩種。目前中文領(lǐng)域以及針對(duì)專業(yè)領(lǐng)域的數(shù)據(jù)集較少,有待研究者們的開(kāi)發(fā)。從表2中可以看出,NewsQA、TriviaQA、SearchQA的人類表現(xiàn)與當(dāng)前最優(yōu)(State Of The Art,SOTA)值都比較低,說(shuō)明這些數(shù)據(jù)集難度較大,其通過(guò)減少單詞匹配類型、增加綜合類型答案提高數(shù)據(jù)集挑戰(zhàn)性,從而帶動(dòng)模型的發(fā)展。CMRC2018挑戰(zhàn)集通過(guò)加入推理答案和設(shè)置迷惑性答案加大了數(shù)據(jù)集難度,模型在其上的表現(xiàn)較差,但是人類表現(xiàn)卻取得了不錯(cuò)的成績(jī)。這表明,目前的MRC模型不能處理需要在幾個(gè)線索之間進(jìn)行綜合推理的難題,機(jī)器依然無(wú)法做到像人類去閱讀、無(wú)法真正做到理解文本語(yǔ)義,對(duì)于MRC模型的研究仍然“任重而道遠(yuǎn)”。
表2 數(shù)據(jù)集基本信息
對(duì)于抽取式MRC任務(wù),需要模型對(duì)預(yù)測(cè)所得答案和真實(shí)答案進(jìn)行對(duì)比。通常使用EM值和F1值對(duì)模型性能進(jìn)行評(píng)價(jià)[11]。EM指的是模型的輸出答案與真實(shí)答案完全一致的百分比。F1值指的是模型的輸出答案與真實(shí)答案的覆蓋率,通過(guò)準(zhǔn)確率和召回率計(jì)算。評(píng)價(jià)指標(biāo)計(jì)算公式如下:
(1)EM值
其中,Nreal代表模型所預(yù)測(cè)答案與真實(shí)答案完全匹配的個(gè)數(shù),Nall代表真實(shí)答案的總個(gè)數(shù)。
(2)F1值
其中,Noverlap表示預(yù)測(cè)正確的單詞/字符數(shù)目,即預(yù)測(cè)答案與真實(shí)答案之間的詞匯重疊度;Nallanswer表示所預(yù)測(cè)答案的所有單詞/字符數(shù)目;Ntruthanswer表示真實(shí)答案的所有單詞/字符數(shù)目。
傳統(tǒng)的基于機(jī)器學(xué)習(xí)的MRC模型采用模式匹配的方法進(jìn)行特征提取,性能提升受限。隨著深度學(xué)習(xí)的發(fā)展,基于神經(jīng)網(wǎng)絡(luò)的MRC模型得以迅速發(fā)展。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[21]、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[22]、長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[23]、門控循環(huán)單元(Gated Recurrent Unit,GRU)[24]和注意力機(jī)制(Attention Mechanism)[25]的出現(xiàn)大大推動(dòng)了MRC的發(fā)展,它們能夠提取深層次的文章語(yǔ)義、語(yǔ)序特征信息以及長(zhǎng)距離上下文語(yǔ)義信息,對(duì)于提取文本中所包含的特征信息具有一定的優(yōu)勢(shì)。
目前,大多數(shù)抽取式MRC模型的網(wǎng)絡(luò)架構(gòu)由嵌入層、編碼層、信息交互層和答案預(yù)測(cè)層組成[26]。嵌入層將文本和問(wèn)題映射成包含相關(guān)文本信息的向量表示,便于計(jì)算機(jī)理解;編碼層通常利用神經(jīng)網(wǎng)絡(luò)對(duì)文本和問(wèn)題編碼,得到上下文語(yǔ)義信息;信息交互層將文本和問(wèn)題的編碼信息進(jìn)行融合匹配,最終得到混合兩者語(yǔ)義的交互向量,信息交互層是整個(gè)模型中最重要的一層;答案預(yù)測(cè)層根據(jù)語(yǔ)義交互向量抽取出答案邊界,得到最終預(yù)測(cè)答案[26]。抽取式MRC模型的網(wǎng)絡(luò)架構(gòu)如圖1所示[2]。
圖1 抽取式MRC模型的網(wǎng)絡(luò)架構(gòu)圖
目前研究人員對(duì)于模型的研究主要針對(duì)上述4層進(jìn)行改進(jìn),根據(jù)方法可以將抽取式MRC模型分為:基于注意力機(jī)制的MRC模型、基于遷移學(xué)習(xí)的MRC模型、加入推理機(jī)制的MRC模型以及結(jié)合外部知識(shí)的MRC模型4類。
注意力機(jī)制最早應(yīng)用于計(jì)算機(jī)視覺(jué)(Computer Vision,CV)領(lǐng)域,Mnih等人[25]首次將注意力機(jī)制應(yīng)用于RNN模型進(jìn)行圖像分類,該方法在圖像分類任務(wù)中取得了顯著成效。隨后,Bahdanau等人[27]將注意力機(jī)制應(yīng)用于神經(jīng)機(jī)器翻譯(Neural Machine Translation,NMT)任務(wù),使翻譯和對(duì)齊同時(shí)進(jìn)行,顯著提升了翻譯的準(zhǔn)確率,這是第一個(gè)將注意力機(jī)制應(yīng)用于NLP領(lǐng)域中的工作。2017年,Vaswani等人提出了自注意力機(jī)制[28],用于學(xué)習(xí)文本表示。自此,各種基于注意力機(jī)制的衍生變體相繼出現(xiàn),注意力機(jī)制被廣泛應(yīng)用于各種NLP任務(wù)當(dāng)中。
注意力機(jī)制在MRC模型中應(yīng)用的基本思想是讀取文本時(shí)重點(diǎn)關(guān)注文本與問(wèn)題的相關(guān)部分,降低無(wú)關(guān)內(nèi)容的權(quán)重。近年來(lái)基于注意力機(jī)制的抽取式MRC模型發(fā)展較快,隨之其面臨的挑戰(zhàn)也越來(lái)越大。
Seo等人[29]針對(duì)現(xiàn)有應(yīng)用注意力機(jī)制的MRC模型存在的兩個(gè)問(wèn)題:第一,只是應(yīng)用于文本中的部分內(nèi)容,第二,只是單向的應(yīng)用,無(wú)法充分融合利用上下文與問(wèn)題之間的關(guān)聯(lián)信息,提出了雙向注意力流(Bi-Directional Attention Flow,BiDAF)網(wǎng)絡(luò)。該網(wǎng)絡(luò)在句子的不同粒度上對(duì)上下文和查詢進(jìn)行編碼,以獲得不同粒度的信息表示。模型結(jié)構(gòu)如圖2所示[29]。
字嵌入層和詞嵌入層負(fù)責(zé)將每個(gè)字、詞映射到高維向量空間,{x1,x2,…,x T}和{q1,q2,…,q J}分別表示輸入上下文段落和查詢中的字詞;上下文嵌入層使用LSTM建模詞間交互信息;注意力流層將查詢與上下文信息連接、融合,獲得從上下文到查詢(Context-To-Query,C2Q)以及從查詢到上下文(Query-To-Context,Q2C)的注意力權(quán)重,權(quán)重的計(jì)算都是由共享相似矩陣S∈RT×J導(dǎo)出的,相似矩陣計(jì)算公式如式(6)所示[29]:
其中,S tj表示第t個(gè)上下文詞和第j個(gè)查詢?cè)~之間的相似度;α為對(duì)兩個(gè)輸入向量之間的相似性進(jìn)行編碼的可訓(xùn)練標(biāo)量函數(shù);H:t表示上下文H的第t列向量;U:j表示查詢U的第j列向量。
設(shè)a t∈RJ表示第t個(gè)上下文詞對(duì)查詢?cè)~的注意力權(quán)重,對(duì)于所有t,權(quán)重和為1。注意力權(quán)重由a t=softmax(S t:)∈RJ計(jì)算,查詢向量表示為U?:t=ΣJ a tj U:J,U?為一個(gè)包含整個(gè)上下文注意力查詢向量的二維矩陣。通過(guò)b=softmax(maxcol(S))∈RT獲得上下文詞上的注意力權(quán)重,其中最大函數(shù)(maxcol)跨列執(zhí)行,上下文注意力向量為h?=Σt b t H:t∈R2d,表示與查詢相關(guān)的上下文中最重要詞的加權(quán)和。h?跨列平鋪T次,得到H?∈R2d×T。
最后,將上下文嵌入和注意力向量組合在一起以產(chǎn)生G,其中每個(gè)列向量可以被認(rèn)為是每個(gè)上下文詞的查詢感知表示。定義公式如下[29]:
其中G:t為第t列向量,β為融合輸入向量的可訓(xùn)練向量函數(shù),d G是β函數(shù)的輸出維度。
建模層的輸入為G,它對(duì)上下文詞的查詢感知表示進(jìn)行編碼。建模層的輸出捕獲了以查詢?yōu)闂l件的上下文詞之間的交互。建模層使用雙層BiLSTM,每個(gè)方向的輸出大小為d,得到矩陣M∈R2d×T,該矩陣被傳遞到輸出層,用來(lái)預(yù)測(cè)答案。
開(kāi)始索引和結(jié)束索引在文本中每個(gè)詞上的概率分布計(jì)算公式如下所示[29]:
圖2 BiDAF模型結(jié)構(gòu)圖
其中w(p1)∈R10d為可訓(xùn)練的權(quán)重向量。
損失函數(shù)計(jì)算公式如下[29]:
其中,θ為模型中所有可訓(xùn)練權(quán)重的集合,N為數(shù)據(jù)集中的樣本數(shù)目,yi1和yi2分別為第i個(gè)樣本的開(kāi)始索引和結(jié)束索引,p k表示向量p的第k個(gè)值。
BiDAF模型在SQuAD1.1數(shù)據(jù)集上達(dá)到了73.3%的EM值和81.1%的F1值,優(yōu)于之前所有方法。
BiDAF模型是MRC發(fā)展史上十分重要的模型,后續(xù)許多學(xué)者在此基礎(chǔ)上研究MRC問(wèn)題。萬(wàn)靜等人認(rèn)為BiDAF對(duì)多段落信息間相關(guān)性考慮不充分,提出了PRBiDAF(Passage Rank-BiDAF)模型[30]。PR-BiDAF對(duì)文本與問(wèn)題的關(guān)聯(lián)匹配度進(jìn)行排序以選取最有可能存在答案的段落,該模型在MRC問(wèn)題中取得了較好的效果。
Wang等人[31]首次將自注意力機(jī)制應(yīng)用于MRC模型,提出了門控自匹配網(wǎng)絡(luò)R-Net。利用基于門控注意力的遞歸網(wǎng)絡(luò)生成問(wèn)題感知的段落表示,能夠精確定位文本的重要部分,但是這種表示方式常常會(huì)忽略窗口外的有用信息,對(duì)上下文的表示非常有限。為解決該問(wèn)題,R-Net直接將問(wèn)題感知的段落表示與其本身進(jìn)行自匹配,動(dòng)態(tài)地從整篇文章中收集段落中的單詞證據(jù),并將其與當(dāng)前段落單詞的相關(guān)證據(jù)及其匹配的問(wèn)題信息編碼到段落表示ht P[31]:
其中,是整個(gè)段落(v P)的集中注意力向量[31]:
在MRC模型中加入自注意力機(jī)制這一做法獲得了極大成功,后續(xù)許多學(xué)者的研究都借鑒了這種方法,并取得了不錯(cuò)的效果。Tay等人[32]將自注意力機(jī)制應(yīng)用于雙向注意連接器(Bidirectional Attention Connectors,BAC),BAC能夠建立整個(gè)網(wǎng)絡(luò)的鏈接,有助于信息的流動(dòng)。其中,自注意力機(jī)制將與問(wèn)題相關(guān)段落中的每個(gè)單詞與所有其他單詞進(jìn)行建模,從而使每個(gè)單詞都可以從全局上下文中建立聯(lián)系。該方法在NewsQA數(shù)據(jù)集上達(dá)到了53.1%的EM值和66.3%的F1值,是當(dāng)時(shí)性能最好的模型。姚瀾[33]在BiDAF的基礎(chǔ)上加入自注意力機(jī)制,提出了self-BiDAF,解決了現(xiàn)有模型文本編碼能力不足這一問(wèn)題。自注意力機(jī)制可以增強(qiáng)模型對(duì)文本編碼的能力,使得模型能夠更準(zhǔn)確地表達(dá)文本。李童俊[34]針對(duì)BiDAF模型訓(xùn)練的文本內(nèi)部語(yǔ)義信息易丟失問(wèn)題,提出了BiDAF+模型。BiDAF+利用自注意力機(jī)制實(shí)現(xiàn)對(duì)文本語(yǔ)義信息的更深層次建模,并彌補(bǔ)了使用LSTM所導(dǎo)致的出現(xiàn)遺忘語(yǔ)義信息的缺點(diǎn)。BiDAF+能夠更加有效地融合和提取全局信息,提升模型的計(jì)算效率。該模型訓(xùn)練效果較好,在SQuAD1.1數(shù)據(jù)集上訓(xùn)練的F1值比BiDAF提升了6.47%,訓(xùn)練時(shí)間也大幅度減少。
層次注意力機(jī)制與基于注意力機(jī)制的RNN模型在MRC中同樣取得了不錯(cuò)的成績(jī)。Wang等人提出了多粒度層次注意力融合網(wǎng)絡(luò)模型SLQA+[35],首先用細(xì)粒度的詞嵌入對(duì)問(wèn)題和文本進(jìn)行編碼,以更好地捕捉語(yǔ)義級(jí)別的相應(yīng)表示;然后提出一種多粒度融合方法,以完全融合來(lái)自全局和局部的表示信息;最后,引入層次注意力網(wǎng)絡(luò)逐步找到正確答案。層次注意力網(wǎng)絡(luò)由具有淺層語(yǔ)義融合的協(xié)同注意力層和具有深層語(yǔ)義融合的自注意力層組成,協(xié)同注意力層可以粗略地找到潛在的答案域,自注意力層可以進(jìn)一步定位該域中有可能成為答案的部分。該模型通過(guò)計(jì)算不同粒度水平和垂直分層上的“文本-問(wèn)題”注意力,更好地捕捉文本中的特征,在TriviaQA Wikipedia上達(dá)到了66.6%的EM值和71.4%的F1值。熊宗楊[36]提出了基于層次注意力機(jī)制的機(jī)器閱讀理解模型HANet。HANet將自注意力、協(xié)同注意力以及雙向注意力流三種注意力機(jī)制分別應(yīng)用于三個(gè)網(wǎng)絡(luò)層中。利用自注意力機(jī)制獲取文本和問(wèn)題各自內(nèi)部序列之間的長(zhǎng)距離依賴關(guān)系;利用協(xié)同注意力機(jī)制捕獲文本和問(wèn)題之間的共現(xiàn)關(guān)系;利用雙向注意力流對(duì)文本和問(wèn)題進(jìn)行深層次的理解。通過(guò)三個(gè)網(wǎng)絡(luò)層獲得不同的粒度級(jí)別上的“文本-問(wèn)題”注意力權(quán)重,逐步細(xì)化,最終定位到正確答案。該模型在數(shù)據(jù)集SQuAD1.1上達(dá)到了79.4%的F1值,優(yōu)于傳統(tǒng)的Match-LSTM模型與RNet模型。
基于預(yù)訓(xùn)練模型的研究方法屬于遷移學(xué)習(xí)的一種,目前NLP領(lǐng)域基本采用預(yù)訓(xùn)練加微調(diào)的模式。預(yù)訓(xùn)練指預(yù)先訓(xùn)練模型的過(guò)程,微調(diào)指將已預(yù)訓(xùn)練好的模型作用于自己的數(shù)據(jù)集,并使參數(shù)適應(yīng)自己數(shù)據(jù)集的過(guò)程,不是從零開(kāi)始學(xué)習(xí),可以把它看作是“站在巨人的肩膀上”。
通過(guò)在大規(guī)模文本數(shù)據(jù)上以無(wú)監(jiān)督的方式預(yù)訓(xùn)練文本中的語(yǔ)言知識(shí)、信息,并將其應(yīng)用于下游相關(guān)任務(wù),如:文本分類、MRC等相關(guān)任務(wù)。
3.2.1 傳統(tǒng)的預(yù)訓(xùn)練語(yǔ)言模型
預(yù)訓(xùn)練語(yǔ)言模型可以分為兩類,分別是自回歸語(yǔ)言模型,如ELMO(Embedding from Language Model)[37]、GPT(Generative Pre-Training)[38];和自編碼語(yǔ)言模型,如BERT[13]。下面將詳細(xì)介紹這兩類模型以及它們之間的關(guān)系。
自回歸語(yǔ)言模型訓(xùn)練方向自左向右,導(dǎo)致其在語(yǔ)言生成任務(wù)中具有先天優(yōu)勢(shì),同時(shí)也導(dǎo)致其不能同時(shí)利用上下文信息,對(duì)文本的表示能力較弱。Peters等人[37]針對(duì)word2vec不能利用上下文信息解決一詞多義的問(wèn)題,提出一種獨(dú)立方向的BiLSTM語(yǔ)言模型,其使用兩個(gè)獨(dú)立模型分別獲取上下文信息,并利用簡(jiǎn)單的向量拼接方式將兩個(gè)模型關(guān)聯(lián)起來(lái),在一定程度上解決了word2vec的問(wèn)題。但是,其在本質(zhì)上仍然是單向自回歸語(yǔ)言模型,存在上下文信息特征提取不充分,訓(xùn)練時(shí)間長(zhǎng)等缺點(diǎn)。Radford等人[38]針對(duì)上述問(wèn)題,提出了GPT模型。該模型采用Transformer架構(gòu),在無(wú)監(jiān)督條件下進(jìn)行訓(xùn)練,利用Transformer中的Decoder模塊捕捉更長(zhǎng)范圍的信息,其效果優(yōu)于RNN。且由于Transformer是并行運(yùn)算,可以在訓(xùn)練過(guò)程中提升模型的訓(xùn)練速度。
自編碼語(yǔ)言模型在訓(xùn)練過(guò)程中將文本數(shù)據(jù)中的某個(gè)詞隨機(jī)遮蔽,并根據(jù)上下文信息預(yù)測(cè)被遮蔽的詞。自編碼語(yǔ)言模型的訓(xùn)練過(guò)程需要利用上下文建模語(yǔ)境信息,并預(yù)測(cè)遮蔽詞,文本表示能力大大加強(qiáng),更能夠表示文本的有效信息以及上下文信息。
Devlin等人[13]提出了BERT。BERT是一種利用雙向語(yǔ)言模型(Transformer中的Encoder模塊)獲取詞向量表示,利用大規(guī)模未標(biāo)記訓(xùn)練數(shù)據(jù)生成豐富上下文表示的自編碼語(yǔ)言模型。為了更好地將當(dāng)前詞和上下文信息融合在一起,BERT模型通過(guò)遮蔽語(yǔ)言方法(Masked Language Model,MLM)和下一句預(yù)測(cè)(Next Sentence Prediction,NSP)兩個(gè)任務(wù)分別捕獲詞級(jí)和句子級(jí)表示。通過(guò)MLM任務(wù)用無(wú)監(jiān)督學(xué)習(xí)的方式預(yù)測(cè)當(dāng)前詞,能夠有效地利用上下文信息;使用NSP任務(wù)預(yù)測(cè)兩個(gè)句子是否為上下句的關(guān)系,Transformer可以捕獲到輸入語(yǔ)句的全部特征。
針對(duì)自回歸語(yǔ)言模型與自編碼語(yǔ)言模型各自的優(yōu)劣,Yang等人[39]提出一種泛化自回歸方法XLNet。XLNet不使用傳統(tǒng)自回歸語(yǔ)言模型中固定的前向或后向因式分解順序,而是將序列進(jìn)行因式分解,得到所有可能的排列方式,最大化所有可能排列順序的期望對(duì)數(shù)似然,由于對(duì)因式分解順序的排列操作,每個(gè)位置的語(yǔ)境都包含來(lái)自上下文的信息,因此,每個(gè)位置都能學(xué)習(xí)來(lái)自所有位置的語(yǔ)境信息,即捕捉雙向語(yǔ)境。作為一個(gè)泛化自回歸語(yǔ)言模型,XLNet不依賴殘缺數(shù)據(jù),因此,XLNet不存在BERT的“預(yù)訓(xùn)練-微調(diào)”差異問(wèn)題。
假設(shè)有一組包含n個(gè)詞的序列文本數(shù)據(jù)m=[x1,x2,…,x n],存在n!種詞排列順序。在訓(xùn)練過(guò)程中,利用自回歸語(yǔ)言模型以及輸入不同排列順序的句子預(yù)測(cè)詞的概率;加入位置信息,通過(guò)雙向流自注意力機(jī)制,實(shí)現(xiàn)單個(gè)詞的上下文信息表示。
傳統(tǒng)的注意力機(jī)制將位置等信息全部編碼,而自回歸語(yǔ)言模型無(wú)法獲得當(dāng)前預(yù)測(cè)詞的位置編碼。通過(guò)將位置編碼拆分提出雙向流自注意力機(jī)制,即內(nèi)容流自注意力機(jī)制與查詢流自注意力機(jī)制,其示意圖如圖3所示[39]。
圖3 內(nèi)容流自注意力機(jī)制與查詢流自注意力機(jī)制
內(nèi)容流:傳統(tǒng)自注意力機(jī)制,對(duì)當(dāng)前詞鏡像編碼[39]:
查詢流:只看到當(dāng)前位置編碼,無(wú)法獲得詞編碼[39]:
其中,Q、K、V表示查詢(query)、鍵(key)和值(value)。XLNet在訓(xùn)練階段引入Transformer-XL中的分割循環(huán)機(jī)制和相對(duì)編碼范式,從而提升模型的長(zhǎng)距離依賴捕獲能力。
XLNet模型訓(xùn)練過(guò)程如圖4所示[39],將內(nèi)容隱狀態(tài)h和查詢隱狀態(tài)g分別初始化為詞嵌入e(x i)和變量w,通過(guò)掩蔽雙向流自注意力機(jī)制計(jì)算每一層輸出h(i)和g(i)。在訓(xùn)練過(guò)程中將上一片段的結(jié)果引入下一片段中:
其中,τ表示上一個(gè)片段,τ+1表示下一個(gè)片段,將τ緩存,并將其直接和τ+1進(jìn)行拼接,這里SG表示Stop-Gradient。引入上一片段的隱層表示僅用于key和value,query僅代表查詢?cè)~,而key,value代表查詢?cè)~的相關(guān)表示信息,因此只需在key,value中引入上一片段信息即可。
XLNet模型結(jié)構(gòu)龐大且復(fù)雜,但是其在長(zhǎng)文本閱讀理解任務(wù)上效果提升明顯。目前,預(yù)訓(xùn)練模型在抽取式MRC任務(wù)中獲得了大幅的性能提升,實(shí)驗(yàn)表明預(yù)訓(xùn)練模型可以顯著增加目標(biāo)任務(wù)的預(yù)測(cè)準(zhǔn)確度,同時(shí)縮短模型的訓(xùn)練時(shí)間,預(yù)訓(xùn)練語(yǔ)言模型有很大的發(fā)展空間。
圖4 XLNet模型框架圖
3.2.2 其他擴(kuò)展模型
BERT是一個(gè)強(qiáng)大的自編碼語(yǔ)言模型,其一經(jīng)提出,就刷新了NLP領(lǐng)域的11個(gè)任務(wù)的當(dāng)前最優(yōu)結(jié)果,后續(xù)許多學(xué)者在其基礎(chǔ)上進(jìn)行改進(jìn)。Liu等人[40]在BERT的基礎(chǔ)上做了精細(xì)化調(diào)參,改變其預(yù)訓(xùn)練的方法,提出了RoBERTa模型。相比于原始的BERT模型,RoBERTa使用了更大的Batch-Size和更大規(guī)模的訓(xùn)練數(shù)據(jù)(160 GB),因此也需要更長(zhǎng)的訓(xùn)練時(shí)間。RoBERTa去掉了下一句預(yù)測(cè)任務(wù),并在遮蔽語(yǔ)言方法中使用動(dòng)態(tài)掩碼以代替靜態(tài)掩碼。RoBERTa在各類任務(wù)中的表現(xiàn)均超越了BERT模型。
在中文領(lǐng)域,Cui等人[41]對(duì)RoBERTa模型進(jìn)行了改進(jìn),得到了MacBERT。MacBERT使用同義詞,而不是[MASK]作為掩蓋詞,這樣能夠減緩預(yù)訓(xùn)練和微調(diào)階段的差異,從而提高下游任務(wù)的表現(xiàn)。MacBERT在中文MRC數(shù)據(jù)集上表現(xiàn)優(yōu)異,在CMRC2018挑戰(zhàn)集中達(dá)到了60.2%的F1值。接著,Cui等人[42]提出了基于全詞遮掩(Whole Word Masking)技術(shù)的中文預(yù)訓(xùn)練模型BERTwwm,原BERT模型是用[MASK]標(biāo)記替換一個(gè)字,而在BERT-wwm中,如果該字被掩蓋,則同屬該詞的其他字也會(huì)被掩蓋。預(yù)訓(xùn)練過(guò)程中,模型能夠?qū)W習(xí)到詞的語(yǔ)義信息,訓(xùn)練完成后字嵌入就具有了詞的語(yǔ)義信息,有利于各類中文NLP任務(wù)。在CMRC2018數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,BERT-wwm性能優(yōu)于BERT。賈欣針對(duì)BERT模型對(duì)不同語(yǔ)義層捕獲能力不足的問(wèn)題,提出了基于遷移學(xué)習(xí)的BERT-wwm-MLFA模型[43]。BERTwwm-MLFA將單向注意力機(jī)制和雙向注意力機(jī)制融合構(gòu)成全注意力模塊,全注意力機(jī)制可以在各個(gè)層面更好地對(duì)“問(wèn)題-文檔”進(jìn)行編碼與交互。在BERT-wwm預(yù)訓(xùn)練模型的基礎(chǔ)上加入多層全注意力機(jī)制,并將其遷移到數(shù)據(jù)集上重新進(jìn)行訓(xùn)練,實(shí)驗(yàn)表明該模型性能高于基準(zhǔn)BERT模型。Cui等人[44]提出了跨語(yǔ)言MRC模型Dual BERT,用于解決在中文領(lǐng)域由于缺乏大規(guī)模訓(xùn)練數(shù)據(jù)而導(dǎo)致的模型稀缺問(wèn)題。Dual BERT將中文的(數(shù)據(jù)資源匱乏的目標(biāo)語(yǔ)言)“文本-問(wèn)題”對(duì)翻譯為英文(數(shù)據(jù)資源豐富的源語(yǔ)言),并使用英文領(lǐng)域性能較好的MRC模型生成答案,最后將生成的答案翻譯回中文。該模型在CMRC 2018數(shù)據(jù)集上達(dá)到了90.2%的F1值,取得了當(dāng)時(shí)的最好成績(jī)。
人類在做閱讀理解時(shí),需要對(duì)文章內(nèi)容進(jìn)行推理,通過(guò)推理判斷,人類能夠更加準(zhǔn)確地理解文章內(nèi)容,正確回答相關(guān)問(wèn)題。機(jī)器也是如此,利用推理機(jī)制對(duì)MRC模型進(jìn)行文章內(nèi)容的理解,使得機(jī)器更加準(zhǔn)確地回答相關(guān)問(wèn)題。目前,相對(duì)困難的問(wèn)題由于其答案分布在不同位置,尋找問(wèn)題的答案需要在文章的幾個(gè)線索中進(jìn)行綜合推理。利用傳統(tǒng)模型解決此類問(wèn)題準(zhǔn)確率較低,通過(guò)加入推理機(jī)制對(duì)文章內(nèi)容進(jìn)行推理分析,能夠更加準(zhǔn)確地把握文章內(nèi)容,提升答案的準(zhǔn)確性。
2015年,Sukhbaatar等人[45]提出記憶網(wǎng)絡(luò)模型,該模型是一種基于循環(huán)注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)模型,是最早引入推理機(jī)制的模型,對(duì)后續(xù)其他推理模型產(chǎn)生了重要影響。其推理過(guò)程如下:根據(jù)原始問(wèn)題表達(dá)與原始文本表達(dá),利用f函數(shù)計(jì)算文本中詞的注意力權(quán)重;利用g函數(shù)與原始文本表達(dá)以及注意力信息計(jì)算新文本表達(dá);利用t函數(shù),根據(jù)新文本表達(dá)以及原始文本表達(dá)推理出問(wèn)題和文本最終的新表達(dá)。這樣就通過(guò)隱式的內(nèi)部更新文本表達(dá)和顯示的更新問(wèn)題表達(dá)實(shí)現(xiàn)了一次推理過(guò)程,后續(xù)每層網(wǎng)絡(luò)推理過(guò)程就是多次重復(fù)這個(gè)過(guò)程。通過(guò)多層網(wǎng)絡(luò)計(jì)算完成整個(gè)推理過(guò)程,記憶網(wǎng)絡(luò)推理過(guò)程如圖5所示。
單層推理過(guò)程如圖6所示[45],推理過(guò)程如下:將給定輸入集合x(chóng)1,x2,…,x i存儲(chǔ)于存儲(chǔ)器中,使用大小為d×V的嵌入矩陣A將每個(gè)x i均嵌入到連續(xù)空間中,將整個(gè)集合{x i}轉(zhuǎn)換為維度d的存儲(chǔ)向量{mi}。同樣,查詢Q也被嵌入以獲得內(nèi)部狀態(tài)u。在嵌入空間中,取內(nèi)積后,利用softmax函數(shù)計(jì)算u和每個(gè)存儲(chǔ)器m i之間的權(quán)重[45]:
圖5 記憶網(wǎng)絡(luò)推理過(guò)程圖
圖6 單層推理過(guò)程圖
c i為輸入x i的對(duì)應(yīng)輸出向量,存儲(chǔ)器的輸出向量ο計(jì)算公式如下[45]:
計(jì)算輸出向量ο和輸入嵌入u的和,通過(guò)大小為V×d的最終權(quán)重矩陣W和softmax函數(shù)生成預(yù)測(cè)標(biāo)簽[45]:
AMRNN模型(Attention-based Multi-hop Recurrent Neural Network)[46]的推理過(guò)程受記憶網(wǎng)絡(luò)影響,其基本架構(gòu)與記憶網(wǎng)絡(luò)相同,唯一的區(qū)別是:記憶網(wǎng)絡(luò)在擬合文本或問(wèn)題表示時(shí)通過(guò)詞嵌入方式簡(jiǎn)單疊加,而AMRNN則是采用雙向門控遞歸單元(Gated Recurrent Unit,GRU)網(wǎng)絡(luò)從輸入問(wèn)題和文本中順序取詞,將前向GRU網(wǎng)絡(luò)的隱含層輸出和后向GRU網(wǎng)絡(luò)的隱含層輸出連接起來(lái),形成問(wèn)題和文本的向量表示。
Shen等人模仿人類推理過(guò)程,提出推理網(wǎng)絡(luò)ReasoNet[47]。人類在做閱讀推理時(shí),會(huì)反復(fù)閱讀文本,并且每次將注意力集中在文本的不同部分,直到找到答案,ReasoNet的推理過(guò)程也是如此。此外,不同于以往模型中使用固定的迭代次數(shù),ReasoNet引入了終止?fàn)顟B(tài),終止?fàn)顟B(tài)可以決定ReasoNet是在消化中間結(jié)果后繼續(xù)還是終止推理過(guò)程。ReasoNet在抽取式MRC數(shù)據(jù)集SQuAD1.1上取得了卓越的成績(jī)。
張禹堯等人結(jié)合多跳結(jié)構(gòu)和注意力機(jī)制,提出了基于多重聯(lián)結(jié)機(jī)制的注意力模型MCA-Reader[48]。在最后一次編碼時(shí)將多輪迭代的全部中間計(jì)算結(jié)果聯(lián)結(jié),考慮到了所有的注意力權(quán)重,得到更多更全面的特征信息,從而提升模型性能。
在人類閱讀理解的過(guò)程中,當(dāng)問(wèn)題不能僅僅通過(guò)上下文得到答案時(shí),人類還會(huì)運(yùn)用常識(shí)知識(shí)。能否運(yùn)用外部知識(shí)(External Knowledge)是MRC與人類閱讀理解之間產(chǎn)生巨大差距的直接原因。近年來(lái),隨著知識(shí)圖譜(Knowledge Graph)等概念的出現(xiàn),將外部知識(shí)引入MRC模型成為學(xué)者們的研究熱點(diǎn),形成了基于外部知識(shí)庫(kù)的機(jī)器閱讀理解(Knowledge-Based Machine Reading Comprehension,KBMRC)。KBMRC與MRC的主要區(qū)別在于輸入,MRC的輸入是文本和問(wèn)題序列,而KBMRC的輸入除此之外還有從知識(shí)庫(kù)中提取出的額外相關(guān)知識(shí)[2]。
Chen等人認(rèn)為,現(xiàn)有模型雖然獲得了很高的準(zhǔn)確率,但是它們只關(guān)注文本表層信息,在深層語(yǔ)義挖掘上還有待提高,所以提出更有效的模型DrQA[49]。DrQA主要面向開(kāi)放域閱讀理解,首先從維基百科中檢索出問(wèn)題相關(guān)段落,然后從段落中找到對(duì)應(yīng)答案,利用Wikipedia作為知識(shí)源,在數(shù)據(jù)集上進(jìn)行訓(xùn)練。DrQA在SQuAD1.1上的F1值比BiDAF提升了1.7%。姜文超等人[50]針對(duì)現(xiàn)有模型缺乏外部基本常識(shí)支撐這一問(wèn)題,提出了結(jié)合外部知識(shí)的動(dòng)態(tài)多層次語(yǔ)義抽取網(wǎng)絡(luò)模型。引入外部先驗(yàn)知識(shí)層,縮小指針網(wǎng)絡(luò)定位答案范圍,從而對(duì)候選答案進(jìn)行精準(zhǔn)排序,從而提升模型的語(yǔ)義匹配度和答案提取精度。Yang等人[51]在BERT模型的基礎(chǔ)上融入了外部知識(shí)庫(kù)(Knowledge Base system,KBs),提出了KT-NET模型。KT-NET引入了一種基于注意力機(jī)制的知識(shí)網(wǎng)絡(luò),該網(wǎng)絡(luò)利用注意力機(jī)制自適應(yīng)地從知識(shí)庫(kù)中選擇所需知識(shí),然后將所選知識(shí)與BERT融合,實(shí)現(xiàn)了基于上下文和知識(shí)的預(yù)測(cè)。該模型在SQuAD1.1數(shù)據(jù)集上取得了85.94%的EM值和92.43%的F1值。
Wang等人探索了如何將MRC神經(jīng)網(wǎng)絡(luò)模型與常識(shí)相結(jié)合,并基于常識(shí)數(shù)據(jù)的擴(kuò)展,實(shí)現(xiàn)了一個(gè)端到端的知識(shí)輔助閱讀器(Knowledge Aided Reader,KAR)[52]。如圖7所示,KAR是由五層架構(gòu)組成的端到端MRC模型[52]。
詞嵌入層使用GloVe分別預(yù)訓(xùn)練文本和問(wèn)題詞向量,并將其送入全連接層,得到文本詞嵌入L P∈Rd×n和問(wèn)題詞嵌入L Q∈Rd×m,其中n表示文本數(shù),m表示問(wèn)題數(shù),d表示輸出維度數(shù)。上下文嵌入層將詞嵌入映射到參數(shù)共享的BiLSTM中,通過(guò)將前向LSTM輸出和后向LSTM輸出連接起來(lái),得到文本上下文嵌入C P∈Rd×n和問(wèn)題上下文嵌入C Q∈Rd×m。粗略內(nèi)存層使用知識(shí)輔助的互注意力機(jī)制將C Q融合到C P中,輸出表示為G?∈Rd×n,使用BiLSTM對(duì)G?的表征進(jìn)行編碼得到粗略記憶G∈Rd×n。精細(xì)內(nèi)存層使用知識(shí)輔助的自注意力機(jī)制將G進(jìn)行信息聚合,使用BiLSTM進(jìn)行編碼,得到文本的新表征將H∈Rd×n。跨距答案預(yù)測(cè)層經(jīng)上述層操作得到的信息送入全連接層,得到輸出開(kāi)始位置的概率分布o(jì) s[52]:
其中,v s、W s和U s為可訓(xùn)練參數(shù);h p i為每個(gè)段落單詞p i的精細(xì)化記憶;r Q為問(wèn)題摘要;t i為開(kāi)始位置在文本中每個(gè)位置的概率。得到輸出結(jié)束位置的概率分布o(jì) e[52]:
其中,ve、We和U e為可訓(xùn)練參數(shù);[;]表示向量連接;H O S為輸出開(kāi)始位置的表示向量;對(duì)兩個(gè)概率分布o(jì) s和o e乘積后選出值最大的[a s,a e]組合,作為最終的預(yù)測(cè)答案;t i為結(jié)束位置在文本中每個(gè)位置的概率。KAR在性能上可與最新的MRC模型相媲美,并且抗噪能力更佳,具有較強(qiáng)的魯棒性。
圖7 KAR模型框架圖
本文總結(jié)了目前抽取式MRC的四種方法,即基于注意力機(jī)制的方法、基于預(yù)訓(xùn)練模型的方法、結(jié)合外部知識(shí)的方法以及加入推理機(jī)制的方法。抽取式MRC任務(wù)相較于其他MRC任務(wù)更貼合生活實(shí)際,得到越來(lái)越多研究者的青睞。
大規(guī)模數(shù)據(jù)集的建設(shè)是促進(jìn)模型發(fā)展的必要前提。自2016年以來(lái),伴隨著抽取式MRC數(shù)據(jù)集的發(fā)展,抽取式MRC模型同樣出現(xiàn)了井噴式的發(fā)展。每個(gè)新數(shù)據(jù)集都提出了新的問(wèn)題,并且這些問(wèn)題是當(dāng)前方法無(wú)法有效解決的,新問(wèn)題啟發(fā)研究人員不斷探索新模型進(jìn)而促進(jìn)該領(lǐng)域的發(fā)展。
本文針對(duì)當(dāng)前抽取式MRC發(fā)展中存在的難點(diǎn)提出以下幾點(diǎn)未來(lái)研究方向:
(1)隨著抽取式MRC數(shù)據(jù)集的快速發(fā)展,數(shù)據(jù)集文本規(guī)模越來(lái)越大,這就要求模型從更廣泛的文本空間中尋找答案。對(duì)于需要從多個(gè)文檔中進(jìn)行聯(lián)合推理才能得到答案的問(wèn)題,可以考慮將圖神經(jīng)網(wǎng)絡(luò)應(yīng)用于推理。通過(guò)構(gòu)建圖結(jié)構(gòu),可以將散落在不同語(yǔ)義粒度(段落、句子等)的信息聚合起來(lái),有利于問(wèn)題解答[53]。
(2)現(xiàn)有抽取式MRC模型應(yīng)對(duì)迷惑性答案的能力還遠(yuǎn)遠(yuǎn)不足,盡管現(xiàn)有模型在一些簡(jiǎn)單數(shù)據(jù)集上的表現(xiàn)超越了人類,但它們大多依然停留在簡(jiǎn)單的文本匹配層面,沒(méi)有進(jìn)行更深層次的語(yǔ)義推理。因此,利用深層網(wǎng)絡(luò)挖掘高層語(yǔ)義信息,設(shè)計(jì)更深層次、更有效的抽取式MRC模型是當(dāng)前的迫切需要。同時(shí),可以在數(shù)據(jù)集中添加高質(zhì)量對(duì)抗性問(wèn)答對(duì),在給定文本中添加分散注意力的句子,使模型不是通過(guò)簡(jiǎn)單文本匹配就可以得到正確答案,促使研究者們?cè)鰪?qiáng)對(duì)模型魯棒性的研究,以應(yīng)對(duì)對(duì)抗環(huán)境的挑戰(zhàn)。
(3)目前訓(xùn)練結(jié)果較好的模型普遍比較龐大且復(fù)雜、訓(xùn)練時(shí)間久、對(duì)設(shè)備要求高、代價(jià)大,因此,如何對(duì)大型模型進(jìn)行精簡(jiǎn)且不降低模型性能是一個(gè)值得研究的問(wèn)題。另外,可以運(yùn)用模型蒸餾技術(shù)[54],即采用遷移學(xué)習(xí),通過(guò)預(yù)先訓(xùn)練好的復(fù)雜模型的輸出作為監(jiān)督信號(hào)去訓(xùn)練另外一個(gè)簡(jiǎn)單網(wǎng)絡(luò)。
(4)針對(duì)中文數(shù)據(jù)集的抽取式MRC模型較少,且多數(shù)中文模型是在英文模型基礎(chǔ)上進(jìn)行的改進(jìn),但中英文語(yǔ)法結(jié)構(gòu)、語(yǔ)序等方面存在巨大差異,因此多數(shù)中文模型效果并不理想。構(gòu)建中文MRC模型需要考慮到一詞多義等問(wèn)題,同樣的單詞或句子在不同語(yǔ)境下可能表達(dá)了不同的含義,所以如何構(gòu)建更加符合中文語(yǔ)法結(jié)構(gòu)的MRC模型是研究者們需要深入思考的問(wèn)題。