1. 程式人生 > 其它 >筆記:A Novel Cascade Binary Tagging Framework for Relational Triple Extraction

筆記:A Novel Cascade Binary Tagging Framework for Relational Triple Extraction

A Novel Cascade Binary Tagging Framework for Relational Triple Extraction

作者:Zhepei Wei et al., 2020 ACL.

目錄

  • 簡介
  • 方法
  • 實驗
  • 總結

1 簡介

本文仍然是處理實體關係聯合抽取任務,主要針對聯合抽取中的關係重疊問題。
從一個全新的角度看待抽取問題,即從原來的根據實體對預測關係型別即\(f(s,o) \rightarrow r\)到根據subject及其關係對映對應的object即\(f_r(s) \rightarrow o\), \(f\)為模型需要學習的一個函式對映。

2 方法

提出\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)

, 一個端到端的cascade binary tagging framework來實現上述想法,整體結構如Figure 2.

整個模型基於BERT做編碼,目的是為了能夠將一些前置知識(如預訓練的BERT包含的語義等資訊)更好更靈活的融合便於後續的標註。

整個解碼過程可以分為兩個部分,a) 先找到句子中所有的subject實體; b) 根據subject及其對應的關係找到所有的object實體--可以看作雙層for迴圈外層遍歷subject內層遍歷每個關係:每個subject依次對每個關係都遍歷一遍當前輸入的語句(因此第二個解碼部分由 a set of relation-specific taggers 組成),找當前關係下的object,object存在1則存在subject與此object對應的關係相當於object和relation同時確定標出了,若object不存在0,則當前的關係也不存在。如圖figure 2 說明中k即為外層subject迭代即第幾個subject。

2.1 BERT Encoder

使用預訓練的BERT提取輸入序列/句子的特徵資訊\(H_N\)為N層BERT encoder最後的輸出,之後將其交給後面的解碼器作為輸入。
同時作者在此做了多組消融試驗探究基於Transformer的BERT有多大的作用,即 \(\large{C} \normalsize{AS} \large{R} \normalsize{EL} _{random}\)\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}_{LSTM}\)\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)

分別為使用隨機初始化的BERT、LSTM、預訓練BERT作為編碼器。

2.2 Cascade Decoder

整個模型的訓練目標為:(triple level,本文核心感覺就在這個目標函式的設計上,其實文中也說了實現不難可以用各種方式實現,只不過本文是使用\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)框架二分類器實現的)

先說明一下Eq (1) (2) (3)中的notation,其中s=subject、o=object、r=relation, \(x_j\)表示輸入語句,\(T_j\)表示此語句中所包含的所有三元組,\(s \in T_j\)表示在\(T_j\)三元組中的subject,\(T_j|s\)表示\(T_j\)中subject為s的三元組,\((r,o)\in T_j|s\)表示\(T_j\)中subject為s的三元組中的(r,o)對。\(R\)表示所有關係的集合,\(R \setminus T_j|s\)表示\(T_j\)所有三元組中subject為s的關係之外的\(T_j\)的所有關係。

其實根據Eq (2),我們追求的目標就兩個部分,即儘量正確的找到句子中所有的subject,之後在s和r條件下儘可能找到所有與之對應的正確的object。這兩個tagger都是使用簡單的二分類器實現的後續會說明,所以其實就是根據訓練集(如實驗之一NYT,作者根據NYT構造適合自己模型的資料格式,一個個三元組形式吧)儘量找到所有subject後,儘量把該是此s和r下的object的token標為1即o,不該是s和r下的object的token標為0即Eq(3)中的\(o_{\varnothing}\)表示不屬於此s和r可能在其他的關係三元組中所以條件為\(r \in R \setminus T_j|s\)把它歸到這裡。那麼如圖figure 2中如果對於當前s如“Brown R Jackie”如果當前句子中所有的詞的object標記均為0,那麼就說明與此關係無關,沒有與此關係對應的object自然就沒有這個關係啊,如Work_in。

而且Eq (3)中的第三個部分把之前\(f(s,o) \rightarrow r\)用不上的資訊也用上了,因為並不是所有的實體對(s,o)都有關係啊,那這部分不就沒用了麼反而還有些冗餘對於根據實體對對映關係方法,但\(f_r(s) \rightarrow o\)的目標函式Eq (3)個人理解不僅讓模型學到如何辨別有關係的實體對,也可以知道有的實體對是沒關係的。這樣肯定對抽三元組即找有關係的實體對有幫助感覺。而之前的給我的感覺更像是給每個實體對分一個離散的關係標籤當然也包括None,但感覺更多的是學辨別實體對屬於哪一類關係,正常,人辨別的話首先應該一眼看下去看看有沒有關係,再看是什麼樣的關係。看看之前\(f(s,o) \rightarrow r\)方法的目標函式就是這種感覺啊好像盡力給每個實體對都要分個關係,雖然有的也加了None關係,但資料集關係型別終歸是有限的且若是關係複雜如關係重疊呢就不行了,不懂,又在胡說八道了我。。。

解碼器由兩個部分構成

Subject Tagger

也叫low level tagging module,使用BERT編碼器的輸出作為輸入,就是使用兩個相同的二分類器即strat_s和end_s分類器分別標註subject的開始和結束位置,兩個分類器分別通過對每個詞標註0/1,來表示當前token是否為subject的開始或結束位置,訓練時根據訓練資料計算損失梯度更新引數,如圖figure 2中relation-specific tagger中的每個關係的上下兩行分別表示開始結束位置,具體操作如下公式。

其中,\(\mathbf{x}_i\)表示輸入序列的第i個token編碼後的表示,\(p_i^{start\_s},p_i^{end\_s}\)分別表示第i個token為subject的開始或結束位置的概率,若概率超過某個超參閾值則標為1否則標為0,同時由於同一個句子可能有多個subject,本文采用了一種比較簡單的方式即最近鄰,每次根據start位置選取與之最近的end構成一個subject。對於這部分我們的優化目標就是Eq (3)中的一部分\(p_{\theta}(s|\mathbf{x})\)

其中,\(L\)為句子長度,\(\mathbf{I}\{z\}=1\)如果\(z\)為true,否則為0,\(t\)\(start\_s\)\(end\_s\),那麼\(y_i^t\)為第i個token為subject開始或結束位置的tag二分類標籤即0/1,\(\theta=\{\mathbf{W}_{start},\mathbf{b}_{start},\mathbf{W}_{end},\mathbf{b}_{end}\}\)

Relation-specific Object Taggers

也叫high level tagging module,正如2.2開頭說的可以同時確認object和relation,具體操作和subject tagger類似,仍然是用兩個相同的二分類器對每個token標註,看是否為object的start和end位置,如下公式。

不同的是,加入了subject實體的資訊\(v^k_{sub}\)(每個\(h_i,i=1,...,L\)都加上subject的編碼資訊,第k輪加第k個subject實體的資訊),可以理解需要根據subject來對映object嘛,即\(f_r(s) \rightarrow o\)

\(v^k_{sub}\)為subject實體中包含多個token,編碼後所有subject的token向量加和取平均,使其維度和\(\mathbf{x}_i\)一致便於計算,本文中就是採用將兩向量\(v^k_{sub}\)\(\mathbf{x}_i\)簡單相加的方式結合subject實體編碼後的資訊,同理優化目標為:

最後對Eq (3)取log得到最後的目標函式:\(J(\Theta)\)

3 實驗

主要在NYT和WebNLG兩個資料集上測試。

  • \(\large{C} \normalsize{AS} \large{R} \normalsize{EL} _{random}\)\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}_{LSTM}\)\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\),使用預訓練BERT的\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)效果最好,即使使用隨機初始化的BERT效果也很有競爭力。
  • NovelTagging (Zheng et al., 2017), CopyR (Zeng et al., 2018), GraphRel (Fu et al., 2019) and CopyRRL (Zeng et al., 2019).與CASREL對比,本文模型效能最好,尤其在F1分數在NYT和WebNLG遠超sota17.5%和30.2%。
  • 在不同關係重疊模式的句子中抽三元組結果也是\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)效能最好且穩定,其他方法在NYT和WebNLG上效能會大幅下降由於WebNLG的訓練資料中語句有更多的關係重疊的情況,\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)表現在兩個資料集上都很穩定說明克服了關係重疊的問題。
  • 對於包含不同數量(N)三元組的語句抽取結果,\(\large{C} \normalsize{AS} \large{R} \normalsize{EL}\)依然表現最好,且隨著N增大,依然穩定,一定程度說明確實克服了關係重疊的問題以及面對複雜關係的情況的能力很穩定。

4 總結

正如參考\(^{[2]}\)中所說,subject範圍確定直接最近鄰萬一entity span內有一個token錯誤就有很大的影響;同時對於object的標註需要結合subject實體資訊沒問題,但結合方式(直接相加\(v^k_{sub}\))是不是有更好的方式?

參考

【1】Zhepei Wei1,2, Jianlin Su4, Yue Wang5, Yuan Tian1,2∗, Yi Chang1,2,3∗.A Novel Cascade Binary Tagging Framework for Relational Triple Extraction.ACL 2020.

【2】論文筆記 – A Novel Cascade Binary Tagging Framework for Relational Triple Extraction.https://ivenwang.com/2020/08/11/casrel/.