選單

關係抽取調研——學術界

1。 任務

1。1。 任務定義

自動識別句子中實體之間具有的某種語義關係。根據參與實體的多少可以分為二元關係抽取(兩個實體)和多元關係抽取(三個及以上實體)。

透過關注兩個實體間的語義關係,可以得到(subject, relation, object)三元組,其中subject和object表示兩個實體,relation表示實體間的語義關係。

根據處理資料來源的不同,關係抽取可以分為以下三種:

面向結構化文字的關係抽取:包括表格文件、XML文件、資料庫資料等

面向非結構化文字的關係抽取:純文字

面向半結構化文字的關係抽取:介於結構化和非結構化之間

根據抽取文字的範圍不同,關係抽取可以分為以下兩種:

句子級關係抽取:從一個句子中判別兩個實體間是何種語義關係

語料(篇章)級關係抽取:不限定兩個目標實體所出現的上下文

根據所抽取領域的劃分,關係抽取又可以分為以下兩種:

限定域關係抽取:在一個或者多個限定的領域內對實體間的語義關係進行抽取,限定關係的類別,可看成是一個文字分類任務

開放域關係抽取:不限定關係的類別

限定域關係抽取方法:

基於模板的關係抽取方法:透過人工編輯或者學習得到的模板對文字中的實體關係進行抽取和判別,受限於模板的質量和覆蓋度,可擴張性不強

基於機器學習的關係抽取方法:將關係抽取看成是一個分類問題

1。2。 資料集

ACE 2005

資料集簡介:ACE2005語料庫是語言資料聯盟(LDC)釋出的由實體,關係和事件註釋組成的各種型別的資料,包括英語,阿拉伯語和中文培訓資料,目標是開發自動內容提取技術,支援以文字形式自動處理人類語言。ACE語料解決了五個子任務的識別:entities、values、temporal expressions、relations and events。這些任務要求系統處理文件中的語言資料,然後為每個文件輸出有關其中提到或討論的實體,值,時間表達式,關係和事件的資訊。

獲取方式:資料集收費,需在LDC聯盟的官網上註冊再購買,LDC賬號註冊地址 ACE 2005 下載地址

TACRED

資料集簡介:TACRED(TAC Relation Extraction Dataset)是一個擁有106264條例項的大規模關係抽取資料集,這些資料來自於每年的TAC KBP(TAC Knowledge Base Population)比賽使用的語料庫中的新聞專線和網路文字。包含了41關係型別,此外若句子無定義關係,被標註成no_relation型別。資料集的詳細介紹可以訪問TACRED文件

獲取方式:資料集收費,需在LDC聯盟官網註冊會員再購買 LDC賬號註冊地址 TACRED 下載地址

SemEval2010_task8

資料集簡介:對於給定了的句子和兩個做了標註的名詞,從給定的關係清單中選出最合適的關係。資料集一共9種關係類別數,此外包含一類Other關係,含有6674例項數量。

獲取方式: 原始資料

FewRel

資料集簡介:FewRel是目前最大規模的精標註關係抽取資料集,由孫茂松教授領導的清華大學自然語言處理實驗室釋出。一共100種關係類別數,含有70000例項數量。

獲取方式:FewRel 網站地址 論文地址

NYT10

NYT-10資料集文字來源於紐約時報,命名實體是透過 Stanford NER 工具並結合 Freebase 知識庫進行標註的。實體對之間的關係是連結Freebase知識庫中的關係,結合遠監督方法所得到。該資料集共含有53種關係型別,包括特殊關係型別NA,即頭尾實體無關係。

獲取方式:原始資料

獲取更多關係抽取資料集,可訪問此處Annotated-Semantic-Relationships-Datasets

1。3。 評測標準

二分類:

Accuracy = (預測正確的樣本數)/(總樣本數)=(TP+TN)/(TP+TN+FP+FN)

Precision = (預測為正例且正確預測的樣本數)/(所有預測為正例的樣本數) = TP/(TP+FP)

