--- language: - ru license: mit base_model: ai-forever/ru-en-RoSBERTa tags: - text-classification - toxicity - russian - roberta - customer-support metrics: - accuracy - f1 - roc_auc pipeline_tag: text-classification --- # Russian Support Toxicity Classifier Модель для бинарной классификации токсичности русскоязычных текстов, дообученная на основе ai-forever/ru-en-RoSBERTa. ## Описание Модель предназначена для автоматического обнаружения токсичных, грубых или пассивно-агрессивных сообщений в контексте службы технической поддержки. Классифицирует текст на два класса: - 0 — нетоксичный (нейтральный, вежливый) - 1 — токсичный (грубость, оскорбления, агрессия) ## Архитектура - Базовая модель: ai-forever/ru-en-RoSBERTa (RoBERTa-large, 24 слоя, 1024 hidden dim) - Подход: Transfer Learning с заморозкой весов энкодера - Обучается только классификационная голова (RobertaClassificationHead) - Dropout: 0.2, Optimizer: AdamW, LR: 2e-4 ## Метрики на тестовой выборке | Метрика | Значение | |-----------|----------| | Accuracy | 0.9667 | | Precision | 0.9654 | | Recall | 0.9682 | | F1-score | 0.9668 | | ROC AUC | 0.9956 | | MCC | 0.9335 | ## Данные Датасет: support-toxicity-classification-ru - Train: 11064 записей (50/50 по классам) - Val: 1383 записей - Test: 1383 записей Источники: - Токсичный класс: s-nlp/ru_paradetox (ru_toxic_comment) - Нетоксичный класс: s-nlp/ru_paradetox (ru_neutral_comment), MTS-AI-SearchSkill/MTSBerquad, SetFit/amazon_massive_intent_ru-RU ## Производительность инференса - GPU (T4): ~76 мс на 1 запрос - CPU: ~1800 мс на 1 запрос - Ускорение GPU/CPU: x23.6 ## Пример использования from transformers import pipeline classifier = pipeline( "text-classification", model="YOUR_USERNAME/support-toxicity-classifier-ru" ) result = classifier("Пожалуйста, попробуйте перезагрузить устройство") print(result) result = classifier("Да пошел ты, надоел уже со своими вопросами") print(result) ## Ограничения - Модель обучена преимущественно на интернет-комментариях, поэтому некоторые формы скрытой пассивной агрессии могут распознаваться с пониженной уверенностью (пограничные случаи около порога 0.5). - Рекомендуемый порог классификации: 0.5 (можно снизить до 0.4 для повышения Recall в продакшене за счёт роста FP).