国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于全局覆蓋機(jī)制與表示學(xué)習(xí)的生成式知識問答技術(shù)

2022-11-08 01:48劉瓊昕王亞男龍航王佳升盧士帥
自動化學(xué)報 2022年10期
關(guān)鍵詞:三元組知識庫向量

劉瓊昕 王亞男 龍航 王佳升 盧士帥

對于用戶用自然語言提出的問題,知識問答系統(tǒng)(Knowledge base question answering,KBQA)通常提供短語和實體形式的精確答案[1].在現(xiàn)實環(huán)境中,人們希望答案能夠使用自然語言回答提出的問題,這需要答案用完整/部分自然語言句子而不是單個實體/短語表達(dá),系統(tǒng)不僅需要解析問題,還要從KB (Knowledge base)[2]檢索相關(guān)事實,生成一個適當(dāng)?shù)幕貜?fù).

生成式知識問答任務(wù)使用Seq2Seq[3]框架來實現(xiàn)使用自然語言回答提出的問題,不同于其他問答模型,生成式知識問答模型無需其他自然語言處理工具,可以在端到端的框架中同時實現(xiàn)分析問題,從知識庫檢索事實,并且生成正確、連貫以及自然的答案.

實現(xiàn)生成一句連貫的自然語言答案會面臨很多的挑戰(zhàn),比如詞典外詞匯(Out of vocabulary,OOV)問題: 由于模型詞典大小有限,在構(gòu)建詞典時,會忽略掉一些詞頻較低的詞匯,當(dāng)編碼器端輸入OOV詞時會用 “UNK (Unknown)”來代替,但這樣做很有可能導(dǎo)致輸出端也輸出 “UNK”,損失了原有的詞義信息.

文獻(xiàn)[4]提出CopyNet 復(fù)制網(wǎng)絡(luò),文獻(xiàn)[5]提出指針網(wǎng)絡(luò)來緩解OOV 問題,二者思路類似,即構(gòu)建一個由源端OOV 詞構(gòu)成的詞匯表,當(dāng)預(yù)測目標(biāo)端的詞時,會輸出源端詞表和現(xiàn)有詞表中的詞匯,減小 “UNK”詞出現(xiàn)的概率.文獻(xiàn)[6]結(jié)合了之前的生成式問答模型和CopyNet 網(wǎng)絡(luò),提出的Core-QA 模型在知識庫問答任務(wù)上能夠以自然的方式回答復(fù)雜問題.

盡管上述工作在生成式問答任務(wù)上有了很大進(jìn)展,但是仍存在以下不足:

1)生成式問答模型的模式混亂問題.模型可能會生成答案如Q: “魯迅的原名是什么”,A: “原名周樹人周樹人周樹人”的情況,詞匯重復(fù)降低了答案質(zhì)量.導(dǎo)致此類問題的原因是從問題端或知識庫復(fù)制詞匯到答案的過程中,注意力機(jī)制引發(fā)了各個模式的混亂,模型往往會陷入某種模式中無法跳出,導(dǎo)致答案的可讀性下降.

2)陌生詞匯問題.盡管引入CopyNet 能夠緩解從問題引入OOV 詞匯的問題,但是知識問答任務(wù)還需要引入外部的知識庫,模型通過問題識別出關(guān)系,拷貝知識庫對應(yīng)事實的尾實體填補(bǔ)到答案中.陌生關(guān)系被識別為OOV 詞,導(dǎo)致無法尋找到正確知識.

另外查詢到的知識還要指導(dǎo)基礎(chǔ)詞典中詞匯的生成.舉例如Q: “小明在哪個城市生活”,A: “他在北京生活”.知識庫中存在事實三元組(小明,性別,男),如果基礎(chǔ)詞典中沒有描述性別的詞匯,對于模型來說 “男”和“女”會被識別為?unk?,無法判斷是使用 “他”還是 “她”作為實體的代詞.構(gòu)成上述問題的主要原因是陌生詞匯用?unk?代替后向量表征不唯一.

3)當(dāng)用戶的問題在圖譜中沒有相關(guān)的知識作為支撐時,QA (Question answering)系統(tǒng)通常會答非所問,或者回答錯誤的答案.

針對模式混亂問題,本文通過全局覆蓋機(jī)制來控制3 個模式的切換,當(dāng)某個模式關(guān)注度足夠高的時候,提高其他模式的受關(guān)注的概率,控制模式間的切換.

針對生成式問答模型中的陌生詞匯問題,本文利用知識表示學(xué)習(xí)方法生成的實體、關(guān)系向量代替基礎(chǔ)詞典中相應(yīng)詞匯的詞向量,讓所有陌生詞匯有唯一的向量表征,提升模型匹配知識的能力.

本文運用知識推理補(bǔ)全知識庫中缺失的知識,模型可以提供給用戶推理出的答案,在構(gòu)建的生成式知識問答系統(tǒng)基礎(chǔ)上通過數(shù)據(jù)共享的方式,對推理得到的知識進(jìn)行模糊問答.

知識表示學(xué)習(xí)[7?8]是在知識圖譜的構(gòu)建和利用過程中,進(jìn)一步挖掘知識圖譜結(jié)構(gòu)信息的方法,處理的方式是將知識圖譜中的實體信息和關(guān)系信息映射到低維向量空間,每一個實體和關(guān)系都有其獨一無二的向量表征.類似于自然語言處理(Natural language processing,NLP)中的word2vec[9]技術(shù),準(zhǔn)確的知識向量表征能夠提升相關(guān)任務(wù)的效果.

綜上,本文提出一種基于表示學(xué)習(xí)與全局覆蓋機(jī)制的生成式問答模型(Multi coverage mechanism over question answering model,MCQA),能夠利用知識圖譜信息并使用自然語言回答用戶提出的問題.它具有以下貢獻(xiàn):

1)針對詞匯重復(fù)降低答案質(zhì)量的問題,提出使用全局覆蓋機(jī)制來減輕生成模型模式混亂;

2)提出通過引入知識表示學(xué)習(xí)結(jié)果的方法緩解OOV 問題,提高模型答案的準(zhǔn)確率;

3)提出一種知識推理和知識問答的結(jié)合方式,使模型具備模糊回答的能力;

4)本文在SimpleQuestion 單關(guān)系知識問答數(shù)據(jù)集、生日問答限定領(lǐng)域數(shù)據(jù)集和社區(qū)問答開放領(lǐng)域數(shù)據(jù)集上進(jìn)行實驗,實驗結(jié)果表明,與現(xiàn)有方法相比,本文所提出的模型可以更有效準(zhǔn)確地為知識查詢問題生成正確、連貫和自然的答案.結(jié)合知識推理方法,模型已經(jīng)初步具有分辨原始知識和推理知識的能力,并能對推理知識進(jìn)行模糊回答.

1 相關(guān)工作

