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 уникальных комментариев.
Для снижения гендерного смещения из обучающих данных были исключены оценки, демонстрировавшие систематические различия в восприятии токсичности гендерно маркированных оскорблений.
Качество модели
Результаты на валидационной выборке:
В среднем предсказание модели отличается от экспертной оценки менее чем на один балл шкалы.
Использование
1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2import torch
3
4model_name = "ВАШ_НИК/НАЗВАНИЕ_МОДЕЛИ"
5
6tokenizer = AutoTokenizer.from_pretrained(model_name)
7model = AutoModelForSequenceClassification.from_pretrained(model_name)
8
9text = "Ты полный идиот"
10
11inputs = tokenizer(text, return_tensors="pt")
12
13with torch.no_grad():
14 score = model(**inputs).logits.item()
15
16print(score)
Ограничения
Модель обучалась на русскоязычных интернет-комментариях и может работать менее точно на текстах других жанров.
Связанный датасет
Для обучения использовался корпус гендерно маркированной инвективной лексики русского языка.