Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,53 @@
|
|
1 |
-
---
|
2 |
-
license: apache-2.0
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: apache-2.0
|
3 |
+
tags:
|
4 |
+
- goemotions
|
5 |
+
- emotion-detection
|
6 |
+
- text-classification
|
7 |
+
- bert
|
8 |
+
---
|
9 |
+
|
10 |
+
# Fine-tuned GoEmotions Model
|
11 |
+
|
12 |
+
This repository contains a BERT-based model fine-tuned on the **GoEmotions** dataset to classify text into one of 28 emotions.
|
13 |
+
|
14 |
+
## Model Details
|
15 |
+
- **Base Model**: BERT
|
16 |
+
- **Dataset**: GoEmotions (Google's dataset with 28 emotions + neutral)
|
17 |
+
- **Task**: Multi-class emotion detection
|
18 |
+
- **Fine-tuned by**: nayeemsam
|
19 |
+
|
20 |
+
## Supported Emotions
|
21 |
+
The model predicts the following emotions:
|
22 |
+
- admiration, amusement, anger, annoyance, approval, caring, confusion, curiosity, desire, disappointment, disapproval, disgust, embarrassment, excitement, fear, gratitude, grief, joy, love, nervousness, optimism, pride, realization, relief, remorse, sadness, surprise, neutral
|
23 |
+
|
24 |
+
## How to Use
|
25 |
+
|
26 |
+
```python
|
27 |
+
from transformers import AutoTokenizer, AutoModelForSequenceClassification
|
28 |
+
|
29 |
+
# Load model and tokenizer
|
30 |
+
model = AutoModelForSequenceClassification.from_pretrained("nayeemsam/my-goemotions-finetuned")
|
31 |
+
tokenizer = AutoTokenizer.from_pretrained("nayeemsam/my-goemotions-finetuned")
|
32 |
+
|
33 |
+
# Example text
|
34 |
+
text = "I am feeling so frustrated and angry!"
|
35 |
+
|
36 |
+
# Tokenize
|
37 |
+
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=128)
|
38 |
+
|
39 |
+
# Predict
|
40 |
+
outputs = model(**inputs)
|
41 |
+
logits = outputs.logits
|
42 |
+
predicted_class_id = logits.argmax(dim=-1).item()
|
43 |
+
|
44 |
+
# Emotion labels
|
45 |
+
id2label = {
|
46 |
+
0: 'admiration', 1: 'amusement', 2: 'anger', 3: 'annoyance', 4: 'approval', 5: 'caring',
|
47 |
+
6: 'confusion', 7: 'curiosity', 8: 'desire', 9: 'disappointment', 10: 'disapproval',
|
48 |
+
11: 'disgust', 12: 'embarrassment', 13: 'excitement', 14: 'fear', 15: 'gratitude',
|
49 |
+
16: 'grief', 17: 'joy', 18: 'love', 19: 'nervousness', 20: 'optimism', 21: 'pride',
|
50 |
+
22: 'realization', 23: 'relief', 24: 'remorse', 25: 'sadness', 26: 'surprise', 27: 'neutral'
|
51 |
+
}
|
52 |
+
|
53 |
+
print(f"Predicted emotion: {id2label[predicted_class_id]}")
|