實體關係抽取任務方法及論文總結

1 實體關係抽取方法思路

實體關係抽取是從文本中的句子裏抽取出一對實體並給出實體間關係的任務。該任務的輸入是一句話,輸出是一個spo三元組(subject-predicate-object)。

對於實體關係抽取任務,最容易想到的方法就是先抽取句子中的實體,然後在對實體對進行關係分類,從而找出spo三元組,這種思想被稱作管道模型(Pipeline)。管道模型把實體關係抽取分成了兩個子任務,實體識別和關係分類,兩個子任務按照順序依次執行,它們之間沒有交互。在管道模型之後,可以同時進行實體識別和關係分類的聯合模型被提了出來,之後的實驗證明聯合模型由於實現了兩個子任務之間的信息交互,大大提升了實體關係抽取的效果,目前針對實體關係抽取任務的研究大多采用聯合模型。而聯合模型又可以細分爲基於參數共享的聯合模型和基於聯合解碼的聯合模型。

實體關係抽取的主要模型根據抽取思路的不同可以按下圖所示方式分類:

在這裏插入圖片描述

2 參數共享方法與聯合解碼方法

下圖是參數共享方法和聯合解碼方法的對比。使用參數共享的聯合模型和管道模型的結構是非常相似的,它們抽取spo三元組的過程都是分成多步完成的,主要的不同在於基於參數共享的聯合模型的loss是各個子過程的loss之和,在求梯度和反向更新參數時會更新整個模型所有子過程的參數,而管道模型各子過程之間則沒有聯繫。使用聯合解碼的聯合模型則更符合“聯合”的思想,主體,客體和關係類型是在同一個步驟中進行識別然後得出的。

在這裏插入圖片描述

2.1 使用參數共享的經典模型:

End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures

這篇論文是實體關係抽取領域內的一篇非常重要的論文,幾乎所有和實體關係抽取有關的綜述都會提到這篇論文,它是聯合模型的開山之作,被之後許多論文借鑑。

本文提出了一種聯合實體關係識別,基於參數共享的關係抽取模型,模型中有兩個雙向的LSTM-RNN,一個基於word sequence,主要用於實體檢測;一個基於Tree Structures ,主要用於關係抽取;後者堆在前者上,前者的輸出和隱含層作爲後者輸入的一部分。下圖爲整個模型的結構圖:

在這裏插入圖片描述

該文章提出的模型就是一種典型的基於參數共享的聯合模型,兩個雙向LSTM-RNN結構分別用於檢測實體和分類關係,它們是單獨訓練的,但是loss是加在一起同時進行反向傳播和更新的。

2.2 使用聯合解碼的經典模型:

Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme

該論文的主要工作是設計了一種特別的標籤類型,將實體識別和關係分類轉化爲序列標註問題;然後提出了一個端到端模型,通過編碼層對句子進行編碼,將隱藏層向量輸入解碼層然後直接得到spo三元組,沒有將抽取過程分爲實體識別和關係分類兩個子過程。

該論文提出的標記方法如下圖所示,在該方法中,共包含 3 種標註信息:

(1) 實體中詞的位置信息 { B,I,E,S,O } 分別表示{實體開始,實體內部,實體結束,單個實體,無關詞};

(2) 實體關係類型信息,需根據關係類型進行標記,分爲多個類別,如 { CF,CP,… } ;

(3) 實體角色信息 { 1,2 } 分別表示 { 實體 1,實體 2 }

在這裏插入圖片描述

該論文提出的端到端的神經網絡模型如下圖所示,對輸入的句子,首先,編碼層使用Bi-LSTM來進行編碼;之後,解碼層再使用 LSTMd( 作者提出的一種基於LSTM的改進型 ) 進行解碼;最終,輸出模型標註好的實體—關係三元組。

在這裏插入圖片描述

