HebEMO - 现代希伯来语情感识别模型
HebEMO是一款用于检测现代希伯来语用户生成内容(UGC)情感极性并提取情感的工具,其训练基于我们收集并标注的独特新冠疫情相关数据集。
在情感极性分类任务中,HebEMO取得了加权平均F1分数=0.96的高性能表现。情感检测方面,除惊讶情绪(F1=0.41)外,其他情绪的F1分数介于0.78-0.97之间。这些结果优于目前最佳报告性能,甚至超越英语同类模型。
情感UGC数据描述
我们的UGC数据包含2020年1月至8月期间从以色列三大新闻网站收集的新闻评论,总数据量约150MB,涵盖超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代码库
使用方法
情感识别模型
在线模型可访问huggingface空间或Colab笔记本
# !pip install pyplutchik==0.0.7
# !pip install transformers==4.14.1
!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')
# 返回分析后的pandas.DataFrame
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}]]
联系我们
Avichay Chriqui
Inbal yahav
Coller闪族语言人工智能实验室
感谢您,תודה,شكرا
引用格式
若使用本模型,请引用:
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}
}