twitter roberta base sentiment latest

Providercardiffnlp
Categorytext-classification
Licensecc-by-4.0
Downloads2.0K
Stars0

Overview

The twitter-roberta-base-sentiment-latest model is a specialized text classifier fine-tuned on a massive corpus of social media data. Unlike general-purpose sentiment models, this version is optimized for the nuances of Twitter—handling slang, emojis, and informal syntax that often trip up standard BERT architectures. It provides a three-way classification (positive, neutral, negative), making it ideal for real-time brand monitoring, public opinion tracking, and automated customer feedback loops. For developers, it integrates seamlessly into Hugging Face pipelines, offering a lightweight footprint that balances inference speed with high accuracy on short-form text. It serves as a robust alternative to VADER or TextBlob when deeper contextual understanding is required without the overhead of a massive LLM.

Highlights

  • Optimized for social media slang and emoji context
  • Three-way sentiment classification: positive, neutral, and negative
  • Seamless integration via Hugging Face Transformers library
  • High inference efficiency for short-form text analysis
  • Permissive CC-BY-4.0 license for commercial flexibility

Usage

Install
# Install Hugging Face transformers
pip install transformers torch
SDK Usage
# Load model with transformers
from transformers import AutoModel, AutoTokenizer

model = AutoModel.from_pretrained("cardiffnlp/twitter-roberta-base-sentiment-latest")
tokenizer = AutoTokenizer.from_pretrained("cardiffnlp/twitter-roberta-base-sentiment-latest")

Hugging Face Download

We recommend downloading the model via the Hugging Face CLI or Hub SDK.

Guidance:Before downloading, install huggingface_hub with:

Guidance
pip install -U huggingface_hub

CLI Download

Download the full repository

Download the full repository
huggingface-cli download cardiffnlp/twitter-roberta-base-sentiment-latest

Download a single file to a local folder (e.g. config.json into ./dir)

Download a single file to a local folder (e.g. config.json into ./dir)
huggingface-cli download cardiffnlp/twitter-roberta-base-sentiment-latest config.json --local-dir ./dir

See the official docs for more CLI options

SDK Download

SDK Download
# 模型下载
from huggingface_hub import snapshot_download
model_dir = snapshot_download('cardiffnlp/twitter-roberta-base-sentiment-latest')

Git Download

Make sure git-lfs is installed first

Git Download
git lfs install
git clone https://huggingface.co/cardiffnlp/twitter-roberta-base-sentiment-latest

To skip LFS large-file downloads, use:

Skip LFS
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/cardiffnlp/twitter-roberta-base-sentiment-latest

Model files are hosted on the Hugging Face Hub — download directly via HF CLI / SDK / Git, not through this site.

PyTorch / Transformers Usage

Install Transformers

Install Transformers
pip install -U transformers torch

Load the model and run inference

Load the model and run inference
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained('cardiffnlp/twitter-roberta-base-sentiment-latest')
tokenizer = AutoTokenizer.from_pretrained('cardiffnlp/twitter-roberta-base-sentiment-latest')

Model Download

We recommend downloading the model via the ModelScope CLI or SDK.

Guidance:Before downloading, install ModelScope with:

Guidance
pip install modelscope

CLI Download

Download the full repository

Download the full repository
modelscope download --model cardiffnlp/twitter-roberta-base-sentiment-latest

Download a single file to a local folder (e.g. README.md into ./dir)

Download a single file to a local folder (e.g. README.md into ./dir)
modelscope download --model cardiffnlp/twitter-roberta-base-sentiment-latest README.md --local_dir ./dir

See the docs for more CLI options

SDK Download

SDK Download
# 模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('cardiffnlp/twitter-roberta-base-sentiment-latest')

Git Download

Make sure git-lfs is installed first

Git Download
git lfs install
git clone https://www.modelscope.cn/cardiffnlp/twitter-roberta-base-sentiment-latest.git

To skip LFS large-file downloads, use:

Skip LFS
GIT_LFS_SKIP_SMUDGE=1 git clone https://www.modelscope.cn/cardiffnlp/twitter-roberta-base-sentiment-latest.git

ModelScope 模型页直接下载模型文件;无需将模型文件放在本站服务器。

Notebook Quickstart

Install the ModelScope library

