?

一種新型高效的文庫知識圖譜實體關系抽取算法

2021-02-21 07:00胡代旺焦一源李雁妮
西安電子科技大學學報 2021年6期
關鍵詞:圖譜語句語義

胡代旺,焦一源,李雁妮

(西安電子科技大學 計算機科學與技術學院,陜西 西安 710071)

實體關系抽取旨在檢測/抽取給定語句中兩個實體間的語義關系。從非結構化的文本中進行實體關系的抽取以自動構建知識圖譜,是信息抽取的一個重要任務,也是自然語言處理中很多下游應用的重要基礎組件,例如智能問答和知識庫構建等。

隨著深度學習迅猛發展,近年來已產生了一些較好的深度實體關系抽取算法。ZENG等[1]采用卷積神經網絡通過捕獲每個單詞周圍的文本信息進行實體關系抽取,但是這種方法受限于卷積核的大小,難以獲取遠距離文本的信息。XU等與ZHOU等[2-3]借助長短記憶網絡(LSTM)來獲取句子語義信息,以實現實體關系的抽取。該算法在一定程度上緩解了卷積神經網絡的缺陷,但是仍然難以獲取長句子的全局文本語義信息。近些年,預訓練語言模型在自然語言處理的各個領域都取得了非凡的表現,例如:機器翻譯、語音處理、實體關系抽取等。DEVLIN等[4]提出的預訓練語言模型BERT在許多自然語言處理的任務中取得了不錯的結果。WU等[5]提出一種基于BERT新的實體關系抽取方法。該算法首先通過在語句中兩個實體前后插入不同的標志來標注實體的位置,然后使用BERT計算句子中兩個實體的上下文重表示,并使用兩個實體上下文重表示的拼接作為關系的隱狀態輸入到分類層。SOARES等[6]同樣采用BERT模型,在此基礎上測試了多種實體標注方式與輸出方式,進一步提出了一種使用大量無標簽數據訓練模型的方式。然而,BERT中參數數量過于龐大,訓練緩慢,且難以擴展,將上述基于BERT的上述方法稱為基于序列的方法。這類方法受到無結構文本的限制,且只能提取單個句子的局部語義信息,因此,其實體關系抽取的精度受限。

圖神經網絡[23]依據圖的鄰接關系提取信息,打破了無結構文本的限制,因此被廣泛地應用于實體關系抽取。其中最為常見的是基于語法依賴樹的實體關系抽取模型。MIWA等[7]提出了基于依賴關系樹的實體關系抽取模型,通過長短期記憶網絡依據依賴關系獲取更可靠的上下文表示。之后,ZHANG等[8]提出了一種剪枝策略,依據兩個實體之間的最短依賴路徑刪除依賴樹中不相干內容并篩選有效信息,同時采用了一種擴展的圖卷積神經網絡以提升計算效率。GUO等[9]和SUN等[10]都采用了軟剪枝策略,讓模型自動學習如何有選擇地關注對關系提取任務有用的相關子結構。為了避免域外解析器的錯誤傳播影響關系提取性能,JIN等[12]設計了一種完全依賴樹林,對所有可能的樹進行編碼。VEYSEH等[13]、GUO等[14]和VEYSEH等[15]通過隱含構建模擬語法依賴樹的方式,擺脫實體關系抽取模型對語法解析器的依賴。上述這些方法都針對于單個語句中僅包含一對實體的情況,沒有考慮同一個句子中多個實體或不同句子中實體之間的聯系。ZHU等[16]和CHRISTOPOULOU等[17]考慮了一個語句中包含多個實體的情況,分別設計了以句中實體為頂點的實體關系圖??紤]到一個實體在多個語句中出現的情況,ZHAO等[19]考慮整個文庫中所有實體對之間的聯系,建立了實體對圖。NAN等[18]針對文檔級別實體關系抽取問題,將文檔中出現的所有實體作為頂點建圖,在文檔的多個句子之內和之間進行信息整合。然而,上述方法沒有考慮關聯句子的相關程度,因此,不能對相關有關聯的句子中的信息進行篩選/提取,一定程度上阻礙了實體關系抽取的精度提升。

