以下為陳玉博老師演講《事件抽取與金融事件圖譜構建》內容節選
陳玉博:大家好,我是中國科學院自動化所的陳玉博,很高興能和大家分享事件抽取和金融事件圖譜構建方向的一些探索。
現在網際網路資訊呈爆炸性增長,據中國網際網路中心2018年釋出的資料顯示,截止到2017年12月,網民規模達到了7.72億,網頁總數也超過了2600億。如何快速地去獲取海量資訊當中所需要的知識,尤為重要。
隨著需求的產生,資訊抽取技術也獲得了進一步發展。
如鮑捷博士剛才提到,透過語義註釋,可以把非結構化的文字轉變成結構化的文字,構建大規模的知識圖譜,就能把很多計算機不理解的東西,變成計算機所理解的東西,進而輔助我們的工作。
資訊抽取技術包括實體抽取、關係抽取和事件抽取三個重要部分,今天我主要分享事件抽取。
維特根斯坦在《邏輯哲學論》當中就說“世界是所有事實,而不是事物的總和”,其實就是說事實在現實世界當中的表現就是一個一個的事件。一個事件會涉及到多個事物,而事物其實就是剛才鮑捷博士所說的實體,有可能是人、機構,或者是各種物件。
其實很多行為學家還有認知學家認為,我們是以事件為單位去認知和體驗世界的。
比如我們一說到地震,就會有可能想到震中、時間、地點,當然也會想到它的一些子事件,比如抗震救援,但是也不能一刀切,實體和關係在我們腦海當中也是存在的。
我們可以把實體和事件看作兩類,實體是一種靜態的,而事件偏動態。在金融領域,這兩個方向應該都關注。
構建一個事件圖譜能豐富現有的以實體為核心的知識圖譜。除此之外,它能支撐很多資訊檢索,比如說問地震遇難人數,它能給一個具體的數。另外還可以對一個企業或者是一支股票進行很多事件的監控。
事件圖譜構建關鍵:事件抽取以及事件關係抽取
如何定義一個事件呢? 事件起源於認知科學,常常在哲學、語言學、電腦科學等領域被廣泛討論。但遺憾的是目前對事件還沒有統一的定義,在不同領域,針對不同的應用,不同的人對事件有不同的描述。
在知識圖譜領域,事件是發生在某個特定的時間點或時間段、某個特定的地域範圍內,由一個或者多個角色參與的一個或者多個動作組成的事情或者狀態的改變
基於定義,我們在建模的時候就有幾點需要注意。
首先就是不同動作或者狀態的改變是不同型別的事件,就比如說奧巴馬上任和奧巴馬離任這都是兩個型別的事件。
同一型別的事件中不同的元素代表了不同的事件,比如奧巴馬上任和川普上任,這是兩個事件。
同一個型別的事件中不同粒度的元素代表不同粒度的事件。事件之間其實有很多關係,其中子事件就是一個比較有代表性的,同樣是戰爭型別的事件,持續的時間或者元素的粒度不一樣,就有二戰、抗日戰爭和淞滬會戰之分,它們是不同粒度的事件。
構建一個事件圖譜有兩項關鍵技術,第一是事件抽取,第二是事件關係抽取。
事件抽取分兩個步驟:第一步就是事件的發現和抽取,第二個是事件元素的抽取。事件發現是你要讓計算機知道讀完這一句話,是哪一個詞觸發了這個型別的事件並且判斷它觸發什麼型別。
然後是事件元素抽取,就是說你要讓計算機判斷出參與這個事件所有的元素是什麼,並且它們在這個事件當中扮演一個什麼角色,比如說美團和大眾點評合併這樣一個事件,其實它描述的就是一個公司合併事件。美團和大眾點評在這裡就是兩個參與者了,10月8日就是合併事件發生的時間,這是我們希望計算機能自動從文字當中提取出來的。
另外一個就是事件關係抽取,事件關係給大家介紹四類:共指,時序,因果和子事件。
共指。比如說一個事件你會有不同的新聞來源,去描述它不同的側面,如果識別出這些不同的描述,描述的都是同一個事件,就能判斷這是共指關係,這樣你就能從各個角度全方位地去認識這個事件,並且追蹤這個事件。
因果。有了因果關係以後,就可以做很多風控或者是預測。比如日本大地震導致了海嘯,最後導致了核洩露。類似這樣的因果關係能對風控和預測有參考價值。
時序。你只要把一個事件結構化,就有時間資訊,時序就比較清晰了。
還有一個就是子事件。
事件圖譜在金融領域的應用
瞭解了事件的建模、事件圖譜的關鍵技術之後,接下來給大家講講我們在金融領域做的嘗試——篇章級金融事件抽取。主要解決的問題是如何從金融公告當中抽取出結構化的事件資訊,比如說抽取出凍結、質押、增減持等公告。
先說說兩大挑戰,一個是篇章級的抽取,一個是標註資料的缺失。
學術界的研究和真實場景的應用之間存在一些區別。學術界做的大多數是國際上公開定義的任務,給你一個句子,你抽取它觸發了什麼型別的事件,更多體現出實驗的思維,控制變數。但是真實場景要求你從公告或者是一個研報這樣篇章級別的檔案中去抽取一個結構化的事件,通常由多個句子描述一個事件,一個事件的多個元素分佈在不同的句子中,不確定性加大,難度加大。
另外一個問題,現有的事件抽取系統效能都依賴於人工標註資料,現在沒有一份公開做這個任務的語料,人工標註資料耗時費力,成本高昂,金融領域缺乏大規模高質量的標註資料。沒有這樣的語料很難去做這件事情,所以我們也是在原來所有工作的基礎之上,做了一些改進,在金融領域做了一個簡單的嘗試。
針對這兩個挑戰,我們做了兩個任務,第一個就是自動生成標註資料,利用現有的一些結構化的事件資訊,然後去公開文件當中自動生成標註資料。
有了資料以後,我們還要做一個篇章級的抽取。
先做一個句子級的抽取,採用一個序列標註的模型,雙向LSTM+CRF。但很多情況下一個事件是由篇章當中的不同句子去描述的,你需要從不同的句子當中抽取出來對應的元素,去構成一個這樣的一個完整事件,那麼你就要從多句話當中,識別出來哪個是主句,這個是用一個 CNN 分類的模型去做的,模型中不僅考慮了文字特徵,還同時考慮了對於那個句子分析的結果。找到主句以後,這一個主句有可能描述得不全面,你又從它上下文件中,把對應的角色給補齊。
我們針對凍結、回購、增減持,還有質押這四個事件型別做了一個簡單的實驗,在我們比較擅長的句子級事件領域,平均做到了大概 F 值 90% 左右,但是如鮑老師所說,其實這個 90%多的效能的系統到實際應用,還需要大量的工程和工業界的努力。
我們開發了一個demo系統,可以對全篇公告進行分析,首先針對每個句子進行分析,分析結果示如demo頁面1。
分析完以後,找到主句,然後再上下文補齊,例如圖片中的例子中整篇公告描述的是一個凍結的事件,但是主句子只描述了4個角色,而完整的凍結事件至少要提取6個角色,主句中缺乏的是起始和結束時間,這兩個元素需要從別的句子當中補齊,最終結果如demo頁面2所示。
簡單總結一下,其實事件知識在知識圖譜以及很多智慧應用當中都是不可缺少的。在金融領域,比如企業資訊監控、風險信用控制和智慧投顧等方面都能發揮積極作用。
在通用領域的事件抽取其實是很難的,難在大規模、高質量的訓練資料的缺失,還有魯棒特徵的提取。相比較而言,在限定領域,尤其是金融領域的事件抽取,是有可能取得不錯的效果的,在限定領域,它的文字型別受限,語言表述的規律性也比較強,而且它是知識密集型的。目前在金融領域的實踐中已經證明能夠替代部分人工,提取的精確度能隨著樣本量的增加以及演算法的最佳化而不斷提高,可用性程度會進一步擴大,事件抽取以及事件圖譜的構建在金融領域的影響力也必將不斷增強。