🚀 現代BERT情感分類模型
本模型基於ModernBERT,在GoEmotions數據集上微調,用於英文文本的多標籤情感分類任務。它能精準識別文本中的情感狀態,涵蓋28種不同的情感標籤,可廣泛應用於社交媒體情感分析、客戶反饋評估等領域。
🚀 快速開始
本模型是基於ModernBERT-base在GoEmotions數據集上進行微調的多標籤分類模型,可預測文本中的情感狀態,共有28種可能的標籤。每個輸入文本可以有一個或多個相關標籤,體現了該任務的多標籤性質。
你可以點擊此處進行試用。
✨ 主要特性
- 精準分類:能夠對英文文本進行多標籤情感分類,涵蓋28種情感標籤。
- 易於使用:藉助Hugging Face Transformers框架,可輕鬆加載和使用模型。
- 應用廣泛:適用於社交媒體情感分析、客戶反饋評估、行為或心理研究等領域。
📦 模型詳情
💻 使用示例
基礎用法
以下是使用Hugging Face Transformers調用該模型的示例代碼:
from transformers import pipeline
import torch
classifier = pipeline(
"text-classification",
model="cirimus/modernbert-base-go-emotions",
return_all_scores=True
)
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
- 預熱步數:500
- 優化器:AdamW
- 評估指標:精確率、召回率、F1分數(加權)、準確率
數據集
GoEmotions數據集是一個基於Reddit評論的多標籤情感分類數據集,包含58,000個示例和28種情感標籤(如欽佩、娛樂、憤怒等),並針對多標籤分類進行了標註。
評估結果
模型在GoEmotions數據集的測試集上進行了評估,使用0.5
的閾值對預測結果進行二值化處理。以下是評估結果:
標準結果:
使用默認閾值0.5。
標籤 |
準確率 |
精確率 |
召回率 |
F1分數 |
馬修斯相關係數 |
樣本數量 |
閾值 |
宏平均 |
0.970 |
0.665 |
0.389 |
0.465 |
0.477 |
5427 |
0.5 |
欽佩 |
0.945 |
0.737 |
0.627 |
0.677 |
0.650 |
504 |
0.5 |
娛樂 |
0.980 |
0.794 |
0.803 |
0.798 |
0.788 |
264 |
0.5 |
憤怒 |
0.968 |
0.680 |
0.258 |
0.374 |
0.406 |
198 |
0.5 |
煩惱 |
0.940 |
0.468 |
0.159 |
0.238 |
0.249 |
320 |
0.5 |
認可 |
0.942 |
0.614 |
0.276 |
0.381 |
0.387 |
351 |
0.5 |
關心 |
0.976 |
0.524 |
0.244 |
0.333 |
0.347 |
135 |
0.5 |
困惑 |
0.975 |
0.625 |
0.294 |
0.400 |
0.418 |
153 |
0.5 |
好奇 |
0.951 |
0.538 |
0.423 |
0.473 |
0.452 |
284 |
0.5 |
渴望 |
0.987 |
0.604 |
0.349 |
0.443 |
0.453 |
83 |
0.5 |
失望 |
0.974 |
0.656 |
0.139 |
0.230 |
0.294 |
151 |
0.5 |
不認可 |
0.950 |
0.494 |
0.292 |
0.367 |
0.356 |
267 |
0.5 |
厭惡 |
0.980 |
0.674 |
0.252 |
0.367 |
0.405 |
123 |
0.5 |
尷尬 |
0.995 |
0.857 |
0.324 |
0.471 |
0.526 |
37 |
0.5 |
興奮 |
0.984 |
0.692 |
0.262 |
0.380 |
0.420 |
103 |
0.5 |
恐懼 |
0.992 |
0.796 |
0.551 |
0.652 |
0.659 |
78 |
0.5 |
感激 |
0.990 |
0.957 |
0.892 |
0.924 |
0.919 |
352 |
0.5 |
悲痛 |
0.999 |
0.000 |
0.000 |
0.000 |
0.000 |
6 |
0.5 |
喜悅 |
0.978 |
0.652 |
0.571 |
0.609 |
0.600 |
161 |
0.5 |
愛 |
0.982 |
0.792 |
0.798 |
0.795 |
0.786 |
238 |
0.5 |
緊張 |
0.996 |
0.636 |
0.304 |
0.412 |
0.439 |
23 |
0.5 |
樂觀 |
0.975 |
0.743 |
0.403 |
0.523 |
0.536 |
186 |
0.5 |
自豪 |
0.998 |
0.857 |
0.375 |
0.522 |
0.566 |
16 |
0.5 |
領悟 |
0.973 |
0.514 |
0.124 |
0.200 |
0.244 |
145 |
0.5 |
寬慰 |
0.998 |
1.000 |
0.091 |
0.167 |
0.301 |
11 |
0.5 |
懊悔 |
0.992 |
0.594 |
0.732 |
0.656 |
0.656 |
56 |
0.5 |
悲傷 |
0.979 |
0.759 |
0.385 |
0.511 |
0.532 |
156 |
0.5 |
驚訝 |
0.978 |
0.649 |
0.340 |
0.447 |
0.460 |
141 |
0.5 |
中立 |
0.794 |
0.715 |
0.623 |
0.666 |
0.520 |
1787 |
0.5 |
最優結果:
根據訓練集為每個標籤使用最佳閾值(基於F1分數進行調整)。
標籤 |
準確率 |
精確率 |
召回率 |
F1分數 |
馬修斯相關係數 |
樣本數量 |
閾值 |
宏平均 |
0.967 |
0.568 |
0.531 |
0.541 |
0.526 |
5427 |
不同 |
欽佩 |
0.946 |
0.700 |
0.726 |
0.713 |
0.683 |
504 |
0.30 |
娛樂 |
0.981 |
0.782 |
0.856 |
0.817 |
0.808 |
264 |
0.40 |
憤怒 |
0.963 |
0.490 |
0.510 |
0.500 |
0.481 |
198 |
0.20 |
煩惱 |
0.917 |
0.337 |
0.425 |
0.376 |
0.334 |
320 |
0.25 |
認可 |
0.922 |
0.411 |
0.473 |
0.440 |
0.399 |
351 |
0.25 |
關心 |
0.971 |
0.424 |
0.415 |
0.419 |
0.405 |
135 |
0.25 |
困惑 |
0.970 |
0.468 |
0.484 |
0.476 |
0.460 |
153 |
0.30 |
好奇 |
0.947 |
0.493 |
0.630 |
0.553 |
0.530 |
284 |
0.35 |
渴望 |
0.988 |
0.708 |
0.410 |
0.519 |
0.533 |
83 |
0.45 |
失望 |
0.963 |
0.321 |
0.291 |
0.306 |
0.287 |
151 |
0.25 |
不認可 |
0.943 |
0.429 |
0.464 |
0.446 |
0.417 |
267 |
0.30 |
厭惡 |
0.981 |
0.604 |
0.496 |
0.545 |
0.538 |
123 |
0.20 |
尷尬 |
0.995 |
0.789 |
0.405 |
0.536 |
0.564 |
37 |
0.30 |
興奮 |
0.979 |
0.444 |
0.388 |
0.415 |
0.405 |
103 |
0.25 |
恐懼 |
0.991 |
0.693 |
0.667 |
0.680 |
0.675 |
78 |
0.30 |
感激 |
0.990 |
0.951 |
0.886 |
0.918 |
0.913 |
352 |
0.50 |
悲痛 |
0.999 |
0.500 |
0.500 |
0.500 |
0.499 |
6 |
0.20 |
喜悅 |
0.978 |
0.628 |
0.609 |
0.618 |
0.607 |
161 |
0.40 |
愛 |
0.982 |
0.789 |
0.819 |
0.804 |
0.795 |
238 |
0.45 |
緊張 |
0.995 |
0.375 |
0.391 |
0.383 |
0.380 |
23 |
0.25 |
樂觀 |
0.970 |
0.558 |
0.597 |
0.577 |
0.561 |
186 |
0.15 |
自豪 |
0.998 |
0.750 |
0.375 |
0.500 |
0.529 |
16 |
0.15 |
領悟 |
0.968 |
0.326 |
0.200 |
0.248 |
0.240 |
145 |
0.25 |
寬慰 |
0.998 |
0.429 |
0.273 |
0.333 |
0.341 |
11 |
0.25 |
懊悔 |
0.993 |
0.611 |
0.786 |
0.688 |
0.689 |
56 |
0.55 |
悲傷 |
0.979 |
0.667 |
0.538 |
0.596 |
0.589 |
156 |
0.20 |
驚訝 |
0.978 |
0.585 |
0.511 |
0.545 |
0.535 |
141 |
0.30 |
中立 |
0.782 |
0.649 |
0.737 |
0.690 |
0.526 |
1787 |
0.40 |
📚 預期用途
該模型旨在對英文文本進行情感分類,尤其適用於以下領域:
📄 許可證
本模型採用MIT許可證。
🚫 侷限性和偏差
⚠️ 重要提示
- 數據偏差:數據集基於Reddit評論,可能無法很好地推廣到其他領域或文化背景中。
- 類別代表性不足:某些標籤(如“悲痛”和“寬慰”)的示例非常少,導致這些類別的性能較低。
- 標註歧義:部分訓練數據存在標註不一致或歧義的情況,可能會影響預測結果。
🌱 環境影響
📖 引用
如果您使用此模型,請按以下方式引用:
@inproceedings{JdFE2025b,
title = {Emotion Classification with ModernBERT},
author = {Enric Junqu\'e de Fortuny},
year = {2025},
howpublished = {\url{https://huggingface.co/cirimus/modernbert-base-go-emotions}},
}