論文筆記 | 文檔級別的中文金融事件抽取系統

原論文的著作權屬於中科院自動化所,本文僅進行了學習以及筆記工作。
1. 前言

我個人認爲,事件抽取(Event Extraction)主要存在兩方面的問題。第一個方面,訓練數據的嚴重不足。拿經常用來做實驗的公開數據集 ACE 2005 來說,各語言的文檔數不過幾百篇,如果要運用機器學習神經網絡的方法進行測試,這樣的數據量是不足夠的。此外,ACE 2005中提供的事件不具備在垂直領域的可拓展性。第二個方面,事件抽取的實用性還不夠。我之前看到過的事件抽取方向的論文,都是在句子的層面進行的事件抽取,但是這樣有很明顯的缺陷:一個事件涉及到觸發詞(Trigger)和多個事件元素(Argument),我們很少能夠遇到觸發詞和所有的事件元素都出現在同一個句子中這種非常理想的情況,也就是說,只從一個句子出發進行事件抽取,很容易抽取不出來Argument的信息。

一個事件出現在多個句子中
一個事件出現在多個句子中

在這篇論文中,研究人員描述了一個從文檔層面出發進行事件抽取的系統,此外,他們還將遠程監督這(Distance Supervision)一方法應用到事件抽取領域,使得訓練集的自動拓展在一定程度上成爲了可能。可以說這篇論文試圖同時解決上面提到的事件抽取存在的兩方面問題。
2. 思路
2.1 擴充訓練語料

利用遠程監督(Distance Supervision)的方法進行訓練數據集的擴充。遠程監督是一種訓練集擴充的方法,在關係抽取和事件抽取任務中都已經得到了應用。我們先拿關係抽取中的遠程監督舉例:

遠程監督輔助關係抽取
遠程監督輔助關係抽取

在已有的數據庫Freebase之中,我們已知Steve Jobs 與 Apple 具有founders關係,並且Freebase中提供了相關的表示founders關係的樣本句子。但是我們覺得樣本數量過少,希望能夠根據已有知識來擴展一下數據集,以方便我們模型的訓練。我們從外界獲得大量的文本,進行關鍵詞的匹配,只要是在同一句話中同時出現了Steve Jobs 以及Apple 這兩個實體,我們就假設這句話表達了二者之間具有的founders關係,對這句話進行標註,並加入到訓練數據集之中。

誠然,使用這種方法一定能夠對數據集進行擴充,但是也存在一個比較明顯的問題:有可能引入錯誤標註數據。就比如上圖”Mentions from free tests”中的兩個句子,這兩個句子中,Steve Jobs和Apple同時出現,但是隻有第一個句子表達了founders這一關係,第二個句子並沒有。遠程監督的方法會將這兩個句子都標註爲founders關係,加入語料庫,這就引入了錯誤標註的樣例。錯誤的標註會在訓練的過程中對模型產生誤導,影響未來的預測結果。有很多論文提到了如何去除錯誤標註所帶來的影響,在這篇筆記中不過多贅述。此外,本篇論文中並未提到錯誤標註的影響,只考慮到了遠程監督對數據集起到的擴充效果。
2.2 兩層事件抽取

從句子和文檔兩個層面進行事件抽取,並輔助以元素補全(Argument Completion)手段,進行文檔級別的事件抽取,避免了從一個句子中無法抽取出完整事件信息的弊病。
3. 模型

系統整體結構
系統整體結構

上圖展示了本論文模型的整體架構,可以分兩個部分看,第一個部分是數據生成,即通過遠程監督進行數據標註,並生成句子級別的和文檔級別的標註數據;第二個部分是事件抽取,是兩個獨立訓練的部分,分別通過句子級別的標註數據和文檔級別的標註數據進行訓練。
3.1 數據生成

數據生成部分
數據生成部分

數據生成需要兩個數據集合:一個是人工編寫的,結構化的金融事件知識庫,這個庫中包含着大量的結構化金融事件,並且對每一個事件都針對其Trigger和Arguments進行了詳細的記錄;需要的另一個數據集合是公司的金融公告,用來進行與知識庫中的事件進行匹配,以便按照遠程監督的原則生成數據集合。生成的主要步驟,按照我個人的理解,總結如下:1. 將文檔切分成一個個的句子;2. 對句子進行Trigger的匹配;3. 匹配Argument。這個步驟完成後,句子級別的標註數據就已經產生了。之後,我們還需要進行文檔級別的標註。對於一個文檔,我們只定義其中的一個句子作爲文檔中的正例,即最能表達文檔中事件的一句話,其他句子均爲負例。至於如何判斷正負例,我自己的理解是,這句話如果包含了trigger和事件中最重要的幾個Arguments(比如涉及的企業,股權數量),那麼這個句子就是正例,其他的句子就自動被處理爲負例。自此,對一篇文檔的標註就完成了。
3.2 事件抽取

事件抽取模型
事件抽取模型

事件抽取模型也分成兩個步驟,一個是黃色框的句子級別的抽取,一個是綠色框的文檔級別的抽取。

句子級別的抽取採用了在序列標註領域有着非常出衆表現的Bi-LSTM+CRF模型,序列標註模型在命名實體識別(NER),事件抽取(EE)方面都有着廣泛的應用。通過將句子切分成字符,以字符的形式輸入模型,我們最終可以在輸出端得到字符的BIO標註,Trigger和Arguments可以用這種方法進行抽取。之後,我們將SEE的輸入和輸出分別向量化,並將兩個向量拼接在一起,得到DEE的輸入。論文中並未提到向量化的方法。DEE的目標是給定一個句子及其標註,可以判斷這個句子是否是文檔中的正例。通過DEE,我們可以得到文檔的中心事件。DEE實質上是一個卷積神經網絡,具有一個輸入層,一個卷積層以及一個二分類的輸出層。在得到文檔級別的標註後,我們已經知道了文檔的核心事件是什麼,剩下要做的就是進行元素的補充(Argument Completion),使整個事件更加完整。比如在圖中,sn+1

中包含着事件的時間信息,但是卻不在正例之中。這時,我們假設這個時間涉及的事件就是我們的中心事件,使得中心事件中的時間信息能夠得到補足。
4. 應用

demo
demo

論文中還提供了一個Demo,通過Demo,我們可以看到,整個事件都能被抽取出來,包括不在中心事件句子中的時間信息。
————————————————
版權聲明:本文爲CSDN博主「ZoelBro」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:

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