【論文解讀 EMNLP 2019 | TLNN】Event Detection with Trigger-Aware Lattice Neural Network

論文題目:Event Detection with Trigger-Aware Lattice Neural Network

論文來源:EMNLP 2019 清華

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

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

關鍵詞:事件檢測,word-trigger不匹配,trigger多義,LSTM



1 摘要

本文解決的是事件檢測問題(ED),ED的目的是在文本中識別出事件觸發詞並將其分類成正確的事件類型。

對於ED任務,基於神經網絡的方法已經成爲主流。但是對於沒有分隔符的語言,例如中文,就會面臨兩個問題:

(1)基於單詞的模型存在嚴重的word-trigger不匹配問題,限制了模型的性能;

(2)即使能夠準確定位trigger,一詞多義現象的存在仍會影響到trigger分類的性能。

爲了同時解決這兩個問題,本文提出TLNN模型(Trigger-aware Lattice Neural Network):

(1)模型可以動態地合併詞和字符信息,從而避免trigger-word不匹配問題

(2)對於多義的字或詞,使用外部語言知識庫對它的所有含義進行建模

實驗結果顯示,本文的模型有效地處理了上述兩個問題,並超越了state-of-the-art


2 引言

事件檢測分爲兩個子任務:觸發詞識別(TI)和觸發詞分類(TC)。這兩個子任務分別面臨着一個挑戰:

(1)trigger-word不匹配問題(TI)

主流的方法大多是基於單詞的,對於沒有天然分隔符的語言(例如中文),分詞操作是一項關鍵的預處理步驟。但是這些基於單詞的方法忽視了一個重要的問題:觸發詞可能是一個詞的一部分或者包含多個詞

例如圖1 a所示,“射殺”雖然是一個詞,但“射”和“殺”是兩個觸發詞。;“示威遊行”是由兩個詞組成的一個觸發詞。在這種情況下基於單詞的方法不能準確識別出觸發詞。

(2)一詞多義問題(TC)

有多種含義的觸發詞會被分成不同的事件類別。如圖1 b所示,“釋放”可以表示兩種完全不同的事件類型:Attack和Release-Parole。


表1展示了ACE 2005和KBP 2017數據集在上述兩種問題上的統計結果:

可以看出trigger-word不匹配和一詞多義問題在兩個數據集中均佔據了不小的比重


本文提出TLNN模型同時解決上述兩個問題。

爲了避免NLP分詞工具帶來的誤差傳播,作者使用字符作爲輸入序列的基本單元

另外,還使用了HowNet作爲外部知識庫,對多義的中英文詞彙進行標註,以獲得sense-level的信息。

然後,作者設計了trigger-aware lattice LSTM作爲模型的特徵提取器,並同時利用到了character-level, word-level, sense-level的信息。

爲了解決trigger-word不匹配問題,作者對每個單詞使用short cut paths連接起始字符和結束字符的cell state。注意此處的paths是sense-level的,也就是說以特定字符作爲結尾的詞的所有詞義信息,將會流入到該字符的memory cell中。由於利用了不同粒度的信息(character, word, sense),一詞多義問題可以較好地緩解。


3 模型

本文將ED任務看成是序列標註任務,對於每個字符,模型應該能識別出它是否是觸發詞的一部分,並將觸發詞正確分類。

模型的結構如圖2所示:

模型由3個部分組成:

(1)分級的表示學習(Hierarchical Representation Learning),以無監督的方式學習到character, word和sense級別的嵌入向量;

(2)觸發詞感知的特徵抽取(Trigger-aware Feature Extractor),使用樹結構的LSTM模型,自動抽取出不同級別的語義特徵;

(3)序列標註(Sequence Tagger),對每個候選的字符計算其是觸發詞的概率。


3.1 分級的表示學習

(1)字符級別(character level)

給定輸入序列S={c1,c2,...,cN}S={\{c_1, c_2, ..., c_N}\}cic_i代表序列中的第ii個字符。使用Skip-Gram方法,爲每個字符生成嵌入向量:

(2)詞級別(word level)