基于知識圖譜的問答在自然語言領(lǐng)域擁有很長的歷史.早期的研究主要有3種方式: 基于語義分析建模的KBQA[10]、基于信息抽取建模的KBQA[11]以及基于向量建模的KBQA[12].這些傳統(tǒng)的KBQA方式有很多缺陷,如需要很多的先驗知識、模型復(fù)雜、模型不夠靈活等,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的KBQA 方法已成為研究的重點.

考慮到傳統(tǒng)語義解析與KB 結(jié)合不夠緊密,Yih等[13]提出了查詢圖的概念.該模型結(jié)合了傳統(tǒng)語義分析和深度學(xué)習(xí)的方法,語義分析為主導(dǎo),在獲取相應(yīng)答案Pattern 的步驟中,使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)選定推導(dǎo)鏈,獲得了比較顯著的成果.Sun等[14]提出的SPARQA(Skeleton-based semantic parsing for question answering)方法先解析出復(fù)雜問句的宏觀結(jié)構(gòu)(Skeleton),以句子級和單詞級進(jìn)行匹配,再做后續(xù)處理,取得了不錯的實驗效果.

考慮到以往只對Decoder 端改進(jìn)而忽略了句法特征,Xu等[15]把Graph2Seq 應(yīng)用到KBQA 任務(wù)上.Graph2Seq 是一種用于圖到序列學(xué)習(xí)的新的基于注意力的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),對輸入圖進(jìn)行編碼,從而通過編碼更多的句法信息,可以提高模型的魯棒性.

隨著深度學(xué)習(xí)的發(fā)展,出現(xiàn)了一種適用于KBQA任務(wù)的新型網(wǎng)絡(luò)模型記憶網(wǎng)絡(luò)(Memory network,MMN).以鍵值記憶網(wǎng)絡(luò)[16]為例,MMN 是一個長期記憶網(wǎng)絡(luò),可以儲存大量的先驗知識,可以利用提前構(gòu)建的知識庫提高對話的質(zhì)量.對于以知識圖譜為知識庫的QA 模型,鍵是三元組的頭實體和關(guān)系,鍵值是尾實體.模型通過倒排索引的方式從知識庫中檢索出主題詞相關(guān)的事實,通過問題的分布式表征和轉(zhuǎn)移矩陣得到查詢命令的向量表征,計算問題向量和每一個鍵值的相似度得分,并將相似度softmax 轉(zhuǎn)化為每一個鍵值的權(quán)重,讀取鍵值對應(yīng)的數(shù)據(jù)值,也就是問題的答案.

Bordes等[17]提出一種基于詞嵌入的問答系統(tǒng),在記憶網(wǎng)絡(luò)框架下實現(xiàn),并貢獻(xiàn)了一個KBQA 的數(shù)據(jù)集SimpleQuestions,相比較原始的WebQuestion 數(shù)據(jù)集,前者具有更大規(guī)模的樣本數(shù)據(jù),而且每一個問題的答案只依賴于知識庫中的一個三元組.構(gòu)建SimpleQuestions 數(shù)據(jù)集的初衷在于當(dāng)前的KBQA 任務(wù)應(yīng)該優(yōu)先解決簡單問答任務(wù),而不是直接去解決復(fù)雜依賴的問答任務(wù).

上述KBQA 模型答案反饋給用戶的都是簡單實體詞匯,為了賦予模型 “說話”的能力,生成式知識問答任務(wù)中使用深度學(xué)習(xí)中的Seq2Seq 框架.Seq2Seq 模型廣泛應(yīng)用于諸如機(jī)器翻譯、文本摘要、對話機(jī)器人等領(lǐng)域.在應(yīng)用Seq2Seq 模型的生成式對話中,詞典外詞匯(OOV)問題不可避免.為了緩解OOV 問題而提出了復(fù)制網(wǎng)絡(luò)(Copy net)[4]和指針網(wǎng)絡(luò)(Pointer net)[5],他們的基本想法都是當(dāng)預(yù)測目標(biāo)端詞匯時輸出源端詞表和現(xiàn)有詞表中的詞匯,減小 “UNK” 詞出現(xiàn)的概率.

Yin等[18]提出的GenQA 模型首先在生成式KBQA 任務(wù)上進(jìn)行了嘗試,將生成式問答模型與知識問答模型結(jié)合,在目標(biāo)端生成答案時,將知識庫的知識加入進(jìn)去.但是由于在計算問題與事實向量的相似度的時候使用了問題最終的編碼,忽略了問題的時序信息,導(dǎo)致模型不能處理需要結(jié)合多個事實進(jìn)行回答的情況.He等[6]提出了一個CoreQA 模型,進(jìn)一步結(jié)合GenQA和復(fù)制網(wǎng)絡(luò),將每一個問答對所依賴的知識增加到多個,進(jìn)一步改善模型生成答案的流暢性和準(zhǔn)確性,并貢獻(xiàn)了CoreQA 的數(shù)據(jù)集.

Liu等[19]從數(shù)據(jù)入手,對CoreQA 模型進(jìn)行改進(jìn),利用課程學(xué)習(xí)的思路讓模型先從標(biāo)準(zhǔn)易學(xué)的數(shù)據(jù)開始訓(xùn)練,逐步加大樣本難度,讓模型更好地擬合數(shù)據(jù).

2 生成式知識問答模型

本模型使用了Seq2Seq 框架,模型總體結(jié)構(gòu)如圖1 所示.模型通過編碼器解析問題,并通過查詢知識庫中的信息,使用解碼器生成答案.本節(jié)將對模型各個部分的原理和策略進(jìn)行詳細(xì)描述.

圖1 MCQA 模型圖Fig.1 The overall diagram of MCQA

智能問答是一個非常復(fù)雜的自然語言處理任務(wù),一個完整的智能問答系統(tǒng),首先要求要有完備的知識庫作為支撐,其次要求模型能從知識庫中找到正確答案,并使用完整流暢的一句話反饋給用戶[20?21],當(dāng)任務(wù)背景設(shè)置為聊天場景時,還需要模型具有多輪對話[22?23]的能力.所以本文限定部分情景設(shè)計相對完備的知識問答模型,限定場景如下:

1) 單輪生成式知識問答任務(wù),針對三元組尾實體進(jìn)行問詢.

2) 語料已經(jīng)通過命名實體識別、主題詞識別處理.

3) 給定知識庫,或與主題詞相關(guān)的知識子圖,以及知識庫的表示學(xué)習(xí)結(jié)果.

2.1 詞典構(gòu)成

MCQA 模型根據(jù)功能劃分為3 個部分: 生成模式、復(fù)制模式、知識庫查詢模式.如圖2 所示,3種模式有不同的詞典,生成模式的詞典是模型的基礎(chǔ)詞典V,V包含了訓(xùn)練集中高頻的詞匯、實體和關(guān)系.復(fù)制模式的詞典D是動態(tài)變化的,由每一次問答問題序列中所有的詞構(gòu)成.知識庫查詢模式的詞典KB同樣是動態(tài)的,包含每一次問答輸入到模型中知識子圖包含的實體.3 個詞典的交集部分V ∩D,V ∩KB,KB ∩D體現(xiàn)了3種模式的合作關(guān)系,非交集部分體現(xiàn)了3種模式的競爭關(guān)系.空白部分的UNK 是3 個詞典都不包括的陌生詞匯.

