【論文解讀 EMNLP 2019 | HMEAE】Hierarchical Modular Event Argument Extraction

論文題目:HMEAE: Hierarchical Modular Event Argument Extraction

論文來源:EMNLP 2019 清華、微信AI

論文鏈接:https://www.aclweb.org/anthology/D19-1584/

代碼鏈接:https://github.com/thunlp/HMEAE

關鍵詞:事件元素抽取(EAE),概念層次,attention,BERT,CNN



1 摘要

本文解決的是事件元素抽取(EAE)任務。

現有的方法獨立地對每個argument進行分類,忽視了不同argument roles間的概念相關性。本文提出了HMEAE(Hierarchical Modular Event Argument Extraction)模型處理EAE任務。

作者爲概念層次(concept hierarchy)的每個基本單元設計了一個神經網絡模塊,然後使用邏輯操作,將相關的單元模塊分層地組成一個面向角色的模塊網絡(modular network),對特定的argument role進行分類。

由於許多的argument roles共享相同的高層次(high-level)的單元模塊,argument roles間的關聯就得到了利用,有助於更好地抽取出特定的事件arguments。

實驗證明了HMEAE可以有效地利用概念層次的知識,效果優於state-of-the-art baselines。


2 引言

(1)任務介紹

事件抽取(EE)通常看成由兩個子任務構成:事件檢測(ED)、事件元素抽取(EAE)。近些年來,EAE成了EE的瓶頸。

EAE的目的識別出是事件arguments的實體並對該實體在事件中扮演的角色進行分類

例如,在句子“Steve Jobs sold Pixar to Disney”中,“sold"觸發了Transfer-Ownership事件。EAE的目的是識別出"Steve Jobs"是一個事件元素(event argument),並且該元素的角色爲"Seller”。


(2)現有方法的不足

現有的方法都是將元素角色看成是彼此之間相互獨立的,忽視了一些元素角色和其他元素的概念相似性

圖1爲例,相比於"Time-within",“Seller"在概念上和"Buyer"更接近,因爲它們共享了相同的上級概念"Person"和"Org”。概念層次可以提供額外的有關元素角色間關聯的信息,有助於元素角色的分類。


(3)作者提出

作者受先前的層次分類網絡[1~3]和神經模塊網絡(NMNs)[4]的啓發,提出了HMEAE模型,利用了概念層次的信息。

HMEAE模型採用了NMNs,模仿概念層次的結構,實現了一種靈活的網絡結構,爲更好的分類性能提供了有效的歸納偏差(inductive bias)。

圖1所示,作者將概念分爲兩類:表示抽象概念的上級概念細粒度的元素角色(argument roles)。一個元素角色可以從屬於多個上級概念

圖2所示,爲每個概念設置了一個NMN,並將其組成了一個面向角色模塊網絡,以預測每個實體的元素角色:

1)首先,對於每個上級概念,有一個上級概念模塊(SCM)來突出和概念有關的上下文信息;

2)然後,對於每個元素角色,使用針對特定角色的邏輯模塊整合和其相對應的SCMs,以得到統一的高層次的模塊;

3)最終,使用元素角色分類器,預測實體是否扮演了給定的元素角色。

本文的模型將概念層次納入考慮有以下好處:1)高層次的模塊可以有效增強分類器性能;2)不同元素角色共享上級概念模塊


3 模型

HMEAE模型結構如圖2所示,由3部分組成:

1)實例編碼器(instance encoder):將句子編碼成隱層嵌入,並使用特徵聚合器將句子信息聚合成統一的實例嵌入

2)分層模塊的注意力(hierarchical modular attention component):生成面向角色的嵌入,以突出參數角色上級概念的信息;

3)元素角色分類器(argument role classifier):使用實例嵌入面向角色的嵌入,針對該實例估計出特定元素角色的概率。


3.1 Instance Encoder

將一個實例表示爲nn個單詞的序列:x={w1,...,t,...,a,...,wn}x={\{w_1, ..., t, ..., a, ..., w_n}\}t,at, a分別表示觸發詞候選元素。觸發詞是用已有的ED模型選擇出來的,與本文無關。句子中的每個命名實體都是一個候選元素。

(1)句子編碼器

將單詞序列編碼成隱層嵌入:

其中E()E(\cdot)是一個神經網絡,本文使用CNN和BERT作爲編碼器。

(2)特徵聚合器

將隱層嵌入聚合成一個實例嵌入。本文使用dynamic multi-pooling作爲特徵聚合器:

其中,[]i[\cdot]_i表示向量的第ii個值;pt,pap_t, p_a分別是觸發詞tt和候選元素aa的位置。將3個piecewise max-pooling結果拼接起來作爲實例的嵌入xx


3.2 Hierarchical Modular Attention

圖2所示,給定隱層嵌入{h1,h2,...,hn}{\{h_1, h_2,..., h_n}\},上級概念模塊(SCM)爲每個隱層嵌入給出了一個注意力得分,以建模其與特定上級概念的相關性。

由於一個元素角色可以從屬於多個上級概念,所以使用一個邏輯模塊(logic union module)以結合源於不同上級模塊的注意力分值

對於每個元素角色,將其上層概念模塊組合成完整的hierarchical modular attention模塊,構建面向角色的嵌入

