Text Classification
Transformers
Safetensors
English
bert
multi-label
go-emotions
huggingface
text-embeddings-inference
Instructions to use codewithdark/bert-Gomotions with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use codewithdark/bert-Gomotions with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="codewithdark/bert-Gomotions")# Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("codewithdark/bert-Gomotions") model = AutoModelForSequenceClassification.from_pretrained("codewithdark/bert-Gomotions", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| tags: | |
| - text-classification | |
| - multi-label | |
| - go-emotions | |
| - transformers | |
| - huggingface | |
| license: apache-2.0 | |
| library_name: transformers | |
| language: | |
| - en | |
| metrics: | |
| - accuracy | |
| - f1 | |
| base_model: | |
| - google-bert/bert-base-uncased | |
| pipeline_tag: text-classification | |
| # π₯ Fine-Tuned BERT on GoEmotions Dataset | |
| ## π Model Overview | |
| This model is a **fine-tuned version of BERT** (`bert-base-uncased`) on the **GoEmotions** dataset for **multi-label emotion classification**. It can predict multiple emotions per input text. | |
| ## π Performance | |
| | Metric | Score | | |
| |----------------|-------| | |
| | **Accuracy** | 46.57% | | |
| | **F1 Score** | 56.41% | | |
| | **Hamming Loss** | 3.39% | | |
| ## π Model Usage | |
| ```python | |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification | |
| import torch | |
| # Load model and tokenizer | |
| model_name = "codewithdark/bert-Gomotions" | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| model = AutoModelForSequenceClassification.from_pretrained(model_name) | |
| # Emotion labels (adjust based on your dataset) | |
| emotion_labels = [ | |
| "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" | |
| ] | |
| # Example text | |
| text = "I'm so happy today!" | |
| inputs = tokenizer(text, return_tensors="pt") | |
| # Predict | |
| with torch.no_grad(): | |
| outputs = model(**inputs) | |
| probs = torch.sigmoid(outputs.logits).squeeze(0) # Convert logits to probabilities | |
| # Get top 5 predictions | |
| top5_indices = torch.argsort(probs, descending=True)[:5] # Get indices of top 5 labels | |
| top5_labels = [emotion_labels[i] for i in top5_indices] | |
| top5_probs = [probs[i].item() for i in top5_indices] | |
| # Print results | |
| print("Top 5 Predicted Emotions:") | |
| for label, prob in zip(top5_labels, top5_probs): | |
| print(f"{label}: {prob:.4f}") | |
| ''' | |
| output: | |
| Top 5 Predicted Emotions: | |
| Joy: 0.9478 | |
| Love: 0.7854 | |
| Optimism: 0.6342 | |
| Admiration: 0.5678 | |
| Excitement: 0.5231 | |
| ''' | |
| ``` | |
| ## ποΈββοΈ Training Details | |
| - **Model:** `bert-base-uncased` | |
| - **Dataset:** [GoEmotions](https://huggingface.co/datasets/go_emotions) | |
| - **Optimizer:** AdamW | |
| - **Loss Function:** BCEWithLogitsLoss (Binary Cross-Entropy for multi-label classification) | |
| - **Batch Size:** 16 | |
| - **Epochs:** 3 | |
| - **Evaluation Metrics:** Accuracy, F1 Score, Hamming Loss | |
| ## π How to Use in Hugging Face | |
| ```python | |
| from transformers import pipeline | |
| classifier = pipeline("text-classification", model="codewithdark/bert-Gomotions", top_k=None) | |
| classifier("I'm so excited about the trip!") | |
| ``` | |
| ## π οΈ Citation | |
| If you use this model, please cite: | |
| ```bibtex | |
| @misc{your_model, | |
| author = {codewithdark}, | |
| title = {Fine-tuned BERT on GoEmotions}, | |
| year = {2025}, | |
| url = {https://huggingface.co/codewithdark/bert-Gomotions} | |
| } | |
| ``` |