給定輸入序列S={w1,w2,...,wM}S={\{w_1, w_2, ..., w_M}\}wiw_i表示第ii個詞。使用bbee兩個下標表示一個詞的起始和結束,詞嵌入爲:

(3)詞義級別(sense level)

然而,Skip-Gram方法將每個詞僅僅映射成了一個嵌入,忽視了多義詞的存在。好的表示應該能表示更深的語義信息。因此,作者使用了HowNet作爲外部知識庫,得到字符或詞的多義信息。

對於每個字符cc和每個詞ww,在HowNet上可能被標註上了多種意思:sen(ci)S(c)sen^{(c_i)}\in S^{(c)}sen(wi)S(w)sen^{(w_i)}\in S^{(w)}。因此,可以通過使用Skip-gram聯合學習word embedding和sense embedding得到senses的嵌入。

其中,senj(ci)sen^{(c_i)}_jsenj(wb,e)sen^{(w_{b, e})}_j分別表示字符cic_i和詞wb,ew_{b, e}的第jj個sense。sjcis^{c_i}_jsjwb,es^{w_{b, e}}_j表示cic_iwb,ew_{b, e}的嵌入。


3.2 觸發詞感知的特徵抽取

這一模塊是模型的核心部分。訓練結束後,抽取器輸出的是輸入句子的hidden state向量h\mathbf{h}

(1)常見的LSTM

LSTM在RNN上增加了門(gates)來控制信息:1)輸入門ii;2)輸出門oo;3)遺忘門ff。這些門共同控制了哪些信息要保留、遺忘和輸出,並且三個門都有相對應的權重矩陣。當前的cell state cc記錄了所有流到當前時間的歷史信息。因此,基於字符級別的LSTM函數如下:

(2)Trigger-Aware Lattice LSTM

LSTMlattice LSTM的擴展。

假定字符和詞有KK個含義,第ii個字符cic_i的第jj個含義的嵌入爲sjcis^{c_i}_j

1)整合字符的多義信息

使用附加的LSTMCell整合字符的所有含義,因此多義字符cic_i的cell gate計算如下:

其中,cjcic^{c_i}_j表示第ii個字符的第jj個含義的cell state,cci1c^{c_i-1}是第i1i-1個字符最終的cell state。爲了得到字符的cell state,要使用一個附加的字符含義門(character sense gate):

然後所有的含義需要被動態整合到一個臨時的cell state,如下所示。其中,其中αjci\alpha^{c_i}_j歸一化後的字符含義門。

2)整合詞的多義信息

式(11)通過合併字符所有的含義信息,得到了臨時的cell state ccic^{*c_i}。但是,還需要考慮詞級別(word level)的信息,sjwb,es^{w_{b, e}}_j表示詞wb,ew_{b, e}的第jj個含義的嵌入。

和字符類似,使用LSTMCell計算每個單詞的cell state:

和式(10)~(12)類似,整合所有senses的cells信息,得到詞的cell state:

3)合併字符信息和詞信息

對於字符cic_i,臨時的cell state ccic^{*c_i}包含了所有sense的信息。通過式(16)也可以計算出所有以索引ii結尾的詞的cell states,記爲{cwb,ib[1,i],wb,iD}{\{c^{w_{b, i}} | b\in [1, i], w_{b, i}\in \mathbb{D}}\}D\mathbb{D}表示詞典)。

爲了保證對應的信息可以流到cic_i最終的cell state,使用一個額外的門gb,img^m_{b, i}整合字符cells和詞cells

字符cic_i最終的cell state計算如下,其中αwb,i\alpha^{w_{b, i}}αci\alpha^{c_i}分別是word gate和character gate歸一化後的值:


因此,最終的cell state ccic^{c_i}可以動態地表示多義的字符和詞。如式(7)所示,得到的 ccic^{c_i}再過一個輸出門,得到輸出,也就是序列標註模塊的輸入。


3.3 序列標註

