NLP 資料科學

【論文筆記】DCFEE:基於自動標記訓練數據的文檔級中文金融事件抽取系統

抽取金融事件能幫助用戶獲得競爭對手的戰略,預測股票市場做出正確的投資決策。舉例來說,股權凍結事件將對公司產生不利影響,股票持有者應迅速判斷避險。

痛點

  • 缺乏文章級別的事件抽取:一個事件通常由文件中的多個句子組成,但當時大多方法只能從句子中抽事件
  • 缺乏標註數據:當時的事件抽取方法多採取監督式學習的範式,需要人為標注,但當時國內無標記的事件抽取語料庫

目的

提供一套可從整篇文檔中抽取事件的框架

合併兩句話中的元素到一個事件中(擷取自論文原文)

解決方案

  • 使用序列標籤模式自動抽取句子級別的事件
  • 關鍵事件檢測模型+參數填充策略 => 從整個文章中抽取全域事件

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 和解釋性

Table4: P, R, F1 of SEE, DEE on different event types.
論文提供線上 DCFEE 系統截圖

結語

把事件抽取當成序列標註題目來做是一個參考點,不過找關鍵事件的方法還是算用字典在找,還有再自動化的空間。

%d 位部落客按了讚: