姚 奕,尹瑞江,陳朝陽
(中國人民解放軍陸軍工程大學(xué) 指揮控制工程學(xué)院,江蘇 南京 210000)
問答系統(tǒng)[1-2](Question Answering,QA)是根據(jù)用戶提問的問題,利用自然語言處理方法對其進(jìn)行分析,在知識庫或語料庫中查找最符合要求的答案。自2011年美國一問答機(jī)器人在智力節(jié)目上擊敗人類選手起,知識問答就在全球內(nèi)掀起了一片熱潮。其經(jīng)歷了五個(gè)發(fā)展階段,經(jīng)歷閱讀理解系統(tǒng)到大規(guī)模文檔集的問答,雖然實(shí)現(xiàn)了由限定領(lǐng)域向開放領(lǐng)域的跳躍,但還不能應(yīng)用到商業(yè)當(dāng)中。隨后,科技手段的進(jìn)步促使著諸如蘋果等公司推出Siri智能助手等服務(wù)產(chǎn)品,以及近期爆火的ChatGPT[3]給各行各業(yè)帶來的便捷,這都是問答系統(tǒng)對人們生活的影響。
問答系統(tǒng)在國外發(fā)展的較為迅速,并且已經(jīng)應(yīng)用到了很多產(chǎn)業(yè)。相較之下,國內(nèi)在此方面的研究起步較晚,并且由于中文的特殊性,對此方面的產(chǎn)品研究也受到一定的限制。不過,近幾年來國內(nèi)問答系統(tǒng)研究有一定進(jìn)步,一些大公司都相繼推出服務(wù)類智能機(jī)器人。但是對問答系統(tǒng)來說,如何能更靈活地處理問題,也是當(dāng)前需要著重研究的方面。并且近年來中文數(shù)據(jù)庫[4]構(gòu)建也在加快進(jìn)行,為問答任務(wù)的進(jìn)行提供更高質(zhì)量的保障。
隨著問答難度的提升,答案的準(zhǔn)確率需有所提高,存在對復(fù)雜的問題(多跳或者庫中沒有明確的關(guān)系)處理能力不足。因此需要推理技術(shù)改進(jìn)問答系統(tǒng)完成問答任務(wù)。問答推理是問答系統(tǒng)根據(jù)復(fù)雜問題在知識庫中對節(jié)點(diǎn)進(jìn)行更新表示,根據(jù)信息推斷出每個(gè)實(shí)體節(jié)點(diǎn)之間的隱藏信息,獲得節(jié)點(diǎn)之間更密切的聯(lián)系,更有利于問答系統(tǒng)處理復(fù)雜的問題,并且可以對知識庫的補(bǔ)全提供一些幫助,更加豐富知識庫中的數(shù)據(jù)信息。因此對于日益增長的需求來說,對于復(fù)雜類型的問題,問答系統(tǒng)要有較強(qiáng)的推理能力,才能更好地提供給用戶滿意的答案。
該文介紹了基于語義解析、基于信息檢索的問答系統(tǒng)構(gòu)建方法并針對涉及問答推理的復(fù)雜問答,介紹問答推理技術(shù)的研究。
1960年,基于模板匹配的知識圖譜問答系統(tǒng)構(gòu)建方法誕生,此方法是問答系統(tǒng)中最基本的方法。通過問句中關(guān)鍵字的匹配找到相應(yīng)的規(guī)則,生成關(guān)鍵字的Sparql語句,在知識庫查詢結(jié)果。但是這種依靠規(guī)則匹配關(guān)鍵字的方法會(huì)過于依賴設(shè)定的模板,缺乏靈活性。隨著深度學(xué)習(xí)模型研究的不斷展開,將深度學(xué)習(xí)用到自然語言處理領(lǐng)域取得了比較好的結(jié)果,也對問答系統(tǒng)的構(gòu)建提供了幫助。
深度學(xué)習(xí)的迅速發(fā)展,使得越來越多的深度學(xué)習(xí)模型應(yīng)用于問答系統(tǒng)的構(gòu)建,例如卷積神經(jīng)網(wǎng)絡(luò)(CNN)、注意力機(jī)制(Attention)、長短時(shí)記憶(LSTM)以及預(yù)訓(xùn)練模型等,這些模型在問答任務(wù)的不同方面發(fā)揮著重要的作用,為問答系統(tǒng)的構(gòu)建提供了強(qiáng)有力的支撐。
卷積神經(jīng)網(wǎng)絡(luò)將問題和答案映射到低維向量空間進(jìn)行處理,獲取它們的特征向量。問題分析是問答系統(tǒng)運(yùn)作的第一步,將經(jīng)過詞嵌入(Word Embedding)后的自然語言輸入到卷積神經(jīng)網(wǎng)絡(luò)中,對文本的每個(gè)部分的局部信息建模,提取文本中的特征信息輸出特征向量。因此借助卷積神經(jīng)網(wǎng)絡(luò)對問題和答案等文本信息處理既節(jié)省了人力的工作、提高了對文本分析的質(zhì)量,又方便問題和答案之間后續(xù)的聯(lián)系。圖1為卷積神經(jīng)網(wǎng)絡(luò)對輸入的自然語言解析成特征向量的結(jié)構(gòu)圖。
圖1 卷積神經(jīng)網(wǎng)絡(luò)計(jì)算輸入問題的特征向量
預(yù)訓(xùn)練模型的出現(xiàn)為自然語言處理提供了不一樣的幫助,比如Bert模型,不需要大量的數(shù)據(jù)集來訓(xùn)練模型并且通過模型微調(diào)就可以完成下游的任務(wù)。Bert模型重要組件是編碼器(Encoder)和解碼器(Decoder)。
在問答任務(wù)中,使用編碼器對輸入的詞向量與位置編碼進(jìn)行相加以便處理問句當(dāng)中的時(shí)序信息,將處理后的詞向量經(jīng)過自注意力機(jī)制計(jì)算得到帶有權(quán)重信息的向量,再經(jīng)過殘差網(wǎng)絡(luò)與正則化使得模型更加精確,最后數(shù)據(jù)通過全連接層后再進(jìn)行相加并歸一化得到輸出,傳給下一個(gè)編碼器。
圖2是編碼器處理文本數(shù)據(jù)的結(jié)構(gòu)圖。
圖2 編碼器處理文本數(shù)據(jù)
基于語義解析的方法旨在將自然語言問題轉(zhuǎn)化成可執(zhí)行的查詢語言。通常將非結(jié)構(gòu)化的問題映射到結(jié)構(gòu)化的邏輯形式,然后通過手工制定的規(guī)則將其轉(zhuǎn)化為可執(zhí)行的查詢。圖3為基于語義解析方法的問答系統(tǒng)構(gòu)建流程。
圖3 基于語義解析方法的構(gòu)建流程
知識庫中存儲(chǔ)的數(shù)據(jù)是以三元組的形式保存的,使用基于模板的方法將拆分的語句按照三元組數(shù)據(jù)進(jìn)行查找并不能表示語句的深層意思,生成的答案不能反饋真實(shí)的意思。Berant等人[5]提出一種直接對自然語言問句進(jìn)行解析操作的方法,將輸入問題中出現(xiàn)的短語完成到知識庫中謂詞的映射,然后使用一個(gè)橋接操作來基于相鄰的謂詞生成額外的謂詞。將構(gòu)建的詞匯表中代表知識庫實(shí)體以及實(shí)體關(guān)系的信息代替問句中的單詞或者短語自底向上的通過求交集、聚合等操作得到代表整個(gè)問句查詢意圖的邏輯語言,進(jìn)而在知識庫中查詢出結(jié)果。Reddy等人[6]通過一個(gè)共同的基于圖的表示來利用自然語言和Freebase之間的結(jié)構(gòu)和概念上的相似性。工作的關(guān)鍵是將語義解析概念化為一個(gè)圖匹配問題,使用組合范疇法(CCG)將句子轉(zhuǎn)換為語義圖,并隨后將其轉(zhuǎn)化為自由基礎(chǔ)。因此不需要人工注釋或問答對。
為了可以將問題與知識庫建立更好的聯(lián)系,Yao等人[7]將問題特征與由Freebase描述的答案模式聯(lián)系起來。通過ClueWeb,使得知識庫中的關(guān)系信息能夠與自然語言問句之間形成映射,因此對問答中關(guān)系預(yù)測和答案提取提供了重要的幫助,還能處理域不匹配以及過擬合的問題。Lan等人[8]利用“匹配-聚合”框架匹配候選答案和問題。進(jìn)一步利用特定于問題的上下文關(guān)系來增強(qiáng)候選答案實(shí)體的表示。并引用注意力機(jī)制來權(quán)衡問題中的關(guān)系及與候選相關(guān)的潛在關(guān)系,達(dá)到優(yōu)化效果的作用。
Yin等人[9]使用實(shí)體鏈接器得到更高的真實(shí)實(shí)體覆蓋率,通過字符級卷積神經(jīng)網(wǎng)絡(luò)(char-CNN)將輸入的自然語言問句中得到的實(shí)體與知識庫中的候選實(shí)體進(jìn)行匹配,知識庫中與之相關(guān)的謂詞和單詞級CNN(word-CNN)的自然語言問句相互匹配,將一種新的注意最大池堆疊在word-CNN上,使謂詞表示能夠更有效地與以謂詞為中心的問題表示相匹配以得到更準(zhǔn)確的候選答案。
問答系統(tǒng)對于單關(guān)系的問題可以將答案的準(zhǔn)確率保持在一個(gè)較高的水準(zhǔn)。但是隨著問題難度的增加,導(dǎo)致問答系統(tǒng)并不能保證查詢結(jié)果的準(zhǔn)確率。
Abujabal等人[10]提出了一個(gè)QUINT系統(tǒng),只通過學(xué)習(xí)用戶輸入的問題和用戶給出的答案自行學(xué)習(xí)用于查詢的模板,進(jìn)而根據(jù)得到的模板將用戶輸入的問題在知識庫中映射成三重模式來進(jìn)行查詢。并且,QUINT可以在不單獨(dú)制定模板的情況下利用語言組合性來完成復(fù)雜的問句的問答任務(wù)。節(jié)省工作量的同時(shí),也提高了復(fù)雜問題的查詢準(zhǔn)確率。
Zheng等人[11]使用二進(jìn)制模板(問題模式和SPARQL查詢模式)代替語義解析器對自然語言進(jìn)行解析處理。對輸入的問題使用模板拆分成一組子問題,拆分后子問題隨之形成依賴圖?;卮饛?fù)雜問題的任務(wù)建模為模板選擇和裝配問題。另外通過考慮查詢語義的有效策略來執(zhí)行實(shí)體級歧義和結(jié)構(gòu)級歧義的消歧工作。該方法在精度和召回率方面都顯著優(yōu)于最先進(jìn)的方法。但對于語義解析和依賴的方法處理復(fù)雜問題得到的準(zhǔn)確率并不令人滿意,因此Sun等人[12]提出了一種骨架語法,通過使用粗粒度形式和基于Bert的解析算法可以提高下游細(xì)粒度語義解析的準(zhǔn)確性。并且為了將問題的結(jié)構(gòu)與知識庫的結(jié)構(gòu)相結(jié)合,使用的多策略方法結(jié)合了句子級和單詞級的語義,更好地將問題和答案建立連接。
Zhang等人[13]實(shí)現(xiàn)了一個(gè)基于分解和繼承思想的層次語義解析(HSP)結(jié)構(gòu),該模型將復(fù)雜的問句先進(jìn)行分解,分解成多個(gè)子句,從生成的子句里面提取答案的類型和謂詞,再將多個(gè)子句的信息整合,生成原始問題的邏輯形式,去知識庫中搜索答案。Luo等人[14]使用編碼的方法將復(fù)雜的查詢結(jié)構(gòu)轉(zhuǎn)換成一個(gè)向量表示,獲得組件之間的交互信息。首先通過分階段生成的方法利用查詢圖中的隱式類型信息和知識庫中的時(shí)間間隔信息生成候選查詢圖,然后對復(fù)雜的查詢結(jié)構(gòu)進(jìn)行編碼使用深度神經(jīng)網(wǎng)絡(luò)來測量問題和每個(gè)查詢圖之間的語義相似性。
Hu等人[15]提出一個(gè)基于狀態(tài)轉(zhuǎn)換的方法,使用語義查詢圖來表示用戶輸入的復(fù)雜問句,并且通過語義查詢圖和底層的知識圖之間的匹配查詢得到問題的答案,使用獎(jiǎng)勵(lì)函數(shù)對獲取的特征打分排序,選擇答案輸出。Maheshwari等人[16]針對知識圖上的復(fù)雜問題回答任務(wù)的神經(jīng)查詢圖排序方法,提出了一種新的基于自注意的插槽匹配模型,利用了查詢圖的固有結(jié)構(gòu),即所選擇的邏輯形式。并且通過生成核心鏈候選排序、核心鏈候選排序及預(yù)測輔助約束三部分完成查詢圖的構(gòu)建和排序任務(wù)。
Bhutani等人[17]提出MULTIQUE,可以將一個(gè)復(fù)雜的問題映射到一個(gè)復(fù)雜的查詢模式,每個(gè)簡單的查詢序列針對一個(gè)特定的查詢庫。它使用一個(gè)基于神經(jīng)網(wǎng)絡(luò)的模型找到簡單的查詢,該模型能夠?qū)μ崛〉闹R庫中的文本關(guān)系和經(jīng)過管理的知識庫中的本體關(guān)系進(jìn)行集體推斷。Kapanipathi等人[18]提出神經(jīng)符號問題回答(NSQA),利用抽象意義表示(AMR)解析來實(shí)現(xiàn)任務(wù)獨(dú)立的問題理解,每個(gè)模塊都為自己的任務(wù)分別進(jìn)行訓(xùn)練。并且將AMR解析轉(zhuǎn)換為與KB對齊的候選邏輯進(jìn)行答案查詢。
基于語義解析的方法減少了基于模板方法大量的工作,增加了自然語言問句與知識庫之間的聯(lián)系,提高了問答查詢的準(zhǔn)確率。但是這類方法的可解釋性不足,并且在訓(xùn)練數(shù)據(jù)時(shí)浪費(fèi)了大量的時(shí)間。
基于信息檢索的方法首先要在自然語言問題中確定最接近用戶意圖的主題實(shí)體,并將這些實(shí)體與知識庫聯(lián)系起來。然后,通過主題實(shí)體以及句子中出現(xiàn)的約束形成子圖,并將子圖中的所有節(jié)點(diǎn)作為候選答案?;趶膯栴}和候選答案中提取的特征,使用分?jǐn)?shù)函數(shù)對其語義相關(guān)性進(jìn)行建模,并預(yù)測最終答案。如圖4所示。
圖4 基于信息檢索方法的構(gòu)建流程
Li等人[19]使用卷積神經(jīng)網(wǎng)絡(luò)獲取問題的分布式表達(dá),再通過與答案路徑、答案上下文信息及答案類型的分布式表達(dá)點(diǎn)積求和得到對應(yīng)的問題答案對得分,取得分高的作為答案。Bordes等人[20]提出在記憶網(wǎng)絡(luò)(MemNNs)內(nèi),建立存放數(shù)據(jù)、訓(xùn)練、連接反響三個(gè)階段的工作流,通過輸入模塊將數(shù)據(jù)存放在內(nèi)存中,對輸入的數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練完成后在記憶中增加混響的新事實(shí),測試處理新事實(shí)的能力,使用泛化模塊與存儲(chǔ)的事實(shí)連接起來,最后通過輸入、輸出和響應(yīng)模塊完成問答。
為了更加強(qiáng)調(diào)問題的表示,Hao等人[21]提出了一個(gè)端到端神經(jīng)網(wǎng)絡(luò)模型,通過交叉注意機(jī)制,對每個(gè)問題,將對應(yīng)答案的重點(diǎn)和注意力權(quán)重到回答上,然后根據(jù)處理后得到的候選答案動(dòng)態(tài)地表示問題及其相應(yīng)的分?jǐn)?shù)。Chen等人[22]提出通過一種新的雙向注意記憶網(wǎng)絡(luò),不需要外部資源和很少的手工特性,直接建模問題和知識庫之間的雙向交互流,提取與回答問題和知識庫兩邊的問題最相關(guān)的信息。
對于輸入的復(fù)雜自然語言問題來說,由于問句中存在多實(shí)體和多關(guān)系的限制,在問句中找到主題實(shí)體是比較困難的,此前基于信息檢索的問答系統(tǒng)構(gòu)建方法也出現(xiàn)一些處理能力的不足。
建立能夠?qū)W習(xí)僅基于問答對的知識圖QA系統(tǒng)是一項(xiàng)挑戰(zhàn)。對于輸入問題文本中的拼字錯(cuò)誤導(dǎo)致的與知識圖不匹配等問題,QA的處理能力不足。Zhang等人[23]提出了一種深度學(xué)習(xí)架構(gòu)以及一種端到端變分學(xué)習(xí)算法,可以處理輸入的復(fù)雜問題以及解決問題中存在的噪音問題,并且還能完成復(fù)雜問題的問答任務(wù)。
對于直接回答涉及多個(gè)實(shí)體和關(guān)系的問題,Lu等人[24]提出了一種基于群斯坦納樹的動(dòng)態(tài)檢索文本語料庫的無監(jiān)督方法,計(jì)算來自不同文檔的部分結(jié)果的相似性連接。QUEST通過動(dòng)態(tài)檢索的實(shí)體名稱和關(guān)系短語構(gòu)建了一個(gè)噪聲知識庫,然后用類型和語義對齊來增強(qiáng)知識圖,并通過一個(gè)關(guān)于群斯坦納樹的算法來計(jì)算最佳答案。
當(dāng)遇到一個(gè)不完整的知識庫時(shí),需要建立不完整知識庫和完整鏈接文本組合上的問答系統(tǒng)。Sun等人[25]提出了移植網(wǎng),對由知識庫實(shí)體和文本文檔參數(shù)組成的子圖的節(jié)點(diǎn)進(jìn)行分類,并且從包含文本和知識庫實(shí)體和關(guān)系的問題特定子圖中提取答案。并且Sun等人[26]提出一個(gè)PullNet集成框架來學(xué)習(xí)檢索和使用異構(gòu)信息完成問答。它會(huì)通過迭代過程生成一個(gè)子圖,并且這個(gè)子圖僅針對于當(dāng)前特定的問題,生成的子圖中包含著問題的信息。在每次迭代中,都使用一個(gè)圖卷積網(wǎng)絡(luò)(GCN)來識別子圖的節(jié)點(diǎn)。在子圖的構(gòu)建完成后,使用類似的GCN從子圖中提取答案。Xiong等人[27]提出了一種端到端的問題回答模型,從一個(gè)不完整的知識庫和一組檢索到的文本片段中學(xué)習(xí)聚合答案證據(jù)。首先在知識庫中查找與問題中的實(shí)體相關(guān)的知識信息,累積該實(shí)體的知識;然后在潛在空間中實(shí)現(xiàn)問題的重新制定,用上一步中積累的實(shí)體知識讀取文本。
Miller等人[28]在原本記憶網(wǎng)絡(luò)的基礎(chǔ)上結(jié)合鍵值對,提出鍵值記憶網(wǎng)絡(luò)模型(KV-MemNNs),通過在內(nèi)存讀取操作的尋址和輸出階段使用不同的編碼,更新鍵值對的記憶槽,使讀取文檔更加可行。對問題和三元組進(jìn)行計(jì)算得到向量表示,并在知識庫中得到查詢子圖,作為鍵值記憶槽,并對尾實(shí)體進(jìn)行相似度和加權(quán)計(jì)算來更新問題的向量表示。
使用深度圖神經(jīng)網(wǎng)絡(luò)(GNNs)來捕獲結(jié)構(gòu)信息,這可能無法在特別長的距離內(nèi)建模節(jié)點(diǎn)關(guān)系。針對此類問題,Wang等人[29]提出了全局圖,該框架從節(jié)點(diǎn)類型相似度和節(jié)點(diǎn)與問題之間相關(guān)性兩個(gè)角度建模遠(yuǎn)程節(jié)點(diǎn)關(guān)系:通過全局類型標(biāo)簽相似度建模遠(yuǎn)程節(jié)點(diǎn)關(guān)系并且通過兩個(gè)節(jié)點(diǎn)的和得分建模長距離節(jié)點(diǎn)關(guān)系。
基于信息檢索的構(gòu)建方法主要是抽取自然語言問題中的主題詞,形成查詢圖在知識庫中完成查詢?nèi)蝿?wù)返回結(jié)果,不需要較多的人工干預(yù),節(jié)省時(shí)間。但是語義的復(fù)雜程度在增加,對此準(zhǔn)確率的要求還要提升。
智能問答推理[30]技術(shù)是對于復(fù)雜問題的處理手段,相比于單跳問答,由于復(fù)雜問題的多實(shí)體多關(guān)系等的條件限制需要多次跳躍找到目標(biāo),如何根據(jù)這些條件在知識庫中查找答案是當(dāng)前研究的重點(diǎn)。并且,根據(jù)條件在知識庫中查找答案并不一定就能找到對應(yīng)的實(shí)體或關(guān)系。因此,利用已有信息結(jié)合隱含的信息進(jìn)行問答推理找到最終的結(jié)果是當(dāng)前問答任務(wù)中處理復(fù)雜問題的主要方向。多跳推理需要根據(jù)給出的問題信息結(jié)合知識庫中的多個(gè)三元組進(jìn)行歸納推導(dǎo)。
多關(guān)系問答需要對知識庫中的問題進(jìn)行詳細(xì)的分析,并對問題進(jìn)行多個(gè)事實(shí)三倍體的推理。Zhou等人[31]提出了一個(gè)可解釋推理網(wǎng)絡(luò),在推理過程中動(dòng)態(tài)地決定在每一跳中分析輸入問題的哪一部分,以及通過預(yù)測可以得到與當(dāng)前解析結(jié)果對應(yīng)的關(guān)系;然后再利用預(yù)測后得到的關(guān)系來更新問題的表示和推理過程的狀態(tài),進(jìn)而促進(jìn)接下來推理工作的進(jìn)行。
Saxena等人[32]提出了一個(gè)系統(tǒng)EmbedKGQA。EmbedKGQA在稀疏知識圖上執(zhí)行多跳問答系統(tǒng)時(shí)特別有效,利用知識圖嵌入的鏈路預(yù)測屬性來減輕知識圖的不完全性問題,而不使用任何額外的數(shù)據(jù)。另外還訓(xùn)練知識圖實(shí)體嵌入,并使用它來學(xué)習(xí)問題嵌入,在評估過程中,再次對所有實(shí)體進(jìn)行評分,并選擇得分最高的實(shí)體作為答案。
將記憶網(wǎng)絡(luò)改進(jìn)用于推理問題是很可行的方案。Xu等人[33]基于傳統(tǒng)的KV-MemNNs設(shè)計(jì)了一種查詢更新策略,從查詢表示中屏蔽先前處理的內(nèi)存信息,并引入了一種新的STOP策略,在多跳內(nèi)存讀取過程中獲得具有靈活查詢?nèi)M數(shù)量的結(jié)構(gòu)化查詢,因此這也使KV-MemnNN能夠生成結(jié)構(gòu)化查詢,并以語義解析的方式工作。Jain[34]引入了事實(shí)記憶網(wǎng)絡(luò),可以對給定問題中命名實(shí)體生成的事實(shí)進(jìn)行處理,在相同的單詞向量空間中生成問題和知識庫的分布式表示,提取初始候選事實(shí)的子集,然后嘗試使用多跳推理和細(xì)化找到回答實(shí)體的路徑。
對于復(fù)雜多跳的問題,需要將實(shí)體以及它們之間的關(guān)系緊密結(jié)合,Sorokin[35]提出用門控圖神經(jīng)網(wǎng)絡(luò)(GGNNs)來編碼語義解析的圖結(jié)構(gòu),通過對語義的解析挖掘深層的隱含信息有助于問答推理。對于每個(gè)輸入問題,構(gòu)造了一個(gè)顯式的結(jié)構(gòu)語義解析(語義圖),語義解析可以被確定性地轉(zhuǎn)換為一個(gè)查詢,以從知識庫中提取答案。Han等人[36]提出了一種利用文本信息增強(qiáng)不完全知識庫的問答系統(tǒng)方法。在文本中挖掘相關(guān)的語義信息增加實(shí)體的表示,然后利用這些表示信息使用圖卷積網(wǎng)絡(luò)(GCN)來更新實(shí)體狀態(tài)。并且還利用文本的潛在結(jié)構(gòu)信息,將文本視為連接實(shí)體的超邊,用來填補(bǔ)知識庫中缺失的關(guān)系,并將超圖卷積網(wǎng)絡(luò)進(jìn)一步應(yīng)用于超圖形成文本的推理。然而,此方法是針對無向圖的,并不考慮信息傳輸?shù)姆较?。Han等人[37]提出了一種基于有向超圖卷積網(wǎng)絡(luò)(DHGCN)的可解釋問答系統(tǒng)模型,即基于動(dòng)態(tài)關(guān)系的兩向超圖推理,首先更新關(guān)系狀態(tài)并為關(guān)系分配動(dòng)態(tài)權(quán)值,然后自適應(yīng)地學(xué)習(xí)節(jié)點(diǎn)表示。這樣可以明確地更新關(guān)系信息,動(dòng)態(tài)地關(guān)注不同跳下的不同關(guān)系。Schlichtkrull等人[38]在問答任務(wù)中引入了關(guān)系圖卷積網(wǎng)絡(luò)(R-GCNs),應(yīng)用于兩個(gè)標(biāo)準(zhǔn)的知識庫完成任務(wù):鏈接預(yù)測和實(shí)體分類以完成缺失事實(shí)的恢復(fù)和缺失實(shí)體屬性的恢復(fù),因此可以在推理中充分利用補(bǔ)全的信息完成推理任務(wù)。Teru[39]提出了一個(gè)基于圖神經(jīng)網(wǎng)絡(luò)的關(guān)系預(yù)測框架GraIL,使用注意力機(jī)制對兩個(gè)相鄰的實(shí)體以及它們之間的關(guān)系處理得到實(shí)體的向量表示以及關(guān)系的向量表示,根據(jù)目標(biāo)處理得到的表示預(yù)測打分,得到最高分的作為最終的輸出。GraIL在訓(xùn)練后可以推廣到看不見的實(shí)體和圖,利用這些信息完成問答推理任務(wù)。
Xiong等人[40]提出學(xué)習(xí)多跳關(guān)系路徑的強(qiáng)化學(xué)習(xí)框架,基于知識圖嵌入的連續(xù)狀態(tài)的策略代理,訓(xùn)練一個(gè)RL代理在知識庫中尋找推理路徑,RL模型允許控制所找到路徑的屬性,與圍繞KG設(shè)計(jì)的環(huán)境進(jìn)行交互。Hua等人[41]提出了一種元強(qiáng)化學(xué)習(xí)方法,基于從訓(xùn)練數(shù)據(jù)中檢索到的最相似的問題,快速有效地使元學(xué)習(xí)程序員適應(yīng)新的問題。然后使用元學(xué)習(xí)策略來學(xué)習(xí)優(yōu)秀的編程策略,利用試驗(yàn)軌跡及其獎(jiǎng)勵(lì)設(shè)置類似的問題,實(shí)現(xiàn)了對未知問題的快速反應(yīng)以及推理回答。
He等人[42]提出了一種師生方法中的多跳問答系統(tǒng)任務(wù)。學(xué)生網(wǎng)絡(luò)的目標(biāo)是找到查詢的正確答案,而教師網(wǎng)絡(luò)則試圖學(xué)習(xí)中間監(jiān)督信號,以提高學(xué)生網(wǎng)絡(luò)的推理能力。特別是教師網(wǎng)絡(luò)的設(shè)計(jì),同時(shí)利用正向和反向的推理來增強(qiáng)對中間實(shí)體分布的學(xué)習(xí)。通過考慮雙向推理,教師網(wǎng)絡(luò)可以產(chǎn)生更可靠的中間監(jiān)督信號,從而緩解虛假推理的問題。Hu等人[43]提出將邏輯查詢和KG聯(lián)合嵌入到一個(gè)低維空間,充分利用類型信息,增強(qiáng)了查詢中的實(shí)體和關(guān)系表示,并且同時(shí)提高了泛化、演繹和歸納推理,更有利于問答推理任務(wù)的進(jìn)行。
在知識圖推理中,需要識別大型候選實(shí)體集中的答案,但其大小隨著推理跳數(shù)的增加呈指數(shù)增長。Cai等人[44]提出了深層認(rèn)知推理網(wǎng)絡(luò)(DCRN),通過無意識和有意識兩個(gè)階段減少工作量。Shi等人[45]利用神經(jīng)符號問答的方法,將自然邏輯推理集成到深度學(xué)習(xí)架構(gòu)中,將問答視為文字蘊(yùn)含任務(wù),問題和候選答案被串聯(lián)起來形成假設(shè),模型按照自然邏輯推理步驟,逐步將假設(shè)和候選前提連接起來以構(gòu)建證明路徑并測量二者之間的蘊(yùn)涵分?jǐn)?shù)以確定前提是否包含假設(shè)。
Li等人[46]在普通的編解碼器訓(xùn)練中增加一個(gè)后向推理步驟,以雙向方式訓(xùn)練生成模型,解決在問答中編碼器和解碼器通過預(yù)測得到的不是最合適的反應(yīng)的問題。前向生成步驟的輸出被用于向后推斷對話上下文,因而后向推理步驟推動(dòng)模型可以生成更加信息豐富和一致的內(nèi)容,方便雙向優(yōu)化。Xu等人[47]動(dòng)態(tài)構(gòu)造語義圖并對其進(jìn)行推理,使用抽象語義表示(AMR)作為語義圖表示,基于AMR語義圖構(gòu)建AMR-SG,揭示問題、答案和多個(gè)事實(shí)之間的任何跳關(guān)系。利用AMR-SG從一個(gè)大的事實(shí)庫中提取活躍的事實(shí)來回答問題。Feng等人[48]提出由NumGNN和NumTransformer組成的預(yù)訓(xùn)練數(shù)值推理模型,并由顯式的自我監(jiān)督信號引導(dǎo)。這兩個(gè)模塊被預(yù)先訓(xùn)練來分別編碼數(shù)字的大小和序數(shù)性質(zhì),并且作為任何基于信息檢索的問答系統(tǒng)模型無關(guān)插件來增強(qiáng)其數(shù)值推理能力。
問答推理技術(shù)方法提供了對復(fù)雜多跳限制問題的解決方案,提高了多跳復(fù)雜問題的查詢準(zhǔn)確率,并用多種方法對其進(jìn)行探索。表1為問答推理方法的匯總。
表1 問答推理的方法匯總
該文主要介紹了基于語義解析和基于信息檢索的兩種問答系統(tǒng)構(gòu)建方法,以及隨著深度學(xué)習(xí)的進(jìn)步,研究結(jié)合深度學(xué)習(xí)模型改進(jìn)問答系統(tǒng)并提高問答的準(zhǔn)確率和處理復(fù)雜問題的能力。另外針對多跳問題的問答,闡述了問答系統(tǒng)利用隱含信息推理以及拓展推理路徑等的多跳限制問答的推理方法。
基于語義解析的方法一些模型會(huì)存在解釋性不足的問題,并且利用詞匯映射等的操作會(huì)對數(shù)據(jù)產(chǎn)生依賴性無法完成復(fù)雜關(guān)系上的組合映射影響問答的結(jié)果。未來的發(fā)展方向應(yīng)該改進(jìn)深度學(xué)習(xí)模型增強(qiáng)方法的可解釋性,以及減少對數(shù)據(jù)的依賴性?;谛畔z索的方法在面對復(fù)雜的問題構(gòu)建查詢子圖時(shí)存在子圖構(gòu)建不準(zhǔn)確的問題以及龐大的數(shù)據(jù)集往往會(huì)挑選大量的候選實(shí)體的問題,需要處理好實(shí)體和關(guān)系的信息構(gòu)建精確關(guān)系的查詢子圖,以及篩選答案時(shí)在大量的數(shù)據(jù)中降低候選實(shí)體集合大小,因此未來需要提升處理復(fù)雜問題時(shí)的查詢準(zhǔn)確率,通過預(yù)訓(xùn)練模型等增強(qiáng)對自然語言的處理分析各實(shí)體的關(guān)系,減小對正確答案召回率的影響。對于智能問答多跳推理方法,在一些信息缺失的知識庫中進(jìn)行推理還是有很大的挑戰(zhàn),暴露出不能處理缺失信息以及處理能力不足的問題,未來需要結(jié)合鏈接預(yù)測等方法解決在鏈接缺失的知識庫中進(jìn)行推理以及擺脫長語句問題推理的限制和提升多次跳躍推理的能力。
隨著知識圖譜的發(fā)展,問答推理工作也可以在知識圖譜中進(jìn)行,在今后的發(fā)展中利用好知識圖譜上的數(shù)據(jù)信息完成問答任務(wù)是接下來研究的一個(gè)方向。近年來對圖神經(jīng)網(wǎng)絡(luò)的研究以及其在文本處理上取得了很大的進(jìn)展,將圖神經(jīng)網(wǎng)絡(luò)等方法加入到問答系統(tǒng)推理任務(wù)也將是接下來一段時(shí)間的研究方向,而且可以和知識圖譜結(jié)合處理缺失信息補(bǔ)全等的問題,推動(dòng)問答系統(tǒng)推理工作的發(fā)展。