寫在前面
今天要跟大家分享的是發(fā)表在EMNLP的一篇事件抽取的工作JMEE。JMEE針對(duì)的是多事件觸發(fā)詞及角色聯(lián)合抽取問題,其中多事件是指在待處理的同一文本范圍內(nèi)存在多個(gè)不同事件。
同一文本范圍內(nèi)的多個(gè)事件間通常具有一定的相關(guān)性,對(duì)相關(guān)性進(jìn)行建模將有助于消除事件觸發(fā)的歧義,提高事件抽取的效果。
本文分享的JMEE首先利用句法樹將輸入文本從序列模式轉(zhuǎn)換到句法依存圖模式,以此縮短token之間信息傳遞的距離;然后,在句法依存圖上利用圖卷積來進(jìn)行節(jié)點(diǎn)信息聚合;最后,為了利用多事件之間的關(guān)聯(lián),設(shè)計(jì)了self-attention機(jī)制來計(jì)算上下文表征向量。結(jié)合以上方法,JMEE在多事件句的事件抽取任務(wù)上相對(duì)于其他方法取得了一定的提升。
1. 背景知識(shí)
在正式開始分享論文內(nèi)容之前,我們先介紹下事件抽取。按照比較標(biāo)準(zhǔn)的定義,事件抽取本身包括兩個(gè)子任務(wù):
事件檢測(cè)(Event Detection):檢測(cè)觸發(fā)詞(最能代表一個(gè)事件發(fā)生的詞),同時(shí)還要正確判定其事件類型;
論元檢測(cè)(Argument Detection):檢測(cè)事件的相關(guān)元素,同時(shí)正確判定這些元素在這個(gè)事件中承擔(dān)的角色。
上圖是一個(gè)直觀的例子。圖中左側(cè)是常見的無結(jié)構(gòu)化文本,右側(cè)是事件抽取結(jié)果。事件檢測(cè)發(fā)現(xiàn)了 "成立" 這個(gè)觸發(fā)詞,并且判定其事件類型為 "Construction" ;論元檢測(cè)則發(fā)現(xiàn)了事件"construction" 發(fā)生的時(shí)間、地點(diǎn)、執(zhí)行者以及所作用的對(duì)象。
2. 多事件
在第一節(jié)所示的例子里,一個(gè)句子中只出現(xiàn)了一個(gè)事件。實(shí)際上,更常見的情形是一個(gè)句子中存在多個(gè)事件:
這里暫稱只含一個(gè)事件的句子為單事件句,含多個(gè)事件的句子為多事件句。相對(duì)于單事件句而言,多事件句的事件抽取是相對(duì)更難。
論文原文說 “因?yàn)槎鄠€(gè)事件之間往往是相互關(guān)聯(lián)的,所以多事件抽取才更難” 。個(gè)人不太認(rèn)可這個(gè)因果關(guān)系的說法。一方面,小喵覺得“多個(gè)事件判定比一個(gè)事件判定要難” 這個(gè)說法沒問題,但不是因?yàn)槭录g的相關(guān)性讓這個(gè)問題變得難;另一方面,事件之間的相關(guān)性真正的作用是有助于多事件場景中事件類型的判定。
在多事件場景下單獨(dú)對(duì)每一個(gè)事件進(jìn)行判定很有可能出錯(cuò)。假設(shè)我們不知道 "巴薩" 代表的是“巴薩羅那足球俱樂部” ,那么“梅西即將離開巴薩"中的 “離開” 可能是“離開某個(gè)地方”,也可以是 “不在為球隊(duì)效力” ;但是結(jié)合“計(jì)劃簽下”這個(gè)事件的意思,我們可以知道 “離開” 不是 “離開某個(gè)地方” 而是 “不在為球隊(duì)效力”。
3. JMEE核心思想
3.1 整體思想
JMEE主要是通過引入句法樹構(gòu)建詞網(wǎng)絡(luò)以及后續(xù)的GCN、self-attention來捕獲事件間的相關(guān)性,從而獲得更好的詞/字的語義表征,在此基礎(chǔ)上再進(jìn)行后續(xù)的工作。其中,引入句法樹是關(guān)鍵的關(guān)鍵。
3.2 為什么要引入句法樹
我們來看下為什么要引入句法樹。
上圖例子中共有兩個(gè)觸發(fā)詞,即:“killed”和“barrage”,他們之間間隔了5個(gè)其他詞。換句話說,從“killed” 到“barrage”需要6步 (6hop,6跳)。實(shí)際上,多個(gè)事件觸發(fā)詞之間的距離可能遠(yuǎn)大于我們例子中的6。
另一方面,句中兩個(gè)詞的距離往往大于其在依存樹中的距離,比如“killed”和“barrage”在句子中的距離為6,但在句法樹中他們的距離僅僅為3。上圖底部我用紅色箭頭標(biāo)出了3跳的路徑,紅色的3個(gè)箭頭組成了一個(gè)shortcut path。通過這個(gè)shortcut path,我們就可以使用較少的跳數(shù),使信息從"killed"轉(zhuǎn)移向"barrage"。也就是說,從句法樹建模詞與詞的依賴關(guān)系更容易也更直接。
所以JMEE引入句法樹,利用句法樹的依賴關(guān)系連接詞/字,縮短詞/字之間的信息傳遞需要的距離(跳數(shù));此外,引入句法樹后也可以自然地從圖卷積的角度來進(jìn)行后續(xù)的操作。
4. 模型細(xì)節(jié)
現(xiàn)在我們來看下JMEE模型的具體細(xì)節(jié)。JMEE整體框架大體上包括4部分:詞嵌入、句法圖卷積模塊、觸發(fā)詞檢測(cè)模塊、論元檢測(cè)模塊。實(shí)際上,一直到句法圖卷積模塊都是在做表示學(xué)習(xí)。
4.1 詞嵌入
前面我們說引入句法樹依賴關(guān)系后,很自然地就可以用圖卷積的方式來做相應(yīng)的詞的表征了。但實(shí)際上,JMEE并沒有一上來就這么做。因?yàn)槿绻耆揽烤浞淅锏囊蕾囮P(guān)系,某些詞的左右詞所涵蓋的local context可能就被忽視了(本來直接一步或幾步就能達(dá)到卻變成需要很多步之后才能到了)。所以,JMEE選擇先利用雙向LSTM來捕獲這種local context:
其中為輸入文本中第個(gè)token(詞或字)的表征向量,其利用了實(shí)體、詞性、位置等信息,具體地由以下四個(gè)向量拼接而成:
的詞嵌入(word embedding):從預(yù)先訓(xùn)練好的詞向量模型中獲得,JMEE選擇的詞向量模型為Glove;
的詞性嵌入(Pos-tagging label embedding):利用隨機(jī)初始化Pos-tagging label embedding table將的詞性標(biāo)簽轉(zhuǎn)換成實(shí)值向量;
的位置嵌入(Positional embedding):假設(shè)是當(dāng)前詞,那么為與的相對(duì)距離;利用隨機(jī)初始化的Position embedding tabel將轉(zhuǎn)換為實(shí)值向量;
的實(shí)體類型的嵌入:利用隨機(jī)初始化的entity label embeeding label將對(duì)應(yīng)的BIO實(shí)體類別標(biāo)簽如B-Name轉(zhuǎn)換為實(shí)值向量。
LSTM層的輸出作為圖卷積的初始值。
4.2 圖卷積
文章沒有給出具體的網(wǎng)絡(luò)圖,所以下面我們直接來看公式。
圖卷積部分整體上是比較簡單的,把句中詞/字當(dāng)作網(wǎng)絡(luò)圖中的節(jié)點(diǎn),利用節(jié)點(diǎn)的鄰居來加權(quán)表征節(jié)點(diǎn)自己。這里的關(guān)鍵在于鄰居節(jié)點(diǎn)以及邊類型的定義。
節(jié)點(diǎn)
舉個(gè)例子,假設(shè)當(dāng)前節(jié)點(diǎn)是下圖中的“arrested”,它的鄰居節(jié)點(diǎn)就是與它通過句法依賴直接關(guān)聯(lián)的詞“police”、“connection”。注意,可能包括自己,因?yàn)榭赡苡凶原h(huán)。
邊及邊類型
至于節(jié)點(diǎn)間的連邊以及邊類型,JMEE直接利用的是句法依賴關(guān)系。所以,這個(gè)例子中節(jié)點(diǎn) “police“ 與節(jié)點(diǎn) “arrested”,連邊類型為:
節(jié)點(diǎn)“police“ 與節(jié)點(diǎn) “connection” 相連,連邊類型為:
圖卷積
圖卷積模塊的第層,節(jié)點(diǎn)的圖卷積向量為:
這里表示邊(u,v)的類型標(biāo)簽;而、則分別是與類型標(biāo)簽的相關(guān)的權(quán)重參數(shù)和偏置參數(shù);是激活函數(shù);詞嵌入模塊的最終輸出,即。
連邊類別重新定義
假設(shè),句法依賴關(guān)系共有種,再加上反向邊和自環(huán)后,一層圖卷積層就會(huì)有個(gè)權(quán)重參數(shù)和偏置參數(shù),這個(gè)參數(shù)量太大了。為了減少參數(shù)量,JMEE重新定義了邊類型,最終只維護(hù)了3種類型標(biāo)簽:
門控機(jī)制、highway units
前面圖卷積的公式相當(dāng)于每次卷積的時(shí)候每個(gè)鄰居都對(duì)當(dāng)前節(jié)點(diǎn)的表征做了貢獻(xiàn)。但實(shí)際上,不是所有的鄰居或者說所有的邊都是有益于表征的,有些詞可能會(huì)增加歧義性。所以,JMEE增加門控機(jī)制,為有不同類型標(biāo)簽的邊分配不同的權(quán)重,這也可以看成是加權(quán)鄰居的貢獻(xiàn):
其中,為邊的權(quán)重。圖卷積存在一個(gè)問題,即over-smooth/information over propagation。換句話說,節(jié)點(diǎn)在拓?fù)渖匣ハ鄠鞑バ畔?,利用其他?jié)點(diǎn)的信息更新自己的信息(匯聚節(jié)點(diǎn)信息),當(dāng)卷積深度不斷增加時(shí),處于同一連通分支的節(jié)點(diǎn)的表征會(huì)趨于一致。針對(duì)這個(gè)問題,JMEE增加了highway units。最終在原始信息、轉(zhuǎn)移信息加新的表征信息共同作用下,獲得節(jié)點(diǎn)的圖卷積向量:
這里,通常被稱為transform gate,則稱為carry gate。個(gè)人覺得這個(gè)思想與跟殘差網(wǎng)絡(luò)思想(允許原始輸入信息直接傳輸?shù)胶竺娴膶又校╊愃啤?/p>
4.3 事件、論元檢測(cè)
事件檢測(cè)和事件論元檢測(cè)部分都是分類模型。
將每個(gè)token(詞/字)做為當(dāng)前token,再經(jīng)過詞嵌入及句法圖卷積模塊都獲得了所有token的向量表示。進(jìn)一步,為了利用事件觸發(fā)詞之間的關(guān)聯(lián)關(guān)系,JMEE設(shè)計(jì)了self-attention機(jī)制用于信息聚合。簡單地說,JMEE認(rèn)為在判斷一個(gè)token的觸發(fā)詞標(biāo)簽時(shí)需要考慮到其他可能的觸發(fā)詞的信息,比如前面例子中的“離開”與“計(jì)劃簽下”。具體地,假設(shè)(文本序列中的第個(gè)token)為當(dāng)前token,那么與之相關(guān)的上下文向量按如下方式計(jì)算:
這里代表歸一化操作??梢钥吹街饕蓛刹糠纸M成,其一是的向量,其二是其余token的向量按attention權(quán)重加權(quán)后的表征。
事件檢測(cè)
對(duì)進(jìn)行觸發(fā)詞標(biāo)簽判定,只需要將其上下文向量送入一個(gè)簡單的分類器,如下:
這里的是非線性激活函數(shù),最終就是的觸發(fā)詞標(biāo)簽。JMEE標(biāo)簽體系選取的是BIO,所以經(jīng)過事件檢測(cè)模塊就可以得到類似于序列標(biāo)注的結(jié)果如“O,...,O,B-Name,I-Name,O,...,O,B-Loc,I-Loc,I-Loc,O,...,O”。我們基于這個(gè)結(jié)果序列就可以獲得候選事件觸發(fā)詞。
論元檢測(cè)
顯然候選事件觸發(fā)詞、實(shí)體都是連續(xù)的文本片段(即tokens的子序列)。對(duì)每一對(duì)候選觸發(fā)詞和實(shí)體,我們從向量中獲得其相關(guān)子序列中每個(gè)token的向量,然后利用max-pooling匯聚向量信息獲得候選觸發(fā)詞的向量以及實(shí)體的向量。將和拼接后送入全連接層進(jìn)行論元角色的判定:
結(jié)果表示的是第個(gè)實(shí)體在第個(gè)候選觸發(fā)詞所對(duì)應(yīng)的事件中扮演的角色。這里需要補(bǔ)充一點(diǎn),一般事件抽取認(rèn)為輸入文本中的實(shí)體即是候選論元,所以JMEE做論元檢測(cè)時(shí)同于對(duì)實(shí)體進(jìn)行角色分類。
5. 實(shí)驗(yàn)
5.1 實(shí)驗(yàn)數(shù)據(jù)
實(shí)驗(yàn)數(shù)據(jù)選擇的是ACE2005,下面是它的具體信息:
5.2 實(shí)驗(yàn)結(jié)果
整體性能比對(duì)
從JMEE與其他方法的整體性能比對(duì)結(jié)果來看,無論是在事件檢測(cè)(觸發(fā)詞識(shí)別、觸發(fā)詞分類)還是論元檢測(cè)(論元識(shí)別、論元角色分類),JMEE都取得了最佳的效果。
單事件、多事件場景比對(duì)
從 純粹的單事件抽取(1/1) 和 純粹的多事件抽取(1/N) 比對(duì)結(jié)果來看,在多事件抽取場景下,尤其在事件檢測(cè)任務(wù)上JMEE相對(duì)于對(duì)比方法的提升更大。
總結(jié)
今天我們分享了事件抽取模型JMEE,它主要是利用了句法樹、GCN以及self-attention來建模多事件之間的關(guān)聯(lián),從而提升多事件場景下事件抽取的效果。
審核編輯:劉清
-
圖卷積網(wǎng)絡(luò)
+關(guān)注
關(guān)注
0文章
8瀏覽量
1514 -
GCN
+關(guān)注
關(guān)注
0文章
5瀏覽量
2298 -
LSTM
+關(guān)注
關(guān)注
0文章
59瀏覽量
3767
原文標(biāo)題:一文詳解多事件抽取模型JMEE
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論