筆記:Graph Convolution over Pruned Dependency Trees Improves Relation Extraction
Graph Convolution over Pruned Dependency Trees Improves Relation Extraction
作者:Yuhao Zhang et al., 2018 EMNLP.
目錄
- 簡介
- 方法
- 實驗
- 總結
1 簡介
本文使用GCN作為編碼器結合依賴樹結構做關係抽取(分類),既能高效處理資料,又能有效利用所有的資訊。
發現問題:針對之前兩種比較流行的基於依存關係樹做關係抽取的方法,主要有兩個缺點,一是直接利用依存樹但並行能力不足效率低沒法batch處理,二是剪枝依存樹,直接使用兩實體之間的最短依賴路徑,但僅使用最短依賴路徑有些限制如下圖Figure 1 中最短依存路徑對於not的忽略,且雖然主要資訊都集中在最短依賴路徑中並沒有完全利用有效的資訊。
2 方法
2.1 Graph Convolutional Networks over Dependency Trees
首先介紹一下如何將GCN用到依存關係樹結構。
對於GCN,基本原理著實看不懂太難了,這裡就按照論文裡的論述簡單說明一下GCN大致原理應用吧,如下公式Eq(1)為GCN的基本操作。
假設一個圖有n個節點,A即為鄰接矩陣,其中\(A_{ij}=1\)表示存在一條從節點i到節點j的邊,\(h^{(l)}_i\)表示第\(l\)層中的第i個節點的輸出,同理\(h_j^{(l-1)}\)為第\(l\)層的輸入。\(W^{(l)}\)為每層線性變換矩陣,這裡實驗中對於每條邊的權重都用的是同一個值W。
但直接用GCN在依賴樹上的話有個問題,一是由於(依賴樹另一種形式也可以是圖)每個token的度的變化都很大,這樣由公式1可知對於每一個token的輸出,是要判斷所有節點是否鄰接進而計算每個節點的度作為公式的一環,那度變化很大的話,就會導致最後整個句子的表示偏向度大的節點,而非偏向含有我們需要的資訊的節點了。另一個問題是,依賴路徑是沒有閉環的或者說沒有自環的,也就是第\(l-1\)
其中,\(\tilde{A}_{ij}=A+\mathbf{I}\),\(\mathbf{I}\)為\(n\times n\)單位矩陣--即解決自環,\(d_i=\sum_{j=1}^n{\tilde{A}_{ij}}\)為token i在最終的圖中的度--即歸一化解決high-degree問題。
2.2 Encoding Relations with GCN
假設我們有一個輸入語句\(\mathcal{X}=[x_1,...,x_n]\),句子中兩個實體subject、object分別用\(\mathcal{X}_s=[x_{s1},...,x_{s2}]\)
通過下面公式3的編碼得到句子的表示\(h_{sent}\)。
\(h^{(0)}\)為輸入序列,\(h^{(L)}\)為多層GCN的輸出,\(f\)為一個池化函式\(f:\mathbb{R}^{d\times n}\rightarrow{\mathbb{R}^d}\),將輸出的n個向量對映為一個vector即句子表示,又因為依賴樹中與實體相關的資訊對關係分類很有幫助,所以在最後的表示中又加入了兩個實體的資訊,如下公式4為subject實體的資訊--\(h_s\)為從\(h^{(L)}\)中抽取的subject span內的hidden state的拼接池化處理得到的,對於object實體同上。
最後,將三者拼接後餵給前饋全連線網路(FCNN),後得到最終的句子表示\(h_{final}\),再作為之後的softmax線性層做分類。
同時,為了能夠獲得輸入語句關於詞序的上下文資訊或者消歧,輸入序列在餵給GCN之前,先經過position-attention 的LSTM(Zhang et al., 2017)得到預處理的句子表示再輸入給GCN,至此整個流程大致結束了。
2.3 Incorporating Off-path Information with Path-centric Pruning
以上是GCN編碼以及整個結構,但說了這麼多都沒涉及到依賴樹的問題,本節介紹作者提出的新的剪枝方式對依賴樹路徑進行剪枝得到最後的路徑--即一個序列,作為整個結構的輸入。
首先要通過依賴標註工具對輸入語句進行依賴標註得到如下圖所示的一個依賴\(^{[2]}\)。
Xu et al.,(2019)\(^{[2]}\)這篇是直接用的最短依賴路徑作為輸入,但這對依賴樹剪枝的太多了,原因最開始的兩個問題也說了,因此我們採用一種path-centric pruning方式,”這裡引入一個概念 K, 是指, 距離最短路徑距離為 K 的圖. 例如K=0, 也就是最短路徑本身,K=1, 也就是最短路徑上的點,加上距離最短路徑為K的點的全部點的子圖(即最短路徑上的點及每個點的1階子圖),K=無窮,是指 LCA(最近公共祖先) subtree 全部,這裡測試最佳 K, 答案是 K=1 是最佳答案\(^{[4]}\)。“
這種剪枝策略得到的最終的path(也就是一個word和edge關係的序列)也就如下圖所示。
3 實驗
做了挺多實驗,包括消融實驗、Entity Bias 做mention masked等各種分析,感興趣可以看看原文,這裡不再贅述。
- Path-centric Pruning有效果
- PA-LSTM對GCN結構有補充
- 沒有實體masked的模型訓練,泛化能力差一些
4 總結
依賴樹對於長距離實體關係還有很有效的,對於依賴樹可以看成圖結構,用GCN處理效果不錯,且LSTM對於區域性資訊以及context資訊的處理較好,可以先用LSTM處理句子再輸入給GCN,同時提出的這個剪枝策略相比(Xu et al., 2015)要好且比(Liu et al., 2015)\(^{[3]]}\)處理要簡單些效果也更好。
參考
【1】Yuhao Zhang,* Peng Qi,* Christopher D. Manning.Graph Convolution over Pruned Dependency Trees Improves Relation Extraction.EMNLP 2018.
【2】Yan Xu,† Lili Mou,† Ge Li,†∗Yunchuan Chen,‡ Hao Peng,† Zhi Jin†∗.Classifying Relations via Long Short Term Memory Networks along Shortest Dependency Paths.ACl 2015.
【3】Yang Liu1,2∗ Furu Wei3 Sujian Li1,2 Heng Ji4 Ming Zhou3 Houfeng Wang1,2.A Dependency-Based Neural Network for Relation Classification.ACL 2015.
【4】趙來福.[論文筆記]利用基於依存樹的GCN提升關係抽取任務.知乎 2018.https://zhuanlan.zhihu.com/p/46310190.