Attention Guided Graph Convolutional Networks for Relation Extraction(ACL19) 閱讀筆記

論文報告

Attention Guided Graph Convolutional Networks for Relation Extraction(ACL19)

Motivation

關係抽取的目的是檢測文本中實體之間的關係。他是自然語言處理中較爲基礎的任務,可以應用在生物醫學知識發現、數據庫檢索等多種領域,同樣也是智能問答、自然語言生成、閱讀理解等領域的基礎。

Related Work

現有的大多關係抽取模型可以分爲兩類,基於序列的和基於依賴的。基於序列的模型只對單詞序列起作用,而基於依賴的模型將依賴樹(語法樹)合併到模型中。與基於序列的模型只能提取表面形式的局部句法關係相比,基於依賴的模型能夠捕獲較爲深層次的非局部句法關係。

基於依賴的模型,如何構造依賴樹(語法樹)的結構很大程度上影響了語法樹最終的性能。有人提出了基於規則的剪枝的方法去掉一些冗餘的信息。然而基於規則的剪枝策略可能會消除整個樹中的一些重要信息,理想情況下,模型應該學會如何在全樹中包含和排除某些信息之間保持平衡。在該文中,提出了一種基於attention的圖卷積網絡(AGGCNs),他直接作用於全樹。開發了一種軟修剪的策略,將原始依賴樹轉換爲全連接的加權圖。這些權重可以被視爲節點之間的關聯強度,可以通過使用self-attention的機制進行端到端的方式學習。

How?

  • GCN

    對於一個n個節點的圖,我們用A來表示它的鄰接矩陣,如果節點i和節點j之間有邊則Ai,j=1A_{i,j}=1,對於無向圖Aj,i=1A_{j,i}=1,無邊則爲0。則節點i在第l層的卷積運算hi(l)\mathbf{h}_{i}^{(l)}定義爲:
    hi(l)=ρ(j=1nAijW(l)hj(l1)+b(l)) \mathbf{h}_{i}^{(l)}=\rho\left(\sum_{j=1}^{n} \mathbf{A}_{i j} \mathbf{W}^{(l)} \mathbf{h}_{j}^{(l-1)}+\mathbf{b}^{(l)}\right)
    其中W(l)\mathbf{W}^{(l)}b(l)\mathbf{b}^{(l)}是模型中的參數,ρ\rho是激活函數本文用的(RELU),hi(0)\mathbf{h}_{i}^{(0)}是初始的輸入xix_i,其中xiRd\mathbf{x}_{i} \in \mathbb{R}^{d},d是輸入的特徵維度。

    image-20200310204402519

    圖1
    如圖一所示,AGGCN模型由M個相同的block組成,每個block包含三層,Attention Guided Layer、Densely connected layer、linear combination layer。
  • Attention Guided Layer

    如圖一所示,傳統的基於規則的剪枝方式邊的權重只包含0或1,而AGGCN添加attention之後每個單詞之間就有了關係。
    A~(t)=softmax(QWiQ×(KWiK)Td)V \tilde{\mathbf{A}}^{(\mathbf{t})}=\operatorname{softmax}\left(\frac{Q \mathbf{W}_{i}^{Q} \times\left(K \mathbf{W}_{i}^{K}\right)^{T}}{\sqrt{d}}\right) V
    其中Q,K都分別表示模型上一層的輸出h(l1)h^{(l-1)}WiK\mathbf{W}_{i}^{K}WiQ\mathbf{W}_{i}^{Q}是模型的參數矩陣,WiQRd×d\mathbf{W}_{i}^{Q} \in \mathbb{R}^{d \times d},WiKRd×d\mathbf{W}_{i}^{K} \in \mathbb{R}^{d \times d},A~(t)\tilde{\mathbf{A}}^{(\mathbf{t})}是第t層的attention鄰接矩陣。

    注:此處有N組不同的參數,N是一個超參數,A~(t)\tilde{\mathbf{A}}^{(\mathbf{t})}表示第t個attention矩陣

  • Densely Connected Layer

    因爲attention層構造了一個完全圖,爲了在更大的圖上捕獲更多的節點信息,使我們能夠訓練一個更加深入的模型。引入densely connected layer。

    如圖2所示,
    gj(l)=[xj;hj(1);;hj(l1)] \mathbf{g}_{j}^{(l)}=\left[\mathbf{x}_{j} ; \mathbf{h}_{j}^{(1)} ; \ldots ; \mathbf{h}_{j}^{(l-1)}\right]
    在實踐中,每個Densely Connected Layer都有L個子層。這些子層的尺寸由L和輸入特徵尺寸d決定。在AGGCN中,使用dhidden=d/Ld_{\text {hidden}}=d / L例如如果Densely Connected Layer有3個子層,輸入維度是300,則dhidden=d/L=300/3=100d_{\text {hidden}}=d / L =300/3=100。然後我們將每個子層的輸出鏈接起來,形成新的表示。

    因爲有N組不同的attention矩陣,所以需要N個不同的Densely Connected Layer。所以每層的的計算方式爲:
    hti(l)=ρ(j=1nA~ij(t)Wt(l)gj(l)+bt(l)) \mathbf{h}_{t_{i}}^{(l)}=\rho\left(\sum_{j=1}^{n} \tilde{\mathbf{A}}_{i j}^{(t)} \mathbf{W}_{t}^{(l)} \mathbf{g}_{j}^{(l)}+\mathbf{b}_{t}^{(l)}\right)
    其中t=1,,Nt=1, \ldots, Nt選擇對應的該組的參數。由於Densely Connected Layer,每層獲取到前邊層傳過來的信息所以每層的W維度也逐層增加。

    Wt(l)Rdhidden×d(l)\mathbf{W}_{t}^{(l)} \in \mathbb{R}^{d_{h i d d e n} \times d^{(l)}},d(l)=d+dhidden×(l1)d^{(l)}=d+d_{h i d d e n} \times(l-1)

  • Linear Combination Layer

    最後一層用於集成來自N個不同密度連接層的表示。線性組合層的輸出定義爲:
    hcomb=Wcombhout+bcomb \mathbf{h}_{c o m b}=\mathbf{W}_{c o m b} \mathbf{h}_{o u t}+\mathbf{b}_{c o m b}
    其中hout=[h(1);;h(N)]Rd×N\mathbf{h}_{\text {out}}=\left[\mathbf{h}^{(1)} ; \ldots ; \mathbf{h}^{(N)}\right] \in \mathbb{R}^{d \times N},WcombR(d×N)×d\mathbf{W}_{c o m b} \in\mathbb{R}^{(d \times N) \times d}

  • AGGCNs for Relation Extraction

    首先計算出句子的表示hsent\mathbf{h}_{\text {sent}}
    hsent=f(hmask)=f( AGGCN (x)) h_{\text {sent}}=f\left(\mathbf{h}_{\text {mask}}\right)=f(\text { AGGCN }(\mathbf{x}))
    其中mask表示我們把句子中要求的實體mask掉,只選擇句子中非實體的單詞。f函數是max pooling函數,f:Rd×nRd×1f: \mathbb{R}^{d \times n} \rightarrow \mathbb{R}^{d \times 1}

    對於第i個實體,他的表示heih_{e_i}可以被計算爲
    hei=f(hei) h_{e_{i}}=f\left(\mathbf{h}_{\mathbf{e}_{\mathbf{i}}}\right)
    將句子表示和實體表示連接起來形成新的表示,使用前饋神經網絡FFNN得到最後的向量:
    hfinal=FFNN([hsent;he1;hei]) h_{\text {final}}=\operatorname{FFNN}\left(\left[h_{\text {sent}} ; h_{e_{1}} ; \ldots h_{e_{i}}\right]\right)
    最後使用邏輯迴歸對hfinalh_{\text {final}}進行分類。

