twitter-roberta-base-sentiment-latest

cardiffnlp
Clasificación de texto

Este es un modelo RoBERTa-base entrenado en aproximadamente 124 millones de tweets desde enero de 2018 hasta diciembre de 2021, y ajustado para análisis de sentimiento con el benchmark TweetEval. El modelo original basado en Twitter-RoBERTa se puede encontrar aquí y el documento de referencia original es TweetEval. Este modelo es adecuado para inglés.

Como usar

from transformers import pipeline

# Cargar el pipeline de análisis de sentimientos
sentiment_task = pipeline('sentiment-analysis', model='cardiffnlp/twitter-roberta-base-sentiment-latest', tokenizer='cardiffnlp/twitter-roberta-base-sentiment-latest')

# Analizar el sentimiento de un texto ejemplo
sentiment_task('¡Los casos de Covid están aumentando rápidamente!')

# Ejemplo de clasificación completa
from transformers import AutoModelForSequenceClassification, AutoTokenizer, AutoConfig
import numpy as np
from scipy.special import softmax

# Preprocesar texto (placeholders para nombres de usuario y enlaces)
def preprocess(text):
    new_text = []
    for t in text.split(' '):
        t = '@usuario' 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 = 'cardiffnlp/twitter-roberta-base-sentiment-latest'
tokenizer = AutoTokenizer.from_pretrained(MODEL)
config = AutoConfig.from_pretrained(MODEL)

# PyTorch
model = AutoModelForSequenceClassification.from_pretrained(MODEL)

# Analizar el sentimiento de un texto ejemplo
text = '¡Los casos de Covid están aumentando rápidamente!'
text = preprocess(text)
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
scores = output[0][0].detach().numpy()
scores = softmax(scores)

# Imprimir etiquetas y puntuaciones
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:
# 1) Negativo 0.7236
# 2) Neutral 0.2287
# 3) Positivo 0.0477

Funcionalidades

Clasificación de texto
Modelos Transformers
Compatible con PyTorch
Compatible con TensorFlow
Entrenado con el conjunto de datos tweet_eval
Modelo específico para inglés
Compatible con AutoTrain
Compatible con Inference Endpoints
Entregado desde la región: US

Casos de uso

Análisis y detección de sentimientos en tweets.
Clasificación de sentimientos de textos cortos en redes sociales.
Monitorización de tendencias y opiniones en Twitter.
Integración con aplicaciones de análisis para medios sociales.