筆記:Joint Type Inference on Entities and Relations via Graph Convolutional Networks
Joint Type Inference on Entities and Relations via Graph Convolutional Networks
作者:Sun et al., 2019 ACL
目錄
- 簡介
- 方法
- 實驗
- 總結
1 簡介
本文利用GCN做實體關係聯合抽取任務,主要分為兩部分(兩個子任務但也一起訓練),分別為確定實體範圍(entity span)以及推斷實體型別和對應關係型別。確定實體範圍為序列標註任務,之後利用基於GCN的模型做型別聯合推斷。
2 方法
給定一個語句作為輸入,整個處理流程分為兩部分:確定entity span可以看作序列標註任務、實體和關係節點的聯合型別推斷,基於提出的模型可以考慮同一語句中多個實體型別以及關係型別之間的互動。
那麼所謂的關係重疊問題、多詞實體問題都沒問題了,且對於關係與關係之間的互動在一定程度上通過周圍節點也能考慮到,儘管本文的圖結構的設計中不存在實體節點和實體節點連線以及關係節點和關係節點之間連線的邊。
2.1 Background of GCN
先簡要介紹一下GCN基礎性的知識吧,GCN具體原理看不懂有點難。
GCN的作用就是,在給定含有n個節點的圖的情況下,對其進行編碼得到對應節點的表示,之後將node表示交給分類器做型別分類(在這個任務上節點是實體或關係 embedding)。
輸入:
- node embedding矩陣\(\mathbf{H}=(n \times d)\), n代表節點數,d代表輸入節點embedding的維度。
- 鄰接矩陣\(A=(n \times n)\), 即為抽象的圖的具體到實際操作中的結構表示,利用A鄰接矩陣GCN才能將節點之間對應的邊的聯絡對應上。
對於一個L層的GCNs來說,每層可以表示為:
其中,\(\hat{A}\)為鄰接矩陣含自環,\(H^{[l]}\)為第\(l\)層節點的輸出,感覺(Zhang et al., 2018\(^{[3]}\))這篇裡的對GCN背景的介紹更清晰一些?感興趣可以看看這篇paper以及
最後得到node-level輸出\(\mathbf{Z=H}^{L}\), 一個\(n \times d\)特徵矩陣用於最後的分類器型別預測。
2.2 Entity Span Detection
很常規的序列標註任務,採用BILOU標註方案,整體結構如Figure 2.
2.3 Entity-Relation Bipartite Graph
section 2.2就是確定實體範圍子任務,那麼之後就是基於得到的實體範圍,利用基於GCN的模型去做型別推斷。
那麼首先就要構圖即node embedding和邊的聯絡鄰接矩陣A都怎麼表示,有了這兩個輸入,圖的構建以及相關操作就交給GCN就行了,如果我們假設圖中實體節點的個數為\(\hat{\varepsilon}\), 那麼根據兩兩實體有一個關係關係節點數為\(\frac{|\hat{\varepsilon}|(|\hat{\varepsilon}|−1)}{2}+1\), 1為None關係型別。
對於node embedding,利用figure 2的每個詞輸出:
- 實體節點embedding
將實體的每個詞的hidden state即\(\{h_i|w_i \in e1\}\)構成的序列--也就是一組向量,作為輸入餵給一層CNN+max pooling,之後在使用多層線性層MLP,對CNN輸出進行線性變換,最終得到維度為d的entity span node embedding 向量\(\mathbf{H_{e1}}\), 即2.1節中提到的\(\mathbf{H}\)中的一個node embedding 向量。 - 關係節點embedding
我們去兩種型別的特徵向量的組合作為最終的關係節點embedding,分別為實體span中的詞的資訊以及實體上下文的資訊。對於實體中詞的資訊就簡單採用實體span即實體節點的embedding作為其特徵向量,對於context資訊,採用第一個實體左側詞、兩實體中間的詞以及第二個實體右側的詞(對應Figure 4應該是\(h_1,(h_7,h_8),h_4\)吧?)的hidden state,分別同實體節點embedding,過CNN+MLP後拼接,之後為了維度適配計算,再過MLP得到一個d維的關係節點embedding \(\mathbf{H_{r12}}\), 也即2.1節中提到的\(\mathbf{H}\)中的一個node embedding 向量。
接下來我們構建實體節點與關係節點之間的邊:
我們不再直接連實體節點或關係節點,而是通過entity node - relation node - entity node這種關係節點連線其對應的兩個實體節點的形式,原因有兩點:a) 並不是所有實體對型別推斷有幫助,往往有關係節點資訊更多,且關係節點可以作為實體節點的橋樑,反之亦然,實體節點也可作為關係節點的橋樑,使得實體與實體節點,關係與關係節點間接聯絡。b) GCN不適合全連通圖,GCN在全連線圖上的會被簡化為非常簡單的操作,沒懂,GCN原理不太會。
那麼如果是e1-r12-e2這種圖邊形式,稱之為靜態圖,但我們希望它動起來進而剪枝冗餘的邊,即便是e-r-e這種邊我們也不希望所有e-r-e都連線,而是希望儘可能兩實體e1, e2有對應的關係r12才連線,因此引入一個binary relation classification任務。二分類即判斷兩實體間是否存在某個關係節點(不論什麼型別僅關注是否有關係),我們用一個softmax層來對輸入即關係節點如\(r_{ij}\)做二分類,標籤0即無關,1即有關。
那麼我們如何構建上述要求的圖呢即如何得到A構造邊呢,即通過binary relation classification任務得到鄰接矩陣A:
- 如果\(P(\hat{b} = 1|r_{ij}, s) > 0.5\), 那麼我們設A中有關\(e_i,e_j,r_{ij}\)頂點之間的鄰接值為1.0
- A的對角元素都置為1.0,自環基操
- 其餘鄰接位置均設為0.0
2.4 Joint Type Inference
至此我們的圖(或者說那兩個輸入)就構建完了,我們將其輸入給GCN得到node-level輸出\(\mathbf{Z}\),對於\(\mathbf{Z}\)中的每行(實體節點 or 關係節點),雖然圖中沒有直接的實體-實體或關係-關係邊,但它可以從圖g中其他節點收集和彙總資訊。最終的節點表示我們用兩矩陣的拼接即\(\mathbf{F=\{Z;H\}}\)即如Figure3中將GCN輸出和輸入拼接了, 整體結構如Fiugre 3.
最後我們再將兩個給定的node 表示(實體節點和關係節點)分別餵給兩個全連線softmax層預測對應的型別(多分類),
最後訓練目標函式為:\(\mathcal{L=L_{span}+L_{bin}+L_{ent}+L_{rel}}\), 多個子任務目標函式聯合。
3 實驗
在本文中,預設設定“GCN”為基於動態hard鄰接矩陣A的1層GCN聯合模型,在ACE05資料集(用於實體關係抽取任務的標準語料庫)上取得了最佳的關係效能。
詳細內容感興趣看看原文,這裡直接引下別人的參考\(^{[4]}\)。
- 整個模型比 sota【#TODO1】 p 高,r 低,f 高 (注,,sota 參考\(^{[2]}\))
- 把 GCN 換成 NN(就是式子裡不要鄰接矩陣了?這裡應該是直接不用GCN了單純靠作者的CNN+MLP等操作),還是要比 sota 好,表明本文分這兩步 的有效性
- p 高,作者認為這歸功於 the strong ability to model feature representations of entity nodes and relation nodes、entity type model and the relation type model share more parameters(entity CNN+MLP parameters);r 低,因為做關係分類時沒有用上實體類別資訊
- hard dynamic > soft dynamic > static
- binary relation classify 很差,但是加上之後還是要比 static 好,怎麼改進一下呢?
- 一層 GCN 最好,作者認為這是因為所有模型都 closely related to each other(?沒懂)
4 總結
比之前用新標註方案將抽取轉序列標註任務聯合對實體關係解碼看著順暢多了,GCN再nlp的應用原理之類的有機會還是要了解了解啊,根據table 5看來GCN還是很有用的。而且在實體與實體、關係與關係也可以一定程度互動,加上二分類任務想法挺好雖然比static效果好,但二分類任務本身結果不好啊,對多關係多實體處理可不可以用在其他任務呢比如純關係抽取,也不行它那資料集據一條句子一對實體以及對應關係,少樣本N-way,K-shot、mutil-isntance?我在說什麼東西?不一樣啊
還是沒什麼想法啊,“你沒資格啊!”
參考
【1】Changzhi Sun 1, ∗, Yeyun Gong2, Yuanbin Wu1, 3, Ming Gong2, Daxing Jiang2, Man Lan1, Shiliang Sun1, and Nan Duan2.Joint Type Inference on Entities and Relations via Graph Convolutional Networks.ACl 2019.
【2】Changzhi Sun, Yuanbin Wu, Man Lan, Shiliang Sun, Wenting Wang, Kuang-Chih Lee, and Kewen Wu. 2018. Extracting entities and relations with joint minimum risk training.EMNLP 2018.
【3】Yuhao Zhang,* Peng Qi,* Christopher D. Manning.Graph Convolution over Pruned Dependency Trees Improves Relation Extraction.EMNLP 2018.
【4】論文筆記 – Joint Type Inference on Entities and Relations via Graph Convolutional Networks.https://ivenwang.com/2020/12/19/jtiergcn/.