(1)上級概念模塊(SCM)

對於特定的上級概念cc,使用可訓練的向量ucu_c表示其語義特徵。作者採用了多層感知機(MLP)來計算注意力分值

首先計算隱層狀態:

然後,進行softmax操作,爲每個隱層嵌入hih_i得到對應的注意力分值:

其中,Wa,WbW_a, W_b是可訓練的矩陣,並且在不同的SCM間共享

(2)Logic Union Module

給定一個元素角色rRr\in \mathcal{R},定義它的kk個上級概念爲c1,c2,...,ckc_1, c_2, ..., c_k,針對hih_i的相應的注意力分值爲sic1,sic2,sicks^{c_1}_i, s^{c_2}_i, s^{c_k}_i

對這些注意力分值求均值,得到面向角色(role-oriented)的注意力分值

然後使用上面計算出的面向角色的注意力分值作爲權重,對所有的隱層嵌入進行加權求和,得到面向角色的嵌入


3.3 Argument Role Classifier

實例嵌入xx實例的面向角色的嵌入ere^r作爲分類器的輸入,估計給定實例xx的條件下,角色rRr\in \mathcal{R}的概率。其中,r\mathbf{r}是元素角色rr的嵌入。

目標函數定義如下:


4 實驗

(1)數據集

ACE 2005, TAC KBP 2016

(2)概念層次的設計

使用8個不同的上級概念,人工設計了概念層次。

(3)對比方法

1)基於特徵的方法

  • Li’s joint
  • RBPB

2)神經網絡方法

  • DMCNN, DMBERT:和文本模型大致一樣,但是缺少hierarchical modular attention模塊。
  • JRNN
  • dbRNN:使用了句法信息
  • HMEAE(CNN)
  • HMEAE(BERT)

(4)實驗結果

在兩個數據集上進行實驗,不同方法的結果如下:

從ACE 2005數據集中隨機採樣了一個句子,該句在HMEAE (BERT)模型中的注意力分值sics^c_i可視化如圖3所示。可以看出單詞隱層嵌入的注意力分值,在與其相關的上級概念上得分較高。這表明,由於上級概念模塊(SCM)是共享的,所以無需經過專門數據的訓練,SCM就可以很好地捕獲概念特徵。


5 總結

本文提出了HMEAE模型,用於處理EAE(事件元素抽取)問題(面向的是argument roles的分類問題)。

採用靈活的模塊網絡(modular networks),利用了和元素角色(argument roles)相關的層次概念,作爲有效的歸納偏置(inductive bias)。

實驗證明了HMEAE的有效性,並在某些度量上超越了state-of-the-art。

未來工作:在使用本文模型的基礎上,根據人的經驗,利用更多樣的inductive bias,來提升一些擴展任務。


這篇文章的亮點在於使用到了概念層次的信息,有助於EAE中的argument roles分類問題。

模型在建模的過程中以一個實例作爲對象,也就是一個句子。使用CNN或BERT將句子建模成隱層嵌入序列;然後根據觸發詞和候選元素(句中實體)的位置,使用dynamic multi-pooling進行了特徵的聚合,得到了實例的嵌入

接着,在上級概念模塊(SCM)中使用注意力機制,給每個隱層嵌入分配一個注意力分值,表示該隱層嵌入和該上級概念的關聯性程度。然後,給定角色,對隱層在不同上級概念中的注意力分值求平均,得到每個token ii針對該角色的注意力分值。再使用這個注意力分值作爲權重,對所有的隱層嵌入進行加權求和,得到輸入實例(句子)的面向角色的嵌入

最後,將實例的嵌入實例的面向角色的嵌入拼接起來作爲分類器的輸入,和元素角色的嵌入相乘,再經過一層softmax,爲輸入的實例xx預測角色rr

本人沒有看過代碼,光看論文個人感覺有一些不足之處。模型是對一個句子進行argument role的預測的,而一個句子中可能有多個argument。如果句子中有多個argument,分類器給句子分配了概率最大的role,那這個role對應哪個argument呢?如果是根據句子中的候選argument數mm選擇前mm個概率最大的role,那這些role該怎麼分配給對應的argument呢?我覺得作者忽視了這個問題,只考慮句子中有一個觸發詞、一個參數的情況。因爲3.1節中定義輸入序列時,是寫了一個tt(觸發詞)和一個aa(argument),沒有提到有多個tt或多個aa的情況。


參考文獻

[1] Xipeng Qiu, Xuanjing Huang, Zhao Liu, and Jinlong Zhou. 2011. Hierarchical text classification with latent concepts. In Proceedings of ACL-HLT, pages 598–602.

[2] Kazuya Shimura, Jiyi Li, and Fumiyo Fukumoto. 2018. HFT-CNN: Learning hierarchical category structure for multi-label short text categorization. In Proceedings of EMNLP, pages 811–816.

[3] Xu Han, Pengfei Yu, Zhiyuan Liu, Maosong Sun, and Peng Li. 2018. Hierarchical relation extraction with coarse-to-fine grained attention. In Proceedings of EMNLP, pages 2236–2245.

[4] Jacob Andreas, Marcus Rohrbach, Trevor Darrell, and Dan Klein. 2016. Neural module networks. In Proceedings of CVPR, pages 39–48.

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