圖2 模型詞典示意圖Fig.2 The diagram of vocabulary

使用詞向量作為基礎(chǔ)語義單元的表達(dá)能力比使用字向量更強(qiáng),但使用字向量可以使模型 “理解”文本和知識庫的時候可以在字的層面上考慮字符的相似性,從而匹配可能性更高的知識.并且字向量可以讓所有陌生詞匯有唯一的向量表征,賦予了模型“理解”陌生詞匯的能力.所以本文使用字詞向量結(jié)合的方式.

對問題序列X=[x1,···,xLq],定義位置j的字詞向量為=[xj,uj],其中xj為序列位置j的詞向量,Lq為問題句子分詞后的詞數(shù)量.uj為位置j對應(yīng)的字向量.位置j的字向量表示為uj=[χ1,···,χLj],其中Lj為xj包含的字符數(shù).輸入中最長的問題序列長度為Lmax,每一個詞最大包含的字符數(shù)Lv.當(dāng)Lj

2.2 表示學(xué)習(xí)向量

為進(jìn)一步提升模型匹配知識的能力,本文利用知識表示學(xué)習(xí)方法PTransE[24]生成的實體、關(guān)系向量代替基礎(chǔ)詞典中相應(yīng)詞匯的詞向量.

TransE[25]模型將實體和關(guān)系在低維的空間里進(jìn)行表達(dá),得到連續(xù)的向量,將兩個實體之間抽象的關(guān)系映射為兩個向量之間的轉(zhuǎn)換關(guān)系.TransE模型只考慮了實體之間的直接關(guān)系,PtransE 模型在其基礎(chǔ)上擴(kuò)展,將多步關(guān)系路徑視為實體之間的連接.

PtransE 模型的優(yōu)化目標(biāo)函數(shù)主要分為兩個部分: 一部分是實體之間關(guān)系約束;另一部分是實體之間的路徑約束.

對于一個三元組 (h,r,t)(h,t∈E,E是實體集合,r∈R,R為關(guān)系集合),能量函數(shù)的定義如下:E(h,r,t)=||h+r ?t||,來確保r ≈t ?h成立.對于實體對 (h,t) 之間存在的路徑集合P(h,t)={p1,···,pN},關(guān)系路徑p=(r1,···,rl) 表示對路徑三元組 (h,p,t),能量函數(shù)定義如下:E(h,p,t)=||p ?(t ?h)||=||p ?r||=E(r,p).路徑p作為推理關(guān)系r的有效規(guī)則之一,需要保證能量函數(shù)E(r,p) 可以得到盡可能低的分?jǐn)?shù).PtransE模型目標(biāo)函數(shù)為

其中,L(h,r,t) 是對實體關(guān)系的約束,L(p,r) 是路徑關(guān)系約束.R(p|h,t) 表示對實體對 (h,t) 路徑p的置信度,PtransE 使用路徑約束資源分配(PCRA)算法來衡量R(p|h,t).L(h,r,t)和L(p,r) 使用Margin based 損失函數(shù),目標(biāo)函數(shù)進(jìn)一步表示為

其中,[a]+=max(0,a),γ是邊界參數(shù),S表示知識庫中的有效三元組,S?是負(fù)例,對有效三元組隨機(jī)替換其頭和尾,關(guān)系為:S?={(h′,r,t)}∪{(h,r′,t)}∪{(h,r,t′)}.

通過表示學(xué)習(xí)方法對知識庫建模,將知識庫中的實體、關(guān)系等語義單元表示為數(shù)值空間中的向量,向量中的每一維數(shù)值表示該語義單元在 某一語義維度上的投影.由于實體和關(guān)系的數(shù)值是根據(jù)整個知識庫得到,利用了整個知識庫的特性,從而包含更加全面的信息,讓模型中陌生詞匯有了唯一的向量表征,關(guān)系和實體向量有了更精確的語義表征.

2.3 編碼器

2.4 解碼器

如圖1 所示,模型使用單向循環(huán)生成網(wǎng)絡(luò)(Recurrent neural network,RNN)作為解碼器,輸出答案序列:Y=其中La為長度.模型結(jié)合了CopyNet 框架和外部知識庫,解碼器端按功能劃分為: 生成模式、復(fù)制模式和KB 查詢模式.復(fù)制模式負(fù)責(zé)將問題序列中的一些詞匯復(fù)制到答案序列中;KB 查詢模式負(fù)責(zé)查詢KB 中對應(yīng)的知識指導(dǎo)答案生成;生成模式負(fù)責(zé)生成連貫的自然語言串聯(lián)另外兩個部分.模型在解碼器端使用了全局覆蓋機(jī)制來平衡模型3 個模式的生成策略.

為進(jìn)一步描述解碼器,本文將其工作過程按先后分為3 個部分: 讀取信息(Read)、更新狀態(tài)(Update)和輸出預(yù)測(Predict),如圖3 所示.

2.4.1 信息讀取

Read 部分是模型獲取問題、知識庫信息的過程.在編碼器一節(jié)介紹了模型通過雙向RNN 獲取了問題的記憶模塊(Question memory)記為MQ,和知識庫的記憶模塊(KB memory)記為MKB.模型復(fù)制模式通過讀取MQ中的信息決定復(fù)制哪部分問題到答案中,模型的KB 查詢模式通過讀取MKB決定答案使用哪些事實作為知識依據(jù).

2.4.2 狀態(tài)更新

圖3 中的狀態(tài)更新(State update)單元內(nèi)部封裝了NMT (Neural machine translation)[27],NMT的隱狀態(tài)更新策略st=f(st?1,yt?1,ct),除了需要獲知t ?1 時刻解碼器的隱狀態(tài)st?1,使用注意力機(jī)制生成的在時刻t問題序列的上下文向量ct以及前一時刻的預(yù)測詞yt?1外,在此基礎(chǔ)上模型還需要獲取上一個時刻源端和知識庫的情況.

圖3 解碼器工作機(jī)制示意圖Fig.3 The diagram of working mechanism of decoder

通過式(5)得到問題的加權(quán)表征為

2.牛副流行性感冒。潛伏期為2~5 d,病牛為主要傳染源,病毒隨鼻分泌物排出,經(jīng)呼吸道感染健康牛而傳播。本病一年四季均會發(fā)生,但仍以冬天至春天較多。

通過式(7)得到知識庫的加權(quán)表征

2.4.3 輸出預(yù)測

MCQA 模型的目標(biāo)端輸出概率是由生成模式p(yt,g|·)、復(fù)制模式p(yt,c|·)、KB 查詢模式p(yt,kb|·)共同決定的,3 個部分之間既有合作也有競爭,得分最高的yt是模型t時刻的輸出,輸出的條件概率為

