天天看點

Adversarial training for multi-context joint entity and relation extraction【論文筆記】一、Background二、Motivation三、Model四、Experiment五、Conclusion

一、Background

  最近許多神經網絡方法在各種自然語言處理(NLP)任務中大展身手,比如語義解析、POS、關系抽取、翻譯。然而,Szegedy et al.(2014)觀察到對這些模型的輸入的有意的小規模擾動(比如,對抗性的例子)可能導緻不正确的決定(高置信度)。Goodfellow et al.(2015)提出的對抗訓練(AT)(用于圖像識别)作為正則化方法,其使用清洗和對抗性示例的混合來增強模型的穩健性。雖然AT最近已應用于NLP任務,比如文本分類(Miyato et al., 2017),但這篇論文在作者看來是第一次嘗試研究AT在兩個相關任務的聯合訓練中的正則化效果。

  先前提出的模型展示了基于神經網絡的baseline方法克服的幾個問題:我們的模型自動提取特征,無需額外的解析器或手工特征(Gupta et al. (2016);Miwa

and Bansal (2016);Li et al. (2017));一次提取所有實體和句子内的對應關系,而不是一次檢查一對實體(Adel and Schutze (2017));關系抽取是多标簽的,允許每個實體有多個關系(Katiyar and Cardie (2017)。本文的核心貢獻是使用AT作為聯合提取任務訓練過程的擴充。

二、Motivation

  在作者看來這篇論文是第一次嘗試研究AT在兩個相關任務的聯合訓練中的正則化效果。一般來說論文的動機是要解決什麼問題的,但是在這篇論文中并沒有說要解決什麼問題,是以在我看來,作者的動機就是通過大量實驗檢驗AT在聯合抽取有沒有作用。

三、Model

3.1 Joint learning as head selection

  作者引用了自己上一篇論文的模型作為baseline,模型結構圖如圖一所示。模型的目标在于檢測實體類型和邊界以及實體之間的關系。模型的輸入是一個序列 w = w 1 , . . . , w n w=w_1,...,w_n w=w1​,...,wn​。我們使用了字元級的Embedding來捕捉形态特征(字首、字尾),每個字元用向量表示。字元向量通過雙向LSTM得到詞的基于字元的表示。模型使用預訓練的詞向量,詞和字元的向量拼接在一起作為最終的表示,然後通過雙向LSTM提取序列資訊。

  對于NER任務,我們采用BIO(Begining,Inside,Outside)标注機制。對于實體标簽的預測,有兩種方法:使用softmax進行實體分類(假設給定實體邊界);使用CRF同時預測實體類型和實體邊界。在解碼階段,如果使用的是softmax方法,那麼就直接獨立地預測實體類型。盡管EC任務的類型的獨立分布是合理的,但是當相鄰标簽之間存在強相關性時,情況并非如此。例如,BIO編碼方案在NER任務中施加了若幹限制,B-PER後面不能接I-LOC。考慮到這個問題,我們使用線性鍊CRF解決NER任務。在解碼階段使用維特比算法。在訓練過程中,對EC(softmax)和NER(CRF)任務,我們最小化交叉熵損失 ζ N E R \zeta_{NER} ζNER​,然後實體标簽喂給關系抽取層作為label Embedding。假設實體類型的知識有利于預測所涉及實體之間的關系。

  我們将關系抽取任務模組化為一個多标簽頭選擇問題。在我們的模型中,每個詞 w i w_i wi​可能與其它詞有多個關系。比如圖一的句子,‘Smith’可能與頭實體‘California’存在‘lives in’關系,同時也存在其它關系(Works for,Born In和其他對應的實體)。任務的目标是對于每一個詞 w i w_i wi​,預測頭實體向量 y ^ i \hat y_i y^​i​和關系向量 r ^ i \hat r_i r^i​,計算分數 s ( w j , w i , r k ) s(w_j,w_i,r_k) s(wj​,wi​,rk​)。相對應的機率定義為: P ( w j , r k ∣ w i ; θ ) = σ ( s ( w j , w i , r k ) ) P(w_j,r_k|w_i;\theta)=\sigma(s(w_j,w_i,r_k)) P(wj​,rk​∣wi​;θ)=σ(s(wj​,wi​,rk​))。訓練期間,最小化交叉熵損失 ζ r e l \zeta_{rel} ζrel​:

∑ i = 0 n ∑ j = 0 m − l o g P ( y i , j , r i , j ∣ w i ; θ ) \sum_{i=0}^n\sum_{j=0}^m-logP(y_{i,j},r_{i,j}|w_i;\theta) i=0∑n​j=0∑m​−logP(yi,j​,ri,j​∣wi​;θ)

  其中m是每個單詞 w i w_i wi​的相關頭部(以及關系)的數量。解碼期間,使用基于門檻值的預測來選擇最可能的頭部和關系。聯合任務的最終目标函數為: ζ J O I N T ( w ; θ ) = ζ N E R + ζ r e l \zeta_{JOINT}(w;\theta)=\zeta_{NER}+\zeta_{rel} ζJOINT​(w;θ)=ζNER​+ζrel​,其中 θ \theta θ是訓練參數。在多個單詞組成的實體中,隻有實體的最後一個詞可以作為另一個實體的頭,以此消除備援關系。如果實體不涉及任何關系,我們預測“N”關系标簽和實體本身作為頭。

3.2 Adversarial training (AT)

  我們利用AT作為一種正則化方法,使我們的模型對輸入擾動具有魯棒性。特别地,我們通過在拼接的詞表示中添加一些噪音來生成原始資料的變體。我們通過在原來詞向量 w w w上加上最壞的擾動 η \eta η來生成每個對抗樣本,以此最大化損失函數:

η a d v = arg ⁡ max ⁡ ∣ ∣ η ∣ ∣ ≤ ϵ ζ J O I N T ( w + η ; θ ^ ) \eta_{adv}=\mathop{\arg\max}_{||\eta||\leq\epsilon}\zeta_{JOINT}(w+\eta;\hat\theta) ηadv​=argmax∣∣η∣∣≤ϵ​ζJOINT​(w+η;θ^)

  考慮到公式直接求解有點棘手,我們使用近似定義: η a d v = ϵ g / ∣ ∣ g ∣ ∣ \eta_{adv}=\epsilon g/||g|| ηadv​=ϵg/∣∣g∣∣, g = ∇ w ζ J O I N T ( w ; θ ^ ) g=\nabla_w\zeta_{JOINT}(w;\hat\theta) g=∇w​ζJOINT​(w;θ^),其中 ϵ \epsilon ϵ是作為超參處理的小有界範數。與Yasunaga et al. (2018)相似,令 ϵ = α D \epsilon=\alpha\sqrt D ϵ=αD

​,其中D是詞向量的次元。混合原始樣本和對抗性樣本進行訓練,最終的損失函數為: ζ J O I N T ( w ; θ ^ ) + ζ J O I N T ( w + η a d v ; θ ^ ) \zeta_{JOINT}(w;\hat\theta)+\zeta_{JOINT}(w+\eta_{adv};\hat\theta) ζJOINT​(w;θ^)+ζJOINT​(w+ηadv​;θ^)

Adversarial training for multi-context joint entity and relation extraction【論文筆記】一、Background二、Motivation三、Model四、Experiment五、Conclusion

四、Experiment

五、Conclusion

  對抗訓練(AT)是一種正則化方法,可以通過在訓練資料中添加小擾動來提高神經網絡方法的魯棒性。個人覺得對抗訓練更像是一種訓練詞向量的方法。

繼續閱讀