cointegrated/rubert-tiny-sentiment-balanced
cointegrated
Clasificación de texto
Este es el modelo cointegrated/rubert-tiny ajustado para la clasificación del sentimiento en textos breves en ruso. El problema se formula como una clasificación multiclase: negativo vs neutral vs positivo.
Como usar
La siguiente función estima el sentimiento del texto dado:
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
model_checkpoint = 'cointegrated/rubert-tiny-sentiment-balanced'
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
model = AutoModelForSequenceClassification.from_pretrained(model_checkpoint)
if torch.cuda.is_available():
model.cuda()
def get_sentiment(text, return_type='label'):
""" Calcular el sentimiento de un texto. `return_type` puede ser 'label', 'score' o 'proba' """
with torch.no_grad():
inputs = tokenizer(text, return_tensors='pt', truncation=True, padding=True).to(model.device)
proba = torch.sigmoid(model(**inputs).logits).cpu().numpy()[0]
if return_type == 'label':
return model.config.id2label[proba.argmax()]
elif return_type == 'score':
return proba.dot([-1, 0, 1])
return proba
text = 'Какая гадость эта ваша заливная рыба!'
# clasificar el texto
print(get_sentiment(text, 'label')) # negativo
# puntuar el texto en la escala de -1 (muy negativo) a +1 (muy positivo)
print(get_sentiment(text, 'score')) # -0.5894946306943893
# calcular probabilidades de todas las etiquetas
print(get_sentiment(text, 'proba')) # [0.7870447 0.4947824 0.19755007]
Funcionalidades
- Clasificación de textos
- Transformers
- PyTorch
- Safetensors
- BERT
- Clasificación en ruso
- Clasificación de sentimientos
- Multiclase
Casos de uso
- Clasificación de sentimientos de textos en ruso
- Evaluación de opiniones en ruso
- Análisis de emociones en redes sociales en ruso