《Exploiting Argument Information to Improve event Detection》閱讀筆記

論文:《Exploiting Argument Information to Improve Event Detection via Supervised Attention Mechanisms》

來源:2017ACL

轉載請註明出處:學習ML的皮皮蝦 - 知乎專欄

一.簡介

事件抽取由兩個子任務組成:事件檢測和參數抽取。其中事件檢測也就是事件觸發詞的識別與分類,參數抽取指事件參數的識別與角色分類。例如:

這句話中識別出died觸發詞,將事件分類為die事件。抽取參數He的角色為Person,參數hospital的角色是Place。

本篇論文主要解決事件檢測任務。

根據以上定義表明事件參數對於事件檢測不重要,但是事實並非如此。尤其是對於模稜兩可的觸發詞,事件參數對其識別和分類有重要影響。例如:

這句話當中「fired」為觸發詞,事件類型為End-Position。若在觸發詞分類的時候不考慮參數「former protege」則極有可能將該事件歸類於Attack。現有的pipeline方法並不考慮參數對事件檢測的影響,而joint方法雖然同是完成事件檢測和參數抽取,但是只是提高參數抽取效果,而對事件檢測幾乎沒有提高。joint模型之所以出現這樣情況的原因有以下兩點:

(1) 聯合模型同時解決ED和AE,所以需要合併loss函數,這兩個任務被聯合訓練,但是訓練語料中觸發詞的數量比參數少,所以語料的不平衡導致AE有明顯的進步而ED沒有。

(2) 聯合模型需要提前預測潛在的觸發詞和參數,但是預測觸發詞的時候並沒有考慮參數信息,而預測參數的時候則考慮了觸發詞的信息。

本篇論文我們提出了一種基於神經網路的方法來檢測文本中的事件。在這個方法當中採用監督attention機制倆讓參數辭彙可以獲得更多的attention,而每一個辭彙的attention值由當前辭彙和目標觸發候選詞之間計算而來。在訓練的過程中,我們首先根據注釋參數為每個觸發詞候選者構建gold attention。然後將gold attention作為監督來訓練attention機制,我們用監督的方法來學習attention和事件檢測。

二.本文貢獻

(1) 分析了聯合模型在ED任務中存的問題,提出在這個任務中利用參數信息。

(2) 基於ED模型,介紹了監督attention,並且在任務中比較了不同的attention策略。

(3) 在ED任務中有顯著提高

三.演算法模型

與已有的方法類似,我們把事件檢測看作是多分類任務,將給定句子當中的每一個符號都作為候選觸發詞,我們的目標就是將候選觸發詞分類。下圖為演算法模型結構:

本演算法模型由兩部分組成:CRL(上下文表示學習)和ED(事件檢測器)。其中CRL的主要作用是通過attention機制獲取上下文辭彙的表示和實體類型信息的表示。而ED的作用就是基於已經學習到的表示來對每一個候選詞進行分類,也就是對事件進行分類。

(1) CRL(上下文表示學習)

CRL 模塊的需要有三個輸入:當前觸發詞候選者,上下文辭彙,上下文辭彙所對應的實體類型信息。首先設定每個句子的長度為n,w為觸發詞候選者,[w1, w2,..., wn]也就是 C_w 矩陣表示w的上下文辭彙,[e1, e2,..., en]也就是 C_e 矩陣表示上下文辭彙所對應的實體類型信息。在進入CRL模塊之前,首先需要將其全部表示為word embedding。然後分別計算上下文辭彙和類型信息的attention vector。最後分別得到上下文辭彙表示 c_w 和上下文實體類型信息的表示 c_e。 以下為兩個attention vector的詳細計算過程:

  • 上下文辭彙attention vectoralpha _w是基於當前觸發詞候選者w和它的上下文辭彙C_w 計算的。首先將w_k(包括w和C_w中的每一個詞語)通過以下公式轉換為隱層表示bar{w_k} :n

f為非線性函數,W_w為轉換矩陣。然後通過以下公式計算每個辭彙對應的attention值就可以得到該句子的詞語層面的attention vector alpha _w

  • 上下文實體類型attention vector alpha _e 的計算方法類似於attention vector alpha _w

需要注意的是,我們沒有用當前候選詞的實體類型信息來計算attention vector。原因是只有很少的觸發詞是實體。所以說entityntype對於候選觸發詞來說是沒有意義的。這裡用w_e(是將觸發詞候選者由辭彙空間轉換至實體類型空間的結果)作為attention source。

接著,我們將alpha _walpha _e合併得到最終的attention vector α=alpha _w+alpha _e。最後,上下文辭彙的表示c_w和上下文實體類型信息的表示c_e通過以下方式獲得:

(2) ED(事件檢測器)

我們採用一個三層(input,hidden,output)的Artificial Neural Networks(ANNs)來建模事件檢測任務。將c_wc_e和w相連接作為神經網路的輸入,輸出為向量O,為了獲得條件概率需要進行softmax操作,採用負的對數似然函數作為loss函數:

(3) 監督attention

為了讓參數辭彙獲得更多的attention,我們首先用注釋的參數來構建向量作為gold attentions,然後把它們作為監督來訓練attention機制。本篇論文提出了兩種策略來構建監督attention:

S1:只關注參數辭彙

給予所有的參數相同的attention值。下圖中alpha ^*即為最後得到的gold attention vector:

S2:關注所有參數和其周圍的辭彙

本策略認為不只是參數,參數周圍的辭彙對事件檢測也有重要作用。距離參數越近的辭彙越重要,就應該獲得更多的attention。我們對每個參數周圍採用高斯分布。具體來說就是,首先獲得一個如S1當中的raw attention向量bar{alpha } ,然後創建一個新的向量alpha ^{,} 並初始化為0。然後對於每一個bar{alpha _i } =1,我們都用如下演算法來更新alpha ^{,}

這裡w表示attention機制的窗口尺寸。最後歸一化得到gold attention vector alpha ^*

(4) 聯合訓練事件檢測和attention

給定gold attention向量alpha ^*和模型計算得到的machine attentionalpha ,我們採用平方誤差作為attention的loss函數:

然後將神經網路的loss函數與之合併得到整個模型的聯合loss函數:

四.實驗分析及結論

(1)ACE 2005數據集

由上述實驗結果可以得到如果採用非監督的attention,事件檢測效果並不好,而採用監督的attention則可以獲得非常好的效果,而且S2比S1的效果好。但是S1的精確度比S2高,原因是因為它只關注參數辭彙,而且都提供了精確的信息去識別事件類型,但是S2卻多了很多雜訊。所以S2的召回率比較高。n

(2)利用FrameNet作為額外數據

實驗結果表明FrameNet能夠幫助事件檢測獲取更好的效果。


推薦閱讀:

教機器學習閱讀
再談bot
Distributed Representations of Sentences and Documents
<模型匯總_5>生成對抗網路GAN及其變體SGAN_WGAN_CGAN_DCGAN_InfoGAN_StackGAN
真實資訊語料下的Word2Vec的遷移實踐:Tag2Vec

TAG:自然语言处理 |