該論文提出的模型有一個明顯的不足就是不能識別重疊的實體關係,下圖表格展示了實體關係三元組的重疊類型,實體關係三元組根據重疊方式的不同可以分爲三類:沒有重疊的Normal類型,關係重疊的EPO類型,實體重疊的SEO類型。本文的模型由於標籤設計的原因,只能識別Normal類型的實體關係三元組。

在這裏插入圖片描述

2.3 參數共享方法和聯合解碼方法的優缺點對比:

參數共享 聯合解碼
優點 1.實體識別和關係分類過程不是同步的,所以後面步驟的訓練可以使用前面步驟的結果作爲特徵,2.靈活性更高,能夠更好的處理重疊實體關係重疊問題。 沒有明確的將抽取過程分爲多個步驟,真正實現了實體識別和關係分類的信息共享。
缺點 實體識別和關係分類仍然是兩個獨立的過程,沒有真正的“聯合”。 目前要實現聯合解碼一般需要設計複雜的標籤或者解碼過程,而且聯合解碼的方式對重疊的關係三元組的識別效果不是很好。

3 實體關係抽取解碼方式總結

常見的實體關係抽取的解碼層的解碼方式有三種,分別是基於序列標註,基於指針網絡和片段分類。

3.1 序列標註

基於序列標註的解碼方式通常會使用CRF作爲解碼器,使用結合BIO或者BIOES標籤的聯合標籤,每個token標記一個tag標籤。解碼層的任務就是確定每個token的tag,CRF能夠進行標籤約束,解碼效果比直接使用Softmax更好。

序列標註方法在命名實體識別任務中非常常用,但是在實體關係抽取任務中,序列標註有非常多的不足,很重要的一點是一個token只能有一個標籤,不能解決實體重疊問題。因此最新的論文基本都不再採用這種方法。

上文提到的論文Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme 中提出的模型使用的就是序列標註方法,該模型就無法解決實體重疊問題。

下圖中的句子使用了序列標註方法,採用BIO和實體類型聯合標籤,該方法只能確定“北京”這一個實體,而無法將另一個實體“北京德易東方轉化醫學研究中心”也一起表示出來。

在這裏插入圖片描述

3.2 指針網絡

序列標註方法只有一個標籤序列,不能解決實體重疊問題,基於指針網絡的解碼方法對此做了改進,使用多個標籤序列來表示一個句子,如下圖所示,該指針網絡採用了兩個標籤序列,一個表示實體的起始位置,另一個表示實體的結束位置。在解碼時使用Sigmoid代替Softmax,預測每個token對應的標籤是0還是1。由於指針網絡可以很好地解決實體重疊問題,所以在目前的實體關係抽取方法中被大量使用。雖然指針網絡是一個比較好的方案,但是在指針網絡的使用過程中很可能會遇到標籤不平衡問題,需要進行一些調參工作。

在這裏插入圖片描述

3.3 片段分類

片段分類方法和上述兩方法有較大的差異,片段分類方法找出所有可能的片段組合,然後針對每一個片段組合求其是否是實體的概率。如下圖所示,針對一個句子,片段排序方法從開始位置起依次選取一個token,兩個token……,組成實體可能的片段,然後求該片段是否是實體的概率。

如果文本過長,片段分類會產生大量的負樣本,在實際中需要限制span長度併合理削減負樣本。

在這裏插入圖片描述

3.4 不同解碼方式的優缺點對比:

序列標註 指針網絡 片段分類
優點 使用簡單,準確率高 能夠在解決實體重疊問題的同時保證較高的準確率 可以直接得到實體,不需要從標籤到實體的轉換過程
缺點 無法解決實體重疊問題 1.容易遇到標籤不平衡問題。2.在使用解碼層得到指針網絡的多個標籤序列之後還需要專門的程序根據指針網絡確定實體 文本過長時會大大增加計算量

4 實體關係抽取任務主要模型總結

4.1 SOTA模型(2020.6)

實體關係抽取任務SOTA排行榜上目前最佳的模型,這幾個模型分別在不同的數據集上達到了SOTA效果:

模型 ETL-span HBT SpERT DYGIE
模型結構 基於共享參數的聯合模型 基於共享參數的聯合模型
解碼方式 指針網絡 指針網絡
達到SOTA效果的數據集 NYT-single NYT,WebNLG CoNLL04 ACE04,ACE05
論文 Joint Extraction of Entities and Relations Based ona Novel Decomposition Strategy A Novel Hierarchical Binary Tagging Framework forJoint Extraction of Entities and Relations Span-based Joint Entity and Relation Extraction withTransformer Pre-training A General Framework for Information Extractionusing Dynamic Span Graphs

ETL-span

該模型的抽取方案借鑑了 seq2seq 的概率圖思路。在 seq2seq 解碼器的解碼過程是層次遞歸進行的的,其實際上是在建模
P(y1,y2,...,ynx)=P(y1x)P(y2x,y1)...P(ynx,y1,y2,,yn1) P(y_1,y_2,...,y_n|x)=P(y_1|x)P(y_2|x,y_1)...P(y_n|x,y_1,y_2,…,y_n-_1)
而對於信息抽取任務,三元組的抽取過程也能夠轉化爲上述層次遞歸的方式進行抽取,對於三元組 (s, o, p),其抽取過程可以建模爲:
P(s,p,o)=P(s)P(os)P(ps,o) P(s,p,o)=P(s)P(o|s)P(p|s,o)
即首先預測 s(主體),然後根據 s 來預測該 s 所對應的 o (客體)及 p(關係)。具體的抽取過程如下圖所示,抽取過程的開始首先預測出句子中所有的主體,Trump和Queens。然後把每一個主體作爲觸發詞,預測該主體對應的客體及關係。在訓練階段模型會從句子中隨機選取一個主體來訓練,通過多個epoch的訓練達到遍歷全部數據的目的。預測階段會逐一遍歷每一個主體,預測出每個主體對應的客體和關係。

在這裏插入圖片描述

由於抽取 主體以及抽取主體所對應的客體及關係的過程均是非唯一性的(存在實體及關係重疊問題),因此,作者採用了 MRC 中常用的指針網絡的抽取方法,即僅抽取答案的開始和結束位置,且把預測開始和結束位置的任務轉化爲了預測每一個位置是否爲開始位置或結束位置(將softmx換成sigmoid)。模型的整體結構如下圖所示:

在這裏插入圖片描述

整個模型可以分爲三大部分,第一部分Shared Encoder,是模型的編碼層,將輸入的每個字編碼爲字向量。第二部分HE Extractor使用Shared Encoder的結果抽取(s,o,p)三元組中的主體s,第三部分TER Extractor也使用Shared Encoder的結果作爲輸入,同時還要使用HE Extractor抽取出的s作爲觸發詞,抽取o和p。模型的loss是HE Extractor和TER Extractor兩部分的loss之和,通過共享參數的方式訓練。

HE Extractor和TER Extractor都使用了HBT結構來抽取結果(這裏的HBT結構和下文中提到的HBT模型之間沒有關係),這個HBT結構由兩個雙向LSTM組成,分別用來預測目標實體的開始位置和結束位置,預測結束位置的LSTM會使用預測開始位置的LSTM的結果作爲特徵,通過增加約束來避免不合理的預測結果,比如預測的結束位置在開始位置前面。

HBT

該模型的論文指出,當前處理關係重疊得方法存在一系列問題,大部分模型都是先抽取出實體對,然後將關係視爲要分配給實體對的離散標籤。 這種表述使關係分類成爲困難的機器學習問題。 例如,當在相同上下文中的同一實體參與多個(在某些情況下超過五個)有效關係(即重疊的三元組)時,分類器需要大量的監督學習才能確定上下文與關係的對應關係。

該模型設計了一種 Hierarchical Binary Tagging 的框架,這個框架將三元組的抽取任務建模爲三個級別的問題,從而能夠更好解決三元組重疊的問題。其核心觀點就是不再將關係抽取的過程看作實體對的離散標籤,而是將其看作兩個實體的映射關係,即f(s,o)−>r,整個三元組的過程可以概括爲:

  • 抽取三元組中的 subject

  • 針對每一個 fr(⋅),抽取其對應的 object

這種思想和上面的ETL-span模型的思想極爲相似,HBT模型也是先抽取出主體,然後使用主體作爲觸發詞來抽取主體對應的客體和關係。

在這裏插入圖片描述

模型的整體結構如上圖所示,主要包括如下幾個部分:

  • BERT Encoder:通過 BERT 得到每個詞的詞表徵,把BERT的輸出當作詞向量使用
  • Subject Tagger:該部分用於識別所有可能的subject對象。其通過對每一個位置的編碼結果用兩個分類器(全連接層)進行分類,來判斷其是否是實體的開始或結束位置,激活函數爲 sigmoid,計算公式如下:

pistart_s=σ(Wstartxi+bstart) p^{start\_s}_i=σ(W_{start}x_i+b_{start})

piend_s=σ(Wendxi+bend) p^{end\_s}_i=σ(W_{end}x_i+b_{end})

  • Relation-specific Object Taggers:針對每一個 subject,都需要對其進行之後的 object 進行預測。由圖中可知,其與 Subject Tagger 基本一致,主要區別在於每一個關係類別獨享一組 object 分類器,同時還要將subject作爲特徵和BERT詞向量拼接後作爲輸入,計算公式如下:
    pistart_o=σ(Wstartr(xi+vsubk)+bstartr) p^{start\_o}_i=σ(W^r_{start}(x_i+v^k_{sub})+b^r_{start})

    piend_o=σ(Wendr(xi+vsubk)+bendr) p^{end\_o}_i=σ(W^r_{end}(x_i+v^k_{sub})+b^r_{end})

4.2 其他經典模型

另外還有一些模型沒有達到SOTA效果,但是其思路非常值得借鑑

模型 DuIE_baseline multi-head+AT PASL Multi-turn QA
模型結構 基於聯合解碼的聯合模型 基於參數共享的聯合模型 基於聯合解碼的聯合模型 基於參數共享的聯合模型
解碼方式 指針網絡 序列標註 序列標註 指針網絡
論文 Joint entity recognition and relation extraction as amulti-head selection problem Joint Extraction of Entities and Overlapping Relations Using Position-Attentive Sequence Labeling Entity-Relation Extraction as Multi-turn Question Answering

DuIE_baseline

該模型是百度20年關係抽取比賽的baseline模型,採用了指針網絡,聯合解碼的方法,統一了實體識別和關係分類兩個過程。DuIE_baseline的結構很簡單,使用Ernie作爲編碼層,對字級別token進行編碼,解碼層是一個全連接層,以Ernie字向量作爲輸入,輸出一個多層label實現實體關係抽取。

該模型最大亮點是設計了一個簡單而有效的標註框架,該框架使用token level 的多label分類,即每一個token對應多個label。假設一共存在R個關係,那label一共有(2*R+2)層,如果是subject中的第一個token,則標記爲「B-S-關係名稱」;如果是object中的第一個token,則標記爲「B-O-關係名稱」;其餘的實體token標記爲「I」,不隸屬於實體的token標記爲「O」;

如下圖示例中的2個spo三元組,「王雪純-配音-晴雯」和「王雪純-配音-紅樓夢」,存在兩個關係「配音-人物」和「配音-作品」,對於subject「王雪純」,「王」是一個複合標籤,同時標記爲「B-S-配音-作品」和「B-S-配音-人物」;其餘的「雪」「純」用「I」來標註;對於object「紅樓夢」,「紅」標註爲「B-O-配音-作品」;其餘的「樓」「夢」用「I」來標註;對於object「晴雯」,「晴」標註爲「B-O-配音-人物」;其餘的「雯」用「I」來標註。

在這裏插入圖片描述

Multi-turn QA

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章