Recall = (預測為正例且正確預測的樣本數)/(所有真實情況為正例的樣本數) = TP/(TP+FN)

F1 = 2 * (Precision * Recall) / (Precision + Recall )

多分類:

Macro Average

多類別(N類) F1/P/R的計算,即計算N個類別的F1/P/R,每次計算以當前類別為正例,其他所有類別為負例,最終將各類別結果求和併除以類別數取平均。

Micro Average

統計當前類別的TP、TN、FP、FN數量,再將該四類樣本數各自求和作為新的TP、TN、FP、FN,計算F1/P/R公式同二分類。

P@N(最高置信度預測精度):

通常在遠監督關係抽取中使用到,由於知識庫所含關係例項的不完善,會出現高置信度包含關係例項的實體對被叛為負例,從而低估了系統正確率。此時可以採用人工評價,將預測結果中知識庫已包含的三元組移除,然後人工判斷抽取關係例項是否正確,按照top N的準確率對抽取效果進行評價。

2。 方法總結

2。1。 基於模式挖掘的方法

2。1。1。 基於模板匹配的方法

模板匹配:在關係分類中應用廣泛。對於給定實體對的一段文字,基於現有模板庫進行上下文匹配。若結果滿足模板對應關係類別,則將該關係類別作為實體對之間的關係。

常見的模板匹配方法主要包括:

人工模板:常見於判斷實體間存在的上下位關係。基本出發點是統計和總結關係模式,透過專家定義尋找關係在上下文中表達的字元,語法及語義特徵,將此作為模式與文字進行匹配,進行關係例項的獲取。

統計生成:無須人工構建,主要基於搜尋引擎進行統計模板抽取。具體地,將已知實體對作為查詢語句,抓取搜尋引擎返回的前n個結果文件並保留包含該實體對的句子集合,尋找包含實體對的最長字串作為統計模板,保留置信度較高的模板用於關係分類。

(Marti A。 Hearst 1992) [1]在該文中提出一種從不受限制的文字中自動獲得下位詞法關係的方法,用於提取分類關係is-a的例項:

示例:

句子中上下位關係,比如hyponym(China; Asia countries)。從下面兩個句子中都可以抽取出這種關係:

Asia countries, especially China, Japan, and India。。。

Asia countries, such as China, Japan, and India。。。

兩個實體之間的especially和such as可以看做這種關係的特徵。透過尋找更多表達這種關係的句子,構造規則模板,即可用於抽取構成上下位關係的實體,從而發現新的三元組。

總結:

優點:

該方法準確率較高。

從某種意義上說,這是一種假設的工作,Hearst文中沒有給出實驗結果,但它對追隨者影響很大,是之後Bootstraping方法的開篇之作。

缺點:

召回率較低,且關係類別有限,僅僅包含is-a的關係。

適用性有限,難以移植

2。1。2。 基於依存句法

基於NLP工具(常見的有Stanford CoreNLP、spaCy、LTP、HanLP等)獲取句子相關特徵,對處理結果一般進行如下處理:

輸入文字完成分詞、詞性標註、命名實體識別、依存分析等處理步驟。

基於語法規則抽取出相關語法資訊,如 “主謂賓”、“定狀補”等,從而得到句子中各成分之間的聯絡和關係。

利用各成分之間相互關聯關係總結出諸如定中關係,定語後置關係等抽取規則。

設定規則模板,並根據規則對抽取結果進行嚴格測試與調優。

總結

手寫規則的 優點 :

人工設定規則,準確率高(high-precision)

結合專家知識,進行特定領域定製

構建簡單,適合小規模關係類別資料

缺點:

規則總結無法窮盡,導致低召回率(low-recall)

所有關係類別須定義相關規則pattern,耗時耗力

難以維護及跨領域移植

2。2。 監督學習

2。2。1。 機器學習

2。2。1。1。 基於特徵向量的方法

基於特徵向量的方法是一種簡單且行之有效 的關係抽取運用。其主要思想為:給定關係句子例項,從上下文中提取出具有類間區分度的特徵(如詞法資訊,語法資訊等),構造形成多維度加權特徵向量,選取合適的分類器進行關係抽取模型訓練。

