Event Extraction via Dynamic Multi-Pooling Convolutional Neural

摘要:ACE事件抽取任務的傳統方法基本依賴於精巧的特徵設計和複雜的NLP工具。那些方法缺乏普適性,耗費大量人力物力且容易錯誤傳播。

3.方法
在這篇論文中,事件抽取有兩個階段,通過使用動態多池卷積神經網絡自動學習特徵來實現多類分類。第一步是觸發詞分類,我們使用DMCNN來講句子中每個詞語分類來實現觸發詞的識別。如果一個句子有觸發詞,第二部將執行,在此使用DMCNN分配論元給觸發詞和匹配論元到角色。我們把這一過程叫做論元分類。
圖2 描述了論元分類的結構,基本上涉及以下部分:(1)詞嵌入學習,無監督方式;(2)詞典級別特徵表示,直接用詞向量來發現詞彙線索;(3)句子級特徵抽取,提出DMCNN來學習句子中組成語義特徵;(4)論元分類輸出,爲每一個論元候選角色計算置信度值。
3.1 詞嵌入學習和詞彙級特徵表示
詞彙級別特徵是事件抽取中的重要線索。傳統的詞典級別特徵基本上包括候選詞的lemma,同義和詞性標籤。這種特徵的質量依賴於現有的NLP工具和人工精巧。這篇論文選擇無監督預訓練詞向量作爲基本數據源特徵,我們選擇候選詞的詞向量(候選觸發詞,候選論元)和上下文token(候選詞左右token)。然後,所有詞向量串起來詞彙級別特徵向量L來表示論元分類裏的詞彙級別特徵。
在這項工作中,我們使用skip-gram模型來預訓練詞向量。skip-gram使用擴大平均值log可能性來訓練詞語w1,w2……wm。

3.2 使用DMCNN進行句子級別特徵學習
CNN使用最大池是一個很好的選擇來獲得句子中長距離詞之間的語義關係。但是, 傳統的CNN不能解決時間抽取的問題。因爲一個句子中可能包含不僅僅一個事件,僅僅使用最重要的信息來表示這個句子,因爲在傳統的CNN中,會市區很多有價值的線索。爲了解決這個問題,我們提出了DMCNN的方法來抽取句子級別的特徵。DMCNN使用動態多池卷積神經網絡來實現一個句子中每個部分的最大值獲取,這個句子被事件觸發詞和事件論元分割。
3.2.2 輸入
預測的觸發詞與候選論元之間的語義關係對於論元分類是至關重要的。因此,我們提出了三種類型輸入來使我們的DMCNN可以獲得重要的線索:
詞彙上下文特徵CWF:就是使用CBOW的詞向量。
位置特徵:這個很有必要於確定單詞在論元分類中是否是預測的觸發詞還是候選論元。因此,我們提出PF定義爲當前詞語和候選論元或者觸發詞之間的距離,。爲了編碼位置特徵,每一個距離值用向量表示。類似於詞嵌入,距離值隨機初始化和最優化使用後項傳播方法。
事件類型特徵:當前觸發詞的事件類型對於論元分類是有價值的,所以我們在觸發詞分類階段就對事件類型預測進行編碼,然後作爲DMCNN的重要線索。
圖2 假定詞向量大小爲dw=4,位置嵌入大小爲dp=1,事件類型嵌入爲de=1,xi屬於Rd,其中i表示第d維度在句子中第i個詞彙,其中d=dw+dp*2+de。一個長度爲n的句子如下:
x1:n = x1 ⊕ x2 ⊕ … ⊕ xn
⊕爲串聯操作符號。因此,結合詞嵌入、位置嵌入和事件類型嵌入把一個實例轉換成一個矩陣X ∈ Rn×d,然後X將輸入卷積網絡中。
3.2.2 卷積
卷積層目的在於抓取整個句子的組成語義,然後壓縮那些有價值的語義到特徵映射中。xi:i+j表示詞向量從i到i+j的串聯,卷積操作升級一個w ∈ Rh×d,應用h個單詞爲窗口來生成新的特徵。比如說,特徵Ci由xi:i+h-1的窗口單詞生成。ci = f(w · xi:i+h-1 + b)

其中b屬於R,f是一個非線性雙曲正切函數,我們把這一過程描述爲從以過濾抽取爲特徵映射。爲了抓取不同的特徵,我們通常使用卷積多層過濾。假定我們使用過濾W=w1,w2……wm,卷積操作表達如下:

其中j範圍爲1到m.卷積結果爲矩陣C ∈ Rm×(n-h+1).
3.2.3 動態多池
從每一個特徵映射中抽取最重要的特徵(最大值),傳統的CNN只是拿一個特徵映射作爲一個池,也只是獲得每一個特徵映射的最大值。但是,單個最大池對於事件抽取是不充足的。因爲一個句子中可能存在多個事件,每一個候選論元都可能扮演不同角色。所以我們在論元分類階段根據候選論元和已經預測的觸發詞將每一個特徵映射且分爲三部分。除了對整個特徵映射使用最大值來表示句子,我們保存每一個切分部分的最大值,稱爲動態多元。相對於傳統最大值池,動態多池儲備了更多的有價值信息。
如圖2所示,特徵映射輸出Cj被切分爲三部分Cj1,Cj2,Cj3,動態多池可以表示如形式下,其中1<=j<=m,1<=i<=3 .pji = max(cji)
經過動態多卷積層,我們獲得每個特徵映射pij。我們串聯所有pij成爲向量P ∈ R3m.
3.3 輸出
自動學習詞彙和句子級特徵全部串聯成一個向量F=[L,P].爲了計算每一個論元角色的置信度,特徵向量F ∈ R3m+dl,其中m是特徵映射的個數,dl是詞彙級別特徵的維數。

3.4 訓練
我們定義論元分類階段的所有參數爲θ =(E, PF1, PF2, EF, W, b, WS, bs)。其中,e表示詞向量,PF1和PF2都是位置嵌入,EF是嵌入事件類型,W和b是過濾參數,Ws和bs是輸出層的參數。
給出一個數據樣本s,網絡參數爲θ ,輸出爲向量O,Oi包含論元角色i的分值,爲了獲得條件概率p(i|x, θ),我們對所有論元角色類型s進行oftmax操作。

3.5 觸發詞分類模型
上面的模型也適合觸發詞分類,但是僅需要獲得句子中的觸發詞,相對於論元分類這還是比較簡單的。所以我們使用簡化版本的DMCNN
在觸發詞分類中,在詞彙級特徵表示中我們只使用候選觸發詞和其左右token,在句子級別的特徵表示中,我們使用CWF,但是我們只使用候選觸發詞的位置作爲嵌入位置特徵。句子將由觸發詞分割成兩部分,除此之外,其他基本與上面的方法相同。
4.實驗
4.1 數據和評估矩陣
數據還是ACE2005語料,主要是爲了和前面的方法對比性能。在觸發詞分類過程中,我們設置窗口大小爲3,特徵映射爲200,批次大小爲170,PF的維數爲5,。在論元分類中,我麼你設置窗口爲3 ,特徵映射爲300,批次大小爲20其中PF和EF維數爲5.隨機梯度下降爲最小批次和adadelta更新規則適用於訓練和測試過程。我們設置p=0.95 e=1e-6.對於退出操作,我們設置rate=0.5 ,我們使用skip-gram進行在NYT語料。

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