與這些僅利用大量數據進行訓練的方式不同,目前出現了一些工作開始在集成先驗知識輔助實體關系抽取的方向上進行探索。例如,ZHANG等[24]和PETERS等[25]提出了一種通用方法,將多個知識圖譜嵌入到大型模型中,利用大型文本語料庫和知識圖譜來訓練增強的語言表示模型,使得模型可以同時充分利用詞匯,句法和知識信息,然而知識表示過程與語言表示的預訓練過程完全不同,會出現異構信息融合的問題。ZHANG等[11]設計了一種二部圖記錄統計的實體對類型與關系類型之間的概率分布,然后將先驗概率分布作為知識與語句特征信息結合。但上述方法依賴預先標注的實體類型這一信息,這一條件通常在實際中難以滿足,因此,該類方法存在一定的局限性,難以實用。

綜上所述,現有實體關系抽取模型大多僅從包含一對實體的單個語句中挖掘信息,存在很大局限性;少數跨語句間獲取信息的工作并未對跨語句獲取信息進行篩選,會引入不相關信息;在引入外部知識方向進行探索的工作受困于異構信息融合的問題。此外,通過對實體關系抽取問題常用數據集觀察發現,數據集中混雜大量負樣本(類別標簽為無具體意義的”other”或者”no_relation”)。這些負樣本雜亂無章地分布在特征空間,嚴重影響實體關系抽取問題的精度?,F有實體關系抽取模型都未對這些負樣本做特殊處理,而是將其直接作為一個新類別。這種方式忽視了負樣本散布在空間中,無法聚簇的特征,不能有效避免負樣本的干擾,導致模型精度受限。

為了克服已有算法的缺陷,筆者首先設計了一種基于整個訓練文庫的語義關系圖,建立了文中所有語句中實體之間的關聯關系,在此基礎上,基于圖神經網絡及負樣本訓練,提出了一種新型高效的文庫知識圖譜的實體關系抽取算法(Entity Relation Extraction with Corpus Knowledge Graph,ERECKG)。主要工作可概括如下:

(1)基于訓練語料庫,構建了所有語句中相關實體間的語義關系圖,以此作為實體關系抽取的知識圖譜。提出了一種基于實體關系相似度的圖神經網絡結構,它可以從知識圖譜中挖掘與待抽取關系語句相關的知識。

(2)采用待抽取關系語句本身信息和與之相關的知識相結合的方式組成特征,同時引入了一種負樣本學習方法,以此拉開不同實體關系類樣本特征間的距離,并保持同類實體關系樣本特征緊湊。

(3)在此基礎上,提出了一種新的高效深度實體關系抽取算法ERECKG。并將該算法與當前最具代表性的深度實體關系算法在標準數據集上進行了廣泛的實驗,驗證了該算法的正確性與高效性。

1 新型高效的文庫知識圖譜的實體關系抽取算法——ERECKG

1.1 ERECKG模型概述

顯而易見,對一對實體語義關系的深入挖掘,會使得對這對實體之間的語義關系預測更加準確?,F有方法大多從包含實體對的單個句子中挖掘信息。對于給定的語料庫S中每個句子中的信息都只是該句子局部的信息,不利于精確的關系提取。為此,筆者設計了一種表示不同句子中實體之間關聯的語義實體圖作為知識圖譜積累從文庫中學習到的知識,然后將從知識圖譜中挖掘的相關知識與待抽取關系語句本身信息相結合組成特征,同時引入了一種負樣本學習方式,提高對負樣本的利用程度。筆者提出的模型由3部分組成:文本特征提取模塊、知識圖譜模塊和基于負樣本的分類器模塊。其網絡結構圖如圖1所示。

圖1 ERECKG深度網絡結構圖

1.2 ERECKG算法

1.2.1 文本特征提取模塊

