999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于全局覆蓋機制與表示學習的生成式知識問答技術

2022-11-08 01:48:12劉瓊昕王亞男龍航王佳升盧士帥
自動化學報 2022年10期
關鍵詞:模型

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

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

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

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

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

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

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

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

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

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

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

針對生成式問答模型中的陌生詞匯問題,本文利用知識表示學習方法生成的實體、關系向量代替基礎詞典中相應詞匯的詞向量,讓所有陌生詞匯有唯一的向量表征,提升模型匹配知識的能力.

本文運用知識推理補全知識庫中缺失的知識,模型可以提供給用戶推理出的答案,在構建的生成式知識問答系統基礎上通過數據共享的方式,對推理得到的知識進行模糊問答.

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

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

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

2)提出通過引入知識表示學習結果的方法緩解OOV 問題,提高模型答案的準確率;

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

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

1 相關工作

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

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

考慮到以往只對Decoder 端改進而忽略了句法特征,Xu等[15]把Graph2Seq 應用到KBQA 任務上.Graph2Seq 是一種用于圖到序列學習的新的基于注意力的神經網絡結構,對輸入圖進行編碼,從而通過編碼更多的句法信息,可以提高模型的魯棒性.

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

Bordes等[17]提出一種基于詞嵌入的問答系統,在記憶網絡框架下實現,并貢獻了一個KBQA 的數據集SimpleQuestions,相比較原始的WebQuestion 數據集,前者具有更大規模的樣本數據,而且每一個問題的答案只依賴于知識庫中的一個三元組.構建SimpleQuestions 數據集的初衷在于當前的KBQA 任務應該優先解決簡單問答任務,而不是直接去解決復雜依賴的問答任務.

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

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

Liu等[19]從數據入手,對CoreQA 模型進行改進,利用課程學習的思路讓模型先從標準易學的數據開始訓練,逐步加大樣本難度,讓模型更好地擬合數據.

2 生成式知識問答模型

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

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

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

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

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

3) 給定知識庫,或與主題詞相關的知識子圖,以及知識庫的表示學習結果.

2.1 詞典構成

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

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

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

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

2.2 表示學習向量

為進一步提升模型匹配知識的能力,本文利用知識表示學習方法PTransE[24]生成的實體、關系向量代替基礎詞典中相應詞匯的詞向量.

TransE[25]模型將實體和關系在低維的空間里進行表達,得到連續的向量,將兩個實體之間抽象的關系映射為兩個向量之間的轉換關系.TransE模型只考慮了實體之間的直接關系,PtransE 模型在其基礎上擴展,將多步關系路徑視為實體之間的連接.

PtransE 模型的優化目標函數主要分為兩個部分: 一部分是實體之間關系約束;另一部分是實體之間的路徑約束.

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

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

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

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

2.3 編碼器

2.4 解碼器

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

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

2.4.1 信息讀取

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

2.4.2 狀態更新

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

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

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

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

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

2.4.3 輸出預測

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

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

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

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

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

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

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

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

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

其中,ητcop是τ時刻模型對復制模式的關注度,即τ時刻復制模式的條件概率.

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

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

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

1) 生成模式

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

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

2) 復制模式

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

3) KB 查詢模式

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

2.5 模型優化

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

3 結合知識推理的模糊問答

本文使用表示學習方法PTransE 對知識庫建模,應用知識推理方法對知識庫進行補全,通過數據共享的方式使問答模型MCQA 具有模糊問答的能力.

3.1 知識推理

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

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

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

但是基于表示學習的推理方式不同于傳統的基于規則的推理機,推理的結果即使達到很高置信度,也是不確定的,或是由現有知識不能判定正誤,因此本文認為應當在知識庫補全的過程中區分原有知識和推理知識.

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

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

其中,r是r的向量表示,r′是r′的向量表示,通過上述方法對數據集中的推理關系初始化.

3.2 訓練數據

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

在數據預處理階段,通過遍歷找到實體與實體間可能存在路徑和路徑長度信息,將關系以及實體之間的路徑存儲進行訓練.

使用補全后的知識庫作為知識問答模塊的外部知識庫.由于加入了推理關系的概念,模型可以有效地區分出哪些知識是原始知識,哪些是推理知識,能夠對推理得到的知識進行模糊回答.

4 實驗結果與分析

4.1 實驗數據集

本文共使用3 個數據集: SimpleQuestion 單關系知識問答數據集、生日問答限定領域數據集和社區問答開放領域數據集,數據集詳細信息如表1 所示.

