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: 希伯来语BERT模型及情感极性分析与识别工具},
author={Chriqui, Avihay and Yahav, Inbal},
journal={INFORMS数据科学期刊},
year={2022}
}