🚀 EmoBench - UA:乌克兰语文本情感检测
EmoBench - UA 是一个用于检测乌克兰语文本情感的模型。它能够识别六种基本情感(喜悦、愤怒、恐惧、厌恶、惊讶、悲伤)以及无情感状态,为乌克兰语情感分析提供了有效的解决方案。
🚀 快速开始
以下是使用该模型的代码示例:
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
model_name = "ukr-detect/emotions_classifier"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
model.eval()
thresholds = {
"Joy": 0.35,
"Fear": 0.5,
"Anger": 0.25,
"Sadness": 0.5,
"Disgust": 0.3,
"Surprise": 0.25,
"None": 0.35
}
def predict_emotions(texts):
enc = tokenizer(texts, padding=True, truncation=True, return_tensors="pt")
with torch.no_grad():
outputs = model(**enc)
logits = outputs.logits
probs = torch.sigmoid(logits)
id2label = model.config.id2label
label_order = [id2label[i] for i in range(len(id2label))]
predictions = []
for prob_row in probs:
single_pred = [
label for label, prob in zip(label_order, prob_row.tolist())
if prob > thresholds[label]
]
predictions.append(single_pred)
return predictions
texts = [
"Я щойно отримав підвищення на роботі!",
"Я хвилююся за майбутнє.",
"я не буду заради тебе, Гані і Каті терпіти того пйоса",
"Сьогодні нічого не сталося.",
"всі чомусь плутають, а мені то дивно так )))",
" ого, то зовсім не приємно(("
]
results = predict_emotions(texts)
for t, r in zip(texts, results):
print(f"Text: {t}\nEmotions: {r}\n")
Text: Я щойно отримав підвищення на роботі!
Emotions: ['Joy', 'Surprise']
Text: Я хвилююся за майбутнє.
Emotions: ['Fear']
Text: я не буду заради тебе, Гані і Каті терпіти того пйоса
Emotions: ['Anger', 'Disgust']
Text: Сьогодні нічого не сталося.
Emotions: ['None']
Text: всі чомусь плутають, а мені то дивно так )))
Emotions: ['Surprise']
Text: ого, то зовсім не приємно((
Emotions: ['Sadness']
✨ 主要特性
📚 详细文档
模型详情
我们提供了首个用于乌克兰语文本的情感检测器。该模型涵盖六种基本情感:喜悦、愤怒、恐惧、厌恶、惊讶、悲伤,以及无情感状态。任何文本可以包含任意数量的情感,可能只有一种、多种或根本没有情感。无情感的文本指的是每个情感类别的标签均为 0 的文本。
基础模型 intfloat/multilingual - e5 - large 在 ukr - emotions - binary 数据集的训练部分上针对多标签情感分类任务进行了微调。
使用方式:模型输出 0 或 1 表示文本中是否存在某种情感。因此,该模型可用于检测乌克兰语文本中任何基本情感的存在与否。
评估结果
以下是我们的模型在 ukr - emotions - binary 数据集测试部分的总体分类报告:
|
精确率 |
召回率 |
F1 分数 |
样本数 |
喜悦 |
0.69 |
0.78 |
0.73 |
368 |
恐惧 |
0.80 |
0.81 |
0.81 |
151 |
愤怒 |
0.41 |
0.25 |
0.31 |
99 |
悲伤 |
0.67 |
0.71 |
0.69 |
298 |
厌恶 |
0.63 |
0.24 |
0.35 |
79 |
惊讶 |
0.52 |
0.72 |
0.60 |
175 |
无情感 |
0.82 |
0.80 |
0.81 |
1108 |
微平均 |
0.73 |
0.74 |
0.73 |
2278 |
宏平均 |
0.65 |
0.62 |
0.62 |
2278 |
加权平均 |
0.73 |
0.74 |
0.73 |
2278 |
样本平均 |
0.72 |
0.74 |
0.72 |
2278 |

📄 许可证
本项目采用 OpenRAIL++ 许可证。
📚 引用
如果您想引用我们的工作,请引用以下论文:
@article{dementieva2025emobench,
title={EmoBench-UA: A Benchmark Dataset for Emotion Detection in Ukrainian},
author={Dementieva, Daryna and Babakov, Nikolay and Fraser, Alexander},
journal={arXiv preprint arXiv:2505.23297},
year={2025}
}
📞 联系方式