language:

  • ru license: cc-by-4.0 library_name: transformers

RuBERT Tiny Toxicity Regression

Модель для оценки токсичности русскоязычных текстов по шкале от -5 до +3.

Модель была получена путем дообучения cointegrated/rubert-tiny-toxicity на размеченном корпусе русскоязычных интернет-комментариев.

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

Модель предсказывает числовую оценку токсичности текста:

  • -5 – максимально токсичный комментарий;
  • 0 – нейтральный комментарий;
  • +3 – позитивный комментарий.

Обучающие данные

Модель была обучена на корпусе из 101 966 русскоязычных интернет-комментариев.

Источники данных:

  • Russian Language Toxic Comments (Kaggle);
  • Toxic Russian Comments from B21176df (Kaggle);
  • YouTube comments (Russian language) (Kaggle);
  • Toxic Russian Comments Dataset (Hugging Face Datasets).

Комментарии были очищены от эмодзи, цифр и лишних символов, после чего использовались для обучения модели.

Обучающие данные

Модель была дообучена на выборке из 1016 уникальных русскоязычных интернет-комментариев, размеченных по шкале токсичности от -5 до +3.

Обучающая выборка была сформирована на основе двух источников:

  • 171 комментарий, оценённый женщинами-респондентками в рамках анкетирования (в качестве итоговой метки использовалась медианная оценка);
  • 912 комментариев, размеченных независимым экспертом.

При объединении источников дублирующиеся комментарии удалялись. Для совпадающих текстов сохранялись оценки, полученные в ходе анкетирования. Итоговый датасет содержал 1016 уникальных комментариев.

Для снижения гендерного смещения из обучающих данных были исключены оценки, демонстрировавшие систематические различия в восприятии токсичности гендерно маркированных оскорблений.

Качество модели

Результаты на валидационной выборке:

  • MAE = 0.957
  • R² = 0.68

В среднем предсказание модели отличается от экспертной оценки менее чем на один балл шкалы.

Использование

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

model_name = "ВАШ_НИК/НАЗВАНИЕ_МОДЕЛИ"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

text = "Ты полный идиот"

inputs = tokenizer(text, return_tensors="pt")

with torch.no_grad():
    score = model(**inputs).logits.item()

print(score)

Ограничения

Модель обучалась на русскоязычных интернет-комментариях и может работать менее точно на текстах других жанров.

Связанный датасет

Для обучения использовался корпус гендерно маркированной инвективной лексики русского языка.

Downloads last month
35
Safetensors
Model size
11.8M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support