Emotion Classification Model

Model Description

This model fine-tunes DistilBERT for a multi-class emotion classification task. The dataset that is used is dair-ai/emotion containing six emotion classes: sadness, joy, love, anger, fear and suprise

Training and Evaluation

  • Training Dataset: dair-ai/emotion (16,000 examples)
  • Validation Dataset: dair-ai/emotion (2,000 examples)
  • Test Dataset: dair-ai/emotion (2,000 examples)
  • Validation Accuracy: 96.6 %
  • Test Accuracy: 93.2 %
  • Training Time: 18,078.18s (5h 1m 18s)

Hyperparameters

  • Learning Rate: 5e-5
  • Batch Size: 16
  • Epochs: 4
  • Weight Decay: 0.01

Usage

from transformers import pipeline
classifier = pipeline("text-classification",
model="your-username/emotion-classification-model")
text = "I’m so happy today!"
result = classifier(text)
print(result)
# Output: [{'label': 'LABEL_1', 'score': 0.9996680021286011}] ; which corresponds to 'joy' with a 99.9% accuracy

Limitations

  • Performance on Non-English Texts: The model works best with English texts. It may not handle other languages or regional dialects.
  • Bias From Training Data: Reflects patterns from the training data, which may not cover all cases it could see. May lead to unfair predictns
  • Issues with Sarcasm and Complex Language: Model might misinterpret sarcasm or subtle language, ex, "Great product... not!"
  • No Confidence Scores: Model does not judge it's own output, so need some form of double check system, ie. yourself

License

The MIT License (MIT)

Downloads last month
15
Safetensors
Model size
67M params
Tensor type
F32
·
Inference Providers NEW
This model is not currently available via any of the supported third-party Inference Providers, and HF Inference API was unable to determine this model's library.

Dataset used to train MatthewB245/emotion-classification-model