🚀 现代BERT情感多标签分类模型
本模型基于现代BERT架构,可对英文文本进行情感多标签分类,能预测28种不同的情感状态,适用于社交媒体情感分析、客户反馈评估等领域。

🚀 快速开始
本模型是基于 ModernBERT-large 在 GoEmotions 数据集上微调得到的,用于多标签分类任务,可预测文本中的情感状态,共有28种可能的标签。每个输入文本可以有一个或多个相关标签,体现了该任务的多标签性质。
你可以点击这里进行试用。
✨ 主要特性
- 多标签分类:能够同时预测文本中的多种情感状态。
- 基于现代BERT:利用强大的预训练模型进行微调。
- 广泛应用:适用于社交媒体、客户反馈等领域。
📦 模型详情
💻 使用示例
基础用法
以下是如何使用Hugging Face Transformers库调用该模型的示例代码:
from transformers import pipeline
import torch
classifier = pipeline(
"text-classification",
model="cirimus/modernbert-large-go-emotions",
top_k=5
)
text = "I am so happy and excited about this opportunity!"
predictions = classifier(text)
sorted_preds = sorted(predictions[0], key=lambda x: x['score'], reverse=True)
top_5 = sorted_preds[:5]
print("\nTop 5 emotions detected:")
for pred in top_5:
print(f"\t{pred['label']:10s} : {pred['score']:.3f}")
📚 详细文档
模型创建过程
该模型使用以下超参数进行了3个epoch的微调:
- 学习率:
2e-5
- 批次大小:16
- 权重衰减:
0.01
- 优化器:AdamW
- 评估指标:精确率、召回率、F1分数(加权)、准确率
数据集
GoEmotions 数据集是一个基于Reddit评论的多标签情感分类数据集,包含58,000个示例和28种情感标签(如钦佩、愉悦、愤怒等),并进行了多标签分类标注。
评估结果
模型在GoEmotions数据集的测试集上进行了评估,使用0.5
的阈值对预测结果进行二值化处理。整体指标如下:
标准结果
使用默认阈值0.5:
标签 |
准确率 |
精确率 |
召回率 |
F1分数 |
马修斯相关系数 |
样本数量 |
阈值 |
宏平均 |
0.971 |
0.611 |
0.410 |
0.472 |
0.475 |
5427 |
0.5 |
钦佩 |
0.946 |
0.739 |
0.653 |
0.693 |
0.666 |
504 |
0.5 |
愉悦 |
0.982 |
0.817 |
0.814 |
0.816 |
0.807 |
264 |
0.5 |
愤怒 |
0.968 |
0.671 |
0.237 |
0.351 |
0.387 |
198 |
0.5 |
烦恼 |
0.938 |
0.449 |
0.191 |
0.268 |
0.265 |
320 |
0.5 |
认可 |
0.940 |
0.564 |
0.302 |
0.393 |
0.384 |
351 |
0.5 |
关心 |
0.977 |
0.581 |
0.319 |
0.411 |
0.420 |
135 |
0.5 |
困惑 |
0.973 |
0.553 |
0.307 |
0.395 |
0.400 |
153 |
0.5 |
好奇 |
0.952 |
0.551 |
0.454 |
0.498 |
0.476 |
284 |
0.5 |
渴望 |
0.988 |
0.702 |
0.398 |
0.508 |
0.523 |
83 |
0.5 |
失望 |
0.972 |
0.500 |
0.152 |
0.234 |
0.265 |
151 |
0.5 |
不认可 |
0.951 |
0.503 |
0.315 |
0.387 |
0.374 |
267 |
0.5 |
厌恶 |
0.981 |
0.685 |
0.301 |
0.418 |
0.446 |
123 |
0.5 |
尴尬 |
0.995 |
0.800 |
0.324 |
0.462 |
0.507 |
37 |
0.5 |
兴奋 |
0.983 |
0.649 |
0.233 |
0.343 |
0.382 |
103 |
0.5 |
恐惧 |
0.991 |
0.738 |
0.577 |
0.647 |
0.648 |
78 |
0.5 |
感激 |
0.990 |
0.955 |
0.895 |
0.924 |
0.919 |
352 |
0.5 |
悲痛 |
0.999 |
0.000 |
0.000 |
0.000 |
0.000 |
6 |
0.5 |
喜悦 |
0.980 |
0.658 |
0.646 |
0.652 |
0.642 |
161 |
0.5 |
爱 |
0.983 |
0.795 |
0.815 |
0.805 |
0.796 |
238 |
0.5 |
紧张 |
0.996 |
0.556 |
0.435 |
0.488 |
0.490 |
23 |
0.5 |
乐观 |
0.973 |
0.702 |
0.392 |
0.503 |
0.513 |
186 |
0.5 |
自豪 |
0.998 |
0.800 |
0.250 |
0.381 |
0.446 |
16 |
0.5 |
领悟 |
0.972 |
0.405 |
0.117 |
0.182 |
0.207 |
145 |
0.5 |
宽慰 |
0.998 |
0.000 |
0.000 |
0.000 |
0.000 |
11 |
0.5 |
懊悔 |
0.992 |
0.566 |
0.839 |
0.676 |
0.686 |
56 |
0.5 |
悲伤 |
0.980 |
0.764 |
0.436 |
0.555 |
0.568 |
156 |
0.5 |
惊讶 |
0.980 |
0.692 |
0.447 |
0.543 |
0.547 |
141 |
0.5 |
中立 |
0.796 |
0.716 |
0.628 |
0.669 |
0.525 |
1787 |
0.5 |
最优结果
根据训练集为每个标签选择最佳阈值(基于F1分数进行调整),并在测试集上进行测试:
标签 |
准确率 |
精确率 |
召回率 |
F1分数 |
马修斯相关系数 |
样本数量 |
阈值 |
宏平均 |
0.968 |
0.591 |
0.528 |
0.550 |
0.536 |
5427 |
多种 |
钦佩 |
0.947 |
0.722 |
0.702 |
0.712 |
0.683 |
504 |
0.40 |
愉悦 |
0.983 |
0.812 |
0.848 |
0.830 |
0.821 |
264 |
0.45 |
愤怒 |
0.966 |
0.548 |
0.460 |
0.500 |
0.485 |
198 |
0.25 |
烦恼 |
0.926 |
0.378 |
0.403 |
0.390 |
0.351 |
320 |
0.30 |
认可 |
0.928 |
0.445 |
0.470 |
0.457 |
0.419 |
351 |
0.30 |
关心 |
0.975 |
0.496 |
0.430 |
0.460 |
0.449 |
135 |
0.35 |
困惑 |
0.966 |
0.417 |
0.510 |
0.459 |
0.444 |
153 |
0.30 |
好奇 |
0.950 |
0.522 |
0.588 |
0.553 |
0.528 |
284 |
0.40 |
渴望 |
0.988 |
0.673 |
0.422 |
0.519 |
0.527 |
83 |
0.40 |
失望 |
0.964 |
0.338 |
0.305 |
0.321 |
0.303 |
151 |
0.30 |
不认可 |
0.948 |
0.468 |
0.416 |
0.440 |
0.414 |
267 |
0.35 |
厌恶 |
0.978 |
0.529 |
0.447 |
0.485 |
0.475 |
123 |
0.25 |
尴尬 |
0.994 |
0.650 |
0.351 |
0.456 |
0.475 |
37 |
0.35 |
兴奋 |
0.978 |
0.419 |
0.427 |
0.423 |
0.412 |
103 |
0.25 |
恐惧 |
0.990 |
0.662 |
0.628 |
0.645 |
0.640 |
78 |
0.40 |
感激 |
0.990 |
0.955 |
0.895 |
0.924 |
0.919 |
352 |
0.50 |
悲痛 |
0.999 |
0.750 |
0.500 |
0.600 |
0.612 |
6 |
0.35 |
喜悦 |
0.980 |
0.660 |
0.640 |
0.650 |
0.639 |
161 |
0.50 |
爱 |
0.982 |
0.774 |
0.836 |
0.804 |
0.795 |
238 |
0.45 |
紧张 |
0.995 |
0.435 |
0.435 |
0.435 |
0.432 |
23 |
0.45 |
乐观 |
0.972 |
0.597 |
0.565 |
0.580 |
0.566 |
186 |
0.25 |
自豪 |
0.998 |
0.667 |
0.375 |
0.480 |
0.499 |
16 |
0.15 |
领悟 |
0.962 |
0.273 |
0.248 |
0.260 |
0.241 |
145 |
0.25 |
宽慰 |
0.999 |
0.800 |
0.364 |
0.500 |
0.539 |
11 |
0.25 |
懊悔 |
0.993 |
0.641 |
0.732 |
0.683 |
0.681 |
56 |
0.65 |
悲伤 |
0.978 |
0.646 |
0.538 |
0.587 |
0.579 |
156 |
0.30 |
惊讶 |
0.979 |
0.603 |
0.518 |
0.557 |
0.548 |
141 |
0.40 |
中立 |
0.791 |
0.669 |
0.722 |
0.695 |
0.537 |
1787 |
0.40 |
预期用途
该模型旨在对英文文本进行情感分类,尤其适用于以下领域:
局限性和偏差
⚠️ 重要提示
- 数据偏差:数据集基于Reddit评论,可能无法很好地推广到其他领域或文化背景。
- 类别样本不足:某些标签(如“悲痛”和“宽慰”)的示例非常少,导致这些类别的性能较低。
- 标注歧义:部分训练数据存在标注不一致或歧义的情况,可能会影响预测结果。
环境影响
📄 许可证
本模型采用 MIT 许可证。
引用
如果您使用此模型,请按以下方式引用:
@inproceedings{JdFE2025c,
title = {Emotion Classification with ModernBERT},
author = {Enric Junqu\'e de Fortuny},
year = {2025},
howpublished = {\url{https://huggingface.co/cirimus/modernbert-large-go-emotions}},
}