🚀 HeBERT:用於極性分析和情感識別的預訓練BERT模型
HeBERT是一個希伯來語預訓練語言模型。它基於谷歌的BERT架構,採用BERT-Base配置 (Devlin等人,2018)。
HeBERT在三個數據集上進行了訓練:
- 希伯來語版的OSCAR (Ortiz,2019):約9.8GB的數據,包含10億個單詞和超過2080萬個句子。
- 希伯來語維基百科轉儲:約650MB的數據,包含超過6300萬個單詞和380萬個句子。
- 為了本研究目的收集的情感用戶生成內容(UGC)數據(如下所述)。
我們在情感識別和情感分析的下游任務上對該模型進行了評估。
✨ 主要特性
情感UGC數據描述
我們的用戶生成內容(UGC)是從2020年1月至2020年8月期間,從3個主要新聞網站收集的文章評論。數據總量約為150MB,包含超過700萬個單詞和35萬個句子。
由眾包成員對4000個句子進行標註(每個句子有3 - 10個標註者),標註內容包括8種情感(憤怒、厭惡、期望、恐懼、快樂、悲傷、驚訝和信任)以及整體情感/極性。
為了驗證標註的準確性,我們使用Krippendorff's alpha (krippendorff,1970)來尋找標註者對每個句子情感的一致性。我們保留了alpha > 0.7的句子。需要注意的是,雖然我們發現標註者在快樂、信任和厭惡等情感上有普遍的一致性,但對於一些情感(如期望和驚訝)存在普遍的分歧,這顯然是因為在文本中識別這些情感具有一定的複雜性。
性能
情感分析
屬性 |
詳情 |
自然情感的精確率 |
0.83 |
自然情感的召回率 |
0.56 |
自然情感的F1分數 |
0.67 |
積極情感的精確率 |
0.96 |
積極情感的召回率 |
0.92 |
積極情感的F1分數 |
0.94 |
消極情感的精確率 |
0.97 |
消極情感的召回率 |
0.99 |
消極情感的F1分數 |
0.98 |
準確率 |
0.97 |
宏平均精確率 |
0.92 |
宏平均召回率 |
0.82 |
宏平均F1分數 |
0.86 |
加權平均精確率 |
0.96 |
加權平均召回率 |
0.97 |
加權平均F1分數 |
0.96 |
📦 安裝指南
本部分文檔未提及安裝步驟,暫不提供相關內容。
💻 使用示例
基礎用法
對於掩碼語言模型(可針對任何下游任務進行微調):
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("avichr/heBERT")
model = AutoModel.from_pretrained("avichr/heBERT")
from transformers import pipeline
fill_mask = pipeline(
"fill-mask",
model="avichr/heBERT",
tokenizer="avichr/heBERT"
)
fill_mask("הקורונה לקחה את [MASK] ולנו לא נשאר דבר.")
高級用法
對於情感分類模型(僅極性分析):
from transformers import AutoTokenizer, AutoModel, pipeline
tokenizer = AutoTokenizer.from_pretrained("avichr/heBERT_sentiment_analysis")
model = AutoModel.from_pretrained("avichr/heBERT_sentiment_analysis")
sentiment_analysis = pipeline(
"sentiment-analysis",
model="avichr/heBERT_sentiment_analysis",
tokenizer="avichr/heBERT_sentiment_analysis",
return_all_scores = True
)
>>> sentiment_analysis('אני מתלבט מה לאכול לארוחת צהריים')
[[{'label': 'natural', 'score': 0.9978172183036804},
{'label': 'positive', 'score': 0.0014792329166084528},
{'label': 'negative', 'score': 0.0007035882445052266}]]
>>> sentiment_analysis('קפה זה טעים')
[[{'label': 'natural', 'score': 0.00047328314394690096},
{'label': 'possitive', 'score': 0.9994067549705505},
{'label': 'negetive', 'score': 0.00011996887042187154}]]
>>> sentiment_analysis('אני לא אוהב את העולם')
[[{'label': 'natural', 'score': 9.214012970915064e-05},
{'label': 'possitive', 'score': 8.876807987689972e-05},
{'label': 'negetive', 'score': 0.9998190999031067}]]
我們的模型也可在AWS上使用!更多信息請訪問 AWS的git倉庫
📚 詳細文檔
我們仍在對模型進行研究,並會隨著進展更新此頁面。
目前我們僅發佈了情感分析(極性)功能,情感檢測功能將在後續發佈。
我們的git倉庫:https://github.com/avichaychriqui/HeBERT
📄 許可證
本部分文檔未提及許可證信息,暫不提供相關內容。
📖 引用說明
如果您使用了此模型,請按以下方式引用我們:
Chriqui, A., & Yahav, I. (2021). HeBERT & HebEMO: a Hebrew BERT Model and a Tool for Polarity Analysis and Emotion Recognition. arXiv預印本 arXiv:2102.01909.
@article{chriqui2021hebert,
title={HeBERT \\\\\\\\\\\\\\\\& HebEMO: a Hebrew BERT Model and a Tool for Polarity Analysis and Emotion Recognition},
author={Chriqui, Avihay and Yahav, Inbal},
journal={arXiv preprint arXiv:2102.01909},
year={2021}
}