?

聯合實體識別與關系預測的知識庫問答

2020-11-17 06:55劉月峰張晨榮
計算機工程與設計 2020年11期
關鍵詞:知識庫標簽實體

劉月峰,張晨榮

(內蒙古科技大學 信息工程學院,內蒙古 包頭 014010)

0 引 言

近年來,隨著知識庫的快速發展,基于知識庫的問答系統(question answering over knowledge bases,KB-QA)成為了自然語言處理(natural language processing,NLP)任務中研究熱點。Bordes等[1]提出一種單一事實的簡單問題的知識庫問答的數據集?;谥R庫的簡單問答任務一點也不簡單,研究人員通過采用復雜的神經網絡(neural networks,NN)結構[2-8](如注意力機制[2,4,7,8]、殘差學習[6]等)解決該問題,其準確率也未能達到理想效果。Ture等[9]并沒有采用復雜的NN結構,他們根據問句的語言結構將其分解成兩種機器學習子問題:實體識別和關系預測,并應用雙向門控循環單元(bi-gated recurrent units,BiGRUs)分別對實體識別和關系預測進行學習,相比之前的復雜的NN結構而言,他們的方法顯著提升了知識庫問答的準確率;Mohammed等[10]進一步探索了使用神經網絡或不使用神經網絡的基線模型。然而Ture等[9]和Mohammed等[10]通過將簡單知識庫問答任務分解為實體檢測和關系預測兩種不同的任務進行獨立訓練,忽略了問題中的實體和關系之間的聯系,降低了關系預測的準確度,從而降低了問答的準確率。針對以上問題,本文采用聯合訓練的方法,同時進行實體識別和關系預測的學習,使用多個級別(字符和詞級別)的文本特征作為聯合模型的輸入,引入雙向長短時記憶網絡(bi-direction long short-term memory,BiLSTM)進行問句的特征學習,隨后采用條件隨機場(condition random filed,CRF)進行實體識別,利用多維度特征(文本特征和問句的標簽嵌入(label embedding)特征)進行關系預測。相比獨立訓練的知識庫問答方法,本文模型提升了問答準確率,加快了訓練的效率。

1 簡單知識庫問答系統總體框架

簡單KB-QA任務的目標是給定一句自然語言問題Q,系統可以返回答案(subject、predicate、object)。本文提出的方案框架基本流程如圖1所示,該方案包含3個模塊:實體識別和關系預測的聯合訓練模型、實體鏈接、答案查找。本文首先利用多級別的文本信息作為聯合學習模型的輸入,即使用基于卷積神經網絡(convolutional neural network,CNN)的字符級別(Char-level)的表示與預訓練Glove詞嵌入[11]的表示進行拼接得到詞的最終表示,其次將詞的最終表示輸入聯合學習模型中,模型經過訓練之后同時識別實體和預測關系,最終以結構化的方式進行輸出,例如圖中“Where was Oliver duff born ”經過訓練之后輸出的結構化表示:{subtext:Oliver duff,relation:place_of_birth}。為了能夠將結構化表示中的實體(subtext)快速地鏈接到KBs最相關的真實節點中,我們引入倒排索引Ie,即將KBs中所有實體的所有n-grams(n∈{∞,3,2,1})映射為別名文本,且每一個n-gram都具有TF-IDF權值,然后將subtext的n-grams通過查詢Ie構建候選實體集C;對于答案的查找,我們在候選實體集上建立單跳路徑索引集合Ir,根據結構化文本中的關系(relation)匹配路徑索引Ir的路徑,若匹配相同,則TF-IDF得分最高的候選實體對應的尾實體即為問句中的答案。

圖1 基于聯合學習的簡單知識庫問答框架

1.1 聯合實體識別和關系預測的模型

本節我們將詳細介紹聯合實體識別和關系預測聯合學習的神經網絡模型。該模型能夠同時識別實體和預測問句所屬的關系,通過利用實體類型的標簽以及實體與關系之間的對應關系增強關系預測的性能,而且能夠同時進行兩項任務,得到最終結構化的表示?;镜哪P徒Y構如圖2所示,它包含:①輸入層(即嵌入層)、②BiLSTM層、③CRF層、④全連接層。圖2所展示的是SimpleQuestions數據集中一個案例。模型的輸入是tokens(即問句中單詞)序列,它們被表示成多級別向量(即詞級別的向量和字符級別的向量的組合),我們利用了多個維度的文本信息。BiLSTM層用來抽取相關文本的更復雜的表示。CRF層和全連接層能夠產生兩個任務的輸出,最終將輸出結構化表示的結果。