基於特徵向量的方法需要解決的三個基本問題:特徵項選取,特徵權重計算和分類器選擇。

特徵項。作為向量模型的骨架,它需要包含足夠的語義資訊來表徵自然文字,又需要在語義關係間具有良好的區分度。常見的特徵項有:詞法、實體、句法、語義及上下文結構化資訊等。

特徵權重計算。眾多候選特徵項,對最終關係分類的貢獻度不可能完全一樣,比如實體間語義關係往往比實體詞彙、句子長度等特徵更加重要。因此,需要進行特徵重要性權重計算。這裡提供兩種權重方法計算思路:一、公式計算權值並排序,如布林權重、特徵頻度[5]。二、基於最佳化演算法進行最優權向量搜尋[6]

分類器選取。特徵向量構造完畢後,下一步便是選取合適的分類器。下面介紹兩種具有代表性的分類器:

最大熵模型(Maximum Entropy Model)

Kambhatla 2004[2]基於文字中實體詞,實體型別,實體引用型別、語法以及句法樹在內的多種特徵,採用最大熵分類器,對不同特徵疊加後進行了實驗對比,並在ACE RDC2003語料的子類關係中獲得了52。8的F1值,表明多層面語言學特徵能有效提升關係分類模型的效果。

支援向量機(SVM)

Zhou et al。,2005[3]在Kambhatla前期基礎上,融入基本的片語塊資訊特徵組合,基於SVM獲得了55。5的F1效能,並得出實體類別特徵對於關係抽取結果提升最大的結論。Zhao et al。,2005[4]引用了文字特徵,語句解析和深層語法依存特徵等組合。Jiang et al。,2007[5]選取文字詞序列、句法、依存關係等特徵組合,以不同類別特徵對抽取結果貢獻度進行了評估,他們總結出在這些類別特徵中選取最基本的單位特徵便可以有效的提升關係抽取的效能,而過於複雜的特徵帶來的效能提升效果則一般。

小結:

基於特徵向量的方法是關係抽取中最常見的方法,特徵工程是該方法核心。研究者啟發式地以多層次語言特徵為切入點,並構造特徵向量,結合分類器訓練,可以取得不錯的效果。但該方法現如今難以尋找有效新特徵,效能提升較為有限。

2。2。1。2。 基於核函式的方法

針對特徵提取具有的侷限性,便有研究者另闢蹊徑,使用核函式的方法進行關係抽取。基於核函式的方法無需人為構造顯性特徵,而是以輸入文字例項的字串或者是句法分析樹結構作為輸入,透過計算任意兩個輸入物件間的核相似度函式來訓練分類模型。基於核函式的方法透過核函式對映綜合了更多方面的知識資訊,使實體間關係表示更加靈活。核函式型別眾多,有包含諸如多項式核函式,向量空間核函式,P-光譜核函式,全序列核函式等。基於核函式的方法靈活性較高,對於多個不同個體核函式可以進行復合,從而得到針對具體任務的核函式。

方法原理:在初始特徵空間下,核函式將該空間裡的資料點對映到一個新的特徵空間下,在該空間中訓練線性分類器。其本質是將句子潛在的隱式特徵向量投影到新的特徵空間,並透過計算投影的內積來表示輸入空間特徵向量的相似性,最終達到判定實體間關係類別相似性的效果。

基於核函式的方法抽取關係一般步驟:

針對句子中隱含的特徵資訊,選用合適的解析結構,如語法樹等進行語句剖析;

在此基礎上選擇合適的基礎核函式,計算解析結構中成分之間的相似性;

在基礎核函式之上,將多個核函式複合,以充分利用各種隱式特徵,提高分類精度。

淺層樹核(Zelenko,2003)[6]

依存樹核(Culotta et al。, 2004)[7]

最短依存樹核(Bunescu et al。, 2005)[8]

卷積樹核(Zhang et al。, 2006[9];Zhou et al。, 2007[10])

其他的還有諸如

