【論文解讀 WWW 2019 | FBMA】Event Detection using Hierarchical Multi-Aspect Attention

論文題目:Event Detection using Hierarchical Multi-Aspect Attention

論文來源:WWW 2019 喬治梅森大學,弗吉尼亞理工大學

論文鏈接:https://doi.org/10.1145/3308558.3313659

代碼鏈接:https://github.com/sumehta/FBMA

關鍵詞:分層注意力,多角度注意力,事件檢測,bi-GRU



1 摘要

本文解決的是針對網絡文本數據的事件檢測和事件編碼問題。

經典的事件編碼和抽取模型依賴於關鍵詞詞典和模板,或者需要爲短語/句子打標籤,不能廣泛利用網絡上大規模的非結構化文本信息。

事件編碼可以看成是分層的任務,底層的粗粒度任務是事件檢測(識別出包含某一特定事件的文檔),細粒度的任務是對事件進行編碼(識別出關鍵的短語、關鍵句)。對於這種分層的模型,使用注意力機制是很自然的想法。

本文提出一個因式分解的雙線性多角度的注意力機制(FBMA, factorized bilinear multi-aspect attention mechanism ),從不同角度出發構建文本的表示。

實驗證明,本文的模型FBMA在檢測內亂、軍事行動等事件上取得了超越state-of-the-art的效果。


2 引言

(1)任務描述

給定大量的從網絡中得到的文本信息,例如新聞、社交媒體、博客和論壇,從中識別出有價值的信息是很有意義的一項研究工作。

問答系統、知識庫的構建和命名實體識別等應用可以爲國家安全和網絡安全提供關鍵的決策支持,然而這些應用依賴於事件抽取和編碼過程。

事件分析指的是從文本中抽取出和某一事件相關的特定信息,可以看爲分層的任務:

1)事件檢測:識別出有特定事件的文檔;

2)事件編碼:識別出關鍵短語以及描述事件相關信息的句子(比如事件類型,事件涉及到的人物的類型,以及這些內容間的關係)。


(2)面臨的挑戰

  • 事件領域的多樣性
  • 大量的數據
  • 細粒度標籤的缺乏

(3)已有工作的不足

先前的事件編碼工作聚焦於:抽取實體;檢測觸發詞;在預定義的模板上進行槽匹配。然而這些方法有一些不足:

1)它們依賴於有細粒度標籤的訓練數據,對於多個領域以及多種類型的事件,或者細粒度的標籤是很困難的。相比而言,文檔級別的標籤更易獲得

2)它們使用去掉上下文信息的句子嵌入,會導致false negatives(真實值是positive,模型認爲是negative),因爲判斷事件的發生通常不能只考慮一個句子。

有學者提出了多實例學習(MIL, multiple instance learning )方法,在一定程度上緩解了上述問題。MIL方法將文檔看成是bags of sentences,在句子層面做預測,對選定的幾個句子聚合句子級別的概率,從而得到文檔級別的預測概率。

標準的MIL形式是:實例級別的標籤是不可得的,只在group/bag級別有標籤。若bag中至少有一個正(positive)的實例,則給bag正的標籤,否則爲bag分配負標籤。


(4)作者提出

利用文本語料中的隱式層次結構,在一個統一的框架中對新聞文章中的事件檢測和關鍵句識別任務進行建模,而且不需要使用句子級別的顯式標籤。對於這種分層的模型,使用注意力機制是很自然的想法。注意力機制可以在構建文檔表示時,對不同重要程度的單詞和句子分配不同的注意力。

作者使用了基於RNN的層次結構,並使用了注意力機制,以構建句子和文檔的表示。句子的表示是使用句中所有單詞的信息構建的,文檔的表示考慮了文檔中所有句子的信息。

由於一個句子可能包含和事件相關的多角度的信息(例如起因,地點等),所以作者採用了有層次的注意力網絡模型。模型使用了多角度的注意力機制,對一個句子中的單詞計算多個注意力分佈,每個分佈都從不同角度對句子進行了考慮。而且只需要使用更易獲取的文檔級別的標籤


(5)貢獻

1)提出了因式分解的雙線性多角度注意力機制FBMA,使用多個注意力分佈構建句子的表示,並且使用有層次結構的模型提高了EE的性能;

2)在使用兩種語言的兩個不同領域的3個事件數據集上取得了state-of-the-art的效果。


3 模型

