Sentiment Analysis Model

This model performs sentiment analysis and emotion detection on text data.

Model Files

  • _tfidf_vectorizer.pkl: TF-IDF vectorizer for text preprocessing
  • emotion_encoder.pkl: Label encoder for emotions
  • emotion_model.pkl: Trained emotion classification model
  • sentiment_encoder.pkl: Label encoder for sentiments
  • sentiment_model.pkl: Trained sentiment classification model

Usage

import joblib import re import pandas as pd

Load models models = { 'emotion_model': joblib.load('models/emotion_model.pkl'), 'sentiment_model': joblib.load('models/sentiment_model.pkl'), 'vectorizer': joblib.load('models/_tfidf_vectorizer.pkl'), 'emotion_encoder': joblib.load('models/emotion_encoder.pkl'), 'sentiment_encoder': joblib.load('models/sentiment_encoder.pkl') }

def preprocess_text(text): if pd.isna(text) or not text: return "" text = str(text).lower() text = re.sub(r'[^a-zA-Z\s]', '', text) text = ' '.join(text.split()) return text

def analyze_text(text, models): cleaned_text = preprocess_text(text) if not cleaned_text: return None

text_vector = models['vectorizer'].transform([cleaned_text])

emotion_pred = models['emotion_model'].predict(text_vector) emotion_probs = models['emotion_model'].predict_proba(text_vector) emotion_label = models['emotion_encoder'].inverse_transform([emotion_pred])

sentiment_pred = models['sentiment_model'].predict(text_vector) sentiment_probs = models['sentiment_model'].predict_proba(text_vector) sentiment_label = models['sentiment_encoder'].inverse_transform([sentiment_pred])

return { 'emotion': emotion_label, 'emotion_confidence': max(emotion_probs), 'sentiment': sentiment_label, 'sentiment_confidence': max(sentiment_probs), 'overall_confidence': (max(emotion_probs) + max(sentiment_probs)) / 2 }

Example usage result = analyze_text("I love this product!", models) print(result)

text

Requirements

  • scikit-learn
  • pandas
  • numpy
  • joblib
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support