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
Safetensors
Model size
0.4B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support