模型通過加入histq和histkb分別獲取解碼器在前t ?1 時刻對問題序列的歷史關(guān)注度總和以及對知識庫中事實的歷史關(guān)注度總和,通過這些歷史信息減小高關(guān)注度的部分受到的關(guān)注度,緩解Seq2Seq 模型中的過譯問題.

histq是Lq維的向量,向量每一維記錄問題序列每一個位置上的單詞到目前的關(guān)注累積.位置k詞匯的總關(guān)注度為

其中,ατk是τ時刻第k個單詞的關(guān)注度,即復(fù)制模式下對每一個輸出計算的得分.

histkb是Lkb維的向量,它是解碼器在前t ?1時刻對知識子圖每一條事實的歷史關(guān)注度總和,向量每一維記錄每一條事實到目前的關(guān)注累積.第k條知識的總關(guān)注度為

其中,βτk是τ時刻第k條知識的關(guān)注度,即KB 查詢模式下對知識子圖中每一條事實計算的得分.

histg是本模型加入的全局覆蓋機(jī)制.3 個模式在答案的生成過程中,應(yīng)該在總體上保持一種平衡.參考人類回答問題的過程,在簡單的單輪知識對話中,為保證答案的簡潔和有效,人類會拷貝問題中幾個關(guān)鍵詞語,會從知識儲備中選取 對應(yīng)的知識,然后用簡單的話串聯(lián)所有信息反饋回提問者,即很少出現(xiàn)答案序列一直在由某一種模式生成,所以模型需要一個變量來控制3 個模式的切 換,以選擇是從基礎(chǔ)詞表生成單詞,還是從輸入序列復(fù)制單詞,抑或是從知識庫中選擇事實構(gòu)成答案.當(dāng)某個模式關(guān)注度足夠高的時候,提高其他模式的受關(guān)注的概率.本模型通過histg實現(xiàn)3 個模式的切換.

histg是一個3 維的向量,它是解碼器在前t ?1時刻對3種模式的歷史關(guān)注度總和,向量每一維記錄每一種模式到目前的關(guān)注累積,每一維度分別表示為: 生成模式歷史關(guān)注度,復(fù)制模式歷史關(guān)注度,KB 查詢模式歷史關(guān)注度,計算方法為

其中,ητgen是τ時刻模型對生成模式的關(guān)注度,即τ時刻生成模式的條件概率.

其中,ητcop是τ時刻模型對復(fù)制模式的關(guān)注度,即τ時刻復(fù)制模式的條件概率.

其中,ητgen是τ時刻模型對KB 查詢模式的關(guān)注度,即τ時刻KB 檢索模式的條件概率.

模型利用式(14)計算全局平衡因子,利用t時刻的狀態(tài)st和全局覆蓋向量histg來生成平衡因子δ,拼接st和histg經(jīng)過參數(shù)為Wg的單層全連接網(wǎng)絡(luò)層,,通過softmax 函數(shù)最終生成的平衡因子是一個維度為3 的向量,向量的每一維依次代表: 生成模式、復(fù)制模式和KB 查詢模式的平衡系數(shù),用來平衡3 個模式的得分.

3 個模式通過全局覆蓋機(jī)制來平衡得到最終的得分.然后使用softmax 函數(shù)得到生成模式、復(fù)制模式、KB 查詢模式3 個部分的條件概率,在得分函數(shù)前乘上各自對應(yīng)的平衡因子.復(fù)制和KB 查詢兩種模式與生成模式稍有不同,以復(fù)制模式為例,同一個詞可能在問題序列中的不同位置出現(xiàn)多次,所以計算該詞時要綜合每個位置的得分.每個模式的條件概率分布計算方法為

1) 生成模式

此模式是解碼端的基本模式,用于生成基礎(chǔ)詞典中的詞.如式(18)所示,st通過張量Wgen得到詞典中每一個詞的得分,vi是vi的獨熱(one-hot)表示,通過點積獲取vi的得分.其中,dh,di和df分別表示RNN 隱藏層向量、輸入詞向量和知識庫事實向量的維數(shù).

在本模型中,st后拼接了和兩個向量,意義在于通過此時的問題的加權(quán)表征和知識庫的加權(quán)表征來指導(dǎo)生成模式的預(yù)測.例如知識庫中的知識為(A,性別,男),但模型在生成答案時需要的不是直接將性別屬性拷貝,而是需要用 “男”這條知識來指導(dǎo)生成模式生成 “他”這個人稱代詞,同理在問題序列中出現(xiàn)如 “中國”等國籍信息,模型需要將“中國”變換為 “中國人”.cqt和是模型使用Attention 機(jī)制在當(dāng)前時刻的選擇讀取,計算類似于

2) 復(fù)制模式

此模式負(fù)責(zé)將問題序列中部分詞匯原封不動地復(fù)制到答案序列,復(fù)制模式會構(gòu)建一個新的詞典,其中保存沒有在基礎(chǔ)詞典中出現(xiàn)的詞,模型會預(yù)測需要復(fù)制問題序列的第幾個詞.如式(19) 所示,xj是問題序列第j個詞,hj是xj的解碼器輸出,本模式將histq視為t時刻的解碼狀態(tài)的一部分,st和histq可以分別理解為t時刻模型的語義狀態(tài)和復(fù)制模式的歷史狀態(tài),所以將二者進(jìn)行拼接,通過張量Wc和tanh 激活函數(shù)計算與hj的相似度得分,越高預(yù)測輸出為xj的概率越大.

3) KB 查詢模式

此模式負(fù)責(zé)查詢知識庫,將最匹配的事實填入到答案中,本質(zhì)上是一個應(yīng)用于知識庫的CopyNet,該模式同樣會構(gòu)建一個詞典,其中保存知識庫中出現(xiàn)的OOV 詞,模型會預(yù)測需要復(fù)制知識庫中的第幾個三元組的尾實體.如式(20)所示,fk代表知識庫中第k個三元組的尾實體,fk是三元組的向量表征.st和histkb分別代表語義狀態(tài)和KB 查詢的歷史狀態(tài),除此之外本模型額外加入問題序列的整體表征q,直觀上可以理解為在知識庫的查詢過程中要同時把握局部和全局的問題語義信息,式(20)中將三者進(jìn)行拼接作為最終的狀態(tài)表征,通過張量Wkb和tanh 激活函數(shù)計算與fk的相似度得分,Wkb∈

2.5 模型優(yōu)化

本文提出的MCQA 模型使用端到端的反向傳播模式進(jìn)行優(yōu)化,給定一個Batch 大小為N的訓(xùn)練數(shù)據(jù): 問題集合{X}N、答案集合{Y}N和知識集合{Z}N.本文使用最大似然函數(shù)作為優(yōu)化目標(biāo),損失函數(shù)使用負(fù)對數(shù)似然函數(shù)如式(21)所示,使用梯度下降來優(yōu)化損失函數(shù).因為3種模式共享相同的softmax 分類器的預(yù)測目標(biāo)詞,所以它們可以通過最大化似然函數(shù)的方式來彼此協(xié)調(diào)學(xué)習(xí).

