《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]也就是 矩陣表示w的上下文辭彙,[e1, e2,..., en]也就是 矩陣表示上下文辭彙所對應的實體類型信息。在進入CRL模塊之前,首先需要將其全部表示為word embedding。然後分別計算上下文辭彙和類型信息的attention vector。最後分別得到上下文辭彙表示 和上下文實體類型信息的表示 。 以下為兩個attention vector的詳細計算過程:
- 上下文辭彙attention vector是基於當前觸發詞候選者w和它的上下文辭彙 計算的。首先將(包括w和中的每一個詞語)通過以下公式轉換為隱層表示:n
f為非線性函數,為轉換矩陣。然後通過以下公式計算每個辭彙對應的attention值就可以得到該句子的詞語層面的attention vector :
- 上下文實體類型attention vector 的計算方法類似於attention vector :
需要注意的是,我們沒有用當前候選詞的實體類型信息來計算attention vector。原因是只有很少的觸發詞是實體。所以說entityntype對於候選觸發詞來說是沒有意義的。這裡用(是將觸發詞候選者由辭彙空間轉換至實體類型空間的結果)作為attention source。
接著,我們將和合併得到最終的attention vector α=+。最後,上下文辭彙的表示和上下文實體類型信息的表示通過以下方式獲得:
(2) ED(事件檢測器)
我們採用一個三層(input,hidden,output)的Artificial Neural Networks(ANNs)來建模事件檢測任務。將、和w相連接作為神經網路的輸入,輸出為向量O,為了獲得條件概率需要進行softmax操作,採用負的對數似然函數作為loss函數:
(3) 監督attention
為了讓參數辭彙獲得更多的attention,我們首先用注釋的參數來構建向量作為gold attentions,然後把它們作為監督來訓練attention機制。本篇論文提出了兩種策略來構建監督attention:
S1:只關注參數辭彙
給予所有的參數相同的attention值。下圖中即為最後得到的gold attention vector:
S2:關注所有參數和其周圍的辭彙
本策略認為不只是參數,參數周圍的辭彙對事件檢測也有重要作用。距離參數越近的辭彙越重要,就應該獲得更多的attention。我們對每個參數周圍採用高斯分布。具體來說就是,首先獲得一個如S1當中的raw attention向量,然後創建一個新的向量並初始化為0。然後對於每一個=1,我們都用如下演算法來更新:
這裡w表示attention機制的窗口尺寸。最後歸一化得到gold attention vector
(4) 聯合訓練事件檢測和attention
給定gold attention向量和模型計算得到的machine attention,我們採用平方誤差作為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:自然语言处理 |