盧 琪,潘志松,謝 鈞
中國(guó)人民解放軍陸軍工程大學(xué) 指揮控制工程學(xué)院,南京 210000
知識(shí)圖譜以節(jié)點(diǎn)和邊來(lái)表示真實(shí)世界中存在的各種實(shí)體及其之間的關(guān)系,最早于2012年由谷歌提出,起初用于提高搜索引擎智能化搜索能力,如今各公司,如微軟Bing、搜狗知立方、百度知心等,都構(gòu)建了自己的知識(shí)圖譜。而隨著Freebase、DBpedia、YAGO等大規(guī)模開(kāi)源知識(shí)圖譜的誕生,知識(shí)圖譜相關(guān)的研究和應(yīng)用在多個(gè)領(lǐng)域飛速發(fā)展[1],知識(shí)圖譜問(wèn)答(Question Answering over Knowledge Graph,KGQA)便是研究熱點(diǎn)之一。
近年來(lái)智能問(wèn)答取得了極大的發(fā)展,很多智能問(wèn)答系統(tǒng)走進(jìn)了人們的生活,為人們帶來(lái)了很大的便利。蘋(píng)果公司研發(fā)的智能語(yǔ)音助手Siri不僅能智能問(wèn)答還可以對(duì)手機(jī)進(jìn)行語(yǔ)音控制等操作。之后各大公司也推出了自己的語(yǔ)音助手或者問(wèn)答系統(tǒng),如微軟開(kāi)發(fā)了Windows上的語(yǔ)音助手微軟小娜Cortana,百度推出了自己的人工智能助手小度,騰訊開(kāi)發(fā)的聊天機(jī)器人QQ小冰等。根據(jù)數(shù)據(jù)的來(lái)源可以把智能問(wèn)答分為三類(lèi):(1)基于知識(shí)庫(kù)問(wèn)答,也稱(chēng)為知識(shí)圖譜問(wèn)答,即直接從構(gòu)建好的結(jié)構(gòu)化知識(shí)庫(kù)中檢索答案;(2)基于文本問(wèn)答,也稱(chēng)為機(jī)器閱讀理解式(Machine Reading Comprehension,MRC)問(wèn)答,每個(gè)問(wèn)題對(duì)應(yīng)若干篇非結(jié)構(gòu)化文本數(shù)據(jù),從文本數(shù)據(jù)中檢索和抽取答案;(3)基于社區(qū)的問(wèn)答,用戶(hù)生成的問(wèn)答對(duì)組成了社區(qū)問(wèn)答的數(shù)據(jù),例如百度知道、搜狗問(wèn)答、知乎等論壇。隨著知識(shí)圖譜的發(fā)展,知識(shí)圖譜問(wèn)答有了越來(lái)越重要的現(xiàn)實(shí)意義。
知識(shí)圖譜問(wèn)答任務(wù)形式定義為:給定一個(gè)包含若干三元組的知識(shí)圖譜G和一個(gè)自然語(yǔ)言問(wèn)題q,要求根據(jù)知識(shí)圖譜正確回答問(wèn)題。如今知識(shí)圖譜問(wèn)答的方法要分為基于語(yǔ)義解析和基于信息檢索兩種方法,近年與深度學(xué)習(xí)相結(jié)合,取得了優(yōu)異的表現(xiàn),但是仍然面臨諸多的挑戰(zhàn)。Bordes[2]、Huang[3]等人都基于知識(shí)嵌入設(shè)計(jì)了有效的知識(shí)圖譜問(wèn)答框架,在簡(jiǎn)單問(wèn)題方面實(shí)現(xiàn)了優(yōu)異的性能,但是模型推理能力較差,回答多跳問(wèn)題的能力有待提升。Sun等人[4]增強(qiáng)了模型的推理能力,并且在知識(shí)圖譜的基礎(chǔ)上引入了額外的文本數(shù)據(jù),但是仍然無(wú)法有效處理知識(shí)圖譜中數(shù)據(jù)缺失和數(shù)據(jù)稀疏的問(wèn)題。此外,Sun[5]、Bao[6]等人的工作都是通過(guò)限制問(wèn)題的跳數(shù)先得到知識(shí)圖譜的子圖,然后在子圖上進(jìn)行推理得到答案。綜上可知目前的知識(shí)圖譜問(wèn)答仍然存在下列問(wèn)題:(1)復(fù)雜的場(chǎng)景下,要求模型具有推理能力,從而正確回答多跳問(wèn)題;(2)當(dāng)知識(shí)圖譜的信息不完整時(shí),如何保證知識(shí)圖譜問(wèn)答的性能;(3)如今的多跳知識(shí)圖譜問(wèn)答大多對(duì)跳數(shù)有所限制,模型僅對(duì)知識(shí)圖譜局部建模,損失了長(zhǎng)距離信息。
針對(duì)上述問(wèn)題,本文提出一種融合知識(shí)表示學(xué)習(xí)的雙向注意力模型,該模型引入知識(shí)表示學(xué)習(xí)以解決知識(shí)圖譜數(shù)據(jù)稀疏和數(shù)據(jù)缺失問(wèn)題,BiDAF[7]模型使用了雙向注意力模型在機(jī)器閱讀理解任務(wù)上取得非常優(yōu)異的性能,受Seo等人啟發(fā),KR-BAT模型構(gòu)建了雙向注意力模型來(lái)提高模型的推理能力,能夠更好地處理多跳問(wèn)題。主要貢獻(xiàn)為:(1)設(shè)計(jì)一個(gè)主題實(shí)體預(yù)測(cè)模型,引入知識(shí)表示,對(duì)于未登錄實(shí)體也能預(yù)測(cè)其表示,有效解決知識(shí)圖譜不完整所帶來(lái)的信息損失;(2)結(jié)合雙向注意力機(jī)制和LSTM,提高模型的多跳推理能力;(3)提出融合知識(shí)表示的雙向注意力模型,經(jīng)過(guò)實(shí)驗(yàn),模型針對(duì)多跳問(wèn)題和不完整知識(shí)圖譜情況實(shí)現(xiàn)了優(yōu)秀的性能。
知識(shí)表示是知識(shí)組織的前提和基礎(chǔ),表示學(xué)習(xí)把數(shù)據(jù)轉(zhuǎn)換成一種機(jī)器能夠有效處理的方式,便于模型提取特征。
早期的獨(dú)熱表示[8](One-hot representation)是一種簡(jiǎn)單有效的數(shù)據(jù)表示方法,獨(dú)熱表示通過(guò)0和1將數(shù)據(jù)編碼成向量,如果數(shù)據(jù)維度為L(zhǎng),則獨(dú)熱編碼中只有一維元素為1,其余L-1維為0。獨(dú)熱表示方法優(yōu)點(diǎn)在于通過(guò)無(wú)監(jiān)督的方法,有效地把數(shù)據(jù)區(qū)分開(kāi)來(lái),耗費(fèi)少。但是該方法的缺點(diǎn)也較為突出,獨(dú)熱編碼認(rèn)為數(shù)據(jù)之間都是獨(dú)立的,無(wú)法對(duì)數(shù)據(jù)之間的語(yǔ)義相似度進(jìn)行建模,然而在自然語(yǔ)言處理領(lǐng)域中,語(yǔ)義相似度尤為重要,這樣會(huì)導(dǎo)致信息損失嚴(yán)重;其次,當(dāng)數(shù)據(jù)規(guī)模較大時(shí),獨(dú)熱表示容易造成維度災(zāi)難,且編碼的向量過(guò)于稀疏。
與獨(dú)熱表示相比,基于機(jī)器學(xué)習(xí)的表示學(xué)習(xí)能夠把數(shù)據(jù)映射成低維的向量,解決了數(shù)據(jù)稀疏問(wèn)題,并且學(xué)習(xí)過(guò)程能夠?qū)?shù)據(jù)之間的語(yǔ)義相似度進(jìn)行建模,更有利于模型提取特征。
知識(shí)表示學(xué)習(xí)是以知識(shí)圖譜中節(jié)點(diǎn)和關(guān)系為對(duì)象的表示學(xué)習(xí)[9],目標(biāo)是把知識(shí)圖譜中的節(jié)點(diǎn)和關(guān)系映射為低維向量,實(shí)現(xiàn)對(duì)知識(shí)的建模,對(duì)知識(shí)圖譜的構(gòu)建、補(bǔ)全、推理和應(yīng)用有著重要意義。
結(jié)構(gòu)表示(Structured Embedding,SE)是距離模型的一種,對(duì)于每個(gè)三元組(h,r,t),模型為關(guān)系r定義了兩個(gè)投影矩陣,分別用于頭實(shí)體h和尾實(shí)體t的投影,然后計(jì)算兩個(gè)實(shí)體投影直接的距離,距離代表該三元組中頭實(shí)體和尾實(shí)體的語(yǔ)義相似度。但SE中頭實(shí)體和尾實(shí)體是根據(jù)兩個(gè)不同的矩陣進(jìn)行投影,語(yǔ)義關(guān)系的建模能力較差。
雙線性對(duì)角模型DistMult[10]把關(guān)系矩陣設(shè)置為對(duì)角陣,提高處理多關(guān)系數(shù)據(jù)能力的同時(shí),極大簡(jiǎn)化了模型。但是DistMult過(guò)于簡(jiǎn)化,無(wú)法處理非對(duì)稱(chēng)關(guān)系,于是ComplEx[11]在DistMult基礎(chǔ)上提高非對(duì)稱(chēng)關(guān)系建模能力,通過(guò)把實(shí)體和關(guān)系映射到復(fù)數(shù)空間,利用埃爾米特乘積對(duì)非對(duì)稱(chēng)關(guān)系進(jìn)行建模。
受到Word2Vec[12]中平移不變的啟發(fā),Bordes等人[13]提出TransE模型。對(duì)于每個(gè)三元組(h,r,t),TransE把尾實(shí)體向量νt看作頭實(shí)體向量νh經(jīng)過(guò)關(guān)系向量νr平移得到,希望滿(mǎn)足νh+νr≈νt。TransE模型參數(shù)較少、簡(jiǎn)單有效,是知識(shí)表示學(xué)習(xí)中最為經(jīng)典的模型之一,但是無(wú)法建模復(fù)雜關(guān)系。TransH[14]在TransE的基礎(chǔ)上把實(shí)體向量投影到關(guān)系向量對(duì)應(yīng)的超平面上,以此緩解復(fù)雜關(guān)系下的學(xué)習(xí)過(guò)度收斂問(wèn)題。TransR[15]在TransH的基礎(chǔ)上定義了兩個(gè)投影矩陣,把實(shí)體向量投影到關(guān)系語(yǔ)義空間中,經(jīng)過(guò)投影的實(shí)體區(qū)分度增加,提高復(fù)雜關(guān)系建模能力。但是TransR構(gòu)造的兩個(gè)投影矩陣提高了模型的計(jì)算復(fù)雜度,TransD[16]把TransR的投影矩陣分解成兩個(gè)向量,降低了模型的復(fù)雜度,并且關(guān)系和實(shí)體共同參與構(gòu)造投影矩陣,模型對(duì)語(yǔ)義建模能力更強(qiáng)。
知識(shí)圖譜問(wèn)答的關(guān)鍵在于把用戶(hù)的自然語(yǔ)言問(wèn)題轉(zhuǎn)化為機(jī)器可以理解的形式查詢(xún)。目前知識(shí)圖譜問(wèn)答方法主要分為兩類(lèi):基于語(yǔ)義解析的方法和基于信息檢索的方法。
基于語(yǔ)義解析的方法:把要解決的問(wèn)題看作語(yǔ)義解析問(wèn)題,即把自然語(yǔ)言問(wèn)題轉(zhuǎn)化成語(yǔ)義表示,再映射成邏輯形式,在知識(shí)圖譜上進(jìn)行查詢(xún)得到答案。Zhang等人[17]提出了一個(gè)基于注意力機(jī)制的模型來(lái)根據(jù)候選答案的不同側(cè)重點(diǎn)動(dòng)態(tài)地表示問(wèn)題,利用了知識(shí)圖譜的全局信息,并且一定程度上解決了未登錄詞的問(wèn)題。Alvarezmelis等人[18]提出了一種改進(jìn)型樹(shù)狀解碼器,使用兩個(gè)獨(dú)立的RNN分別對(duì)父-子和兄弟-兄弟節(jié)點(diǎn)之間的信息流建模,提供了使用RNN從自然語(yǔ)言查詢(xún)生成可執(zhí)行的查詢(xún)語(yǔ)言這一思路。Mohammed等人[19]用最基本的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(CNN、LSTM)加上一些簡(jiǎn)單的規(guī)則,便能在簡(jiǎn)單問(wèn)題上達(dá)到很好的性能。
基于信息檢索的方法:先確定用戶(hù)查詢(xún)中的中心實(shí)體,然后鏈接到知識(shí)圖譜中確定相關(guān)實(shí)體得到候選答案集合,之后通過(guò)評(píng)分或者排序的方式找出最可能的答案。Yih等人[20]使用卷積神經(jīng)網(wǎng)絡(luò)解決單關(guān)系問(wèn)答。通過(guò)CNN構(gòu)建兩個(gè)不同的匹配模型,分別用來(lái)識(shí)別問(wèn)題中出現(xiàn)的實(shí)體和匹配實(shí)體與KG中實(shí)體的相似度,相似度最高的三元組作為問(wèn)題的答案,但是模型難以處理復(fù)雜的多關(guān)系情況。Hao等人[21]更關(guān)注問(wèn)題的表示,提出了一種新的基于Cross-Attention的模型,根據(jù)不同的答案類(lèi)型賦予問(wèn)題中不同單詞的權(quán)重,這種動(dòng)態(tài)表示不僅精確而且更加靈活。
在引入知識(shí)表示學(xué)習(xí)之后,Bordes等人[2]進(jìn)行了進(jìn)一步的研究,僅使用少量的手工特征來(lái)學(xué)習(xí)單詞和知識(shí)的低維向量。Li等人[22]提出使用多列卷積神經(jīng)網(wǎng)絡(luò)(Multi-column CNN)從答案路徑、答案類(lèi)型和答案上下文三個(gè)角度來(lái)表示問(wèn)題,提取了更豐富的信息并且不依賴(lài)手工特征和規(guī)則。Huang等人[3]基于知識(shí)嵌入設(shè)計(jì)了一個(gè)簡(jiǎn)單有效的知識(shí)圖譜問(wèn)答框架(KEQA),針對(duì)簡(jiǎn)單問(wèn)題,要求模型恢復(fù)出實(shí)體和謂詞,在簡(jiǎn)單問(wèn)題方面實(shí)現(xiàn)了優(yōu)異的性能,但是模型不具有推理能力,無(wú)法處理多跳問(wèn)題。Saxena等人[23]基于預(yù)訓(xùn)練模型設(shè)計(jì)了EmbedKGQA模型,在多跳問(wèn)題上有很好的處理能力,尤其是當(dāng)知識(shí)圖譜不完整時(shí),利用鏈接預(yù)測(cè)實(shí)現(xiàn)知識(shí)補(bǔ)全而不需要額外的文本數(shù)據(jù)。
本文結(jié)合知識(shí)表示學(xué)習(xí)和雙向注意力機(jī)制,提出了一個(gè)融合知識(shí)表示學(xué)習(xí)的雙向注意力模型(KR-BAT)用于知識(shí)圖譜問(wèn)答,模型框架如圖1所示,主要包括兩個(gè)模型:(1)主題實(shí)體預(yù)測(cè)模型:預(yù)測(cè)問(wèn)題中主題實(shí)體的表示;(2)雙向注意力模型:?jiǎn)栴}與實(shí)體進(jìn)行交互并返回答案。圖1中紫色部分TEP(Topic Entity Prediction,TEP)即為主題實(shí)體預(yù)測(cè)模型,剩下的部分構(gòu)成了雙向注意力模型(Bidirection ATtention,BAT)。在BAT中的注意力層實(shí)現(xiàn)兩個(gè)模型的有機(jī)結(jié)合,TEP模型的輸出作為BAT模型中注意力層的輸入,通過(guò)雙向注意力實(shí)現(xiàn)信息交互。TEP為三層結(jié)構(gòu)的層級(jí)模型,BAT模型由四層組成,兩個(gè)模型的細(xì)節(jié)部分將在2.2節(jié)和2.3節(jié)進(jìn)行詳細(xì)介紹。在介紹模型框架之前,先介紹相關(guān)概念及任務(wù)形式。
一個(gè)三元組表示為<h,r,t>,h和t分別表示頭實(shí)體(head entity)和尾實(shí)體(tail entity),r表示兩個(gè)實(shí)體間的關(guān)系。知識(shí)圖譜是由眾多三元組構(gòu)成的集合,對(duì)于知識(shí)圖譜可以形式化描述為G={ }E,R,E,其中E和R分別表示所有實(shí)體和關(guān)系的集合。對(duì)于知識(shí)圖譜G,使用如TransE等知識(shí)表示學(xué)習(xí)模型可以得到關(guān)系和實(shí)體的分布式表示,一個(gè)三元組被表示為<eh,er,et>。
知識(shí)圖譜問(wèn)答任務(wù)形式定義為:給定一個(gè)知識(shí)圖譜G和一個(gè)自然語(yǔ)言問(wèn)題q,要求根據(jù)知識(shí)圖譜正確地回答問(wèn)題。
知識(shí)圖譜問(wèn)答首先要預(yù)測(cè)出問(wèn)題中的主題實(shí)體,可以通過(guò)序列標(biāo)注、語(yǔ)法句法解析等方法來(lái)檢測(cè)出主題實(shí)體。但是,面對(duì)用戶(hù)給出的問(wèn)題可能包含未登錄實(shí)體,以及知識(shí)圖譜不完整等情況,這些方法難以檢測(cè)出主題實(shí)體。針對(duì)上述問(wèn)題,構(gòu)建了主題實(shí)體預(yù)測(cè)模型(TEP)。
TEP是一個(gè)層次結(jié)構(gòu),架構(gòu)如圖2所示,主要由三層構(gòu)成,輸入層(Input Layer)、建模層(Modeling Layer)、輸出層(Output Layer)。輸入層中,給定一個(gè)長(zhǎng)度為J的自然語(yǔ)言問(wèn)題,首先把J個(gè)單詞表示成詞向量{qj},j=1,2,…,J。詞向量輸入建模層后,使用BiLSTM[24]進(jìn)行建模提取語(yǔ)義信息,得到正向的隱層狀態(tài)序列和反向的隱層狀態(tài)序列。
圖1 KR-BAT整體框架圖Fig.1 Overview of KR-BAT
圖2 主題實(shí)體預(yù)測(cè)模型Fig.2 Topic entity prediction model
正向隱層狀態(tài)可通過(guò)公式(1)~(5)得到:
其中,fj、ij和oj分別是LSTM遺忘門(mén)、輸入門(mén)和輸出門(mén)的激活向量,Wf、Wi、Wo、Wc與bf、bi、bo、bc分別為三個(gè)門(mén)控機(jī)制與記憶細(xì)胞的權(quán)重和偏置,cj是記憶細(xì)胞狀態(tài)向量,°是對(duì)應(yīng)元素乘積。正向和反向狀態(tài)拼接得到當(dāng)前詞的隱層狀態(tài):。輸出層中經(jīng)過(guò)全連接層,得到token的目標(biāo)向量rj,再對(duì)所有token的目標(biāo)向量求平均得到主題實(shí)體表示向量:
當(dāng)給定一個(gè)自然語(yǔ)言問(wèn)題作為輸入時(shí),TEP目標(biāo)并非判斷主題實(shí)體的位置,而是直接對(duì)主題實(shí)體的表示進(jìn)行預(yù)測(cè),使預(yù)測(cè)的表示盡可能接近該實(shí)體經(jīng)過(guò)知識(shí)表示學(xué)習(xí)得到的向量表示,注意這里是經(jīng)過(guò)知識(shí)表示學(xué)習(xí)的向量et,而非主題實(shí)體的詞向量qt。即使問(wèn)題中的主題實(shí)體是未登錄實(shí)體,TEP也能給出該主題實(shí)體經(jīng)過(guò)知識(shí)表示學(xué)習(xí)后的向量,通過(guò)主題實(shí)體預(yù)測(cè)模型引入知識(shí)表示學(xué)習(xí),得到包含知識(shí)圖譜中其他節(jié)點(diǎn)信息的主題實(shí)體表示,這時(shí)的實(shí)體表示是具有知識(shí)圖譜感知的主題實(shí)體(KG-aware Topic Entity)。
雙向注意力模型(BAT)為圖1中TEP模型右側(cè)部分,由四層組成:輸入層(Input Layer)、問(wèn)題嵌入層(Query Embedding Layer)、注意力層(Attention Layer)和輸出層(Output Layer)。
(1)輸入層。把一個(gè)長(zhǎng)度為J的自然語(yǔ)言問(wèn)題中的每個(gè)詞,映射到向量空間:{qj},j=1,2,…,J,qj∈?d。這里使用Manning等人[25]提出的GloVe預(yù)訓(xùn)練詞向量,GloVe是基于共現(xiàn)矩陣分解得到的表示,向量包含了全局信息。
(2)問(wèn)題嵌入層。使用一個(gè)BiLSTM對(duì)詞向量表示的問(wèn)題進(jìn)行建模,實(shí)現(xiàn)問(wèn)題內(nèi)部的信息傳遞,對(duì)BiLSTM正向和反向隱層表示進(jìn)行拼接,獲得隱層表示hj∈?2d,j=1,2,…,J。
(3)注意力層。TEP輸出預(yù)測(cè)的主題實(shí)體表示向量,與候選答案實(shí)體表示eai拼接:
首先計(jì)算Q和E的相似度矩陣S∈?T×J:
Sij表示第i個(gè)候選答案與問(wèn)題中第j個(gè)詞的相似度,Ei為E的第i個(gè)列向量,Qj為Q的第i個(gè)列向量,α是可訓(xùn)練的映射函數(shù),用于編碼輸入向量之間的相似度,本文使用的映射函數(shù)為:
其中w(S)∈?6d,為相似度矩陣S的權(quán)重向量。然后用相似度矩陣S得到行和列兩個(gè)方向的注意力。
①行注意力(Row-wise Attention,RA)。行注意力如圖3所示,針對(duì)相似度矩陣的每一行計(jì)算注意力:
圖3 行注意力Fig.3 Row-wise attention
ai∈?J表示問(wèn)題中哪個(gè)詞qj與每個(gè)答案實(shí)體ei最相關(guān),Si為相似度矩陣的第i行。則加權(quán)后問(wèn)題的每個(gè)單詞表示向量為:,加權(quán)后的整個(gè)問(wèn)題編碼矩陣為。
②列注意力(Column-wise Attention,CA)。列注意力如圖4所示,針對(duì)相似度矩陣的每一列計(jì)算注意力,先對(duì)相似度矩陣每一行求最大值,然后對(duì)列進(jìn)行歸一化得到:
b∈?T,maxrow表示對(duì)行求最大值,加權(quán)后的實(shí)體表示向量為,重復(fù)T次得到加權(quán)后整個(gè)實(shí)體編碼矩陣,。
圖4 列注意力Fig.4 Column-wise attention
得到兩個(gè)方向的問(wèn)題編碼和實(shí)體編碼之后,進(jìn)行拼接得到問(wèn)題感知的實(shí)體表示:
(4)輸出層:輸出層以問(wèn)題感知的實(shí)體表示{gi},i=1,2,…,T為輸入,輸出每個(gè)實(shí)體為答案的概率:
使用兩層全連接層和softmax函數(shù)得到每個(gè)候選答案實(shí)體的概率,概率最大的即為預(yù)測(cè)答案,其中Wfc為全連接層的權(quán)重。
本文使用開(kāi)放數(shù)據(jù)集MetaQA[26]進(jìn)行實(shí)驗(yàn),該數(shù)據(jù)集是WikiMovies的擴(kuò)展,包含用于單跳和多跳推理的40萬(wàn)多個(gè)問(wèn)題,數(shù)據(jù)分為1跳、2跳和3跳,具體數(shù)量如表1所示。此外,MetaQA還提供了一個(gè)知識(shí)圖譜,該知識(shí)圖譜包含13.5萬(wàn)條三元組、4.3萬(wàn)個(gè)實(shí)體以及9種關(guān)系。表2展示了MetaQA中三種跳數(shù)的問(wèn)題形式。
實(shí)驗(yàn)使用的操作系統(tǒng)為Ubuntu16.04,GPU使用顯存為32 GB的V100,開(kāi)發(fā)環(huán)境為Python3.7、Pytorch 1.7.1。
表1 MetaQA數(shù)據(jù)集Table 1 MetaQA dataset
表2 MetaQA數(shù)據(jù)集問(wèn)題(跳數(shù)示例)Table 2 MetaQA dataset questions(hop example)
兩個(gè)模型的具體參數(shù)設(shè)置如表3所示。其中預(yù)訓(xùn)練詞向量采用GloVe,知識(shí)表示方法采用TuckER[27]。
表3 模型參數(shù)設(shè)置Table 3 Model parameters setting
為了加快學(xué)習(xí)速度,防止過(guò)擬合以及模型不收斂等問(wèn)題,設(shè)置了EarlyStopping,其中Patience表示當(dāng)模型在指定數(shù)量的epoch內(nèi)沒(méi)有改進(jìn)時(shí),停止訓(xùn)練。
本文和以下幾種基準(zhǔn)模型進(jìn)行比較:
(1)Bordes等人[2]基于子圖嵌入表示提出的模型,學(xué)習(xí)單詞和知識(shí)庫(kù)子圖組成的低維向量,向量用于給自然語(yǔ)言問(wèn)題打分。
(2)VRN[26]:提出了一種端到端的變分學(xué)習(xí)算法,讓模型能夠處理問(wèn)題中的噪聲問(wèn)題,同時(shí)具有多跳推理能力。
(3)KV-MemNN[28]:提出了一種基于Key-Value Memory Network的模型,可以通過(guò)鍵-值對(duì)的形式編碼信息,并用于檢索。
(4)GraftNet[4]:引入了知識(shí)圖譜之外的非結(jié)構(gòu)化文本用于數(shù)據(jù)增強(qiáng),創(chuàng)建一個(gè)特定于問(wèn)題的子圖,該子圖包含文本語(yǔ)料庫(kù)中的KG實(shí)體、關(guān)系和句子,然后使用圖表示學(xué)習(xí)方法來(lái)回答問(wèn)題。
實(shí)驗(yàn)結(jié)果(hit@1)如表4所示,其中基準(zhǔn)模型的結(jié)果來(lái)自Zhang[26]和Saxena[23]。知識(shí)圖譜問(wèn)答與機(jī)器閱讀理解相比較為簡(jiǎn)單,因?yàn)閿?shù)據(jù)都有一定的結(jié)構(gòu)性并且答案一定存在于知識(shí)圖譜中,為了驗(yàn)證當(dāng)知識(shí)圖譜不完整時(shí)模型的性能,設(shè)計(jì)了50%KG,即以50%的概率隨機(jī)丟掉一條三元組。
表4 實(shí)驗(yàn)結(jié)果對(duì)比Table 4 Comparison of experimental results %
表5 不同模型結(jié)果對(duì)比Table 5 Comparison of results of different models %
對(duì)于完整的知識(shí)圖譜,KR-BAT達(dá)到了很有競(jìng)爭(zhēng)力的結(jié)果。當(dāng)問(wèn)題是1跳時(shí),五個(gè)模型的結(jié)果較為接近,KR-BAT排名第三,性能略低于VRN和GraftNet,這是因?yàn)?跳問(wèn)題為簡(jiǎn)單問(wèn)題,僅用一條三元組即可回答問(wèn)題,并不需要模型具有推理能力,而KR-BAT為了提高推理能力,聚焦于建模長(zhǎng)距離信息,包含了豐富的全局信息,損失了部分局部信息。當(dāng)問(wèn)題是2跳時(shí),KR-BAT性能排名第二,僅比GraftNet低0.9%,卻大幅度由于第三名VRN(4%),這是因?yàn)镚raftNet進(jìn)行了數(shù)據(jù)增強(qiáng)處理,引入文本數(shù)據(jù)來(lái)輔助問(wèn)答。當(dāng)問(wèn)題是3跳時(shí),KR-BAT性能優(yōu)于其他基準(zhǔn)模型,這說(shuō)明該模型具有優(yōu)異的推理能力,能夠很好地回答多跳問(wèn)題。
對(duì)于不完整的知識(shí)圖譜,KR-BAT在1跳、2跳和3跳問(wèn)題上均大幅優(yōu)于其他基準(zhǔn)模型。當(dāng)知識(shí)圖譜不完整時(shí),該任務(wù)對(duì)模型的鏈接預(yù)測(cè)能力要求很高,使用鏈接預(yù)測(cè)模型——TuckER來(lái)學(xué)習(xí)知識(shí)圖譜的知識(shí)表示,即使面對(duì)不完整的知識(shí)圖譜,也能通過(guò)模型進(jìn)行知識(shí)補(bǔ)全,并把知識(shí)編碼到知識(shí)表示中。此外,還對(duì)比了不同知識(shí)表示學(xué)習(xí)模型對(duì)KR-BAT在不完整知識(shí)圖譜上的性能影響,結(jié)果展示在表5中。
本文提出了一種融合知識(shí)表示學(xué)習(xí)的雙向注意力模型用于知識(shí)圖譜問(wèn)答,其核心包括:(1)主題實(shí)體預(yù)測(cè)模型,用于融合知識(shí)表示并且對(duì)自然語(yǔ)言問(wèn)題中的主題實(shí)體進(jìn)行預(yù)測(cè),有效解決了未登錄實(shí)體和知識(shí)圖譜不完整問(wèn)題。(2)雙向注意力模型,用于建模候選答案實(shí)體和問(wèn)題之間的關(guān)系,捕捉答案和問(wèn)題之間的信息,分析問(wèn)題中的哪些詞對(duì)于選擇答案最重要以及哪些候選答案和問(wèn)題相關(guān),進(jìn)行推理并選擇答案。在MetaQA數(shù)據(jù)集上驗(yàn)證模型并與基準(zhǔn)模型對(duì)比,在完整知識(shí)圖譜中模型達(dá)到非常有競(jìng)爭(zhēng)力的性能,在不完整知識(shí)圖譜中,模型性能大幅優(yōu)于其他基準(zhǔn)模型。
在未來(lái)的工作中,考慮提高模型的局部建模能力,以提高模型在簡(jiǎn)單問(wèn)題上的性能。此外,考慮將主題實(shí)體預(yù)測(cè)模型與雙向注意力模型結(jié)合為一個(gè)整體,構(gòu)建端到端模型聯(lián)合訓(xùn)練。