3 結(jié)合知識推理的模糊問答

本文使用表示學(xué)習(xí)方法PTransE 對知識庫建模,應(yīng)用知識推理方法對知識庫進(jìn)行補(bǔ)全,通過數(shù)據(jù)共享的方式使問答模型MCQA 具有模糊問答的能力.

3.1 知識推理

知識推理是知識庫補(bǔ)全的過程,在知識圖譜中直觀地表示為: 判斷兩個實體(結(jié)點)間是否可能存在著某種已知關(guān)系(邊),如果置信度達(dá)到一定閾值便可以在兩個實體間加入推理出的關(guān)系.

具體來說,使用PTransE 方法對知識庫建模后得到的實體和關(guān)系向量來完成知識庫補(bǔ)全任務(wù).已知三元組其中的兩部分,用來對第三部分進(jìn)行預(yù)測.對三元組 (h,r,t),定義如下打分函數(shù)來計算候選項的得分.函數(shù)定義為[24]

其中,G(h,r,t) 包含兩部分: 一部分是關(guān)系損失||h+r ?t||; 另一部分是路徑損失R(p|h,t)||p ?r||.綜合兩部分損失越低,該備選三元組越有可能成為最終預(yù)測結(jié)果.關(guān)系中的?1 代表逆關(guān)系,對三元組(h,r,t) 調(diào)換頭尾形成的三元組為 (h,r?1,t),關(guān)系r?1是關(guān)系r的逆關(guān)系.路徑p的可靠性與給定r的推理強(qiáng)度有關(guān),該強(qiáng)度可從訓(xùn)練數(shù)據(jù)中量化為Pr(r|P)=Pr(r,p)/Pr(p) . 最終得到G(h,r,t) 的計算式為

但是基于表示學(xué)習(xí)的推理方式不同于傳統(tǒng)的基于規(guī)則的推理機(jī),推理的結(jié)果即使達(dá)到很高置信度,也是不確定的,或是由現(xiàn)有知識不能判定正誤,因此本文認(rèn)為應(yīng)當(dāng)在知識庫補(bǔ)全的過程中區(qū)分原有知識和推理知識.

通過知識推理得出ei和ej之間存在關(guān)系r時(ei∈E,ej∈E),在關(guān)系r中加入模糊詞匯構(gòu)成推理關(guān)系r′,將推理知識 (ei,r′,ej) 加入知識庫.

在問答模型中,使用知識表示學(xué)習(xí)向量得到的關(guān)系向量r與推理關(guān)系r′是共享關(guān)系向量的,考慮兩個關(guān)系的異同,引入一個可訓(xùn)練的正則化偏置項b

其中,r是r的向量表示,r′是r′的向量表示,通過上述方法對數(shù)據(jù)集中的推理關(guān)系初始化.

3.2 訓(xùn)練數(shù)據(jù)

由于推理關(guān)系的不確定性,模糊回答需要在不確定的答句中適當(dāng)加入 “可能”、“應(yīng)該”等推斷詞.語料要求比較獨特,本文通過規(guī)則生成的方式在現(xiàn)有數(shù)據(jù)集的基礎(chǔ)上構(gòu)建新數(shù)據(jù)集.根據(jù)推理關(guān)系r′以及主題詞e,在現(xiàn)有數(shù)據(jù)集中尋找針對關(guān)系r問詢的問答對,替換問答對中的主題詞,以及答案中的尾實體信息,并通過句法分析工具解析句子成分,在特定部分加入推斷詞,并將生成的問答對以及三元組加入新構(gòu)建的數(shù)據(jù)集中.

在數(shù)據(jù)預(yù)處理階段,通過遍歷找到實體與實體間可能存在路徑和路徑長度信息,將關(guān)系以及實體之間的路徑存儲進(jìn)行訓(xùn)練.

使用補(bǔ)全后的知識庫作為知識問答模塊的外部知識庫.由于加入了推理關(guān)系的概念,模型可以有效地區(qū)分出哪些知識是原始知識,哪些是推理知識,能夠?qū)ν评淼玫降闹R進(jìn)行模糊回答.

4 實驗結(jié)果與分析

4.1 實驗數(shù)據(jù)集

本文共使用3 個數(shù)據(jù)集: SimpleQuestion 單關(guān)系知識問答數(shù)據(jù)集、生日問答限定領(lǐng)域數(shù)據(jù)集和社區(qū)問答開放領(lǐng)域數(shù)據(jù)集,數(shù)據(jù)集詳細(xì)信息如表1 所示.

表1 問答數(shù)據(jù)集規(guī)模Table 1 The size of QA datasets

1) SimpleQuestions 數(shù)據(jù)集: 經(jīng)典的KBQA 英文數(shù)據(jù)集,語料包括: 問題,答案所依賴的三元組.數(shù)據(jù)集是單一關(guān)系(Single relation)數(shù)據(jù)集,每一個問答對都只依賴于一個事實.數(shù)據(jù)集選自freebase,本文除該數(shù)據(jù)集以外使用FB5M和FB2M作為外部知識庫.數(shù)據(jù)集按照7 : 1 : 2 的比例劃分為訓(xùn)練集、驗證集和測試集.

2) 生日問答數(shù)據(jù)集: 中文限定領(lǐng)域的生成式KBQA 數(shù)據(jù)集,由CoreQA[6]提出,數(shù)據(jù)集是使用模板生成得生日的問答語料.數(shù)據(jù)集的答案依賴多條事實.數(shù)據(jù)集按照9 : 1 的比例劃分為訓(xùn)練集和測試集.

3) 社區(qū)問答數(shù)據(jù)集: 中文開放領(lǐng)域的生成式KBQA 數(shù)據(jù)集.由CoreQA[6]提出,數(shù)據(jù)集包含了多個中文問答社區(qū)的問答語料.語料包括: 問題、答案以及答案所依賴的多條事實,語料規(guī)模龐大且涉及領(lǐng)域廣闊.數(shù)據(jù)集按照9 : 1 的比例劃分為訓(xùn)練集和測試集.

在3 個數(shù)據(jù)集上對使用字詞向量的模型MCQA(WE,CE),將詞向量中的實體和關(guān)系向量替換為知識表示學(xué)習(xí)生成向量的模型MCQA (TE,CE)分別進(jìn)行了實驗.

4.2 單關(guān)系知識庫問答任務(wù)

1)任務(wù)描述

在單一關(guān)系的SimpleQuestions 數(shù)據(jù)集中測試模型查找正確知識的能力.任務(wù)要求模型在給定主題詞的情況下在知識庫中尋找答案,本質(zhì)上是在主題詞對應(yīng)的知識子圖中識別正確的關(guān)系.本文提出的模型是面向于生成式問答任務(wù)的,但同樣可以完成只返回正確實體的KBQA 任務(wù),之前很多學(xué)者提出的模型在此已經(jīng)達(dá)到了很好的效果.實驗證明,本文提出的模型獲得了優(yōu)于Baseline 以及多個近年提出的KBQA 模型.