事件檢測問題定義爲:給定一個包含NN個新聞文章{x1,x2,...,xN}{\{x_1, x_2, ..., x_N}\}的語料,每一個文章都有一個事件標籤y{0,1}y\in {\{0, 1}\}1表示文章中含有一個事件。我們的目標是預測出每個新聞文章的標籤,即預測文章中是否有事件。


3.1 序列編碼器

假定一篇新聞文章中有nn個句子,每個句子中有TT個單詞,一個句子由單詞的tokens wit,t[0,T]w_{it}, t\in [0, T]組成。

使用預訓練的嵌入矩陣WeRd×V\mathbf{W}_e\in R^{d\times|V|},得到每個單詞的向量表示xit=Wewit\mathbf{x}_{it}=\mathbf{W}_e\mathbf{w}_{it}。其中dd是嵌入維度,VV是詞表。

使用bi-GRU RNN句子進行編碼,捕獲到兩個方向上的上下文信息。

其中,hit\mathbf{h}_{it}是通過拼接正反兩個方向的隱層表示得到的。


3.2 單詞級別的注意力

對於事件抽取,某些單詞的出現增加了該句含有事件的可能性。在計算句子表示時,應該爲這些單詞分配更高的注意力權重。由於和事件相關的觸發詞可能出現在句中的任何位置,所以作者使用了全局的注意力機制,對句中所有單詞進行考量,以得到句子的表示。


3.2.1 雙線性注意力

hit\mathbf{h}_{it}是單詞xit\mathbf{x}_{it}的表示。首先使用一層感知機(MLP)將hit\mathbf{h}_{it}轉換爲隱層表示uit\mathbf{u}_{it}

然後,使用一個雙線性模型計算uit\mathbf{u}_{it}和單詞級別的上下文向量uw\mathbf{u}_w的分值,以衡量單詞的重要程度:

這裏的Wi\mathbf{W}_i是一個雙線性映射矩陣;uw\mathbf{u}_w隨機初始化的,在訓練時使用其他參數對其進行學習。uw\mathbf{u}_w可以看成是一個高維表示,蘊含了有信息含量的單詞的表示信息。

使用softmax函數計算單詞xit\mathbf{x}_{it}的注意力權重:


3.2.2 因式分解的雙線性多角度注意力

上述所展示的注意力分佈只能從一個角度對句子進行考慮,例如一組特別的觸發詞或短語,因此只能反映句子中一方面的語義或一部分的語義信息。但是事件中可能會描述多個角度的語義信息,比如參與事件的任務、事件的起因、事件的發生地點等。所以作者提出了FBMA。

假定從一個句子中抽取出mm個角度,我們就需要mm個單詞表示uit\mathbf{u}_{it}和上下文向量uw\mathbf{u}_w間對齊的分數。爲了得到mm維的輸出fit\mathbf{f}_{it},我們需要學習到參數W=[W1,...,Wm]Rl×sh×m\mathbf{W} = [\mathbf{W}_1, ..., \mathbf{W}_m]\in \mathbf{R}^{l\times sh\times m}

雖然雙線性模型可以有效地捕獲到交互信息,但是它需要大量的參數,計算量很大。受多模態低秩雙線性池化方法(multi-modal low rank bilinear pooling )以及矩陣分解方法的啓發,作者提出雙線性映射矩陣Wi\mathbf{W}_i可以分解成兩個秩爲1的矩陣P\mathbf{P}Q\mathbf{Q}。因此,式(4)可以重寫爲:

其中PRl×m,QR2h×m\mathbf{P}\in \mathbb{R}^{l\times m}, \mathbf{Q}\in \mathbb{R}^{2h\times m}是兩個秩爲1的矩陣,mm是考慮的角度數量。fitRm\mathbf{f}_{it}\in \mathbb{R}^m是對於單詞xit\mathbf{x}_{it}的多角度的對齊向量。上式中的"圈"代表Hadamard乘積或者其他的元素級別的乘積

注意,參照已有的工作,在過softmax之前,先對fit\mathbf{f}_{it}使用一層tanh。由於元素級別的乘積間差異很大,所以在Hadamard乘積後使用l2l_2正則層fitfitfit\mathbf{f}_{it}\leftarrow \frac{\mathbf{f}_{it}}{||\mathbf{f}_{it}||}

然後,針對某一句子使用softmax函數計算多角度的注意力向量αitRm\mathbf{\alpha}_{it}\in \mathbb{R}^m


3.2.3 句子表示

