论文浅尝 | 使用循环神经网络的联合事件抽取
余博濤,南京大學計算機科學與技術系,碩士研究生
論文連接:http://www.aclweb.org/anthology/N16-1034
發表會議:NAACL-HLT 2016
摘要
事件抽取(event extraction)是信息抽取中一個特別具有挑戰性的問題。針對該問題的最先進的模型要么應用流水線框架(pipelined framework)的卷積神經網絡(convolutional neural networks),要么采用通過具有豐富的局部和全局特征進行結構化預測(structured prediction)的聯合架構(joint architecture)。前者基于連續和泛化的單詞表示,能夠從數據中自動學習隱藏特征表示,而后者則能夠減緩流水線方法的錯誤傳播問題,并通過離散結構來利用事件觸發詞(trigger)和論元角色(argument role)之間的相互依賴關系。在本文的工作中,我們提出了一個雙向循環神經網絡(bidirectional recurrent neural networks,bidirectional RNN)的聯合框架來進行事件提取的方法,從而受益于前面所述的兩個模型的優點,并解決現有方法中固有的問題。我們系統地研究了此聯合模型的不同記憶特征(memory features),并驗證該模型在ACE 2005數據集上達到了最好的性能。
模型介紹
1.???? 概覽
文章所提出的模型是基于ACE所定義的事件抽取任務,該任務包含4個子任務:觸發詞檢測(找出句子中代表事件發生的詞)、觸發詞分類(將觸發詞分類到預定義的8種類型、33種子類型中)、論元檢測(檢測事件的參與元素)和論元角色分類(將論元分類到預定義的35種論元角色中)。
本文對事件抽取任務建模如下:將一個句子記為,其中為句子中第個token,即為句子長度;將該句中的實體提及(entity mention)記為,其中是實體提及的數量并且可以為0,它包含實體在句子位置和實體類型的信息;將實體提及的最后一個詞在句中位置的索引記為。對于句子中的每個,我們需要預測其事件類型,如果是我們所關心的事件的觸發詞,則繼續預測每個實體提及關于該事件(觸發詞)的論元角色。因此,事件抽取可定義為分別針對觸發詞和觸發詞-論元對的分類問題。
本文所構建的模型如圖1所示,主要分為編碼(encoding)和預測(prediction)兩個階段。其中編碼階段使用RNN來獲得句子的更抽象的表示,而預測階段則是使用這個表示來同時預測事件觸發詞子類型和論元角色。
2.???? 編碼
2.1?? 句子編碼
該階段將以下三個向量串聯,將每一個token 轉換成一個實數向量:
1) w_i 的詞嵌入(word embedding)向量
通過查詢預訓練的詞嵌入表獲得。
2) w_i 的實體類型嵌入(entity type embedding)向量
采用BIO標注方法對token的實體類型賦值,并通過查詢隨機初始化的實體類型嵌入表獲得該向量。
3) w_i 與依存樹(dependency tree)相關的二值向量
該向量的維度等于依存樹中所有可能的關系的數量,對句子做依存關系分析得到依存樹,如果對于,依存樹中有一邊與其相連,則向量中這條邊的依存關系對應的維度上置為1,其他維度為0。
對于每個 w_i 進行轉換,就能將句子 W 轉換為實數向量序列 X=(x_1,x_2,?,x_n)。
2.2?? Recurrent Neural Networks
將作為RNN的輸入序列,學習句子信息的更加有效的表示。對于步驟 i,RNN使用當前步驟的輸入向量 x_i 和上一步的隱藏向量 α_(i-1) 計算當前步驟的隱藏向量 α_i,即 α_i=Φ(x_i,α_(i-1),其中 Φ 是非線性轉換函數。本文使用的是以GRU為單元的RNN,并且為了解決在第步時正向RNN不能獲取其后面的特征信息的問題,本文采用了雙向RNN。記正向RNN為 ,逆向RNN為 。將正向和逆向的隱藏向量串聯起來,組成向量 ,該向量封裝了著眼于 w_i 的整句話的上下文信息。
3.???? 預測
在預測階段,模型預測觸發詞子類型和論元角色。需要注意的是,本文提出使用記憶向量和記憶矩陣、對論元角色、觸發詞子類型之間的依賴關系進行編碼。對于每一步,依次進行如下步驟:
3.1?? 觸發詞預測
在觸發詞預測階段,對于當前token w_i,首先串聯以下向量,得到特征表示向量 .
1) h_i
通過雙向RNN得到的隱藏向量,其包含輸入序列的全局上下文信息。
2)
對于 w_i 的局部上下文向量,由該token為 d 中心的大小的窗口中的詞的嵌入向量組成,即。
3)
上一步的記憶向量。
隨后,將特征表示向量 輸入一個具有 softmax 輸出層的前饋神經網絡 F^{trg}中,計算該token在所有可能的觸發詞子類型上的概率分布,其中 t 為一種事件子類型,最終得到對于 w_i 的預測事件子類型 。若 w_i 并非我們關注的事件類型的觸發詞,則將 t_i 賦值為“Other”。
3.2?? 論元角色預測
在論元角色預測階段,首先檢查上一階段的觸發詞預測結果 t_i 是否為“Other”,即非觸發詞。如果是的話,可以直接將 全部置為“Other”并跳至下一階段。否則,需要針對每一個實體提及 e_j,預測其關于觸發詞 w_i 的論元類型。類似地,串聯以下向量獲取 e_j 和 w_i 的特征表示向量 :
1) h_i 和 h_{i_j}
分別為雙向RNN中對應 w_i 和 w_{i_j}的隱藏向量,其中 w_{i_j} 代表 e_j 中最后一個詞所對應的token。
2)
對于 w_i 和 w_{i_j} 的局部上下文向量,由分別以 w_i 和 w_{i_j} 為中心的 d 大小的窗口中的詞的嵌入向量組成,即
3) B_{ij}
對于 V_{ij} 的隱藏向量,其中 V_{ij} 是前人工作中所提出的表達 w_i 和 w_{i_j} 之間的局部論元特征信息的二值特征向量,這些特征包括最短依賴路徑、實體類型和子類型等,而 B_{ij} 則通過將 V_{ij} 輸入前饋神經網絡 F^{bianry} 獲得,即。
4)
分別為上一步的記憶矩陣 和中 e_j 所對應的行向量。
接下來,類似地,將特征表示向量 輸入到具有 softmax 輸出層地前饋神經網絡 F^{arg}中,獲得在所有論元角色上的概率分布 ,其中 a 為一種論元角色,最終獲得對于 w_i 和 e_j 的論元角色預測結果。若 e_j 并非我們關注的論元角色,則將 e_j 賦值為“Other”。
3.3?? 更新記憶向量/矩陣
本文提出使用記憶向量/矩陣來編碼觸發詞和論元之間的依賴關系,具體如下:
1) 記憶向量:編碼觸發詞子類型之間的依賴
,其中,是所有可能的觸發詞子類型的數目,該向量的更新策略為
即若 w_i 的觸發詞子類型被預測為 t_i ,則對應維度置為1,否則不做更改。這個記憶向量“記住”了到第 i 步為止,有哪些觸發詞子類型被預測。
2) 記憶矩陣:編碼論元角色之間的依賴
,其中 i=0,?, n 是本句中所有事件提及的數目,n_A 是所有可能的論元角色的數目,該矩陣的更新策略為
即若被 w_i 預測為是事件觸發詞,且 e_j 關于 w_i 的論元角色被預測為a_{ij},則將矩陣中對應實體提及的 e_j 行和論元角色 a_ij 的列置為1,否則不做更改。這個記憶矩陣“記住”了到第 i 步針對 w_i 和 e_j 的論元角色預測為止,有哪些實體提及已經被預測成了哪些論元角色。
3) 記憶矩陣:編碼論元角色和觸發詞子類型之間的依賴
即若 w_i 被預測為是事件觸發詞且其子類型為 t_i ,則將矩陣對應實體提及 e_j 的行和觸發詞子類型 t-I 的列置為1,否則不做更改。這個記憶矩陣“記住”了到第 i 步針對 w_i 和 e_j 的論元角色預測為止,有哪些論元角色和觸發詞子類型被預測。
4.???? 訓練
訓練過程使用log似然函數作為損失函數,使用mini-batch和AdaDeltaupdate rule的隨機梯度下降算法優化模型,訓練時也同時優化詞嵌入表和實體類型嵌入表。
模型分析
1.???? 數據集
本文使用一個大規模語料庫預訓練詞嵌入表,使用ACE 2005語料庫訓練和評估事件抽取模型。
2.???? 記憶向量/矩陣的效果實驗
本文在使用C-CBOW模型預訓練詞嵌入表的情形下,針對三個記憶向量/矩陣對事件抽取的觸發詞預測和論元角色預測的效果進行了實驗,有或沒有每一個記憶向量/矩陣構成了總共8種情形,它們的實驗結果如下表。結果顯示,G^{trg} 和 G^{arg} 的應用對結果沒有提升、反而降低了,本文認為是觸發詞子類型間和論元角色間的依賴不夠強,導致它們并未在此模型中起作用。而編碼論元角色和觸發詞子類型之間依賴的 G^{trg/arg} 的應用則顯著提升了實驗結果。因此在后續實驗中,模型僅應用 G^{trg/arg}。
3.???? 詞嵌入的評估
本文對使用不同詞嵌入算法預訓練詞嵌入表的效果進行評估,結果如下表。其中RANDOM是隨機初始化,WORD2VEC是前人工作中使用Skip-gram模型在Google News語料上訓練的詞嵌入表。結果顯示,使用預訓練詞嵌入表的實驗結果明顯優于隨機初始化,所以預訓練詞嵌入表對事件抽取任務有十分重大的意義。使用C-CBOW模型的效果優于其他模型,因此在后續實驗中,預訓練詞嵌入表全部使用C-CBOW模型。
4.???? 與其他模型的對比實驗
本文對比了Li’s baseline、Liao’scross-event、Hong’s cross-entity、Li’s structure、DMCNN,用JRNN指代本文所提出的模型,實驗結果如下表。除了在觸發詞識別中略低于DMCNN模型,在其他任務中JRNN都取得了最好的效果,尤其是在論元檢測和分類中,相比其他模型有較大的提升。實驗結果證明了RNN和記憶特征在事件抽取任務中的特征表示的有效性。
5.???? 一句多事件的實驗
本文對一句話中包含多個事件的情況下的性能進行了實驗驗證,結果如下表所示,其中1/1代表一句中僅有一個事件,1/N代表一句中有多個事件。結果顯示,在不管是一個事件還是多個事件的多數情形下,本文模型都取得了最好的性能。僅僅在論元任務中對于一個句子僅包含一個事件的情況下,性能低于DMCNN,本文認為這是因為DMCNN對于論元使用了位置嵌入特征,而本文的記憶矩陣 G^{trg/arg} 在一個事件的情形下并未起作用。
?
OpenKG
開放知識圖譜(簡稱 OpenKG)旨在促進中文知識圖譜數據的開放與互聯,促進知識圖譜和語義技術的普及和廣泛應用。
點擊閱讀原文,進入 OpenKG 博客。
總結
以上是生活随笔為你收集整理的论文浅尝 | 使用循环神经网络的联合事件抽取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文浅尝 | 面向单关系事实问题的中文问
- 下一篇: 评测通知 | 2022年全国知识图谱与语