constituent parse trees [Collins & Duffy, 2001]

string sequencies [Cancedda & al。, 2003]

directed acyclic graphs [Suzuki & al。, 2003]

dependency parse trees [Moschitti, 2006]

feature-enriched/semantic tree kernel [Plank & Moschitti,2013; Sun & Han, 2014]

小結:

基於核函式的方法可以規避構造基於向量方法中顯式特徵集合,且更能夠充分利用句子的長距離特徵。然而核方法將多個不同核函式符合後,雖然可以表達高緯度或無窮維度特徵空間,但也導致該方法學習和訓練速度 過程較為緩慢,對於大規模資料抽取場景耗費時空代價巨大。

二者比較

2。2。2。 深度學習

2。2。2。1。 Pipeline(管道式)

Pipeline方法先在句子中抽取實體、而後再抽取關係。即實體識別,關係分類被視為兩個獨立的部分,互不干涉,但關係的識別依賴於實體識別的效果。

2。2。2。2。 Joint(聯合抽取式)

現有聯合抽取模型總體上有兩大類:

1、共享引數聯合抽取模型

透過共享引數(共享輸入特徵或者內部隱層狀態)實現聯合,此種方法對子模型沒有限制,但是由於使用獨立的解碼演算法,導致實體模型和關係模型之間互動不強。

Miwa[11]等人針對上游任務實體識別抽取出的實體對,對當前句子所對應的依存句法樹上提取出能覆蓋實體對的最小依存樹,並基於TreeLSTM生成該子樹相對應的表示向量。最終,基於子樹根節點對應的TreeLSTM向量完成SoftMax關係分類。

Katiyar[12] 等人採取指標網路解碼,指標網路實際上有R層(R為關係總數)。對當前實體查詢在其位置前的所有實體(向前查詢),並計算注意力得分。

2、聯合解碼抽取模型

為了增強實體模型和關係模型之間的互動性,由此提出了複雜的聯合解碼方案,但需要對子模型特徵的豐富性以及聯合解碼的精確性之間做權衡:一方面如果設計精確的聯合解碼演算法,往往需要對模型特徵進行限制,例如用條件隨機場建模,使用維特比解碼演算法可以得到全域性最優解,但是往往需要限制特徵的階數。

另一方面如果使用近似解碼演算法,比如集束搜尋,在特徵方面可以抽取任意階的特徵,但是解碼得到的結果是不精確的。因此,需要讓演算法可以在不影響子模型特徵豐富性的條件下加強子模型之間的互動。

Zheng[13]等人對實體和關係標註框架進行了統一,直接以關係標籤進行實體的BIOES標註,但該方案未考慮關係重疊問題,比如一個實體存在多種關係的情況。Dai[14]等人針對一句話含有多種關係的場景,在含有n個token的句子中,準備n個不同標註框架。對於每個位置的token都進行一次可能的實體或關係型別標註,由此一個句子進行了n次重複編碼,複雜度高。

2。2。2。3。 遠監督學習

Distant Supervision提出主要基於假設:兩個實體如果在知識庫中存在某種關係,則包含該兩個實體的非結構化句子均能表示出這種關係。常用的做法是透過將知識庫與各非結構化文字對齊來自動構建大量訓練資料,減少模型對人工標註資料的依賴,增強模型跨領域適應能力。但該假設過於肯定,導致引入大量噪聲資料,且構造過程依賴於NER等工具,中間過程可能造成錯誤傳播問題。

針對這些問題,目前主要有四類方法:

(1)將先驗知識作為限制引入構造資料集的過程中。

(2)利用機率圖模型對資料樣例打分,將置信度較低的句子過濾。

(3)利用多示例學習進行包級別關係標註並融入句子級別的注意力機制對包內樣例賦予權值。

(4)基於強化學習。

(5)基於預訓練機制。

