cardiffnlp/twitter-roberta-base-sentiment-latest, fine-tuned on Amazon reviews
This is not cardiffnlp/twitter-roberta-base-sentiment-latest, which is linked below. It is that model fine-tuned on Amazon product reviews, which changes both the domain and the label set: the base emits three classes including neutral, this one emits two.

Sensible
AnkitAI/reviews-roberta-base-sentiment-analysisThe base model here is one of the most widely used sentiment checkpoints on Hugging Face, and it is trained on tweets. Tweets are short, informal, heavy on hashtags and mentions. Product reviews are a different register: longer, blunter, full of typos, and much more likely to bury the verdict in the last sentence after three paragraphs about shipping.
This checkpoint is that model fine-tuned on the Amazon Reviews dataset for binary classification. The label change matters as much as the domain change and is the thing most likely to break a drop-in swap: the base emits negative, neutral and positive; this model emits negative and positive only, with no neutral class. Genuinely ambivalent text gets forced to a side.
Its card reports 97.19% evaluation accuracy, with precision 97.9%, recall 97.18% and F1 97.19%. That figure is quoted from the card and has not been re-measured here; the card does not state the evaluation split, so treat it as the author's reported training-time evaluation rather than a comparable public benchmark.
Where it stops holding is the domain boundary: it is English-only and tuned on Amazon product reviews, so tweets — the base model's home ground — along with financial news and clinical notes all sit outside its training distribution. It is a review classifier, not a general-purpose sentiment model, and the two-class label set is the part of that most likely to surprise you.
The numbers
As reported on the model's own Hugging Face card, at the end of training.
| Metric | Value |
|---|---|
| Accuracy | 97.19% |
| Precision | 97.9% |
| Recall | 97.18% |
| F1 | 97.19% |
Quoted from the card, not re-measured here. The card does not name the evaluation split, so this is not directly comparable to a published benchmark number.
Run it
from transformers import pipeline
clf = pipeline(
"text-classification",
model="AnkitAI/reviews-roberta-base-sentiment-analysis",
)
clf("Arrived two days late and the box was crushed, but the product itself is fine.")
# [{'label': 'negative', 'score': ...}] # labels: negative, positiveTry others
- answerdotai/ModernBERT-base — general sentiment analysisA drop-in upgrade for the distilbert-sst2 default: 0.9461 against 0.9130 on the same validation set.
- distilbert/distilbert-base-uncased — financial news sentimentThe small/fast option: 67M parameters against FinBERT's 110M, and it still edges past FinBERT's reproducible score.
Where to get it
- Training data
- Amazon Reviews