實驗評判指標(biāo)使用預(yù)測答案的準(zhǔn)確率,即預(yù)測正確的測試樣本數(shù)除以總測試樣本數(shù),準(zhǔn)確率越高說明模型查找正確知識的能力越強(qiáng).

2)實驗設(shè)置

本文實驗在經(jīng)過實體鏈接[13,28]后的數(shù)據(jù)集上進(jìn)行,經(jīng)過統(tǒng)計,在FM5M 中SimpleQuestion 的主題詞的知識子圖規(guī)模集中在1 到50 條三元組,所以本次實驗知識庫最大長度Lkb設(shè)為50,不足50條的樣本隨機(jī)填入無關(guān)三元組或由UNK 組成的空三元組.為保證公平性與對比實驗保持一致,本文模型框架中RNN 網(wǎng)絡(luò)使用長短期記憶網(wǎng)絡(luò) (Long short-term memory,LSTM),隱藏層大小設(shè)置為256 維,詞向量維度為256 維,字向量維度設(shè)置為2 維,詞的最大長度Lc設(shè)置為8,Lkb設(shè)置為50,使用Adam 作為梯度下降策略.

3)結(jié)果分析

本文提出的MCQA 模型在SimpleQuestions數(shù)據(jù)集的表現(xiàn)如表2 所示,此次實驗使用文獻(xiàn)[13]中的雙向卷積神經(jīng)網(wǎng)絡(luò) (Bi-directional CNN,BiCNN)模型作為Baseline,AMPCNN (Attentive max-pooling CNN)[29]是加入字符向量和注意力機(jī)制的CNN 模型,文獻(xiàn)[30] 提出的HR-BiLSTM(Hierarchical residual bi-directional LSTM)模型在句子和關(guān)系兩個級別分析語義,準(zhǔn)確率達(dá)到了93%.

表2 SimpleQuestion 數(shù)據(jù)集實驗結(jié)果Table 2 The experimental results of SimpleQuestion datasets

MCQA(WE,CE)是本文使用了字詞向量的模型,可以看到準(zhǔn)確率達(dá)到了93.8%,超越了HRBiLSTM 模型,進(jìn)一步將詞向量中的實體和關(guān)系向量替換為知識表示學(xué)習(xí)生成的向量MCQA (TE,CE)模型,準(zhǔn)確率進(jìn)一步提高到94.3%.CoreQA與MCQA 模型同為生成式問答模型,可以看出,字詞向量和知識表示學(xué)習(xí)結(jié)果的加入明顯提升了MCQA模型在知識庫中查找正確知識的能力.

當(dāng)前在該數(shù)據(jù)集上表現(xiàn)最好的KBQA 模型是在2018 年提出的多任務(wù)學(xué)習(xí)的模型[31],達(dá)到了95.7%的準(zhǔn)確率,雖然本文提出的模型沒能超過該模型,但由于本模型是面向生成式KBQA 任務(wù)的,只需要驗證其具有查詢正確知識的能力即可.實驗證明,模型可以在提供的規(guī)模為50 條事實中選取出正確的事實,加入字詞向量和知識表示學(xué)習(xí)結(jié)果能進(jìn)一步提高模型效果,并能達(dá)到94%以上的準(zhǔn)確率.

4.3 限定領(lǐng)域知識問答任務(wù)

1)任務(wù)描述

在生日數(shù)據(jù)集上測試模型在限定領(lǐng)域中尋找正確知識的能力和生成答案的表述能力.生日數(shù)據(jù)集是模擬現(xiàn)實中人類對某人生日的問答來生成的數(shù)據(jù)集,本文通過對生成答案的年、月、日、性別的正確率進(jìn)行統(tǒng)計來驗證模型查詢知識庫的準(zhǔn)確率,使用正則表達(dá)式匹配的方式來判斷模型是否生成了流暢連貫的高質(zhì)量回答.

2)實驗設(shè)置

模型及相應(yīng)的對比實驗中所有的RNN 使用GRU (Gate recurrent unit)網(wǎng)絡(luò),隱藏層大小設(shè)置為500 維,詞向量維度為256 維,字向量維度設(shè)置為4 維,詞的最大長度Lc設(shè)置為8,Lkb設(shè)置為5,使用Adam 作為梯度下降策略.本次實驗使用了問答語料對和知識庫中的關(guān)系來生成基礎(chǔ)詞典.

本文通過正則表達(dá)式匹配的方法提取出測試答案的人稱代詞、年、月、日信息,準(zhǔn)確率分別表示為Pg,Py,Pm,Pd.為評判生成答案的語言表述能力,本文生成了18 個語法正則模板,評判標(biāo)準(zhǔn)Pr是符合模板規(guī)律的測試樣本數(shù)除以測試總樣本數(shù),Pr越高說明模型語言表述能力越強(qiáng).

3)結(jié)果分析

模型在生日數(shù)據(jù)集上表現(xiàn)如表3 所示,“—”代表該項沒有數(shù)據(jù)或正確率小于10%.前三組實驗的模型沒有知識庫參與,分別是基礎(chǔ)Seq2Seq 框架、神經(jīng)翻譯模型和復(fù)制網(wǎng)絡(luò)模型根據(jù)問答對語料進(jìn)行訓(xùn)練得到的結(jié)果,雖然模型沒有查找知識庫的能力,但是它們生成的答案的表述能力可以作為生成答案質(zhì)量的Baseline.

表3 生日數(shù)據(jù)集實驗結(jié)果 (%)Table 3 The experimental results of birthday datasets (%)

GenQA和CoreQA 是經(jīng)典的生成式KBQA模型,由于GenQA 原始模型是面向單個知識進(jìn)行回答的,所以我們將GenQA 模型稍作修改,使其可以根據(jù)多個知識回答問題,效果如GenQA (本文)所示.CoreQA 模型與本文的MCQA 模型類似,是結(jié)合了GenQA與復(fù)制網(wǎng)絡(luò)的模型,也是本文的主要對比實驗.

由于本文提出的MCQA 模型與CoreQA 模型相比加入了全局覆蓋向量記錄3 個模式的歷史關(guān)注度,防止出現(xiàn)某個模式訓(xùn)練過擬合而其他模式訓(xùn)練不充分的情況,當(dāng)某個模式關(guān)注度過高時提升其他模式的受關(guān)注概率,因此Pr一項提高了近4%,達(dá)到了遠(yuǎn)高于Baseline 的效果.

