Fast Emotion-X is a state-of-the-art emotion detection model fine-tuned from Microsoft's DeBERTa V3 Small model. It is designed to accurately classify text into one of six emotional categories. Leveraging the robust capabilities of DeBERTa, this model is fine-tuned on a comprehensive emotion dataset, ensuring high accuracy and reliability.
Model Details
Model Name:
AnkitAI/deberta-v3-small-base-emotions-classifier
Fine-tuning:
The model is fine-tuned for emotion detection with a classification head for six emotional categories: anger, disgust, fear, joy, sadness, and surprise.
Emotion Labels
Anger
Disgust
Fear
Joy
Sadness
Surprise
Usage
You can use this model directly with the provided Python package or the Hugging Face
transformers
library.
Installation
Install the package using pip:
pip install emotionclassifier
Basic Usage
Here's an example of how to use the
emotionclassifier
to classify a single text:
from emotionclassifier import EmotionClassifier
# Initialize the classifier with the default model
classifier = EmotionClassifier()
# Classify a single text
text = "I am very happy today!"
result = classifier.predict(text)
print("Emotion:", result['label'])
print("Confidence:", result['confidence'])
Batch Processing
You can classify multiple texts at once using the
predict_batch
method:
texts = ["I am very happy today!", "I am so sad."]
results = classifier.predict_batch(texts)
print("Batch processing results:", results)
Visualization
To visualize the emotion distribution of a text:
from emotionclassifier import plot_emotion_distribution
result = classifier.predict("I am very happy today!")
plot_emotion_distribution(result['probabilities'], classifier.labels.values())
Command-Line Interface (CLI) Usage
You can also use the package from the command line:
emotionclassifier --model deberta-v3-small --text "I am very happy today!"
DataFrame Integration
Integrate with pandas DataFrames to classify text columns:
import pandas as pd
from emotionclassifier import DataFrameEmotionClassifier
df = pd.DataFrame({
'text': ["I am very happy today!", "I am so sad."]
})
classifier = DataFrameEmotionClassifier()
df = classifier.classify_dataframe(df, 'text')
print(df)
Emotion Trends Over Time
Analyze and plot emotion trends over time:
from emotionclassifier import EmotionTrends
texts = ["I am very happy today!", "I am feeling okay.", "I am very sad."]
trends = EmotionTrends()
emotions = trends.analyze_trends(texts)
trends.plot_trends(emotions)
Fine-tuning
Fine-tune a pre-trained model on your own dataset:
from emotionclassifier.fine_tune import fine_tune_model
# Define your training and validation datasets
train_dataset = ...
val_dataset = ...
# Fine-tune the model
fine_tune_model(classifier.model, classifier.tokenizer, train_dataset, val_dataset, output_dir='fine_tuned_model')
Using transformers Library
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model_name = "AnkitAI/deberta-v3-small-base-emotions-classifier"
model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# Example usagedefpredict_emotion(text):
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=128)
outputs = model(**inputs)
logits = outputs.logits
predictions = logits.argmax(dim=1)
return predictions
text = "I'm so happy with the results!"
emotion = predict_emotion(text)
print("Detected Emotion:", emotion)
Training
The model was trained using the following parameters:
deberta-v3-small-base-emotions-classifier huggingface.co is an AI model on huggingface.co that provides deberta-v3-small-base-emotions-classifier's model effect (), which can be used instantly with this AnkitAI deberta-v3-small-base-emotions-classifier model. huggingface.co supports a free trial of the deberta-v3-small-base-emotions-classifier model, and also provides paid use of the deberta-v3-small-base-emotions-classifier. Support call deberta-v3-small-base-emotions-classifier model through api, including Node.js, Python, http.
deberta-v3-small-base-emotions-classifier huggingface.co is an online trial and call api platform, which integrates deberta-v3-small-base-emotions-classifier's modeling effects, including api services, and provides a free online trial of deberta-v3-small-base-emotions-classifier, you can try deberta-v3-small-base-emotions-classifier online for free by clicking the link below.
AnkitAI deberta-v3-small-base-emotions-classifier online free url in huggingface.co:
deberta-v3-small-base-emotions-classifier is an open source model from GitHub that offers a free installation service, and any user can find deberta-v3-small-base-emotions-classifier on GitHub to install. At the same time, huggingface.co provides the effect of deberta-v3-small-base-emotions-classifier install, users can directly use deberta-v3-small-base-emotions-classifier installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
deberta-v3-small-base-emotions-classifier install url in huggingface.co: