【ACL2020】最新效果顯著的關係抽取框架了解一下?

來自:AI自然語言處理與知識圖譜

效果顯著的關係抽取框架

導    語

從非結構化文本中抽取三元組是構建大規模知識圖譜的必備關鍵,然而現有的研究工作鮮有去解決三元組重疊的問題,針對此問題,本文從全新的視角提出一個新的關係抽取框架:CASREL,不同以往採用分類的視角解決問題,從實驗結果來看,框架非常有效,加上 BERT 之後,更爲驚人,在兩份數據集上面,分別提升 17% 和 32%。

    該論文目前在arxiv上面,已經被 ACL2020 接受

    文末附代碼 Github Repo。

背景與思路

    信息抽取是構建大規模知識圖譜的必備關鍵,先來說一下圖譜的三元組形式,在以往常常將三元組以 (head,relation, tail) 的形式表示,在這裏以(subject, relation, object)的形式表示,即(S, R,O),爲了方便描述,後文將以這種形式闡述。


    信息抽取分爲兩大部分,一部分是命名實體識別,識別出文本中的實體,另外就是關係抽取,對識別出來的實體構建對應的關係,兩者便是構建三元組的基本組成。在以往的研究工作中,早期兩個任務以pipline的方式進行,先做命名實體識別,然後做關係抽取。但是pipline的流程可能造成實體的識別錯誤,也就造成關係構建的錯誤,所以後續的一些研究工作將兩者採用聯合學習的方式。

    但是上述存在很少的研究工作解決三元組重疊的問題,本文以此爲解決目標,提出新的模型框架,首先來看一下三元組重疊的問題具體指什麼?看下圖,列舉了三種形式。

  1. Normal: 代表沒有重疊的部分。

  2. EPO(EntityPairOverlap): 關係兩端的實體都是一致的,例如 QT 既在電影 DU 中扮演角色,又是電影 DU 的執導。

  3. SEO(SingleEntityOverlap): 關係兩端只有單個實體共享,圖中的例子,從小範圍來說,JRB 出生在 Washington, 但是 Washington 是 USA 的首都,所以也可以說 JRB 出生在 USA。

    以往工作的不足以及重疊三元組出現的挑戰

  1. 在實體對的組合之中,大多數實體對是沒有關係鏈接的,這便存在很多的負例,也就造成了關係分類的不平衡。

  2. 重疊三元組的問題更是一個難點,因爲其存在共享的實體,甚至兩個實體存在多種關係,這便增加了難度,沒有足夠的訓練數據,是難以學習或者根本無法學習這種關係的。


    思想:採用全新的視角代替以往分類的視角,將關係建模爲 S 到 O 的映射函數。提出一個全新的框架:CASREL。

框架詳解

    CASREL框架抽取三元組(subject, relation, object)主要包含兩個步驟,三個部分。

    兩個步驟:

  1. 第一步要識別出句子中的 subject 。

  2. 第二部要根據識別出的 subject, 識別出所有有可能的 relation 以及對應的 object。

    三個部分:

  1. BERT-based encoder module: 可以替換爲不同的編碼框架,主要對句子中的詞進行編碼,論文最終以BERT爲主,效果很強。

  2. subject tagging module:目的是識別出句子中的 subject。

  3. relation-specific object tagging module:根據 subject,尋找可能的 relation 和 object。

  4. 其中 a 是 Encoder, b 和 c 稱爲 Cascade Decoder。

    框架圖:

    BERT Encoder

    這部分的就是對句子編碼,獲取每個詞的隱層表示,可以採用 BERT 的任意一層,另外這部分是可以替換的,例如用 LSTM 替換 BERT。

   
Subject Tagger
  
這部分的主要作用是對 BERT Encoder 獲取到的詞的隱層表示解碼,構建兩個二分類分類器預測 subject 的 start 和 end 索引位置,對每一個詞計算其作爲 start 和 end 的一個概率,並根據某個閾值,大於則標記爲1,否則標記爲0。公式如下:

    如框架圖中所示,Jackie 被標記爲 start,R 既不是 start 也不是 end, Brown 被標記爲 end,其他的類似。在這裏採用了最近匹配的原則,即與 jackie 最近的一個 end 詞是 Brown, 所以 Jackie R. Brown 被識別爲一個subject。文中並未考慮前面位置的情況。

    Relation-specific Object Taggers
    這部分會同時識別出 subject 的 relation 和相關的 object。
解碼的時候比 Subject Tagger 不僅僅考慮了 BERT 編碼的隱層向量, 還考慮了識別出來的 subject 特徵,即下圖。v
sub 代表 subject 特徵向量,若存在多個詞,將其取向量平均,hn 代表 BERT 編碼向量。


    對於識別出來的每一個 subject, 對應的每一種關係會解碼出其 object 的 start 和 end 索引位置,與  Subject Tagger 類似,公式如下:


    我們以圖中的例子詳細說明一下,圖中的例子僅僅畫出了第一個 subject 的過程,即 Jackie R. Brown,對於這個,在關係 Birth_place 中識別出了兩個 object,即 Washington United States Of America,而在其他的關係中未曾識別出相應的 object。當對 Washington 這個 subject 解碼時,僅僅在 Capital_of 的關係中識別出 對應的 object: United States Of America。

    以上我們便可以得到抽取到的三個三元組如下:

  1. (Jackie R. Brown, Birth_place, Washington)

  2. (Jackie R. Brown, Birth_place, United States Of America)

  3. (Washington, Capital_of, United States Of America)

    從以上抽取出來的三元組,確實解決了最開始提到的 SEO 和 EPO 的重疊問題。

    

實驗效果

     驗證CASREL框架效果採用的是兩個公開的數據集,NYT 和 WebNLG。

    具體的實驗效果如下,其中 CASREL 分別採用了 隨機初始化參數的BERT編碼端、 LSTM 編碼端以及預訓練 BERT 編碼端,實驗結果主要說明以下結論:

  1. CASREL 框架確實有效,三種編碼結構的效果都是要遠高於其他的模型性能。

  2. 採用預訓練 BERT 之後,CASREL 框架更是逆天。


結束語

        本文從全新的角度考慮三元組抽取工作,效果着實驚人,令人驚歎。不知道這樣的架構是否可以在業界應用,以及在中文上的效果如何?

論文代碼:https://github.com/weizhepei/CasRel

參考資料

  1. A Novel Cascade Binary Tagging Framework for Relational Triple Extraction

相關注明

上述圖片均來自於上述參考資料。


添加個人微信,備註:暱稱-學校(公司)-方向即可獲得

1. 快速學習深度學習五件套資料

2. 進入高手如雲DL&NLP交流羣

記得備註呦

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