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