微信公眾號:農(nóng)藥兌水,分享金融科技相關學術論文、開源項目、技術資訊,歡迎關注!
BERT相信大家都不陌生,自2018年橫空出世以來,屠榜各大自然語言處理榜單。今天介紹一個使用金融領域語料訓練的BERT模型:FinBERT,出自IJCAI 2020的論文"FinBERT: A Pre-trained Financial Language Representation Model for Financial Text Mining"

如上圖所示,這篇論文,簡單來說就是用了BERT的模型和ERNIE2(百度搞得BERT pro max版)的預訓練任務,所以有興趣的童鞋可以直接去看下面兩篇論文:
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
ERNIE 2.0: A Continual Pre-training Framework for Language Understanding
本文到此為止,謝謝大家~

好吧,并沒有真的完,還是要聊聊這篇文章里面比較有價值的東西:預訓練任務和數(shù)據(jù)源。了解一些預訓練任務可以幫助大家設計一些間接獲取embedding的方法,數(shù)據(jù)源的話大家在未來的研究或工作中都有可能用到。
預訓練任務方面,文章采用了ERNIE2中的幾個任務來訓練模型:
Span Replace Prediction pre-training task。這個任務來自spanBERT和T5,就是把文本中隨機一段mask掉,然后用這一段的首尾詞向量和mask掉的詞的位置向量預測這個位置詞是啥。
Capitalization Prediction pre-training task。預測單詞大小寫,因為一些專有名詞是大寫的,所以這個任務可能對命名實體識別比較有用。
Token-Passage Prediction pre-training task。預測當前句子中的這個單詞是否會出現(xiàn)在該文檔的其他句子中,這種詞往往是常見詞和該文檔的主題詞。
Sentence Deshuffling pre-training task。把句子拆成幾個片段然后打亂,預測原始順序。
Sentence Distance pre-training task。BERT 中 NSP 的推廣。NSP 只預測兩個句子是否連續(xù),SDT 則分為連續(xù)、同文檔但不連續(xù)、不同文檔三個類別。
為了訓練模型以及比較模型的性能,文章也使用了很多金融相關的數(shù)據(jù),其中大家可以獲取到的有:
FinancialWeb: 從CommonCrawl News數(shù)據(jù)集中提取到的一個金融新聞數(shù)據(jù)集。
FinSBD-2019 dataset: 一個用于金融句子邊界檢測任務(Financial Sentence Boundary Detection)的數(shù)據(jù)集,任務是從文本中提取出金融相關的語句。
Financial Phrasebank dataset: 一個金融情感分析數(shù)據(jù)集。
FiQA SA dataset: 這個數(shù)據(jù)集出自WWW18,包含金融新聞頭條和金融微博文本,label有命名實體、情感分數(shù)以及aspect。
Financial QA dataset: 一個金融領域的問答數(shù)據(jù)集,爬取自Stack exchange投資主體的博文。
至于文章訓練出的FinBERT, 作者也放在了Github上,有興趣的可以嘗試一下:https://github.com/yya518/FinBERT
你以為這篇文章到這里就要結束了嗎?不,現(xiàn)在有了數(shù)據(jù)集和預訓練任務,我們只差GPU就能自己訓練一個屬于自己的BERT出來了,但是訓練所需的GPU動則上百塊,TPU也要幾十塊,普通人根本搞不起啊。這里介紹一個薅Google羊毛的方法:TensorFlow Research Cloud。

不知道為什么國內(nèi)知道Google有這么一個研究支持計劃的人不多,這個計劃只要申請通過就可以免費使用1段時間(通常是1個月)的TPU v2 和 v3,如果你有一些更有趣的idea,還可以與官方聯(lián)系獲取更多的支持。
最后,如果您覺得這個文章有幫助的話,請求轉發(fā)和分享一波,公眾號剛剛起步需要各位更多的支持。
微信公眾號:農(nóng)藥兌水,分享金融科技相關學術論文、開源項目、技術資訊,歡迎關注!