A Novel Cascade Binary Tagging Framework for Relational Triple Extraction
Zhepei Wei,Jianlin Su, Yue Wang, Yuan Tian, Yi Chang
(ACL 2020)
研究背景:
以往的方法大多將關系建模為實體対上的一個離散的標簽,這也是一種非常符合直覺的做法:首先通過命名實體識別(Named Entity Recognition, NER)確定出句子中所有的實體,然后學習一個關系分類器在所有的實體對上做RC,最終得到我們所需的關系三元組。然而這種Formulation在多個關系三元組有重疊的情況下會使得關系分類成為一個極其困難的不平衡多分類問題,導致最終抽取出的關系三元組不夠全面和准確。
本文的解決思路:
在本文中我們提出了一個新的Formulation,以一種新的視角來重新審視經典的關系三元組抽取問題,
並在此基礎上實現了一個不受重疊三元組問題困擾的CasRel標注框架(Cascade Binary Tagging Framework)來解決RTE任務。
CasRel框架最核心思想:把關系(Relation)建模為將頭實體(Subject)映射到尾實體(Object)的函數,而不是將其視為實體對上的標簽。
具體來說,我們不學習關系分類器:
而是學習關系特定的尾實體標注器:
每個標注器都將在給定關系和頭實體的條件下識別出所有可能的尾實體。
在這種框架下,關系三元組抽取問題就被分解為如下的兩步過程:首先,我們確定出句子中所有可能的頭實體; 然后針對每個頭實體,我們使用關系特定的標注器來同時識別出所有可能的關系和對應的尾實體。
CASREL框架:
CASREL模型由BERT編碼層模塊、主體標記模塊、特定關系下客體的標記模塊三個模塊構成。
新的目標函數:訓練目標,就是盡可能使公式(1)的值最大。
D:訓練的句子集合
𝑇_j:可能的三元組
s∈ 𝑇_j:表示在三元組Tj中的主體;
𝑇_j | s :表示主體是s的三元組Tj;
(r,o)∈ 𝑇_j | s:表示主體是s的三元組𝑇_j中的(r,o)對;
R:表示所有可能的關系;
R\ 𝑇_j | s: 表示除了主體是s的三元組外的所有關系;
o∅:表示一個空的客體;
這樣表示的優點:
1、直接從三元組的級別進行優化。
2、不做任何重疊實體的假設,通過精心設計來解決重貼三元組的問題。
3、公式(3)提供了一種新的思路,就是使用s和r的映射函數來預測o是什么,而不是傳統的s和o來進行分類。
BERT encoder:
S:輸入詞的獨熱編碼
𝑊_𝑆:表示embedding表
𝑊_p:表示句子中p位置的位置向量
Trans:表示一個transformer的encoder層
Cascade Decoder:
在經過BERT encoder之后,需要decoder提取三元組。
通過兩個級聯步獲取三元組:
1、先標記處句子中所有的主體
2、對於每個標記的主體,檢查所有關系是否存在與主體相關的客體。
因此,級聯解碼層包含了兩個模塊:
1、主體標記模塊
2、給定一組特定於關系的客體標記模塊
Cascade Decoder——Subject Tagger:
𝑝_𝑖^(𝑠𝑡𝑎𝑟𝑡_𝑠):表示第i個token是subject起始位置的概率
𝑝_𝑖^(𝑒𝑛𝑑_𝑠):表示第i個token是subject的結束位置的概率
σ 為𝑠𝑖𝑔𝑚𝑜𝑖𝑑函數
這一步優化的目標是給出一個句子表示x:
I{z}=1 if z為真,否則I{z}=0;
𝑦_𝑖^𝑡:表示第i個token的t標記的值;
t只有兩種情況:start_s和end_s;
這個公式的意思就是說優化的目標是:如果實際𝑦_𝑖^𝑡為真,
那么說明我們應使得𝑝_𝑖^𝑡的概率盡可能大,否則,使得𝑝_𝑖^𝑡盡可能小。
對於句子中多個subject的檢測,采用最近的start-end對來進行主體檢測。
Cascade Decoder —— Relation-specific Object Taggers:
𝑣_𝑠𝑢𝑏^𝑘:表示subject tagger模塊下的第k個主體的編碼表示向量。
𝑣_𝑠𝑢𝑏^𝑘 :由多個token組成的情況:如果subject是多個token構成的,那么取它們的平均值作為新的𝑣_𝑠𝑢𝑏^𝑘
優化目標:
I{z}=1 if z為真,否則I{z}=0;
𝑦_𝑖^𝑡:表示第i個token的t標記的值;
t只有兩種情況:start_s和end_s;
如果當前的映射函數r下不存在object,
那么對於所有的𝑦_𝑖^𝑡都設置為0。
整體的目標函數:
對公式(3)計算log可知,目標函數J(Θ)為:
實驗結果:
CASREL框架在公開數據集上效果提升很大。
論文復現:
作者在GitHub開源了模型的keras源碼。
本人用pytorch重新復現了該模型,在NYT數據集上10個epoch之后F1就達到了82%,效果很不錯。