🚀 HebEMO - 现代希伯来语情感识别模型
HebEMO 是一款用于检测现代希伯来语用户生成内容(UGC)极性并提取情感的工具。它基于我们收集并标注的独特新冠疫情相关数据集进行训练。HebEMO 在极性分类方面表现出色,加权平均 F1 分数达到 0.96。在情感检测方面,除“惊讶”情感(F1 分数为 0.41)外,其他情感的 F1 分数在 0.78 - 0.97 之间。这些结果即使与英语语言模型相比,也优于已报道的最佳性能。
🚀 快速开始
情感识别模型
你可以在 huggingface spaces 找到在线模型,也可以使用 colab notebook。
!git clone https://github.com/avichaychriqui/HeBERT.git
from HeBERT.src.HebEMO import *
HebEMO_model = HebEMO()
HebEMO_model.hebemo(input_path = 'data/text_example.txt')
hebEMO_df = HebEMO_model.hebemo(text='החיים יפים ומאושרים', plot=True)

情感分类模型(仅极性)
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': 'neutral', 'score': 0.9978172183036804},
>>> {'label': 'positive', 'score': 0.0014792329166084528},
>>> {'label': 'negative', 'score': 0.0007035882445052266}]]
sentiment_analysis('קפה זה טעים')
>>> [[{'label': 'neutral', 'score': 0.00047328314394690096},
>>> {'label': 'possitive', 'score': 0.9994067549705505},
>>> {'label': 'negetive', 'score': 0.00011996887042187154}]]
sentiment_analysis('אני לא אוהב את העולם')
>>> [[{'label': 'neutral', 'score': 9.214012970915064e-05},
>>> {'label': 'possitive', 'score': 8.876807987689972e-05},
>>> {'label': 'negetive', 'score': 0.9998190999031067}]]
✨ 主要特性
- 能够检测现代希伯来语用户生成内容的极性和情感。
- 基于独特的新冠疫情相关数据集训练,性能优异。
📦 安装指南
!git clone https://github.com/avichaychriqui/HeBERT.git
💻 使用示例
基础用法
from HeBERT.src.HebEMO import *
HebEMO_model = HebEMO()
HebEMO_model.hebemo(input_path = 'data/text_example.txt')
hebEMO_df = HebEMO_model.hebemo(text='החיים יפים ומאושרים', plot=True)
高级用法
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('אני מתלבט מה לאכול לארוחת צהריים')
📚 详细文档
情感UGC数据描述
我们的UGC数据包含从2020年1月至2020年8月期间,从3个主要以色列新闻网站收集的新闻文章评论。数据总大小约为150 MB,包含超过700万个单词和35万个句子。约2000个句子由众包成员(每个句子有3 - 10个标注者)标注了整体情感(极性)和八种情感:愤怒、厌恶、期待、恐惧、喜悦、悲伤、惊讶和信任。每种情感在句子中出现的百分比见下表。
|
愤怒 |
厌恶 |
期待 |
恐惧 |
喜悦 |
悲伤 |
惊讶 |
信任 |
情感倾向 |
比例 |
0.78 |
0.83 |
0.58 |
0.45 |
0.12 |
0.59 |
0.17 |
0.11 |
0.25 |
性能
情感识别
情感 |
F1分数 |
精确率 |
召回率 |
愤怒 |
0.96 |
0.99 |
0.93 |
厌恶 |
0.97 |
0.98 |
0.96 |
期待 |
0.82 |
0.80 |
0.87 |
恐惧 |
0.79 |
0.88 |
0.72 |
喜悦 |
0.90 |
0.97 |
0.84 |
悲伤 |
0.90 |
0.86 |
0.94 |
惊讶 |
0.40 |
0.44 |
0.37 |
信任 |
0.83 |
0.86 |
0.80 |
以上指标为正类(即文本中反映出该情感)。
情感分类(仅极性)
|
精确率 |
召回率 |
F1分数 |
中性 |
0.83 |
0.56 |
0.67 |
积极 |
0.96 |
0.92 |
0.94 |
消极 |
0.97 |
0.99 |
0.98 |
准确率 |
|
|
0.97 |
宏平均 |
0.92 |
0.82 |
0.86 |
加权平均 |
0.96 |
0.97 |
0.96 |
情感(极性)分析模型也可在AWS上使用!更多信息请访问 AWS的git仓库
📄 许可证
文档未提及相关许可证信息。
🔗 联系我们
📚 引用说明
如果您使用了此模型,请按以下方式引用我们:
Chriqui, A., & Yahav, I. (2022). HeBERT & HebEMO: a Hebrew BERT Model and a Tool for Polarity Analysis and Emotion Recognition. INFORMS Journal on Data Science, forthcoming.
@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={INFORMS Journal on Data Science},
year={2022}
}