Proof

在跨句的n元關係提取和句子級的關係提取上進行了實驗。

  • 跨句n元關係提取

    對於跨句n元關係提取任務,數據集包含從PubMed中提取的6,987個三元關係實例和6,087個二元關係實例。大多數實例包含多個句子,每個實例都有五個標籤,包括“resistance
    or nonresponse”、“sensitivity”、“response”、“resistance”和“none”。本文考慮兩個具體的評價任務,即:二類n元關係提取和多類n元關係提取。如之前人們做的工作,本文同樣對多類標籤進行二值化,將前四個關係類分組爲“yes”,將“none”分組爲“no”。

    image-20200310230721923

    我們首先關注二元類n元關係的提取任務。對於三元關係提取(表1中的前兩列),AGGCN模型分別在單個句子(single)和所有實例(Cross)中的實例上實現了87.1和87.0的準確性,這優於其他所有模型。與GCN模型相比,我們的模型比最優的修剪樹模型(K=1)高1.3和1.2個百分點。對於二進制關係提取(表1中的第三和第四列),AGGCN的性能始終優於GS GLSTM和GCN。

  • 句子級的關係抽取

    image-20200310231120353

logistic迴歸分類器(LR)的精度得分最高。本文認爲這是由於數據不平衡的問題。這種基於特徵的方法傾向於非常頻繁預測一個的標籤。

image-20200310231516024

消融實驗:

image-20200310231809059

不同超參數

image-20200310231838833

不同句子長度的F1score

image-20200310232141225

不同數據集大小比較兩個模型

image-20200310232342631

Summary

將attention+GCN應用於關係抽取,學習一種“軟修剪”策略,通過權重來學習如何選擇和丟棄信息。再結合Densely Connected Layer,提升了關係抽取的性能。

該篇論文做的實驗非常全,不僅有三個數據集,而且對各個方面都進行了實驗。比如數據集的大小,不同的句子長度,不同超參數,不同的關係抽取任務等方面。

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