/ Модель

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

Контекст
2 048 токенов
Параметры
29 млн
Лицензия
MIT
Архитектура
bert · dense
Опубликована
6 мая 2023

ru_toxicity_detector

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

Русскоязычная BERT-модель для классификации комментариев по токсичности.

91скачиваний за 30 дней0лайковвеса обновлены1 окт 2023

Бенчмарки

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

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

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

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

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

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

Русскоязычный классификатор токсичных комментариев на базе BERT, дообученный автором khvatov от cointegrated/rubert-tiny2. Модель предназначена для определения токсичности пользовательских комментариев и сообщений на русском языке.

Обучение проводилось на объединённых наборах комментариев с 2ch.hk, Pikabu и OK.ru. В README приведены результаты на тестовой выборке: F1 составляет 0,9273 для токсичного класса и 0,9827 для нетоксичного. Модель принимает текст и выдаёт метки классификации; размер — 29 млн параметров, контекст — до 2048 токенов. Доступна в форматах PyTorch и safetensors, лицензия MIT. Показатели получены на указанных данных и могут не переноситься на другие источники или определения токсичности.

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

  • фильтрация токсичных комментариев на русском языке
  • модерация сообщений на форумах и в соцсетях
  • первичная разметка комментариев для проверки модератором

Ограничения

Качество проверялось на тестовой выборке из объединённых данных 2ch.hk, Pikabu и OK.ru; на других площадках и при иных критериях токсичности результаты могут отличаться.

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

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

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

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

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

Открыть на Hugging Face

Bert-based classifier (finetuned from rubert-tiny2)

Merged datasets:

The datasets split into train, val, test splits in 80-10-10 proportion The metrics obtained from test dataset is as follows:

precisionrecallf1-scoresupport
00.98270.98270.982721216
10.92720.92740.92735054
accuracy0.972026270
macro avg0.95500.95500.955026270
weighted avg0.97200.97200.972026270

Usage

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

PATH = 'khvatov/ru_toxicity_detector'
tokenizer = AutoTokenizer.from_pretrained(PATH)
model = AutoModelForSequenceClassification.from_pretrained(PATH)

# if torch.cuda.is_available():
#     model.cuda()

model.to(torch.device("cpu"))


def get_toxicity_probs(text):
    with torch.no_grad():
        inputs = tokenizer(text, return_tensors='pt', truncation=True, padding=True).to(model.device)
        proba = torch.nn.functional.softmax(model(**inputs).logits, dim=1).cpu().numpy()
    return proba[0]


TEXT = "Марк был хороший"
print(f'text = {TEXT}, probs={get_toxicity_probs(TEXT)}')
# text = Марк был хороший, probs=[0.9940585  0.00594147]

Train

The model has been trained with Adam optimizer, the learning rate of 2e-5, and batch size of 32 for 3 epochs

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей