胡 娟,奚雪峰,2,3,崔志明,2,3
1.蘇州科技大學(xué) 電子與信息工程學(xué)院,江蘇 蘇州 215000
2.蘇州市虛擬現(xiàn)實智能交互及應(yīng)用技術(shù)重點(diǎn)實驗室,江蘇 蘇州 215000
3.蘇州智慧城市研究院,江蘇 蘇州 215000
機(jī)器閱讀理解的研究可以追溯到20世紀(jì)70年代[1],但是由于硬件設(shè)備的限制和數(shù)據(jù)集的缺失,近年來國內(nèi)學(xué)者才關(guān)注到它。機(jī)器閱讀理解是為了使得機(jī)器和人一樣能夠理解文本,輸入文章段落和問題,輸出答案。隨著自然語言理解和建模方面的發(fā)展以及CoQA[2]和QuAC[3]大規(guī)模對話數(shù)據(jù)集的引入,使得研究朝著對話式機(jī)器閱讀理解(conversational machine reading comprehension,CMC)方向發(fā)展。
對話式機(jī)器閱讀理解即在機(jī)器閱讀理解的基礎(chǔ)上加上多輪對話,使得多輪對話之間有著密切的聯(lián)系。這和人通過多輪對話探索某一方面的知識相符合,更加切合于實際。會話式機(jī)器閱讀理解由文章段落、對話歷史和對話三個部分組成,既要對文章段落進(jìn)行編碼,還要對對話歷史進(jìn)行編碼。在機(jī)器中難以理解對話中的一些語言現(xiàn)象,比如焦點(diǎn)轉(zhuǎn)移[3]、話題轉(zhuǎn)移等。目前對于該領(lǐng)域的研究仍處于初級階段,在模型的推理能力和對話的理解能力這兩方面還有很大的研究空間。知識圖譜推理可以利用圖譜中已有的事實推斷出缺失的關(guān)系和隱含的關(guān)系[4],能夠有效地應(yīng)對一些復(fù)雜的語言現(xiàn)象,基于此,將知識圖譜應(yīng)用于CMC領(lǐng)域,可以提升模型的推理能力,進(jìn)一步提升答案預(yù)測的準(zhǔn)確性。
本文從CMC開始,簡要介紹了CMC刺激該領(lǐng)域研究的大規(guī)模會話數(shù)據(jù)集以及當(dāng)前的一些模型方法,并對模型的性能和優(yōu)缺點(diǎn)作了簡要的分析。然后,介紹了知識圖譜的定義、架構(gòu)以及四大核心技術(shù),并詳細(xì)介紹了三大類知識圖譜推理問答的模型方法。最后,對未來的研究重點(diǎn)進(jìn)行展望。
CMC的任務(wù)定義:對于給定的文章段落P,對話歷史Hi={Q1,A1,Q2,A2,…,Qi-1,Ai-1}和一個問題Qi,該模型任務(wù)就是從已有的文章段落和會對話歷史預(yù)測問題Qi的答案Ai。答案大致分為兩種形式:文章中提取的跨距文本[3]和與文章相關(guān)的自由形式的文本[2]。
單輪機(jī)器閱讀理解(machine reading comprehension,MRC)模型并不能直接應(yīng)用于CMC,因為CMC 還需要模型有著捕捉多輪對話之間關(guān)系的能力。并且對人類信息尋求對話的一般觀察表明,開始對話傾向于關(guān)注文章的開頭部分,并隨著對話的進(jìn)行將注意力轉(zhuǎn)移到后面的部分[3]。因此,該模型被期望捕捉到對話中的這些焦點(diǎn)轉(zhuǎn)移,并從語義角度進(jìn)行推理,而不僅僅是通過詞匯或釋義進(jìn)行匹配。多回合對話通常是增量的和相互參照的。這些對話要么是深入,要么轉(zhuǎn)移話題,要么返回話題,要么澄清話題,或者是定義一個實體[5]。因此,模型應(yīng)該能夠從歷史中獲取上下文,這些歷史可能是直接的,也可能不是。如何從不同問答對之間獲取信息,還是該領(lǐng)域的一大挑戰(zhàn)。
CMC研究的快速發(fā)展源于大規(guī)模多回合會話數(shù)據(jù)集的出現(xiàn):CoQA[2]和QuAC[3]。
CoQA數(shù)據(jù)集(https://stanfordnlp.github.io/coqa/)是來自7個不同領(lǐng)域收集的段落,分別為來自CNN的新聞文章[6]、MCTest[7]的兒童故事、RACE[8]的中學(xué)英語考試、Project Gutenberg 網(wǎng)站上的文學(xué)文章、Writing Prompts dataset 網(wǎng)頁的Reddit 社區(qū)文章、AI2 Science Questions網(wǎng)站上的科學(xué)文章,以及維基百科。在這7 個領(lǐng)域中,兩個用于域外評估,僅用于評估,而不是培訓(xùn),而其他5個用于域內(nèi)評估,包括培訓(xùn)和評估。問題幾乎都是可回答的問題,但需要充分的共同引用和實用推理[9]。此數(shù)據(jù)集答案生成方式有66.8%是跨距抽取生成的,有33.2%是自由生成的。使用單詞重疊的宏觀平均F1 值作為評價指標(biāo),在域內(nèi)和域外分別計算。
QuAC 數(shù)據(jù)集(https://quac.ai/)來自維基百科文章段落,涉及不同類型的人,如文化和野生動物。該數(shù)據(jù)集使用非對稱設(shè)置,學(xué)生只被允許看到章節(jié)的標(biāo)題和主要文章的第一段,而教師則被額外提供了對章節(jié)文本的全部訪問權(quán)限。因此,學(xué)生試圖根據(jù)從對話中獲得的有限信息來尋找關(guān)于隱藏問題的信息,而老師則通過提供該部分的簡短摘錄來回答。問題是描述性的、高度上下文化的、開放性的,因為數(shù)據(jù)集的不對稱特性阻止了釋義。它們需要充分的共同參照和實用推理。除了對話是逐漸深入的,它比CoQA更頻繁地切換到新主題。它的答案是提取的,可以是yes/no 或no answer。除了提取廣度,回答還包括被稱為對話行為的附加信號,如繼續(xù)包含后續(xù)、可能后續(xù),或不后續(xù)以及肯定包含是、否,或兩者都不,這提供了額外的有用的對話流信息,用于訓(xùn)練,正如Qu等人[10]和Ju等人[11]所使用的。QuAC答案更長,這可以歸因于它的非對稱性質(zhì),從而激勵搜索者提出開放式問題來衡量隱藏的文本。此數(shù)據(jù)集除了整個集合的宏觀平均F1得分外,QuAC還評估人類等效得分(human equivalence score,HEQ),通過找到系統(tǒng)的F1 匹配或超過人類F1 的實例百分比,來判斷系統(tǒng)相對于平均人類的性能。HEQ-Q和HEQ-D是分別作為問題和對話的HEQ分?jǐn)?shù)。
Gao 等人[12]將典型神經(jīng)MRC 模型中定義閱讀理解的步驟,首先,將問題和文章段落編碼一組嵌入中;然后在神經(jīng)空間進(jìn)行推理以識別答案向量;最后輸出自然語言。Huang 等人[13]通過添加會話歷史建模在CMC 中調(diào)整了這些步驟。Qu等人[10]提出了一種ConvQA模型,該模型具有歷史選擇和建模的獨(dú)立模塊。在這些工作的基礎(chǔ)上,合成了一個CMC 模型的通用框架。典型的CMC模型包含文章段落P,當(dāng)前的問題Qi和會話歷史Hi,以及需要生成一個輸出答案Ai。CMC框架如圖1所示。根據(jù)它們對整個CMC 流程的貢獻(xiàn),該框架有四個主要組件。
圖1 CMC模型的通用框架Fig.1 Common framework of CMC model
現(xiàn)有的模型都是先基于詞向量和BERT[14]實現(xiàn)文章段落、對話歷史和問題的編碼,形成具有語義信息的低維向量。然后,將其轉(zhuǎn)換為推理模塊的輸入嵌入。在高層次上,涉及到與上下文無關(guān)的單詞嵌入的轉(zhuǎn)換和組合,稱為詞匯嵌入。如GloVe[15],序列內(nèi)上下文嵌入,如ELMo、BERT[14]或RNN(recurrent neural network),問題感知嵌入以及額外的特征嵌入,如POS 標(biāo)簽[16]、歷史嵌入[10]或?qū)υ捰嫈?shù)。對話歷史通常與該模塊集成到所有上下文輸入嵌入中,這個過程稱為歷史建模,是CMC編碼器最重要的方面。推理層需要融合各方面的信息,以生成支持查詢和支持歷史的上下文化輸出嵌入,這個過程可能涉及單步推理或多步推理。該模塊的輸入通常包含每個歷史回合的兩個或多個序列集,或跨所有回合聚合,然后在每個層中融合,并經(jīng)常相互交織[13]。模型輸出可以是文本跨度、對話行為之類的信號[3]或自由形式的答案[2]。
在數(shù)據(jù)集CoQA 和QuAC 發(fā)布后,誕生了大量有代表性的模型。Reddy等人[2]使用DrQA+PGNet的組合模型作為數(shù)據(jù)集CoQA的基線模型。其中DrQA[17]模型根據(jù)問題的內(nèi)容從文章段落中尋找答案線索,該模型在多個數(shù)據(jù)集上表現(xiàn)出了強(qiáng)大的性能[18-19]。因為DrQA在訓(xùn)練時要求將文本跨度作為答案,所以作者選擇與原始答案有最高詞匯重疊的跨度作為答案。如果答案在故事中出現(xiàn)多次,就會用這個原理找到正確的答案。如果任何答案詞沒有出現(xiàn)在故事中,就返回到一個額外的未知標(biāo)記作為答案。作者在每個問題前面加上過去的問題和答案,用來說明對話的歷史,與對話模型相類似。考慮到數(shù)據(jù)集中有很大一部分答案是“是”或“否”,還增加了一個增強(qiáng)閱讀理解模型進(jìn)行比較。在文章末尾添加兩個額外的令牌:是和否,如果黃金答案是或否,則需要模型預(yù)測對應(yīng)的令牌作為黃金跨度;否則它將執(zhí)行與前一個模型相同的操作。PGNet[20]模型則根據(jù)線索來生成預(yù)測答案。Choi 等人將改進(jìn)后的BiDAF++和BiDAF++w/n-ctx 模型作為數(shù)據(jù)集QuAC 的基線模型,其中BiDAF++模型將自注意力機(jī)制和情景化嵌入應(yīng)用BiDAF[21]模型上。
會話機(jī)器理解需要理解對話歷史,為了使傳統(tǒng)的單輪模型能夠全面地對歷史進(jìn)行編碼,引進(jìn)了Flow 機(jī)制。與將問題和答案作為輸入連接起來的方法相比,F(xiàn)low 在集成對話歷史的潛在語義方面更加有效果。FlowQA 模型[13]在最近提出的兩項對話挑戰(zhàn)上表現(xiàn)優(yōu)異。Flow的有效性也表現(xiàn)在其他任務(wù)中。但隨著會話的進(jìn)行,會話機(jī)器理解需要對對話流程有深入的理解,而之前的工作提出了FlowQA 來隱式建模推理中的上下文表示,以更好地理解。Yeh等人[22]提出FlowDelta模型,通過對話推理對信息增益進(jìn)行顯式建模,使模型能夠聚焦于信息量更大的線索。該模型在對話式數(shù)據(jù)集QuAC上取得了最先進(jìn)的性能,表明了所提機(jī)制的有效性,并展示了其對不同QA 模型和任務(wù)的泛化能力。Chen等人[23]認(rèn)為現(xiàn)有的方法不能有效地捕獲會話歷史,很難解決涉及共引用或省略的問題。此外,針對在推理時將文章簡單地視為一個詞序列,而忽略詞之間豐富的語義關(guān)系的問題,提出了GraphFlow模型。該模型提出了一種簡單而有效的圖結(jié)構(gòu)學(xué)習(xí)技術(shù),在每個對話回合動態(tài)構(gòu)建一個感知問題和對話歷史的上下文圖。GraphFlow 模型在捕獲對話中的會話流很有效,并在CoQA和QuAC測試中顯示出與現(xiàn)有的最先進(jìn)方法相比具有競爭力的性能[23]。大多數(shù)模型簡單地結(jié)合之前的問題進(jìn)行對話理解,只使用循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行推理。為了從不同的角度深刻而有效地理解上下文,Zhang[24]提出了一種新的神經(jīng)網(wǎng)絡(luò)模型——多視角卷積立方(multi-perspective convolutional cube,MC2)。他們把每次對話都看作一個立方體,將一維卷積和二維卷積與RNN 相結(jié)合。為了解決模型預(yù)演下一輪對話的問題,還將部分因果卷積擴(kuò)展到2D。在CoQA數(shù)據(jù)集上的實驗表明,此模型取得了最先進(jìn)的結(jié)果。
Qu 等人[25]在原有模型框架的基礎(chǔ)上,將會話歷史通過BERT 上下文嵌入傳入模型,基于此提出HAE(history answer embedding)以及PosHAE(positional history answer embedding)[10]嵌入方法。HAE 可以將對話歷史無縫集成到建立在BERT 上的會話問題回答模型中,即ConvQA是對話搜索的一個簡化但具體的設(shè)置,然后提供一個解決ConvQA 的通用框架。PosHAE提出了一個涉及三個方面的ConvQA解決方案。首先,它提出了一種使用BERT[14]對帶有位置信息的對話歷史進(jìn)行自然編碼的位置歷史答案嵌入方法。其次,設(shè)計了一個歷史關(guān)注機(jī)制(history attention mechanism,HAM),對對話歷史進(jìn)行“軟選擇”。這種方法根據(jù)歷史轉(zhuǎn)折對回答當(dāng)前問題的幫助程度,對歷史轉(zhuǎn)折進(jìn)行不同的權(quán)重處理。最后,除了處理對話歷史之外,此方法利用多任務(wù)學(xué)習(xí),使用統(tǒng)一的模型體系結(jié)構(gòu)進(jìn)行回答預(yù)測對話行為預(yù)測。
與傳統(tǒng)的單輪機(jī)器閱讀理解任務(wù)不同,對話性問題回答包括文章理解、共參考解析和上下文理解。于是,Zhu等人[16]提出了一種基于注意力的上下文的深度神經(jīng)網(wǎng)絡(luò)(SDNet),將上下文融合到傳統(tǒng)的MRC 模型中。模型利用相互注意和自我注意來理解會話上下文,并從文章中提取相關(guān)信息。由于BERT 對輸入序列的數(shù)量和長度有限制,用BERT對多回合問答建模還沒有建立起來。Ohsugi等人[26]就提出了一種簡單而有效的方法,即使用BERT來編碼一個獨(dú)立的段落,在多回合上下文中,每個問題和每個答案都是有條件的。然后,該方法用BERT 編碼的段落表示預(yù)測一個答案。但是模型對于對話歷史的順序問題沒有很好的解決方式。
文章段落與會話歷史長度超出512字符,超過BERT限制輸入序列的長度。于是,Gong等人[27]針對此問題,提出BERT-RCM(BERT recurrent chunking mechanisms)模型。該模型通過強(qiáng)化學(xué)習(xí)以更靈活的方式學(xué)習(xí)分組,還采用循環(huán)機(jī)制,使信息在各個部門之間流動。這樣可以獲得更可能包含完整答案的片段,同時圍繞基本真相答案提供足夠的上下文,以更好地預(yù)測。之后,Zhao 等人[28]提出了一種讀-過-讀方法RoR,它將讀取字段從塊擴(kuò)展到文檔。具體來說,RoR 包括一個塊閱讀器和一個文檔閱讀器。前者首先預(yù)測每個數(shù)據(jù)塊的一組區(qū)域答案,然后將其壓縮成原始文檔的高度濃縮版本,保證只編碼一次。后者從這份濃縮的文件中進(jìn)一步預(yù)測了全部答案。最后,利用投票策略對區(qū)域和全局答案進(jìn)行聚合和重新排序,以實現(xiàn)最終預(yù)測。值得注意的是,RoR在提交時在QuAC數(shù)據(jù)集排行榜上排名第一。
對話式問題回答需要了解對話歷史,這是一項具有挑戰(zhàn)性的任務(wù)。Ju等人[11]提出了一個新的系統(tǒng)RoBERTa+aT+KD,包括理論標(biāo)注多任務(wù)、對抗訓(xùn)練、知識蒸餾和語言后處理策略。這個單一模型在CoQA 測試集上達(dá)到了91.4%,在沒有數(shù)據(jù)增強(qiáng)的情況下,得到的F1 值高于人類。
表1展示了上述所分析的模型在CoQA數(shù)據(jù)集上所表現(xiàn)的性能,可以看出目前已經(jīng)有模型超過了人類水平。同時可以看出,與流機(jī)制相結(jié)合的模型中,Graph-Flow的推理能力要優(yōu)于FlowQA,BERT-FlowDelta推理能力與之相當(dāng)。最新提出的新系統(tǒng)RoBERTa+aT+KD,它的推理性能明顯是優(yōu)于人類的推理能力的。
表1 模型在CoQA數(shù)據(jù)集上的F1值Table 1 F1 values of model on CoQA dataset 單位:%
表2展示了上述所分析的模型在QuAC數(shù)據(jù)集上的推理性能,可以看出當(dāng)前大多數(shù)模型與人類水平相比仍有很大的進(jìn)步空間。由于數(shù)據(jù)集非對稱的特性,需要對原有信息進(jìn)行額外的加工和提取才能準(zhǔn)確預(yù)測答案,需加強(qiáng)模型的推理能力。
表2 模型在QuAC數(shù)據(jù)集上F1值和HEQ得分Table 2 F1 values and HEQ scores of model on QuAC dataset 單位:%
表3展示了各模型的優(yōu)缺點(diǎn),從表中可以看出目前的大部分模型都使用了自注意力機(jī)制或者是它的變體來進(jìn)行推理。隨著BERT的出現(xiàn),將其運(yùn)用到文章段落和歷史會話的嵌入表示,使得模型從歷史會話中抽取與問題相關(guān)的能力在逐步提升。但是以上大多數(shù)模型的答案生成方式都是從文章中抽取預(yù)測答案,很少是自己生成預(yù)測答案,這使得會話轉(zhuǎn)換的流暢度降低。
表3 會話式機(jī)器閱讀理解模型比較Table 3 Comparison of conversational machine reading comprehension models
知識圖譜是由實體以及實體間關(guān)系組成,用三元組形式表示兩者間的關(guān)系。知識圖譜推理是知識圖譜構(gòu)建中重要的組成部分,它根據(jù)現(xiàn)有事實,推斷出實體間隱含的關(guān)系或缺失的事實,可應(yīng)用于推理問答,來緩解現(xiàn)有的CMC模型推理能力較差的問題。
知識圖譜可劃分為數(shù)據(jù)層和模式層。在數(shù)據(jù)層,以事實為單位將數(shù)據(jù)存儲在圖數(shù)據(jù)庫中。以“實體-關(guān)系或?qū)傩?實體”三元組來表示兩個實體間的關(guān)系,實體可以是具體的人名、地名等,也可以是時間、大小等屬性值;關(guān)系是兩個實體間的語義關(guān)系。模式層在數(shù)據(jù)層之上,是知識圖譜的核心,提煉過的知識存儲在模式層,更適用于知識圖譜推理。數(shù)據(jù)層到模式層的轉(zhuǎn)化過程如圖2所示。
圖2 知識圖譜數(shù)據(jù)層到模式層的轉(zhuǎn)化過程Fig.2 Transformation process from knowledge graph data layer to pattern layer
知識圖譜的構(gòu)建方式分為自頂向下與自底向上。自頂向下是先定義好本體與數(shù)據(jù)模式,再將實體加入到知識庫;自底向上是從數(shù)據(jù)中提取實體,將置信度較高的加入到知識庫,再構(gòu)建頂層的本體模式[29]。目前,大多采用自底向上的方式構(gòu)建,Google 的Knowledge Vault[30]最典型。
知識圖譜中包含知識的抽取、表示、融合和推理四大技術(shù),接下來對這四個技術(shù)進(jìn)行簡要介紹。
4.2.1 知識抽取
知識抽取通過知識抽取技術(shù),從半結(jié)構(gòu)化或者非結(jié)構(gòu)化的數(shù)據(jù)中抽取可用的知識,抽取要素為實體、關(guān)系以及屬性,在此基礎(chǔ)上形成高質(zhì)量的事實表達(dá),為模式層的構(gòu)建奠定基礎(chǔ)。
4.2.2 知識表示
基于三元組的知識表示形式廣泛使用,但是該形式數(shù)據(jù)稀疏,使得計算效率低。數(shù)據(jù)表示是機(jī)器學(xué)習(xí)算法成功的關(guān)鍵,因為不同的解釋性變異因素可以隱藏在不同的制圖表達(dá)中。以深度學(xué)習(xí)為代表的編碼技術(shù)將實體的語義表示為低維實值向量,然后計算實體、關(guān)系及其兩者間的關(guān)聯(lián),構(gòu)建知識庫[31-33]。
4.2.3 知識融合
知識融合是高層次的知識組織[34],在同一框架規(guī)范下,將不同知識源的知識進(jìn)行異構(gòu)數(shù)據(jù)的整合,形成知識庫。知識融合的方式主要有知識對齊、知識加工和知識更新。
實體對齊是從頂層創(chuàng)建一個大規(guī)模的知識庫,形成統(tǒng)一高質(zhì)量的知識,解決異構(gòu)數(shù)據(jù)中實體沖突等問題。知識加工包括本體構(gòu)建與質(zhì)量評估。本體是同一領(lǐng)域內(nèi)不同主體之間交流的基礎(chǔ)[35],冗余程度小[36]。Probase是目前為止可信程度最高的知識庫[37]?;贚DIF 框架[38],采用人工標(biāo)注的方式對1 000 個句子中的實體關(guān)系三元組標(biāo)注[39],使用邏輯回歸模型計算結(jié)果的置信度[31]。知識更新包括模式層與數(shù)據(jù)層的更新。模式層更新即本體中元素的更新[40],需人工干預(yù)[41];數(shù)據(jù)層更新即實體元素的更新,以自動的方式完成。
4.2.4 知識推理
知識推理即在已有知識的基礎(chǔ)上推斷出隱藏知識,擴(kuò)展知識庫。由于實體、屬性以及實體間關(guān)系較為復(fù)雜,推斷過程中難以列出所有的關(guān)聯(lián)規(guī)則,復(fù)雜的規(guī)則需人工推理。挖掘推理規(guī)則,依賴于實體及其關(guān)系間的聯(lián)系。
目前已有的知識圖譜問答推理(knowledge graph question answering,KGQA)方法分為三類:基于邏輯的方法、基于圖嵌入的方法以及基于深度學(xué)習(xí)的方法。
4.3.1 基于邏輯的方法
基于邏輯的推理方法即在專家規(guī)定的規(guī)則[42]或既定的邏輯規(guī)則[43]基礎(chǔ)上進(jìn)行顯式推理,可解釋性強(qiáng)。大多基于邏輯的推理方法[44]是有著特定的領(lǐng)域,語法和圖譜結(jié)構(gòu)的不匹配會降低推理的性能。為解決此問題,有學(xué)者提出查詢圖方法。
Yih 等人[45]提出查詢圖定義,查詢圖與知識庫的子圖相類似,可直接轉(zhuǎn)變?yōu)檫壿嬓问?。早期的知識庫基礎(chǔ)上,該方法能夠精簡搜索空間,簡化語義匹配問題。Luo等人[46]遵循STAGG(staged query graph generation)的查詢圖生成方法,便于獲取復(fù)雜問題中,各種語義之間的關(guān)系。Sorokin 等人[47]與Maheshwari 等人[48]也是改進(jìn)編碼方法,前者使用門控圖神經(jīng)網(wǎng)絡(luò)(gated graph neural networks,GGNN),改進(jìn)了多個實體以及實體間關(guān)系的向量表示問題,很好地解決了復(fù)雜語義的問題;后者提出基于自我注意的槽位匹配模型,在圖的固有結(jié)構(gòu)基礎(chǔ)上,改進(jìn)了由大問答數(shù)據(jù)集向小數(shù)據(jù)集的改進(jìn),一定程度上解決了數(shù)據(jù)集的缺失問題。
以上查詢圖的方法存在噪聲和表達(dá)能力有限的問題,因此,部分學(xué)者對此進(jìn)行改進(jìn)。Hu等人[49]提出了一種基于狀態(tài)轉(zhuǎn)換的方法,將復(fù)雜的自然語言問題轉(zhuǎn)換為語義查詢圖,該查詢圖用于匹配底層知識圖以找到問題的答案,利用四種基本操作展開、折疊、連接和合并來生成查詢圖。Ding 等人[50]提出了一種基于頻繁查詢子結(jié)構(gòu)的查詢生成方法,它有助于對現(xiàn)有查詢結(jié)構(gòu)進(jìn)行排序或構(gòu)建新的查詢結(jié)構(gòu),在復(fù)雜問題上效果更加顯著。由于觀察到在查詢圖中早期加入約束可以更有效地修剪搜索空間,Lan 等人[51]提出了一種改進(jìn)的階段查詢圖生成方法,該方法具有更靈活的生成查詢圖的方式,可以同時處理具有約束性的問題和具有多跳關(guān)系的問題。Chen等人[52]提出了一種新的形式化查詢構(gòu)建方法,該方法由兩個階段組成。第一階段預(yù)測問題的查詢結(jié)構(gòu),并利用該結(jié)構(gòu)約束候選查詢的生成,提出了一種新的圖生成框架來處理結(jié)構(gòu)預(yù)測任務(wù),并設(shè)計了一個編碼器-解碼器模型來預(yù)測每個生成步驟中預(yù)定操作的參數(shù);第二階段按照前面的方法對候選查詢進(jìn)行排序。
Hamilton等人[53]為解決不完整圖譜上的復(fù)雜邏輯推理,提出圖查詢嵌入框架(graph query embedding,GQE)。模型如圖3,其中q=V??V:Win (TuringAward,V)∩Citizen(Canada,V)∩Graduate(V,[V?]),首先,GQE 將查詢語句表示為圖,如圖3中的(1),再將圖放到低維向量中,如圖中的(2)所示;其次,從節(jié)點(diǎn)開始,迭代地應(yīng)用映射算子P與合取算子I,生成相對應(yīng)查詢的嵌入q,最后根據(jù)q預(yù)測答案。其中P是將頭實體表示通過關(guān)系類型連接得到新的嵌入表示,而I是計算兩個集合嵌入的交集,流程如圖3(a)所示。但該模型只能應(yīng)用于合取問題。
圖3 基于邏輯推理的方法框架Fig.3 Method framework based on logical reasoning
表4是基于邏輯的方法優(yōu)缺點(diǎn)比較,基于邏輯的方法適用于帶有否定的問題,但是該方面的研究還很薄弱,利用邏輯規(guī)則來解決問答中否定詞的問題是一大研究方向。利用這種方法推理問答,有著既定的邏輯規(guī)則作為基礎(chǔ),可解釋性強(qiáng)。
表4 基于邏輯的方法模型比較Table 4 Comparison of logistic-based method models
4.3.2 基于圖嵌入的方法
基于嵌入表示方法中典型的模型是Bordes 等人[54]提出的TransE[55]模型(https://github.com/thunlp/Open-KE),該模型易訓(xùn)練,含參數(shù)少,并能夠擴(kuò)展到大的數(shù)據(jù)庫。后續(xù),人們又提出TransE的衍生變體ComplEx[56](https://github.com/thunlp/OpenKE),用于解決實際問題?;趫D嵌入方法流程圖如圖4所示。
圖4 圖嵌入方法流程圖Fig.4 Flowchart of embedding method
Wang等人[57]提出了一種基于RDF圖嵌入的框架來解決連續(xù)向量空間方面的SPARQL 空答案問題。首先通過專門為SPARQL 查詢設(shè)計的實體上下文保留平移嵌入模型將RDF(resource description framework)圖投影到連續(xù)向量空間中。然后,給定一個返回空集的SPARQL 查詢,將其劃分為幾個部分,并通過利用RDF嵌入和轉(zhuǎn)換機(jī)制計算近似答案。他們還為返回的答案生成替代查詢,有助于用戶識別他們的期望并最終優(yōu)化原始查詢。所提出的框架可以顯著提高近似答案的質(zhì)量,并加快替代查詢的生成速度。在知識圖譜上回答自然語言問題的一個有希望的途徑是將自然語言問題轉(zhuǎn)換為圖結(jié)構(gòu)查詢。在翻譯過程中,一個至關(guān)重要的過程是將自然語言問題的實體、關(guān)系短語映射到基礎(chǔ)知識圖譜的頂點(diǎn)、邊緣,這些頂點(diǎn)、邊緣可用于構(gòu)建目標(biāo)圖結(jié)構(gòu)化查詢。然而,由于語言的靈活性和自然語言的模糊性,映射過程具有挑戰(zhàn)性,一直是知識圖譜問答模型的瓶頸。對于此,Wang等人[58]提出了一個名為KemQA的新框架,它基于關(guān)系短語詞典和知識圖嵌入技術(shù)的最新進(jìn)展,以解決映射問題并構(gòu)建自然語言問題的圖結(jié)構(gòu)查詢。對于理想知識庫既不完整又過度指定,Sun 等人[59]提出查詢嵌入(embedding query language,EmQL)系統(tǒng),它在不需要泛化或松弛的答案上可能與演繹推理不一致,Sun等人就用一種新的量化寬松方法解決了這個問題,這種方法更忠實于演繹推理,并表明這在對不完整理想知識庫的復(fù)雜查詢上有更好的性能。
為了更方便利用知識圖譜中的知識,有人提出通過對問句和候選答案訓(xùn)練,預(yù)測最終的結(jié)果。Huang 等人[56]針對語言的模糊性問題,提出知識嵌入問答框架(knowledge embedding based question answering,KEQA),即將每個實體表示為低維向量,保留圖譜中的關(guān)系信息。Saxena 等人[60]針對多跳推理問題以及圖譜信息缺失問題,提出EmbedKGQA 模型,EmbedKGQA適用于稀疏的圖譜。該模型還放寬了從預(yù)先指定的鄰域中選擇答案的要求,這是以前的多跳知識圖譜推理方法強(qiáng)制執(zhí)行的次優(yōu)約束。首先,該模型利用ComplEx[61]方法將圖譜嵌入至復(fù)數(shù)空間,捕獲特征信息;其次,使用RoBERTa 模型[62]對問句編碼,再替換為向量,使用打分函數(shù)以及損失函數(shù)訓(xùn)練數(shù)據(jù);最后,對候選答案打分,選擇分?jǐn)?shù)高的作為答案。
表5是基于圖嵌入的方法優(yōu)缺點(diǎn)比較,基于圖嵌入的方法著力于解決圖譜不完整和語言的模糊性問題,穩(wěn)定性強(qiáng)。但此方法推理能力弱,可解釋性差,同時會影響答案預(yù)測的準(zhǔn)確率。
表5 基于圖嵌入的方法模型比較Table 5 Comparison of method models based on graph embedding
4.3.3 基于深度學(xué)習(xí)的方法
基于神經(jīng)網(wǎng)絡(luò)的方法是通過循環(huán)神經(jīng)網(wǎng)絡(luò)獲取路徑信息[63];能夠利用強(qiáng)化學(xué)習(xí)通過策略的代理順序獲取推理路徑,獲取答案;能夠利用圖神經(jīng)網(wǎng)絡(luò)獲得鄰域信息以及圖譜結(jié)構(gòu)信息,預(yù)測缺失信息。
基于圖神經(jīng)網(wǎng)絡(luò)的知識圖譜推理問答方法是一種利用圖神經(jīng)網(wǎng)絡(luò)技術(shù)進(jìn)行知識圖譜推理和問答的方法。通過將圖神經(jīng)網(wǎng)絡(luò)與知識圖譜相結(jié)合,可以實現(xiàn)對復(fù)雜的知識推理和問答任務(wù)的處理。
Zhang等人[64]提出了一種新穎而統(tǒng)一的深度學(xué)習(xí)架構(gòu),以及一種端到端變分學(xué)習(xí)算法,該算法可以處理問題中的噪聲,同時學(xué)習(xí)多跳推理。他們還推導(dǎo)了一系列新的基準(zhǔn)數(shù)據(jù)集,包括多跳推理問題、神經(jīng)翻譯模型釋義問題和人聲問題,解決了自然語句中語義模糊的問題。Sun 等人[65]研究了一個更實際的設(shè)置,即知識庫和實體鏈接文本組合的問答,這適用于大型文本語料庫中可用的不完整知識庫?;趫D表示學(xué)習(xí)的最新進(jìn)展,他們提出了一個新的模型GRAFT-Net,用于從包含文本和知識庫實體和關(guān)系的特定問題子圖中提取答案。對于這個問題,他們構(gòu)建了一套基準(zhǔn)任務(wù),改變了問題的難度、訓(xùn)練數(shù)據(jù)的數(shù)量和知識庫的完整性。由于上述模型的抽取子圖的方法是啟發(fā)式的,會引入不相關(guān)的實體,Sun 等人[66]提出了PullNet,這是一個集成框架,用于學(xué)習(xí)從知識庫和語料庫檢索,以及對這些異構(gòu)信息進(jìn)行推理以找到最佳答案。PullNet使用迭代過程構(gòu)造特定于問題的子圖,其中包含與問題相關(guān)的信息。在每次迭代中,使用圖卷積網(wǎng)絡(luò)來識別子圖節(jié)點(diǎn),這些子圖節(jié)點(diǎn)應(yīng)該使用語料庫和知識庫上的檢索操作進(jìn)行擴(kuò)展。在子圖完成后,使用一個類似的圖卷積神經(jīng)網(wǎng)絡(luò)從子圖中提取答案。這種檢索和推理過程允許我們使用大型知識庫和語料庫回答多跳問題。PullNet 是弱監(jiān)督的,需要問答對,但不需要黃金推理路徑。通過實驗,PullNet改進(jìn)了先前的技術(shù)狀態(tài),并且在語料庫與不完整知識庫一起使用的情況下,這些改進(jìn)通常是顯著的。在純KB設(shè)置或純文本設(shè)置中,PullNet 通常也優(yōu)于以前的系統(tǒng)。Xiong 等人[67]提出了一種新的端到端問答模型,該模型學(xué)習(xí)從不完整知識庫和一組檢索到的文本片段中聚合答案證據(jù)。在假設(shè)結(jié)構(gòu)化知識庫更容易查詢,獲取的知識有助于理解非結(jié)構(gòu)化文本的前提下,模型首先從與問題相關(guān)的知識庫子圖中積累實體知識;然后在潛在空間中對問題進(jìn)行重新表述,并利用手頭積累的實體知識閱讀文本。來自知識庫和文本的證據(jù)最終被匯總以預(yù)測答案。
Das 等人[68]提出MINERVA 方法,它解決了更加困難和實際的任務(wù),即回答關(guān)系已知但只有一個實體的問題。由于在目的地未知且從一個起始節(jié)點(diǎn)出發(fā)有多條路徑的情況下,隨機(jī)漫步是不切實際的。Lin 等人[69]針對上述兩種問題,提出獎勵形成的RL模型,用預(yù)訓(xùn)練的單跳嵌入模型來預(yù)測未觀察事實,降低假陰性監(jiān)督的作用。但該方法不適用于復(fù)雜問題,因此Qiu 等人[70]提出了一種基于強(qiáng)化學(xué)習(xí)的神經(jīng)方法,即逐步推理網(wǎng)絡(luò)。該模型對知識圖譜進(jìn)行有效的路徑搜索以獲得答案,并利用波束搜索減少候選者的數(shù)量。該方法可以加速訓(xùn)練算法的收斂,更好表現(xiàn)模型,如圖5 所示。He 等人[71]提出了一種新穎的師生方法,學(xué)生網(wǎng)絡(luò)找到查詢的正確答案,教師網(wǎng)絡(luò)學(xué)習(xí)中間監(jiān)督信號,來提高學(xué)生網(wǎng)絡(luò)的推理能力,緩解推理的虛假問題。
圖5 基于強(qiáng)化學(xué)習(xí)的方法框架Fig.5 Methodological framework based on reinforcement learning
如何充分利用知識圖譜上下文理解問句中的隱含實體或關(guān)系,以及時間、排序和聚合等復(fù)雜約束條件等,一直是理解問題意圖的主要挑戰(zhàn)。針對此問題,Gao等人[72]提出了一種基于語義塊的知識圖譜問答語義解析框架,結(jié)合了基于規(guī)則的準(zhǔn)確度和基于深度學(xué)習(xí)的覆蓋度,實現(xiàn)了問題到語義塊序列的解析和語義查詢圖的構(gòu)造。框架將問題意圖使用基于語義塊的語義查詢圖表示,將問題的語義解析建模為語義塊序列生成任務(wù),采用編碼器-解碼器神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)問題到語義塊序列的解析,然后通過語義塊組裝形成語義查詢圖。同時,結(jié)合知識圖譜中的上下文信息,模型使用圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)問題的表示,改進(jìn)隱含實體或關(guān)系的語義解析效果。
表6是基于深度學(xué)習(xí)的方法優(yōu)缺點(diǎn)比較,通過關(guān)系路徑推理,可解決多跳問題。但關(guān)系路徑擴(kuò)展使得節(jié)點(diǎn)數(shù)迅速增加,因此關(guān)于計算空間減小和增強(qiáng)其預(yù)測能力是當(dāng)前研究的一大挑戰(zhàn)。
表6 基于深度學(xué)習(xí)的方法模型比較Table 6 Comparison of methods and models based on deep learning
表7對知識圖譜推理問答方法進(jìn)行了總結(jié),對于三種方法的特點(diǎn)以及優(yōu)缺點(diǎn)進(jìn)行了比較。
表7 知識圖譜推理問答方法對比Table 7 Comparison of knowledge graph reasoning question answering methods
本文介紹了CMC領(lǐng)域的數(shù)據(jù)集以及當(dāng)前的一些模型方法,對模型的性能和優(yōu)缺點(diǎn)做了簡要的分析。然后,介紹了知識圖譜的定義、架構(gòu)以及四大核心技術(shù),并詳細(xì)介紹了三大類知識圖譜推理問答的模型方法。最后,對未來的研究重點(diǎn)進(jìn)行展望。
會話式機(jī)器閱讀理解的數(shù)據(jù)集相較于特定的問答數(shù)據(jù)集種類更多,更加復(fù)雜,但是它也屬于問答數(shù)據(jù)集,因此知識圖譜應(yīng)用于對話式機(jī)器閱讀理解是可行的。到目前為止,會話式機(jī)器閱讀理解的模型改進(jìn),一直未解決篩選歷史問答對的問題。而知識圖譜將實體之間的關(guān)系都表示出來,便于篩選歷史問答對,將提高會話式機(jī)器閱讀理解的會話推理能力。
目前很多問答平臺都引入知識圖譜[73],這是一個充滿潛力的領(lǐng)域[74],發(fā)展趨勢包括以下幾個方面:
(1)跨文檔、跨知識圖譜的推理:目前的研究著力于單個知識圖譜的推理和問答,未來將會關(guān)注多個知識圖譜的推理和跨文檔推理,使得系統(tǒng)能夠整合更廣泛的知識并大大提升推理能力。
(2)動態(tài)知識圖譜構(gòu)建:傳統(tǒng)的知識圖譜是靜態(tài)的,而實際的對話和信息背景是動態(tài),未來將會著力于構(gòu)建動態(tài)的知識圖譜,將能夠更好地適應(yīng)動態(tài)的對話。
(3)多模態(tài)會話理解:會話式機(jī)器閱讀理解不局限于文本的理解,還可以涉及其他模塊,比如語音、視頻和圖像等。未來將更加關(guān)注多模態(tài)的信息融合推理,實現(xiàn)更全面的對話交互。
(4)可解釋性和可追溯性:會話式機(jī)器閱讀理解的可解釋性和可追溯性是十分重要的。未來的研究將會更加注重推理過程和答案生成的可解釋性,并且注重模型對推理路徑和知識來源的追溯能力。
未來,會話式機(jī)器閱讀理解將可以應(yīng)用于汽車領(lǐng)域,滿足顧客對汽車的咨詢、性能比較以及售后等要求,使得顧客有更好的購車體驗。還可以應(yīng)用于金融領(lǐng)域,實現(xiàn)網(wǎng)點(diǎn)的精準(zhǔn)查詢,便于了解到網(wǎng)點(diǎn)的聯(lián)系電話、網(wǎng)點(diǎn)地址以及營業(yè)時間等信息。