圖2 聯合實體識別和關系預測的模型

(1)輸入層(即嵌入層)

對于問句的表示,我們首先將問句進行預處理(包括大小寫字母轉換等),對于預處理過后的問句序列q=w1,…,wn的表示,我們采用分層的編碼方法,即利用問句中的每一個單詞的字符級別和詞級別的信息作為BiLSTM的輸入?;贑NN的字符級別的編碼器首先被用來得到每個單詞的表示,字符向量(嵌入)表示可以捕捉微觀形態特征,也可以避免(out of vocabulary)OOV問題。隨后我們使用預訓練的詞嵌入Glove[11]作為每個詞級別的向量表示,詞嵌入能夠捕捉宏觀信息。然后將字符嵌入和詞嵌入拼接在一起作為最終的單詞表示

R(Wi)=[CNNchar_level(c1,…,cj);WE(wi)]

(1)

其中,ci表示問句中的單詞wi的第i個字符的向量表示;WE(wi)表示問句中第i個單詞的詞嵌入。

(2)BiLSTM層

BiLSTM能夠很好地捕捉長序列依賴信息,訓練的過程中也能夠避免梯度消失和梯度爆炸,因此在這一部分使用兩層BiLSTM,得到句子級別的編碼。我們將最終的詞表示R(Wi)進行組合輸入BiLSTM中得到問句的表示

Q=BiLSTM(R(W1),…,R(Wn))

(2)

(3)

(3)CRF層

在CRF層我們將BiLSTM的輸出hi作為CRF層的輸入,CRF層能夠計算每個單詞最可能的實體標簽。圖2中CRF層中表示了分配給問句的標記的BIO編碼標簽的示例。在CRF層中,可以觀察到我們分別指定B-PER和 I-PER 標簽以表示實體“Oliver duff”的開始和內部標記。設詞向量為w,一系列得分向量s1(e),…,sn(e)和標簽預測向量y1(e),…,yn(e),其中上標(e)用來標記實體識別任務。線性鏈CRF的得分定義如下

(4)

(5)

ci=[hi;gi],i=0,…,n

(6)

(4)關系預測

對于關系預測我們利用問句的標簽特征以及BiLSTM所學習的特征進行拼接得到ci,作為關系預測的輸入,我們利用softmax計算每條問句所屬的關系。給定問題序列s和關系標簽集合R,我們的目標是識別該序列所屬的關系,計算序列s所屬關系rlabel得分公式為

s(r)(ci)=f(W(r)ci+b(r))

(7)

P(rlabel|si)=softmax(s(r)(ci))

(8)

如圖2所示,給定問句“Where was Oliver duff born”,我們可以通過聯合學習模型識別實體名稱:“Oliver duff”,關系預測的結果為“place of birth”。根據識別的實體和預測的關系形成結構化的表示:{subtext:Oliver duff,relation:place of birth}。雖然問句中的實體和關系已知,但是我們仍然需要進一步將實體鏈接到KBs中,利用鏈接到的實體和預測的關系進行答案查找。

1.2 實體鏈接

問句中識別的主題實體(subtext)需要精準地鏈接到知識庫(KBs)中的真實節點。為了實現這一點,我們采用類似Ture[9]的方法,構建了一個倒排索引Ie,它將KBs中所有實體名稱的n-grams(n∈{∞,3,2,1})映射成實體的別名文本,且每個別名文本都有一個相應的TF-IDF權重,同時為每個實體的稱名也建立具有TF-IDF的權重的索引。TF-IDF權重計算公式如下

(9)

其中,tfi,j表示詞頻,其中ni,j表示某個詞在某實體所有n-grams出現的次數,∑knk,j表示某個實體所有n-grams的總數,idfi,j表示逆文檔頻率,其中 |D| 表示KBs中所有實體的總數,|Dti| 表示包含某個n-gram的所有的實體個數。

