/ Модель

Характеристики

Контекст
512 токенов
Параметры
12,1 млн
Архитектура
bert · dense
Опубликована
2 мар 2022

rubert-tiny-sentiment-balanced

Классификация текстаТекст → label6 профессий

Компактная русскоязычная BERT-модель определяет отрицательную, нейтральную или положительную тональность коротких текстов.

50 728скачиваний за 30 дней18лайковвеса обновлены20 мар 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

cointegrated/rubert-tiny-sentiment-balanced — русскоязычная модель классификации тональности, созданная дообучением cointegrated/rubert-tiny. Она распределяет короткий текст по одному из трёх классов: отрицательная, нейтральная или положительная тональность.

Модель основана на архитектуре BERT и содержит 12,1 млн параметров. Она принимает текст, поддерживает контекст до 512 токенов и предназначена для анализа коротких русскоязычных сообщений, например отзывов и новостей. В README приведены результаты на сбалансированном тестовом наборе: Macro F1 составляет 0,83 для банковских отзывов SentiRuEval2016, 0,74 для отзывов о телекоммуникациях и 0,66 для новостей Kaggle.

Модель обучена на собранных Smetanin датасетах, приведённых к трёхклассовой разметке; источники и классы балансировались повышающей и понижающей выборкой. Лицензия в предоставленных данных не указана.

Сценарии применения

  • Определение тональности коротких отзывов на русском языке
  • Разметка новостных текстов по полярности
  • Анализ отзывов клиентов банков
  • Анализ отзывов о телекоммуникационных услугах

Ограничения

Модель ориентирована на короткие русскоязычные тексты; качество может различаться между источниками, а приведённые результаты варьируются от Macro F1 0,66 до 0,83. Лицензия в предоставленных данных не указана.

Для каких профессий подходит6

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

This is the cointegrated/rubert-tiny model fine-tuned for classification of sentiment for short Russian texts.

The problem is formulated as multiclass classification: negative vs neutral vs positive.

Usage

The function below estimates the sentiment of the given text:

# !pip install transformers sentencepiece --quiet
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'):
    """ Calculate sentiment of a text. `return_type` can be 'label', 'score' or '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 = 'Какая гадость эта ваша заливная рыба!'
# classify the text
print(get_sentiment(text, 'label'))  # negative
# score the text on the scale from -1 (very negative) to +1 (very positive)
print(get_sentiment(text, 'score'))  # -0.5894946306943893
# calculate probabilities of all labels
print(get_sentiment(text, 'proba'))  # [0.7870447  0.4947824  0.19755007]

Training

We trained the model on the datasets collected by Smetanin. We have converted all training data into a 3-class format and have up- and downsampled the training data to balance both the sources and the classes. The training code is available as a Colab notebook. The metrics on the balanced test set are the following:

SourceMacro F1
SentiRuEval2016_banks0.83
SentiRuEval2016_tele0.74
kaggle_news0.66
linis0.50
mokoron0.98
rureviews0.72
rusentiment0.67

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
e0679dd

0 моделей