表1 問答數據集規模Table 1 The size of QA datasets

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

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

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

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

4.2 單關系知識庫問答任務

1)任務描述

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

實驗評判指標使用預測答案的準確率,即預測正確的測試樣本數除以總測試樣本數,準確率越高說明模型查找正確知識的能力越強.

2)實驗設置

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

3)結果分析

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

表2 SimpleQuestion 數據集實驗結果Table 2 The experimental results of SimpleQuestion datasets

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

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

4.3 限定領域知識問答任務

1)任務描述

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

2)實驗設置

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

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

3)結果分析

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

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

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

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

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

4.4 開放領域的社區問答任務

1)任務描述

在大規模社區問答數據上測試模型生成答案的質量和擬合大規模數據的能力.相比生日數據集該數據集涉及領域廣泛,具有更多種類的關系和大規模的實體,會產生更多的OOV 詞.該實驗同時體現了模型在互聯網應用的現實意義,如果模型可以生成正確的答案,而且答案表述與人類似,那么深度學習模型便可以代替人工回答部分簡單問題.

2)實驗設置

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

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

3)結果分析

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

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

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

圖5 社區問答樣例Fig.5 The sample outputsof community QA

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

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

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

4.5 模糊問答任務

1)任務描述

在知識問答模型MCQA 的基礎上應用PTransE方法,推理知識庫隱含的知識,對推理出的知識進行模糊回答,并保證模型在回答原有知識和現有知識的準確率,以及生成答案的質量.

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

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

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

2)實驗設置

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

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

3)結果分析

如表5 所示,模糊問答任務的知識推理結果,實驗統計了所有新主題詞出生年、月、日三個關系的準確率Py,Pm,Pd,推理的效果達到了準確率90%以上.

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

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

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

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

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

5 結束語

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

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

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 五月天综合婷婷| 亚洲男人的天堂在线观看| 欧洲欧美人成免费全部视频| 在线国产欧美| 一级毛片在线免费视频| 日本日韩欧美| 亚洲侵犯无码网址在线观看| 99久久精品国产麻豆婷婷| 久草视频精品| 国产免费久久精品99re丫丫一| 日韩午夜伦| 亚洲黄色成人| 久久久久亚洲精品成人网 | 97在线国产视频| 亚洲av成人无码网站在线观看| 91久久国产成人免费观看| 亚洲美女AV免费一区| 91色综合综合热五月激情| 久热re国产手机在线观看| 成人毛片在线播放| 日韩天堂网| 国产精品久久久精品三级| 欧美激情二区三区| 97久久超碰极品视觉盛宴| 色欲不卡无码一区二区| 国产成人高清亚洲一区久久| 日韩大片免费观看视频播放| 人妻无码中文字幕第一区| 久久久久久久97| 亚洲有无码中文网| 夜色爽爽影院18禁妓女影院| 国产欧美日韩精品第二区| 亚洲精品中文字幕午夜| 成人精品亚洲| 国产免费久久精品99re丫丫一| 国产导航在线| 99这里只有精品免费视频| 她的性爱视频| 亚洲第一成网站| 亚洲日本中文字幕天堂网| 日本高清免费不卡视频| 色婷婷在线播放| 亚洲成人一区在线| 亚洲精品人成网线在线 | 国产免费福利网站| 毛片久久久| 91精品伊人久久大香线蕉| 久草热视频在线| 青青操视频免费观看| 日本成人福利视频| 一区二区影院| 日韩高清欧美| 国产免费a级片| 在线看国产精品| 久久精品人人做人人爽97| 亚洲天堂成人在线观看| 国产久草视频| 无码一区二区三区视频在线播放| 久久夜色精品国产嚕嚕亚洲av| 国产99视频精品免费观看9e| 精品国产毛片| 国产日产欧美精品| 国产成人精品一区二区秒拍1o | 国产综合精品一区二区| 久草性视频| 日本a∨在线观看| 亚洲第一区精品日韩在线播放| 无码网站免费观看| 久久久久久久久18禁秘| 精品超清无码视频在线观看| www.日韩三级| 免费看一级毛片波多结衣| 日韩欧美国产中文| 国产主播一区二区三区| 熟妇人妻无乱码中文字幕真矢织江| 亚洲精品无码不卡在线播放| 国产免费一级精品视频| 国产第一色| 99精品影院| 超薄丝袜足j国产在线视频| 99尹人香蕉国产免费天天拍| 亚洲资源站av无码网址|