Install the ModelScope library
pip install "modelscope[audio,cv,nlp,multi-modal,science]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

Load the model and run inference

Load the model and run inference
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

p = pipeline('text-generation', 'cardiffnlp/twitter-roberta-base-sentiment-latest')

Full Documentation

来源: HuggingFace

---
language: en
widget:

  • text: Covid cases are increasing fast!

datasets:
  • tweet_eval

license: cc-by-4.0
---

Twitter-roBERTa-base for Sentiment Analysis - UPDATED (2022)

This is a RoBERTa-base model trained on ~124M tweets from January 2018 to December 2021, and finetuned for sentiment analysis with the TweetEval benchmark.
The original Twitter-based RoBERTa model can be found here and the original reference paper is TweetEval. This model is suitable for English.

<b>Labels</b>:
0 -> Negative;
1 -> Neutral;
2 -> Positive

This sentiment analysis model has been integrated into TweetNLP. You can access the demo here.

Example Pipeline

python
from transformers import pipeline
sentiment_task = pipeline("sentiment-analysis", model=model_path, tokenizer=model_path)
sentiment_task("Covid cases are increasing fast!")
code
[{'label': 'Negative', 'score': 0.7236}]

Full classification example

python
from transformers import AutoModelForSequenceClassification
from transformers import TFAutoModelForSequenceClassification
from transformers import AutoTokenizer, AutoConfig
import numpy as np
from scipy.special import softmax

Preprocess text (username and link placeholders)

def preprocess(text): new_text = [] for t in text.split(" "): t = '@user' if t.startswith('@') and len(t) > 1 else t t = 'http' if t.startswith('http') else t new_text.append(t) return " ".join(new_text) MODEL = f"cardiffnlp/twitter-roberta-base-sentiment-latest" tokenizer = AutoTokenizer.from_pretrained(MODEL) config = AutoConfig.from_pretrained(MODEL)

PT

model = AutoModelForSequenceClassification.from_pretrained(MODEL) #model.save_pretrained(MODEL) text = "Covid cases are increasing fast!" text = preprocess(text) encoded_input = tokenizer(text, return_tensors='pt') output = model(**encoded_input) scores = output[0][0].detach().numpy() scores = softmax(scores)

# TF

model = TFAutoModelForSequenceClassification.from_pretrained(MODEL)

model.save_pretrained(MODEL)

text = "Covid cases are increasing fast!"

encoded_input = tokenizer(text, return_tensors='tf')

output = model(encoded_input)

scores = output[0][0].numpy()

scores = softmax(scores)

Print labels and scores

ranking = np.argsort(scores) ranking = ranking[::-1] for i in range(scores.shape[0]): l = config.id2label[ranking[i]] s = scores[ranking[i]] print(f"{i+1}) {l} {np.round(float(s), 4)}")

Output:

code
1) Negative 0.7236
2) Neutral 0.2287
3) Positive 0.0477

References

code
@inproceedings{camacho-collados-etal-2022-tweetnlp,
    title = "{T}weet{NLP}: Cutting-Edge Natural Language Processing for Social Media",
    author = "Camacho-collados, Jose  and
      Rezaee, Kiamehr  and
      Riahi, Talayeh  and
      Ushio, Asahi  and
      Loureiro, Daniel  and
      Antypas, Dimosthenis  and
      Boisson, Joanne  and
      Espinosa Anke, Luis  and
      Liu, Fangyu  and
      Mart{\'\i}nez C{\'a}mara, Eugenio" and others,
    booktitle = "Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing: System Demonstrations",
    month = dec,
    year = "2022",
    address = "Abu Dhabi, UAE",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2022.emnlp-demos.5",
    pages = "38--49"
}
code
@inproceedings{loureiro-etal-2022-timelms,
    title = "{T}ime{LM}s: Diachronic Language Models from {T}witter",
    author = "Loureiro, Daniel  and
      Barbieri, Francesco  and
      Neves, Leonardo  and
      Espinosa Anke, Luis  and
      Camacho-collados, Jose",
    booktitle = "Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics: System Demonstrations",
    month = may,
    year = "2022",
    address = "Dublin, Ireland",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2022.acl-demo.25",
    doi = "10.18653/v1/2022.acl-demo.25",
    pages = "251--260"
}
Join our Telegram