ED任務被看作是一個序列標註任務,對於輸入序列S={c1,c2,...,cN}S={\{c_1, c_2, ..., c_N}\},有一個相對應的標籤序列L={y1,y2,...,yN}L={\{y_1, y_2, ..., y_N}\}。每個字符對應的隱層向量h\mathbf{h}作爲輸入,使用CRF層來進行序列標註,概率分佈計算如下:

SS是打分函數,計算從hih_i到標籤yiy_i發射分數(emission score )。WCRFyiW^{y_i}_{CRF}bCRFyib^{y_i}_{CRF}是針對標籤yiy_i的可學習參數。

TT是轉換函數,計算從yi1y_{i-1}yiy_i轉換分數(transition score)。

C\mathbb{C}包含了在序列SS上所有可能的標籤序列,LL^{'}mathbbCmathbb{C}中隨機的一個標籤序列。

然後使用維特比(Viterbi)算法計算出得分最高的標籤序列

模型的損失函數如下,其中MM是句子數,LiL_i是句子SiS_i實際的標籤序列:


4 實驗

(1)數據集:ACE2005, KBP2017

(2)評價度量:Standard micro-averaged Precision,F1,Recall

(3)對比方法

  • DMCNN:使用dynamic Multi-pooling的CNN抽取句子級別的特徵;
  • C-BiLSTM:提出卷積的Bi-LSTM用於ED任務;
  • HNN:設計了結合CNN和Bi-LSTM的混合的神經網絡模型;
  • HBTNGMA:提出Hierarchical and Bias Tagging Networks,並使用Gated Multi-level Attention Mechanisms整合句子級別和文檔級別的信息;
  • NPN:自動學習觸發詞的內部組成結構,以解決trigger不匹配問題。

(4)實驗結果

1、整體效果

和其他模型相比,TLNN在兩個數據集上均表現出色。這表示trigger-aware lattice structure可以提高定位觸發詞的準確性。由於使用了sense-level的信息,觸發詞的分類也更加精準。

TI任務上,TLNN表現出了最好的效果。該模型通過用shortcut paths連接所有候選詞的當前字符,有效利用了字符信息和詞信息,避免了trigger-word不匹配問題。

TC任務上,TLNN表現也是最好的。體現出了外部資源HowNet和動態利用sense-level信息的有效性。

2、觸發詞感知特徵抽取的有效性

設計實驗驗證觸發詞感知特徵抽取器的有效性。將triggeraware
lattice LSTM替換成標準的Bi-LSTM,得到基於字符和基於詞的baselines。

1)對於基於詞的baselines,輸入是單詞序列。使用額外的CNN和LSTM學習到字符級別的特徵。

2)對於基於字符的baselines,輸入的基本單元是字符。通過添加額外的word-level的特徵(包括bigram和softword,softword指字符所位於的詞),增強字符的表示,

兩類baselines都能利用到字符信息和詞信息。實驗比較結果如表3所示:

實驗結果表明,觸發詞感知的特徵抽取器通過動態地結合多粒度的信息,和baselines中基於特徵的方法相比,可以有效地挖掘出更深層次的語義特徵

3、觸發詞不匹配的影響

將兩個數據集分類兩類:匹配和不匹配。表1展示了兩個數據集word-trigger匹配和不匹配所佔的比例。

不同方法在劃分後的數據集上的Recall值表4所示:

4、觸發詞多義的影響

和NPN模型作對比,結果如表5表6所示,TLNN - W/O Sense info表示不使用多義信息。

5、舉例


5 總結

本文提出TLNN模型解決ED問題,該模型可以同時解決trigger-word不匹配問題trigger多義問題

分層的表示學習和觸發詞感知的特徵抽取器使得模型有效地利用了多粒度的信息,並且學習到了深層次的語義信息。多粒度體現爲character-level, word-level, sense-level,具體表現爲先整合字符的多義信息,再整合詞的多義信息,最後將字符的信息和詞的信息整合。整合的過程中使用到了LSTM和一些額外的門。

未來工作:在有天然的分隔符和沒有分隔符的多語言上進行實驗;設計動態的機制,對sense-level的信息進行選擇,而不是直接將所有字符和詞的多義信息都納入考慮。

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