ru-en-RoSBERTa Toxicity Classifier (Homework 2)

Это модель для бинарной классификации русскоязычных комментариев на предмет токсичности (1 — toxic, 0 — neutral). Модель построена на базе предобученной архитектуры ai-forever/ru-en-RoSBERTa и дообучена в рамках выполнения Домашнего задания №2.

Метрики качества на тестовой выборке

По результатам оценки модели (evaluate_model) на сбалансированном тестовом множестве были получены следующие показатели:

  • Accuracy: 90.27%
  • Precision: 91.30%
  • Recall: 89.03%
  • F1-Score: 90.15%
  • ROC AUC: 0.956
  • MCC (Коэффициент Мэттьюса): 0.806

Особенности модели и порог классификации

В ходе анализа ошибок и ручного инференса было установлено, что модель успешно детектирует маркеры скрытой и пассивной агрессии (повышая внутреннюю вероятность токсичности до 0.34 - 0.45). Однако стандартный жесткий порог argmax (0.5) может пропускать такие завуалированные фразы. Для деплоя в продакшен рекомендуется калибровать порог классификации под конкретную бизнес-задачу.

Пример использования (Inference)

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

tokenizer = AutoTokenizer.from_pretrained("Ahbdjbdsh/Dataset-from-HOMEWORK-2")
model = AutoModelForSequenceClassification.from_pretrained("Ahbdjbdsh/Dataset-from-HOMEWORK-2")

text = "Вы что, совсем тупой? Я же уже объяснял!"
inputs = tokenizer(text, return_tensors="pt")

with torch.no_grad():
    outputs = model(**inputs)
    probs = torch.softmax(outputs.logits, dim=-1)
    prediction = torch.argmax(outputs.logits, dim=1).item()

print(f"Класс: {prediction}, Вероятность токсичности: {probs[0][1].item():.4f}")
Downloads last month
9
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