--- language: - ru license: mit pipeline_tag: text-classification tags: - bert - toxicity - russian --- # Toxicity Classifier Модель для определения токсичности сообщений службы поддержки. ## Задача Модель решает задачу бинарной классификации текста: определяет, является ли сообщение службы поддержки токсичным (1) или нетоксичным (0). Предназначена для использования в пайплайне контроля качества — анализ исходящих ответов операторов в реальном времени перед отправкой клиенту. - **Вход:** текст сообщения на русском языке - **Выход:** класс (0 — нетоксично, 1 — токсично) и вероятность токсичности - **Базовая модель:** ai-forever/ru-en-RoSBERTa (энкодер заморожен, обучалась только классификационная голова) - ## Метрики Пример результатов на тестовой выборке: accuracy: 0.99 precision: 0.99 recall: 0.99 f1: 0.99 mcc: 0.99 roc_auc: 0.99 ## Пример использования ```python from transformers import AutoTokenizer, AutoModelForSequenceClassification import torch model_name = "VladimirRH/toxicity-classifier" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained(model_name) model.eval() text = "Спасибо за обратную связь, мы обязательно учтём ваши пожелания." inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=32) with torch.no_grad(): logits = model(**inputs).logits probs = torch.softmax(logits, dim=1) prediction = torch.argmax(probs, dim=1).item() toxicity_prob = probs[0][1].item() print(f"Класс: {prediction}") print(f"Вероятность токсичности: {toxicity_prob:.4f}") ```