抽取金融事件能幫助用戶獲得競爭對手的戰略,預測股票市場做出正確的投資決策。舉例來說,股權凍結事件將對公司產生不利影響,股票持有者應迅速判斷避險。
本文大綱
痛點
- 缺乏文章級別的事件抽取:一個事件通常由文件中的多個句子組成,但當時大多方法只能從句子中抽事件
- 缺乏標註數據:當時的事件抽取方法多採取監督式學習的範式,需要人為標注,但當時國內無標記的事件抽取語料庫
目的
提供一套可從整篇文檔中抽取事件的框架
解決方案
- 使用序列標籤模式自動抽取句子級別的事件
- 關鍵事件檢測模型+參數填充策略 => 從整個文章中抽取全域事件
DCFEE 框架包含兩個部分: 標註生成、事件抽取系統。
標註生成
自動生成標註數據,在這篇論文提到需要兩種資料源:
- 請金融專家已經標註好的事件知識庫,包含事件類型、事件要素等結構化的資料
- 該公司發布的,包含這些資訊的非結構化文本的財務公告(論文資料是來自搜狐證券網)
自動化標註數據的方法
簡言之是先請專家從財務公告中標出結構化資訊,
針對每一種類型的金融事件,構建一個事件觸發詞字典,
假設一個句子級事件擁有最多事件元素 (arguments) 、又符合該事件類型的觸發詞的話,
那這個事件有可能是整篇文章最具代表性的。
此時將這個最具代表的事件標記為正面樣本、其他句子則為負面樣本,以此構成事件抽取系統所需的訓練數據。
P.S.
|這個 case 是所有文章類別在固定範圍內而且每篇文章只有一個分類
|(格式比較統一的財務公告)
|Think:如果像新聞、投研報告這種資訊量比較多元的文本,
|內容本身就需要多標籤分類的,可能要試試看
|每個標籤對應一個篇章級事件做出來的效果好不好
事件抽取系統
包含了 句子級事件抽取 (SEE) 和 文本級事件抽取 (DEE)。
句子級事件抽取 (SEE)
目的是從一句話中抽取事件觸發詞和事件元素。
SEE 是一個序列標註任務,以 BIO 格式標註,
本論文使用 BiLSTM + CRF 處理序列標註問題,其中 CRF Layer 是用來克服 label bias 的問題
文章級事件抽取 (DEE)
基於關鍵事件檢測模型和事件元素擴充策略,從整篇文章的角度抽取事件。
關鍵事件檢測模型
根據模型架構,將 SEE 部分和句子向量拼接起來作為 CNN Layer 的輸入,最後輸出分為關鍵與非關鍵兩類。
事件元素擴充策略
從關鍵事件的前後相鄰的句子找齊缺失的事件元素
|我覺得這好像不一定可以解決到事件元素真的分得很開的問題…
數據與實驗
論文針對 4 種金融事件進行實驗,分別是 股票凍結(EF)、股票抵押(EP)、股票回購(ER)、股票加權(EO)共 2976篇公告,分為 train(80%), val(10%), test(10%)
- NO.ANN 表每個事件類型中可被自動標註的公告數
- NO.POS 表正樣本的數量(公告中真正的關鍵事件)
- NO.NEG 表負樣本的數量(除了關鍵事件以外的所有事件句)
建模後,以 Precision, Recall, F1 Score 來評價 DCFEE 框架,發現在大部分實驗中 DCFEE 都優於基於模式、條件式的方法。
Golden dataset
SEE 使用的是自動生成的標註資料
DEE 使用的則是財經事件知識庫中的
透過數據可以看到兩邊都有可接受的 precision 和解釋性
結語
把事件抽取當成序列標註題目來做是一個參考點,不過找關鍵事件的方法還是算用字典在找,還有再自動化的空間。