眾所周知,高質量句子的深度重/隱表示對于實體關系抽取至關重要。研究發現:在諸多應用領域已取得巨大成功的預訓練語言模型ALBERT[20],由于其具有嵌入層參數分解和跨層參數共享兩種策略,當參數量較小時,可獲取強大的上下文語義表達能力,因此引入ALBERT作為文中算法的語句特征提取器。

對于一個關系陳述三元組Γ=〈s,ei,ej〉,首先在句子s的句首和句尾分別插入兩個標志符號“[CLS]”和“[SEP]”。然后在該句子中插入兩個標志符〈e1s〉和〈e1e〉以分別標記第一個實體ei開始和結束位置,以同樣的方式對語句中的第2個實體ej標記其開始與結束位置〈e2s〉和〈e2e〉。之后將該標記后的句子輸入到ALBERT中,以獲取該句子中每個單詞(token)的上下文重表示向量。

按照預訓練語言模型的慣例,用句首標志位”[CLS]”的上下文重表示向量作為句子語義的隱狀態向量hs,兩個實體提及包含單詞的上下文重表示的平均分別作為兩個實體的隱狀態向量hei和hej。句子語義的隱狀態向量和兩個實體的隱狀態向量都被輸入到知識圖譜模塊,用于構建和更新知識圖譜。此外,兩個實體的隱狀態向量還被用于組成從文本中挖掘的待抽取關系語句本身信息記為C??紤]到關系的有向性,抽取語句s中ei到ej的語義關系與抽取語句s中ej到ei的語義關系不同,即陳述Γ=〈s,ei,ej〉中的語義關系與陳述?!?〈s,ej,ei〉中的語義關系不同。文本信息C(Γ)與C(?!?如下所示:

C(Γ)=hei⊕hej,C(?!?=hej⊕hei。

(1)

1.2.2 知識圖譜模塊

為了獲取更豐富的關于一個句子中包含實體對的信息,采取了在文庫中跨語句獲取額外信息作為知識的方式,避免了異構信息融合。利用整個文庫S中包含的所有實體作為頂點,如果兩個實體出現在同一個語句中,則在這兩個實體頂點之間增加一條邊,考慮到兩個實體可能同時出現在多個語句中,兩個頂點之間可以有多條邊。按照這種方式,構建一張龐大的實體關系圖作為知識圖譜。對于一個實體頂點,直接利用圖神經網絡從該實體頂點的所有鄰居中公平的獲取信息無法篩選有效信息,即與當前待分類的語句相關性較高的信息。

如上所述,該問題面臨的主要難點在于如何從知識圖譜中挖掘與待抽取關系陳述相關性高的信息??紤]到如果兩個句子的語義越相似,則這兩個句子講述的內容越相關,于是引入了語義相似度用來評價兩個句子內容的相關性。當抽取一個句子中兩個實體之間的語義關系時,這個句子被稱為目標語句。對于其中一個實體,通過從文庫中其他包含該實體的語句中挖掘相關信息,豐富對該實體的認識。文庫中包含該實體的其他語句被稱為參考語句。在這個過程中,計算目標語句與每一條參考語句的語義相似度,用來評價參考語句與目標語句講述內容是否類似。通過將語義相似度作為從參考語句中獲取信息的權重,實現了對鄰居信息的篩選,防止不相關或相關性較低信息對關系抽取精度的影響。為了實現這一過程,需要記錄每一條句子的語義信息,于是筆者提出了一種新的語義關系圖——SRG(Semantic Relation Graph)。

不同于其它實體關系抽取方法,對于分類語料庫S中的每個關系陳述,僅考慮當前關系陳述中句子的局部信息。SRG將S中的所有關系陳述中的實體作為其頂點,以實體間的關系作為其邊。即:給定S中的一個關系陳述Γ=〈s,ei,ej〉,將在深度模型中獲得的實體ei和ej的隱狀態hei和hej記錄在對應頂點處,將句子s在神經網絡中獲得的語義信息隱狀態hs記錄在連接ei和ej的邊上。SRG示意圖如圖2所示。

圖2 ERECKG從所構建的實體語義關系圖(文庫知識圖譜)中挖掘相關知識示例

為了準確預測關系陳述Γ=〈s,ei,ej〉的關系類別標簽,基于SRG匯總關于兩個實體(ei,ej)的全局信息。為了在匯總信息的過程中有效篩選出相關性較高的信息,降低不相關或相關度較低信息對算法精度的影響,筆者設計了一種基于語義相似度的知識挖掘方法。即分析其他同樣包含ei或ej的句子語義,依據這些句子與當前句子s語義相似程度,為這些句子賦予不同的權重,從權重較高的句子中獲取更多的信息。具體如下,令N(ei)為ei在SRG中鄰居頂點集合;V((ei,ej))=N(ei)∪N(ej)-{ei,ej},為{ei,ej}這一對實體的鄰居頂點集合;Sij(ei,ej)為包含實體ei與ej的句子集合,即ei與ej之間的邊集;Ψ(ek,(ei,ej))=Sik(ei,ek)∪Sij(ei,ej),為包含實體對(ei,ek)或實體(ej,ek)的句子的集合,即一個實體與一對實體之間邊的集合。為了從知識圖譜中挖掘和關系陳述Γ=〈s,ei,ej〉相關的知識,考慮到計算復雜度,本文在知識挖掘過程中只涉及實體對(ei,ej)的直接鄰居V((ei,ej))。對于ek∈V((ei,ej)),計算ek和實體對(ei,ek)每一條邊s′∈Ψ(ek,(ei,ej))與s的語義相似度,作為ek與實體對(ei,ej)的相關度Sk,如下所示:

(2)

然后,加和所有的相似度作為實體ek與實體對(ei,ej)的相關度,即從ek獲取信息的權重αk,如下所示:

(3)

之后,筆者設計了一種基于語義相似度的圖神經網絡,根據式(3)獲得的語義相似度在SRG中挖掘與關系陳述Γ=〈s,ei,ej〉相關的知識K(Γ):

(4)

其中,W(·)是可學習的深度網絡權重矩陣,b是偏移。

例如,給定一個包含9個句子的文庫,其實體集合為{e1,…,e7},語句集合為{s1,…,s9},所構建的SRG如圖2右圖所示。當要預測一對實體間關系時,通過基于語義相似度的圖神經網絡從構建好的SRG中獲取全局信息。例如,當預測關系陳述Γ=〈s9,e1,e2〉時,文中為e1和e2分別聚集各自的鄰居信息。其中,N(e1)={e2,e3,e4,e5},N(e2)={e1,e5,e6,e7},V((e1,e2))={e3,e4,e5,e6,e7}。對于實體對(e1,e2)的鄰居集合中的每一個實體e∈V((e1,e2)),先計算其與實體對(e1,e2)的相關度,例如e5和e7,Ψ(e5,(e1,e2))={s3,s4},Ψ(e7,(e1,e2))={s6,s7},計算S5和S7如下所示:

S5=cos(s3,s9)+cos(s4,s9),S7=cos(s6,s9)+cos(s7,s9) 。

(5)

然后,計算獲取信息的權重αk如下所示:

(6)

根據αk從SRG中獲取相關信息并匯聚,得到關于關系陳述Γ的知識K(Γ):

K(Γ)=α3e3+α4e4+α5e5+α6e6+α7e7。

(7)

上述過程顯示,雖然文庫中所有實體構建了一張龐大的網絡結構圖,但當抽取一條語句中實體對之間語義關系時,計算只涉及到這兩個實體各自的鄰居,是一種局部小體量的計算,這保證了網絡模型的效率。此外,考慮到二階鄰居實體頂點包含信息與待分類關系實體對的相關性較低,不能有效提高實體關系抽取精度,甚至會導致無效信息損害精度,所以僅使用一層圖神經網絡,獲取與待分類關系實體對最相關的信息,豐富對待分類實體對的了解,提高關系抽取精度。

將關于關系陳述Γ的文本信息C(Γ)與關于Γ的知識K(Γ)拼接在一起作為關系陳述的Γ特征F(Γ),然后將F(Γ)輸入到基于負樣本的分類器模塊。F(Γ)的計算如下所示:

F(Γ)=C(Γ)⊕K(Γ) 。

(8)

1.2.3 基于負樣本的分類器模塊

筆者觀察到數據集中混雜大量負樣本。為了降低負樣本對模型的干擾,提升模型精度,擬引入一種負樣本已知的訓練方式。近些年,如何在訓練過程中使用數據集中的負樣本已經成了一個熱點的研究問題。HardNet[26]通過最大化批次中最接近的正樣本和最接近的負樣本之間的距離,提升精度。NAT[27]強制分類器在負樣本上為每個類別輸出相等的概率,避免將負樣本聚簇。FaceNet[28]提出了一種損失函數三元組損失的概念,最小化同類樣本特征間距離,最大化不同類樣本特征之間的距離。受FaceNet的啟發,引入了三元組負樣本損失函數。

基于負樣本的分類器模塊,將Γ特征F(Γ)作為輸入送入softmax分類器,輸出預測的Γ的標簽,其形式化如下所示:

p(y|Γ)=soft max(W(F(Γ))+b) ,

(9)

(10)

之后就可以根據預測結果計算分類損失。分類損失使用交叉熵損失函數如下所示:

(11)

此外,基于以三元組損失用于最小化同類樣本特征間的距離,最大化不同類樣本特征之間的距離,可以使得特征提取結果類內耦合,類間分散。令Γ為當前待抽取關系陳述,即錨點;Γp為正樣本,即與Γ相同類型的其他關系陳述,Γn為負樣本,即與Γ不同類型的其他關系陳述。三元組損失計算如下所示:

Ltriplet=max(d(Γ,Γp)-d(Γ,Γn)+m,0) ,

(12)

其中,d為距離函數,采用的是余弦相似度;m是一個參數,筆者取值0.5。

最終的損失函數由這兩部分之和組成:

L=Lclassify+Ltriplet。

(13)

式(13)的損失函數一方面直接關注分類精度,另一方面通過利用負樣本學習拉開不同類關系陳述特征之間的距離,間接地提升了模型的精度。

2 實驗結果及分析

2.1 實驗數據集

使用兩個標準數據集SemEval-2010 Task 8[21]和TACRED[22]以評價筆者提出的算法及基準算法的性能。

SemEval-2010 Task 8:包含9個語義關系類型和另一種人工關系類型Other。該關系不屬于這9個關系類型。9種關系類型分別是Cause-Effect,Component-Whole,Content-Container,Entity-Destination,Entity-Origin,Instrument-Agency,Member-Collection,Message-Topic和Product-Producer。該數據集中有10 717個句子,每個句子包含實體,以及句子中的對應關系類型。關系是有方向的,這意味著Component-Whole(e1,e2)與Component-Whole(e2,e1)不同。對于SemEval-2010 Task 8,使用宏平均F1分數,它被官方用作評估指標。

TACRED:是一個大規模的實體關系抽取數據集,有106 264個例子,來自每年TAC知識庫人口(TAC KBP)挑戰使用的語料庫,通過新聞通訊社和網絡文本構建。在TAC KBP挑戰中使用的TACRED 包含41關系類型的例子或者如果沒有定義的關系被標記為no_relation。這些例子是通過結合TAC KBP挑戰提供的人工注釋創建的。數據集已經被劃分為68 124個訓練實例、22 631個開發實例和15 509個測試實例。對于TACRED,使用微平均F1分數,這是在此數據集上使用的主要評估指標。

2.2 實驗環境

所有實驗都是在HP ProDesk 480 G1 MT Mini Tower(Intel(R)Xeon(R)Gold 5115 CPU,2.40 GHz,97 GB RAM和NVIDIA Tesla P40上進行的。本文的模型使用Python 3.6 和Pytorch 1.2實現和測試的。為了對特定關系提取任務微調ALBERT模型,并在訓練過程中避免過擬合,采用了dropout策略。針對兩種數據集SemEval-2010 Task 8和TACRED,在實驗中所設置的網絡超參分別為:初始權重是ALBERTxxlarge,學習率是2×10-5,語句最大長度是128,訓練次數是10次,Dropout率是0.1。

2.3 算法性能評價指標

遵循實體關系抽取這一任務中廣泛使用的衡量標準即F1得分,定義如下所示:

(14)

其中,P和R分別是精度和召回率。

2.4 實驗結果

為了有效評價文中算法的性能,選擇了幾個最具代表性的深度實體關系算法作為基準算法。它們是:C-GCN[8],R-BERT[5],BERTEM[6],AGGCN[9],LST-AGCN[10],Student-R[11],FORESTFT-DDCNN[12]和MVC[15];其中,BERTEM[6]和AGGCN[9]分別采用其論文中結果最好的變種MTB+ BERTEM和C-AGGCN。實驗中所采用的深度模型分別為CNN[1],Attention Bi-LSTM[3],PA-LSTM[22]。實驗結果如表1和表2所示。

表2 在TACRED上的實驗結果

表1和表2的實驗結果表明:(1)在數據集SemEval-2010 Task 8上,文中算法的F1性能優于現有最好算法MTB+ BERTEM[6],超出1.9%;與現有模型相比,本文最高超出5.7%;平均超出對比模型4.58%。(2)在數據集TACRED上,文中算法的F1性能優于現有最好算法MTB+ BERTEM[6],超出3.2%;與現有模型相比,文中算法最高超出9.6%;平均超出對比模型6.54%。(3)文中算法ERECKG在SemEval-2010 Task 8和TACRED的兩個基準測試中均優于所有代表性的基準算法,表明了筆者提出算法的正確性和有效性。

2.5 消融研究

本節驗證語義關系圖和基于語義相似度的圖神經網絡對于分類精度的貢獻程度。筆者設計了下面實驗。在數據集SemEval-2010 Task 8和TACRED上,測試以下4種模型方案的性能。

方案1 取關系陳述Γ的文本信息C(Γ)為特征,僅使用分類損失Lclassify;

方案2 取關系陳述Γ的文本信息C(Γ)與Γ的知識K(Γ)拼接作為Γ的特征,僅使用分類損失Lclassify;

方案3 取關系陳述Γ的文本信息C(Γ)為特征,使用分類損失Lclassify與三元組損失Ltriplet之和作為損失函數;

方案4 取關系陳述Γ的文本信息C(Γ)與關于Γ的知識K(Γ)拼接作為Γ的特征,使用分類損失Lclassify與三元組損失Ltriplet之和作為損失函數。實驗結果如表3所示:

表3 消融研究實驗結果

觀察表3中實驗結果可以得出以下結論:(1)相比第1種方案,第2種方案在兩個數據集上分別取得了優于第1種方案1.3%和2.1%的結果,這說明本文設計的知識圖譜模塊可以有效提高算法的分類精度;(2)第3種方案在兩個數據集上分別取得了優于第一種方案 0.7% 和1.6%的結果,這說明本文引入的三元組損失同樣可以提高算法的分類精度;(3)第4種方案在兩個數據集上分別取得了優于第2種方案 0.6% 和0.8%的結果,以及優于第3種方案1.2%和1.3%的結果,這說明筆者設計的知識圖譜模塊與引入的三元組損失兩者并不沖突,同時采用可以得到最高的算法精度。

3 結束語

針對已有深度實體關系抽取不能有效抽取實體間的語義關系,導致其算法精度較低的缺陷,筆者設計了一種新的語義關系圖作為知識圖譜和一種基于語義相似度的圖神經網絡;在此基礎上,引入負樣本學習及ALBERT預訓練語言模型,提出了一種新的高效的深度實體關系抽取算法ERECKG。大量的實驗結果表明筆者所提出算法的正確性與有效性。

猜你喜歡
圖譜語句語義
真實場景水下語義分割方法及數據集
基于圖對比注意力網絡的知識圖譜補全
圖表
主動對接你思維的知識圖譜
“吃+NP”的語義生成機制研究
漢語依憑介詞的語義范疇
基本算法語句
我喜歡
作文語句實錄
中國知名官方智庫圖譜
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合