File size: 3,250 Bytes
3b2bf1c
a9ae38d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3b2bf1c
 
a9ae38d
3b2bf1c
a9ae38d
 
3b2bf1c
a9ae38d
3b2bf1c
a9ae38d
 
 
 
 
3b2bf1c
a9ae38d
3b2bf1c
a9ae38d
 
 
 
3b2bf1c
a9ae38d
3b2bf1c
a9ae38d
 
 
 
 
 
 
 
3b2bf1c
a9ae38d
3b2bf1c
a9ae38d
 
 
 
3b2bf1c
a9ae38d
 
 
 
3b2bf1c
a9ae38d
3b2bf1c
a9ae38d
 
 
3b2bf1c
a9ae38d
3b2bf1c
a9ae38d
3b2bf1c
a9ae38d
 
 
 
3b2bf1c
a9ae38d
 
3b2bf1c
a9ae38d
 
3b2bf1c
a9ae38d
3b2bf1c
a9ae38d
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
---
language:
- ru
license: mit
base_model: ai-forever/ru-en-RoSBERTa
tags:
- text-classification
- toxicity
- russian
- roberta
- customer-support
metrics:
- accuracy
- f1
- roc_auc
pipeline_tag: text-classification
---

# Russian Support Toxicity Classifier

Модель для бинарной классификации токсичности русскоязычных текстов,
дообученная на основе ai-forever/ru-en-RoSBERTa.

## Описание

Модель предназначена для автоматического обнаружения токсичных, грубых
или пассивно-агрессивных сообщений в контексте службы технической поддержки.
Классифицирует текст на два класса:
- 0 — нетоксичный (нейтральный, вежливый)
- 1 — токсичный (грубость, оскорбления, агрессия)

## Архитектура

- Базовая модель: ai-forever/ru-en-RoSBERTa (RoBERTa-large, 24 слоя, 1024 hidden dim)
- Подход: Transfer Learning с заморозкой весов энкодера
- Обучается только классификационная голова (RobertaClassificationHead)
- Dropout: 0.2, Optimizer: AdamW, LR: 2e-4

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

| Метрика   | Значение |
|-----------|----------|
| Accuracy  | 0.9667   |
| Precision | 0.9654   |
| Recall    | 0.9682   |
| F1-score  | 0.9668   |
| ROC AUC   | 0.9956   |
| MCC       | 0.9335   |

## Данные

Датасет: support-toxicity-classification-ru
- Train: 11064 записей (50/50 по классам)
- Val: 1383 записей
- Test: 1383 записей

Источники:
- Токсичный класс: s-nlp/ru_paradetox (ru_toxic_comment)
- Нетоксичный класс: s-nlp/ru_paradetox (ru_neutral_comment),
  MTS-AI-SearchSkill/MTSBerquad, SetFit/amazon_massive_intent_ru-RU

## Производительность инференса

- GPU (T4): ~76 мс на 1 запрос
- CPU: ~1800 мс на 1 запрос
- Ускорение GPU/CPU: x23.6

## Пример использования

from transformers import pipeline

classifier = pipeline(
    "text-classification",
    model="YOUR_USERNAME/support-toxicity-classifier-ru"
)

result = classifier("Пожалуйста, попробуйте перезагрузить устройство")
print(result)

result = classifier("Да пошел ты, надоел уже со своими вопросами")
print(result)

## Ограничения

- Модель обучена преимущественно на интернет-комментариях, поэтому
  некоторые формы скрытой пассивной агрессии могут распознаваться
  с пониженной уверенностью (пограничные случаи около порога 0.5).
- Рекомендуемый порог классификации: 0.5 (можно снизить до 0.4
  для повышения Recall в продакшене за счёт роста FP).