ED

Emotion Detection Model

SageMaker

Detect the dominant emotion in English text on SageMaker

What you get

  • Label English text as sadness, joy, love, anger, fear or surprise, with a confidence score

  • Runs inside your own AWS account and VPC - text is never sent to a third-party API

  • 93.2 percent accuracy (macro-F1 0.903) on 4,000 held-out examples; about 24 texts per second on ml.m5.large

About this product

Runs inside your own AWS account: your text is processed on a SageMaker endpoint you control, inside your VPC, and is never sent to a third-party API.

This SageMaker model package provides a REST API to detect the dominant emotion in English text.

Each input text is classified into one of six emotions: sadness, joy, love, anger, fear, or surprise, with a confidence score. Use it for customer feedback analysis, social listening, or conversational analytics.

The API accepts input as JSON or CSV and supports real-time endpoints and batch transform.

We welcome your feedback at [email protected]

Model and training data The model is a ModernBERT-base (answerdotai/ModernBERT-base) text classifier fine-tuned with PyTorch and Hugging Face Transformers on the public dair-ai/emotion dataset. It runs in network isolation on SageMaker, so no data leaves your account.

Known limitations - English only. Other languages are not supported. - The model was fine-tuned on inputs up to 512 tokens. Longer text is accepted, but accuracy is only characterized to that length; split long documents into passages before sending. - Returns one dominant emotion from a fixed set of six. Mixed or absent emotion is still mapped to the closest label. - Trained on short social media text; longer formal prose is out of domain.

Measured performance - Accuracy 93.2 percent, macro-F1 0.903, measured on 4,000 held-out examples from the public dair-ai/emotion dataset. The split is seeded (70/20/10, seed 42) and was not used in training. - Real-time endpoint on ml.m5.large: 262 ms median per request (271 ms p95). - Throughput on the same instance: about 24 texts per second at a batch size of 32.

How it ships

Categories and keywords

Categories
Natural Language ProcessingText
Keywords
emotion-detectionemotionsentimenttext-classificationnlpapi