性別預(yù)測一項,由于實驗將預(yù)測出實體名稱視為預(yù)測正確,所以所有模型普遍準(zhǔn)確率較高,但是事實上為了檢驗?zāi)P吞幚碇R庫中OOV 詞的能力,實驗中所有模型的基礎(chǔ)詞典中我們故意忽略了“男”、“女”兩個詞,知識庫的性別信息無法識別,所有的對比模型包括MCQA 的性別預(yù)測基本等于隨機(jī).MCQA(WE,CE)加入了字詞向量表示,增強(qiáng)了模型的 “理解”能力,所以在性別預(yù)測一項的準(zhǔn)確率有大幅度的提升.在年月日三項的預(yù)測中,加入了字詞向量后的MCQA 進(jìn)一步得到了提升,因為關(guān)系詞匯中的 “年”、“月”、“日”等字符表征能夠匹配到問題序列中的相同字符,提高了模型的查詢能力.加入表示學(xué)習(xí)的實體關(guān)系向量后模型提升較小,是因為該數(shù)據(jù)集的知識圖譜比較稀疏,僅有5種關(guān)系,能夠通過表示學(xué)習(xí)得到的隱式信息有限.

4.4 開放領(lǐng)域的社區(qū)問答任務(wù)

1)任務(wù)描述

在大規(guī)模社區(qū)問答數(shù)據(jù)上測試模型生成答案的質(zhì)量和擬合大規(guī)模數(shù)據(jù)的能力.相比生日數(shù)據(jù)集該數(shù)據(jù)集涉及領(lǐng)域廣泛,具有更多種類的關(guān)系和大規(guī)模的實體,會產(chǎn)生更多的OOV 詞.該實驗同時體現(xiàn)了模型在互聯(lián)網(wǎng)應(yīng)用的現(xiàn)實意義,如果模型可以生成正確的答案,而且答案表述與人類似,那么深度學(xué)習(xí)模型便可以代替人工回答部分簡單問題.

2)實驗設(shè)置

模型及對比實驗中所有的RNN 使用GRU 網(wǎng)絡(luò),隱藏層大小設(shè)置為500 維,詞向量維度為256維,字向量維度設(shè)置為6 維,詞的最大長度Lc設(shè)置為8,Lkb設(shè)置為10,不足的部分使用無關(guān)三元組或空三元組補(bǔ)齊,使用Adam 作為梯度下降策略.問答對語料經(jīng)過命名實體識別處理,分詞工具使用jieba 分詞.

由于開放領(lǐng)域的社區(qū)問答生成的答案構(gòu)成比較復(fù)雜,沒有統(tǒng)一的計算模型效果的方法,所以本實驗結(jié)果采用人工檢驗的方式,每次隨機(jī)選取100 條來進(jìn)行檢驗,共檢驗3 次取平均值,從流暢性、一致性、正確性檢驗答案的質(zhì)量,分別統(tǒng)計符合3 個指標(biāo)的測試樣本數(shù)量除以總樣本數(shù)計算符合3 個指標(biāo)的得分概率,概率越高模型在該指標(biāo)上表現(xiàn)越好.流暢性是指答案是否符合句法語法結(jié)構(gòu),一致性是指答案是否與問題的方向保持一致,正確性指是否答案中包含正確的知識.需要注意的是數(shù)據(jù)集中會存在質(zhì)量很差的樣本如知識庫與問題無關(guān)等情況,所以在驗證時低質(zhì)量樣本不計入統(tǒng)計中.

3)結(jié)果分析

如表4 所示,實驗中CopyNet 模型是流暢性和一致性指標(biāo)的Baseline,GenQA 模型是所有3 個指標(biāo)的Baseline.由于實驗使用開放領(lǐng)域的社區(qū)問答語料,OOV 問題體現(xiàn)得更加明顯,在對比實驗生成的答案中出現(xiàn)了大量的?unk?詞匯.與對比實驗CoreQA 相比,模型在正確性、流暢性和一致性3個指標(biāo)上均超越了CoreQA.MCQA(WE,CE)加入字詞向量提升了模型 “理解”問題和知識庫的能力,模型能明確問題的方向并找到正確答案,在一致性和正確率方面有明顯提升,模型在加入知識表示學(xué)習(xí)結(jié)果后,緩解OOV 帶來的影響,讓陌生詞匯有了唯一表征,利用了整個知識庫的信息,在正確性上得到了進(jìn)一步提升.由于MCQA 的全局覆蓋機(jī)制,能夠平衡模型3 個模式的生成策略,使得語言邏輯更加清晰,語言流暢性更高,因此在流暢性指標(biāo)上較對比實驗有較大提升.

表4 社區(qū)問答實驗結(jié)果 (%)Table 4 The experimental results of community QA datasets (%)

在圖4和圖5 中我們列舉了一些實驗的例子,圖中預(yù)測答案里普通字體的部分由生成模式產(chǎn)生,下劃線部分由復(fù)制模式產(chǎn)生,加粗部分由KB 查詢模式產(chǎn)生,斜體部分是由KB 知識指導(dǎo)生成模式產(chǎn)生的詞匯.

圖5 社區(qū)問答樣例Fig.5 The sample outputsof community QA

在圖4 中,我們展示了MCQA與對比實驗CoreQA 生成的一些錯誤案例的對比.在問句1 中,對比實驗CoreQA 生成的答案多了一個 “的”,原因在于模型可能過擬合于一種語言模式.而MCQA 加入全局覆蓋機(jī)制后能夠平衡3種模式的生成策略,沒有出現(xiàn)這種情況.在問句2 中,對比實驗CoreQA 在答案中生成重復(fù)的事實,原因可能是模型過擬合于KB 查詢模式并且不同時刻事實 “周樹人”都有很高的關(guān)注度,在答案中連續(xù)生成多個相同的詞.在MCQA 中因為加入了全局覆蓋機(jī)制控制模式切換沒有出現(xiàn)這種錯誤.在問句3 中,對比實驗CoreQA 生成了無意義重復(fù)答案,可能因為模型沒有從知識庫中檢索出正確的知識,也可能因為模型陷入生成模式無法跳出.而MCQA 通過加入字詞向量和表示學(xué)習(xí)結(jié)果增強(qiáng)了模型的 “理解”能力,提高了模型檢索知識的準(zhǔn)確率,并且加入全局覆蓋機(jī)制控制模型在不同模式的切換,能夠?qū)Υ鸢干奢^完整流暢的正確句子.

圖4 MCQA (TE,CE)與CoreQA 答案對比樣例Fig.4 The comparison of MCQA (TE,CE) and CoreQA sample outputs

圖5 將MCQA 生成的答案和標(biāo)準(zhǔn)答案進(jìn)行比對,整體上答案的語義結(jié)構(gòu)比較清晰,也能較好地與問題的方向保持一致.但生成的答案中依舊存在待解決的問題,我們對錯誤案例進(jìn)行分析,如圖5的ID4 例子所示,結(jié)果不可避免地出現(xiàn)了?unk?單詞,也證明了本文提出的針對OOV 詞的解決方案,只能緩解OOV 詞為模型帶來的影響,而不能徹底解決OOV 問題.ID8 的答案沒有明顯問題,但結(jié)合知識庫看,知識庫只提供了(諸葛亮,別名,孔明)的知識,訓(xùn)練集中也沒有類似的訓(xùn)練數(shù)據(jù),因此在沒有知識指導(dǎo)的情況下,模型會通過學(xué)到的語言模型隨機(jī)生成答案.

4.5 模糊問答任務(wù)

