Adaptive Sentiment Classifier

An improved sentiment analysis model using the adaptive-classifier library, designed for accurate classification of positive, negative, and neutral sentiments with special focus on technical and informational content.

Model Description

This model is based on the adaptive-classifier library and uses DistilBERT as the underlying transformer. It has been specifically trained to properly classify:

  • Positive sentiment: Expressions of satisfaction, enthusiasm, approval
  • Negative sentiment: Expressions of dissatisfaction, frustration, criticism
  • Neutral sentiment: Factual information, questions, technical descriptions

Key Improvements

  • βœ… Technical Content: Properly classifies technical descriptions as neutral
  • βœ… Questions: Correctly identifies questions as neutral rather than negative
  • βœ… Educational Content: Handles informational text appropriately
  • βœ… Balanced Training: Uses detailed class descriptions for better embeddings

Training Data

  • Primary Dataset: SetFit/tweet_sentiment_extraction (114 examples)
  • Training Method: Adaptive classifier with continual learning
  • Class Distribution: Balanced training with quality filtering
  • Additional Features: Detailed class descriptions for stronger initial embeddings

Performance

  • Test Accuracy: 80.0%
  • Problematic Cases Resolved: 8/10 challenging examples correctly classified
  • Improvement: 100% increase from baseline accuracy

Benchmark Examples

Text Expected Predicted βœ“
"Granite Guardian 4 is a type of AI model..." neutral neutral βœ…
"Do you know what Granite Guardian 4 is?" neutral neutral βœ…
"Learning is a process of gaining knowledge..." neutral neutral βœ…
"I love this new technology!" positive positive βœ…
"This is terrible and I hate it." negative negative βœ…

Usage

Installation

pip install adaptive-classifier

Basic Usage

from adaptive_classifier import AdaptiveClassifier

# Load the model
classifier = AdaptiveClassifier.from_pretrained("MemChainAI/adaptive-sentiment-classifier")

# Make predictions
text = "This is a great product!"
predictions = classifier.predict(text)

# Get top prediction
label, confidence = predictions[0]
print(f"Sentiment: {label} ({confidence:.3f})")

API Integration

This model is designed to work with the MemChain Models API:

import requests

response = requests.post(
    "http://localhost:8033/model/sentiment/predict",
    json={"text": "Your text here", "k": 3}
)
result = response.json()

Batch Processing

texts = [
    "I love this!",
    "This is terrible.",
    "The system processes data automatically."
]

# Batch prediction
batch_results = classifier.predict_batch(texts)
for i, predictions in enumerate(batch_results):
    label, confidence = predictions[0]
    print(f"Text {i+1}: {label} ({confidence:.3f})")

Training Methodology

  1. Class Descriptions: Started with detailed descriptions of each sentiment class
  2. Quality Examples: Used filtered, high-quality examples from the dataset
  3. Iterative Training: Added examples gradually with evaluation at each step
  4. Continual Learning: Leveraged adaptive classifier's continual learning capabilities

Intended Use

  • Content Moderation: Analyze user-generated content sentiment
  • Customer Feedback: Classify customer reviews and feedback
  • Social Media: Monitor social media sentiment
  • Technical Documentation: Properly classify technical content as neutral
  • Educational Content: Handle informational and educational text appropriately

Limitations

  • Optimized for English text
  • Best performance on text similar to training data (tweets, reviews, questions)
  • May require additional examples for domain-specific terminology
  • Performance may vary on very long texts (>200 characters)

Ethical Considerations

  • The model should not be used as the sole basis for important decisions
  • Bias may exist reflecting the training data
  • Regular evaluation and retraining recommended for production use
  • Consider cultural and contextual factors when interpreting results

Citation

@misc{adaptive-sentiment-classifier-2025,
  title={Adaptive Sentiment Classifier},
  author={MemChain AI},
  year={2025},
  publisher={Hugging Face},
  url={https://huggingface.co/MemChainAI/adaptive-sentiment-classifier}
}

License

MIT License - see LICENSE file for details.

Contact

For questions, issues, or contributions, please visit the MemChain AI.

Downloads last month
64
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Dataset used to train MemChainAI/adaptive-sentiment-classifier

Evaluation results

  • Test Accuracy on SetFit/tweet_sentiment_extraction
    self-reported
    0.800