metadata
language:
- ru
pipeline_tag: text-classification
tags:
- toxicity
- binary-classification
base_model: ai-forever/ru-en-RoSBERTa
datasets:
- Izbebe/ru-toxicity-support-binary
Бинарный классификатор токсичности русскоязычных текстов
Модель для детекции токсичных сообщений в переписке службы поддержки
(учебный проект). Дообучена на базе ai-forever/ru-en-RoSBERTa:
энкодер заморожен, обучалась только классификационная голова.
Классы
0— нетоксичный текст1— токсичный текст (грубость, оскорбления, сарказм, пассивная агрессия)
Метрики на тестовой выборке
| Метрика | Значение |
|---|---|
| Accuracy | 0.9610 |
| Precision | 0.9646 |
| Recall | 0.9571 |
| F1 | 0.9608 |
| ROC AUC | 0.9948 |
| MCC | 0.9220 |
Пример использования
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("Izbebe/ru-toxicity-classifier-rosberta")
model = AutoModelForSequenceClassification.from_pretrained("Izbebe/ru-toxicity-classifier-rosberta")
text = "Вы что, совсем тупой? Я же уже объяснял!"
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
with torch.no_grad():
probs = torch.softmax(model(**inputs).logits, dim=-1)
print(f"Вероятность токсичности: {probs[0, 1].item():.3f}")
Обучающие данные
Датасет: Izbebe/ru-toxicity-support-binary