1)任務(wù)描述

在知識問答模型MCQA 的基礎(chǔ)上應(yīng)用PTransE方法,推理知識庫隱含的知識,對推理出的知識進(jìn)行模糊回答,并保證模型在回答原有知識和現(xiàn)有知識的準(zhǔn)確率,以及生成答案的質(zhì)量.

數(shù)據(jù)集構(gòu)建: 任務(wù)使用生日數(shù)據(jù)集作為原始數(shù)據(jù),為構(gòu)建符合要求的新數(shù)據(jù)集,本文在知識庫原有的 “性別”、“出生年”、“出生月”、“出生日”的基礎(chǔ)上加入了 “同年生”、“同月生”、“同日生” 3個關(guān)系,重新生成40 000 個主題詞及其部分生日相關(guān)三元組,缺失的生日信息通過新加入的3 個關(guān)系對應(yīng)到原有知識中,例如新主題詞缺失 “出生日”的信息,通過 “同日生”關(guān)系將其聯(lián)系到原有知識中,最后使用模板對新加入主題詞生成問答對.

任務(wù)流程: 對新加入的主題詞的 “出生年”、“出生月”、“出生日”三種關(guān)系進(jìn)行推理,對應(yīng)的推理關(guān)系為 “推斷出生年”、“推斷出生月”、“推斷出生日”.將推理知識加入知識庫中,如圖6 所示,實體?Ent_111018?缺失 “出生年”知識,通過與?Ent_26747?實體 “同年生”的知識推理出可能的出生年為 “1978”,并將推理出的三元組(Ent_111 018,推斷出生年,1978)加入到知識庫中.重新劃分訓(xùn)練集和測試集,使用MCQA 模型進(jìn)行問答任務(wù).

圖6 知識補(bǔ)全示意圖Fig.6 The diagram of knowledge base completion

2)實驗設(shè)置

知識推理模型采用參數(shù)如下: 實驗使用2 步(2-step)的所有路徑作為特征路徑,梯度下降的學(xué)習(xí)率α、批量b、向量維度d、hinge 損失函數(shù)的γ、協(xié)調(diào)參數(shù)θ.實驗使用如下參數(shù)取值:α=0.001,b=100,d=100,γ=1,θ=1.7,訓(xùn)練迭代次數(shù)為200 次.

知識問答模型采用參數(shù)如下: 隱藏層大小設(shè)置為500 維,詞向量維度為256 維,字向量維度設(shè)置為4 維,詞的最大長度Lc設(shè)置為8,Lkb設(shè)置為10,使用Adam 作為梯度下降策略.

3)結(jié)果分析

如表5 所示,模糊問答任務(wù)的知識推理結(jié)果,實驗統(tǒng)計了所有新主題詞出生年、月、日三個關(guān)系的準(zhǔn)確率Py,Pm,Pd,推理的效果達(dá)到了準(zhǔn)確率90%以上.

表5 模糊問答推理結(jié)果 (%)Table 5 The prediction results of ambiguously QA (%)

如表6 所示,模糊問答的結(jié)果,F1t是評判模型是否能正確判斷,是否需要采用模糊回答的F1值,F1t達(dá)到了87.7%,說明MCQA 模型已經(jīng)初步具備了模糊回答的能力.Pg,Py,Pm,Pd統(tǒng)計了模型根據(jù)原始數(shù)據(jù)和推理數(shù)據(jù)回答的答案準(zhǔn)確率,也都達(dá)到了較好的效果.Pr也達(dá)到了一個較高的水平,意味著加入推理詞后答案依舊具有很好的可讀性.

表6 模糊問答結(jié)果 (%)Table 6 The results of ambiguously QA (%)

模糊回答舉例如圖7 所示,正確知識一列中普通字體的部分是知識庫中原有知識,斜體的部分是經(jīng)過知識推理后得到的推理知識,可以看到模型使用推理知識后會使用模糊回答的方式在答案適當(dāng)位置加入推斷詞,而只使用原有知識的答案中會直接給出肯定的答案.

圖7 模糊問答樣例Fig.7 The sample outputs of ambiguously QA

5 結(jié)束語

本文提出了一種基于表示學(xué)習(xí)與全局覆蓋機(jī)制的生成式知識問答模型,針對現(xiàn)有的生成式問答任務(wù)中遇到的OOV 問題,本文提出引入知識表示學(xué)習(xí)方法生成的實體、關(guān)系向量代替基礎(chǔ)詞典中相應(yīng)詞匯的詞向量,提高模型識別陌生詞匯的能力,提高模型準(zhǔn)確率.針對模型在使用3種預(yù)測模式聯(lián)合生成答案時模式混亂的問題,本文提出了全局覆蓋這一機(jī)制,提高模型的語義連貫性,減少由預(yù)測模式混亂導(dǎo)致的重復(fù)輸出的問題.另外本文還將知識表示學(xué)習(xí)結(jié)果應(yīng)用到問答模型中,使模型初步具有區(qū)分原始知識和推理知識的能力,能對推理知識進(jìn)行模糊回答.模型在多個數(shù)據(jù)集上的實驗都取得了很好的效果,表明模型能夠有效提高生成答案的準(zhǔn)確率和答案的語義流暢度.最后,知識推理和問答模型的結(jié)合使模型對推理知識的模糊回答取得了一定的效果.

未來我們將繼續(xù)研究將知識表示學(xué)習(xí)和生成式問答進(jìn)一步深入結(jié)合,在問答模型中嵌入知識推理模型,進(jìn)行多任務(wù)聯(lián)合學(xué)習(xí),改善學(xué)習(xí)性能.還會嘗試在問答模型的訓(xùn)練過程中加入課程學(xué)習(xí)的思想,先易后難的訓(xùn)練模型,使得含有噪聲的數(shù)據(jù)中所有有價值的信息都可以得到充分利用.

猜你喜歡
三元組知識庫向量
TransP:一種基于WordNet中PartOf關(guān)系的知識圖譜嵌入方法
向量的分解
時序知識圖譜的增量構(gòu)建
漢語近義詞辨析知識庫構(gòu)建研究
基于卷積神經(jīng)網(wǎng)絡(luò)的知識圖譜補(bǔ)全方法研究
聚焦“向量與三角”創(chuàng)新題
關(guān)于余撓三元組的periodic-模
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
機(jī)構(gòu)知識庫建設(shè)的動力研究
金寨县| 缙云县| 南木林县| 建阳市| 西昌市| 全州县| 临桂县| 卢龙县| 扎囊县| 南江县| 集贤县| 拉孜县| 调兵山市| 清苑县| 眉山市| 牡丹江市| 金堂县| 顺义区| 大新县| 舒兰市| 临清市| 盐源县| 韩城市| 焉耆| 赤峰市| 扶沟县| 祁东县| 册亨县| 武汉市| 嵊泗县| 孟州市| 临安市| 浑源县| 呼图壁县| 额敏县| 临沧市| 北流市| 西丰县| 特克斯县| 图们市| 子洲县|