Zeng[15]等人針對資料標註錯誤和傳統統計模型特徵抽取出現的錯誤提出解決方案。在資料標註錯誤問題上,作者採用多示例學習的方式從訓練集中提取置信度高的訓練樣例訓練模型。在模型改進方面,作者提出 piece-wise 的卷積神經網路(PCNN)。先透過 word2vec 的 Skip-gram 模型將詞表示成向量形式,與位置特徵向量(句子中詞語與兩個實體的相對位置)進行拼接作為輸入,而後透過卷積層得到 feature map。在池化層中基於兩個實體位置將 feature map 分為三段進行池化,其目的是為了更好的捕獲兩個實體間的結構化資訊。最後,透過 softmax 層進行分類。

Lin[16]等人在Zeng[15]的基礎上,認為多示例學習雖然緩解了噪聲資料過多的問題,但每次只採用包中置信度最高的樣例作為該關係正例有可能損失其他句子重要資訊。在模型上,作者提出基於 attention 機制的卷積神經網路模型,由原先選取置信度最高的樣例改為對包中所有樣例賦予句子級別權重,最終各個樣例向量進行加權求和透過分類器得到關係分類結果。

Zhang[17] 基於Lin[8]的工作,對句子級別的注意力機制設計進行了改進,利用卷積神經網路捕獲實體描述特徵,用於提供更多的背景知識,最後透過計算實體間關係與句子間的相似度賦予句子不同的權重。

Feng[18]基於強化學習的CNN+RL模型主要構成包括樣例選擇器和關係分類器。其中樣例選擇器負責從樣例中獲取高質量的句子,採取強化學習方式在考慮當前句子的選擇狀態下選擇樣例;接著經過關係分類器向樣例選擇器反饋來改進選擇策略。該方法相較之前句子級別和Bag級別的關係分類模型取得更好效果。

Soares[19]首次在預訓練過程中引入關係分類目標,使用「BLANK」識別符號來替換實體mention。該方法將樣本中含有相同實體對的句子對視為正樣本,反之為負樣本。相較於傳統的遠端監督,該方法在訓練中未引入關係標籤,而是採用二元分類器對句子對之間進行相似度計算。結果顯示在FewRel資料集上,在未進行tuning就已經超過了有監督的關係抽取結果。

相關文獻

[1] Automatic Acquisition of Hyponyms From Large Text Corpora。

[2] Combining Lexical, Syntactic, and Semantic Features with Maximum Entropy Models for Information Extraction。

[3] Extracting Relations with Integrated Information Using Kernel Methods

[4] Exploring Various Knowledge in Relation Extraction

[5] A Systematic Exploration of the Feature Space for Relation Extraction

[6] Kernel Methods for Relation Extraction

[7] Dependency Tree Kernels for Relation Extraction

[8] A Shortest Path Dependency Kernel for Relation Extraction

[9] A Composite Kernel to Extract Relations between Entities with Both Flat and Structured Features

[10] Tree Kernel-Based Relation Extraction with Context-Sensitive Structured Parse Tree Information

[11] End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures。 ACL 2016:1105–1116

[12] Katiyar, et al。 Going out on a limb: Joint Extraction of Entity Mentions and Relations without Dependency Trees。 ACL 2017: 917-928

[13] Zheng, et al。 Joint extraction of entities and relations based on a novel tagging scheme。 ACL 2017: 1227-1236

[14] Dai,et al。 Joint Extraction of Entities and Overlapping Relations Using Position-Attentive Sequence Labeling。 AAAI 2019: 6300-6308

[15] Zen, et al。 Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks。 EMNLP 2015: 1753-1762

[16] Lin ,et al。 Neural Relation Extraction with Selective Attention over Instances。 ACL 2016:2124–2133

[17] Distant Supervision for Relation Extraction with Sentence-level Attention and Entity Descriptions

[18] Feng ,et al。 Reinforcement Learning for Relation Classification from Noisy Data。 AAAI 2018: 5779-5786

[19] Soared ,et al。 Matching the Blanks: Distributional Similarity for Relation Learning。 ACL 2019: 2895-2905

資料來源:北京市大資料科學與腦機智慧高精尖創新中心

https://github。com/BDBC-KG-NLP/IE-Survey