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
Пример использования
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}")
- Downloads last month
- 10