令句子中所有單詞的表示爲Hi=(hi1,hi2,...,hiT)\mathbf{H}_i = (\mathbf{h}_{i1}, \mathbf{h}_{i2}, ..., \mathbf{h}_{iT})矩陣,HiRT×2h\mathbf{H}_i\in \mathbb{R}^{T\times 2h}

Ai=(αi1,αi2,αiT)\mathbf{A}_i=(\alpha_{i1}, \alpha_{i2}, \alpha_{iT})是句子多角度的注意力矩陣,AiRm×T\mathbf{A}_i\in \mathbb{R}^{m\times T}

對於角度jj,給定αij={αj1,αj2,...,αjT}\alpha_{ij} = {\{\alpha_{j1},\alpha_{j2},...,\alpha_{jT} }\},在角度jj句子的表示可以通過對所有的單詞表示加權求和得到:

對所有的角度進行考慮,就可以得到句子最終的表示

其中SiRm×2h\mathbf{S}_i\in \mathbb{R}^{m\times 2h}是句子嵌入的矩陣,每一行表示在某一角度下句子的表示,每一行都包含在一個新角度下的注意力分佈。將矩陣Si\mathbf{S}_i拉平,所有行拼接起來得到sis_i,以進行進一步的處理。


3.3 句子級別的注意力

一篇新聞文章由許多句子組成,只有一部分句子描述了事件,其他的只是闡述了事實,和事件相關的句子應該被賦予較高的權重。

以往的MIL方法採取的方式是:選取出top K個句子,並將它們的信息聚合。作者採用的是方式是:在句子上使用全局的注意力機制,以得到文檔的表示。

給定文檔的句子嵌入{s1,...,si,...,sn}{\{s_1, ..., s_i, ..., s_n }\},首先進行如下的計算,得到句子的表示hi\mathbf{h}_i

然後,在所有句子上使用注意力機制,得到文檔的表示

其中,us\mathbf{u}_s隨機初始化的句子級別的上下文向量,在訓練過程中會使用其他模型參數對其進行學習;d\mathbf{d}是總結了文章中所有信息的文檔表示。

給定文檔的表示d\mathbf{d},作者使用有2層隱層的MLPdropout機制,以得到分類的分值:

損失函數是標準的交叉熵損失:

對於句子的嵌入表示,如果注意力機制總是爲mm個角度提供相似的權重,則式(9)可能會有冗餘問題。爲了關注每個角度一小部分的觸發詞以及增強多個角度的多樣性,作者參考前人的工作,使用了一個懲罰項

其中F||\cdot||_F表示矩陣的Frobenius範數,並針對文檔中所有的句子求和。因此,最終的訓練損失爲:


4 實驗

(1)數據集

  • MA(Military Actions):軍隊、警察或安全機構的行爲
  • NSA(Non-State Actor):無政府組織或個人的行爲

(2)對比方法

(3)實驗結果

BSA表示雙線性單角度的注意力機制。


5 總結

本文解決的是事件檢測(ED)問題。

本文使用了基於有層次的注意力機制的模型處理這一任務,這樣可以生成單詞和句子兩個級別的表示。

使用這一有層次的模型,作者還提出了FBMA機制,在單詞上計算得到多個注意力分佈,生成含有上下文信息的句子表示和文檔表示。

實驗結果顯示這一機制的表現效果優於其他方法,尤其是使用單角度注意力機制的方法。

而且,這一模型比其他的相似的方法使用的參數更少,可擴展性更好。

未來工作:對於每個角度的注意力權重,是否可以引入一些限制,以捕獲到事件元素間共現的模式。這樣就可以得到在不同角度上的更廣泛的分佈,有助於更準確地進行事件抽取。


本文的亮點在於使用了多角度的注意力機制,可以捕獲到句子和文檔中的多種語義信息。

模型的思路也很簡單清晰,先使用多角度的注意力機制學習到句子級別的表示,然後再使用句子級別的表示採用相同的方式得到文檔的表示。在建模過程中還使用到了bi-GRU,捕獲前向和後向的上下文特徵。

爲了減少模型參數,提高可擴展性,作者借鑑了多模態低秩雙線性池化矩陣分解的思想,將雙線性映射參數矩陣分解爲兩個秩爲1的矩陣。

我認爲不足之處在於:本文的模型目的是爲文檔預測標籤,如果文檔中有存在事件則標籤爲正。這樣的話只能檢測出文檔中有沒有事件,不能檢測出文檔中事件的個數

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