--- license: cc-by-4.0 --- --- 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 В среднем предсказание модели отличается от экспертной оценки менее чем на один балл шкалы. ## Использование ```python 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) ``` ## Ограничения Модель обучалась на русскоязычных интернет-комментариях и может работать менее точно на текстах других жанров. ## Связанный датасет Для обучения использовался корпус гендерно маркированной инвективной лексики русского языка.