🚀 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}
}