一旦索引Ie被建立,我們可以鏈接subtext從結構化查詢(例如:“Oliver duff”)到KB中的目標實體(如ei)。從n=∞開始,我們迭代subtext的每個n-gram并查詢索引Ie,它返回KBs中所有具有TF-IDF權值的真實實體,對于subtext中不同n-gram鏈接到相同的實體,我們取n-grams 中TF-IDF權重最大的值。對于每個n-gram,將檢索到的實體添加到候選實體集合C中。我們繼續執行該過程,其中n的值逐漸減小(即n∈{∞,3,2,1})。如果集合C非空并且n小于或等于subtext中的單詞(tokens)個數,則提前終止迭代。后一個標準是避免我們找到完全匹配的情況,但也有部分匹配可能更相關。

1.3 答案查找

我們構建候選實體列表C之后,使用每個候選實體e(cd)作為候選答案的起始節點,構建e(cd)的路徑索引Ir,即映射每個候選節點e(cd)到所有可以到達的節點e(t),它們之間的路徑為p(e(cd),e(t)),最終Ir(e(cd)) 表示為

(10)

其中,上標(cd)表示候選實體,上標(t)表示尾實體。當前我們研究的是單一關系的問題,因此我們將路徑限制為單跳,但可以輕松地擴展到多跳路徑以支持更廣泛的搜索。我們使用Ir檢索所有可以從e(cd)到e(t)的尾節點,且路徑p與預測的關系r一致(即r∈p(e(cd),e(t))),最后將檢索到的所有Ir添加到候選答案集A中。為候選集合C中的每個實體的重復此過程之后,答案集合A中的候選實體的TF-IDF得分最高候選節點即為該問題的最佳實體節點,最佳節點的尾節點即為最佳答案。

2 實 驗

2.1 實驗數據

本文使用SimpleQuestions[1]數據集來評估本文方法的有效性。該數據集包含10萬條簡單問題,其劃分為訓練集、驗證集和測試集,分別包含75 910、10 845、21 687條數據。每個問題與Freebase知識庫中的一個三元組(subject、predicate、object)對應,三元組可以用來回答該問題,如問題“Where was Oliver duff born”對應的三元組(m/0gy03bh、people/person/place_of_birth、m/0ctw_b)。三元組中的subject和object給定的是一個MID值,但是實體識別方法并不能根據MID識別問題中的實體,本文使用Mohammed等[10]的已標注的實體和非實體文本,對于問句中實體的類型標注,我們根據Freebase三的實體類型(type)進行實體類型的標注。

2.2 實驗設置

我們的方法實現在操作系統為Centos7,運行在NVIDIA GeFore GTX 1080 Ti GPU,CUDA9.0,Pytorch版本v0.4.0,Python版本v3.6。本文利用CNN實現字符嵌入表示,使用BiLSTM實現問句特征的抽取,采用 Adam 算法進行參數更新。字符嵌入的維度為32,詞嵌入我們使用維度為300的預訓練的GloVe[11]嵌入;我們使用早停(early stop)技術在SimpleQuestions的驗證集上進行模型超參數的驗證。在最終的模型中,CNN模型的詞窗口設置為3,包含一個卷積層和一個max-pooling層,CNN的輸出通道維度為32。BiLSTM隱藏層和全連接隱藏層的大小為300;學習率為0.001;batch size設置為64,dropout都設置為0.3。根據數據集的大小,我們在30到100個周期(epochs)之后獲得最佳超參數。我們根據驗證集中的結果選擇最佳的周期(epoch)。

2.3 實驗結果與分析

對于實體識別,我們計算連續實體標簽的召回率(Recall)、準確率(Precision)、F1值作為評估標準。實體鏈接和關系預測,我們評估召回率R@N,即正確答案是否出現在前N個結果中。對于問答準確率的評估,我們遵循Bordes等[1]的方法,即如果實體和關系完全匹配數據集中問題對應的三元組,則將預測標記為正確,主要指標是準確率(Accuracy),相當于R@1。

我們在驗證集上與Mohammed等[10]的實體識別的結果進行了比較,相比他們得到平均93.1%的F1值,本文模型的F1平均值達到94.2%,稍微高于他們1.1%。為了展現本文實體鏈接的有效性,我們與Mohammed等采用BiLSTM和CRF這兩種不同的實體鏈接方法的結果進行了對比,并增加本文方法中不使用CRF層的消融研究,見表1。

表1 驗證集上Top K候選實體的召回率

表1中,我們比較了排名在前K(K∈1,5,20,50) 個候選實體上的召回率,相比Mohammed等[10]的方法,本文的模型在Top K上有顯著的提升,且在BiLSTM上添加CRF能有效改善實體鏈接的效果。在不添加CRF的實驗結果中,可以看出實體鏈接采用n-gram和TF-IDF建立倒排索引的方法具有更高召回率,同時也說明聯合訓練的方法對實體鏈接的影響較小。

關系預測的對比結果見表2,我們在驗證集上對比分析了先前工作中使用簡單神經網絡方法進行關系預測的結果,即Ture等[9]采用BiGRU方法以及Mohammed等[10]采用的兩種不同神經網絡(BiGRU和CNN)方法預測的結果,同時增加本文模型中是否添加標簽嵌入的消融實驗,以便驗證模型中標簽嵌入的有效性。從表2中的實驗結果可知,本文模型在關系預測的結果中體現了相對較高的準確率。當模型中不添加標簽嵌入特征時,關系預測的準確率比Mohammed等的稍低,說明本文的聯合學習模型對關系預測的準確率的影響可以忽略不計,當模型中添加該特征時,關系預測的準確率相比Mohammed等采用CNN的方法提升了1.6%。因此從標簽嵌入的消融實驗可以看出,標簽嵌入特征能夠有效提升關系預測的準確率。

表2 驗證集上關系預測的結果

最后,為了展示本文方法的有效性,我們在測試集上比較了當前各種端到端最優的問答系統。如Bordes等[1]提出一種記憶網絡方法;Golub和He[2]使用一種具有注意力機制的字符級別的encoder-decoder的LSTM框架;Dai等[3]

提出一種基于BiGRU的方法,它是利用一種稱為CFO的集中修正方法進行簡單問答;Yin等[4]利用一種基于attentive-CNN解決問答任務;Lukovnikov等[5]提出嵌套的詞級別和字符級別的問題編碼器并以一種端到端(end-to-end)的方法訓練神經網絡來回答簡單問題;Yu等[6]提出通過殘差BiLSTM增強關系預測解決知識庫問答任務;Ture等[9]所提方法到達了目前知識庫問答的最優方法,問答的準確率高達88.3%。Mohammed等[10]探索了各種強壯的基線模型,我們只比較了他們采用兩種不同神經網絡組合的方法,因為這兩種方法在基線方法中取得了相對較好的結果。

實驗結果表明,本文所采用的方法在知識庫問答任務上取得了相對有競爭力的結果,雖然未能超越目前最好的方法,但也驗證了本文方法的有效性,結果比較見表3。從表中結果可以看出,將Ture等的結果拋開不看,我們的實驗結果超過最近報告方法1.9%。相比Mohammed等采用分別訓練實體識別和關系預測的最好的神經網絡方法,我們的聯合學習方法的問答準確率超過他們4.7%。

表3 測試集上問答準確率

3 結束語

本文提出一種聯合實體識別和關系預測的簡單知識庫問答模型,實驗結果驗證了該模型的有效性,相比之前工作中獨立進行實體識別和關系預測的方法而言,本文模型能夠同時檢測這兩者,提升了訓練的效率,而且通過對比采用復雜神經網絡方法的結果,發現本文模型也具有一定的優越性。在消融實驗中,發現了CRF層和標簽嵌入特征對KB-QA任務的提升效果。雖然本文所提方法在簡單知識庫問答上效果有一定的提升,但是仍然還有改進的空間,如增加注意力機制,提高模型的性能。

猜你喜歡
知識庫標簽實體
前海自貿區:金融服務實體
基于TRIZ與知識庫的創新模型構建及在注塑機設計中的應用
無懼標簽 Alfa Romeo Giulia 200HP
不害怕撕掉標簽的人,都活出了真正的漂亮
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
兩會進行時:緊扣實體經濟“釘釘子”
振興實體經濟地方如何“釘釘子”
高速公路信息系統維護知識庫的建立和應用
基于Drupal發布學者知識庫關聯數據的研究
讓衣柜擺脫“雜亂無章”的標簽
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合