🚀 EmoBench - UA:ウクライナ語テキストの感情検出
EmoBench - UA は、ウクライナ語テキストの感情を検出するためのモデルです。喜び、怒り、恐怖、嫌悪、驚き、悲しみという6つの基本的な感情と、感情がない状態を識別することができ、ウクライナ語の感情分析に有効な解決策を提供します。
🚀 クイックスタート
以下は、このモデルを使用するコード例です。
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']
✨ 主な機能
📚 ドキュメント
モデルの詳細
私たちは、ウクライナ語テキスト用の最初の感情検出器を提供しています。このモデルは、喜び、怒り、恐怖、嫌悪、驚き、悲しみという6つの基本的な感情と、感情がない状態をカバーしています。任意のテキストは任意の数の感情を含むことができ、1つの感情、複数の感情、または全く感情を含まない場合があります。感情のないテキストとは、各感情クラスのラベルがすべて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}
}
📞 連絡先