File size: 6,662 Bytes
d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 ca7785f c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 8576421 d7d2d80 8576421 2abc9ad 8576421 2abc9ad 8576421 2abc9ad 8576421 2abc9ad 8576421 2abc9ad 8576421 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 d7d2d80 c4d71f8 | 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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | ---
license: cc-by-nc-nd-4.0
language:
- ru
library_name: transformers
pipeline_tag: text-classification
tags:
- toxicity-classification
- russian
- telegram
- moderation
- deberta
base_model: deepvk/deberta-v1-base
model-index:
- name: ToxicLord v1
results:
- task:
type: text-classification
name: Классификация текста
dataset:
name: Внутренний тестовый набор токсичности
type: private
metrics:
- type: accuracy
value: 0.968937125748503
name: Точность
- type: precision
value: 0.9309514251304697
name: Precision токсичного класса
- type: recall
value: 0.905152224824356
name: Recall токсичного класса
- type: f1
value: 0.9178705719374629
name: F1 токсичного класса
- type: f1
value: 0.9493585102268198
name: Macro F1
---
<p align="center">
<img src="ToxicLord.png" alt="ToxicLord" width="420"/>
</p>
# ToxicLord v1
ToxicLord v1 - русскоязычная модель классификации токсичности для чат-модерации. Модель классифицирует короткие сообщения как `clean` или `toxic` и настроена под стиль Telegram-чатов.
Модель является fine-tune версии `deepvk/deberta-v1-base` для задачи бинарной классификации токсичности на русском языке.
Модель предназначена для помощи в модерации. Она может ошибаться, поэтому для реального использования рекомендуется логирование, ручная проверка спорных случаев и подбор порога под конкретное сообщество.
## Метки
```text
0: clean
1: toxic
```
## Рекомендуемый порог
Для осторожной Telegram-модерации лучше использовать вероятность токсичного класса, а не только `argmax`:
```text
toxic, если P(toxic) >= 0.90
```
## Метрики
Внутренний тестовый набор:
```text
accuracy: 0.9689
precision_toxic: 0.9310
recall_toxic: 0.9052
f1_toxic: 0.9179
macro_f1: 0.9494
```
Внешние фиксированные тестовые выборки при пороге `0.90`:
```text
Обычный Telegram-чат: 2/500 срабатываний, 0.4%
Токсичная выборка: 364/500 срабатываний, 72.8%
```
## Использование
```python
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model_id = "Egor-3926/ToxicLord"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSequenceClassification.from_pretrained(model_id)
model.eval()
text = "ты грубый и неприятный человек"
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=192)
with torch.inference_mode():
probs = torch.softmax(model(**inputs).logits, dim=-1)[0]
clean_score = float(probs[0])
toxic_score = float(probs[1])
label = "toxic" if toxic_score >= 0.90 else "clean"
print(label, toxic_score)
```
## Примеры
Ниже приведены примеры, близкие к реальным коротким сообщениям из чатов. Явная нецензурная лексика в карточке модели не приводится, поэтому часть грубых слов заменена на нейтральные формулировки или скрыта. Итоговый результат зависит от выбранного порога и контекста сообщения.
```text
Сообщение: Блин, я вообще ничего не понял
Ожидаемый класс: clean
```
```text
Сообщение: Да мне всё равно, делайте как хотите
Ожидаемый класс: clean
```
```text
Сообщение: Ну и зачем это было делать?
Ожидаемый класс: clean
```
```text
Сообщение: Сам ты лох
Ожидаемый класс: toxic
```
```text
Сообщение: Ты полный идиот
Ожидаемый класс: toxic
```
```text
Сообщение: Иди отсюда, никто тебя тут не ждёт
Ожидаемый класс: toxic
```
```text
Сообщение: У тебя синдром дауна
Ожидаемый класс: toxic
```
```text
Сообщение: Даун
Ожидаемый класс: toxic
```
## Обучающие данные
Модель дообучалась на смеси публичных русскоязычных датасетов токсичности и приватных модерационных разметок/исправлений.
Сырые обучающие данные, Telegram-логи, идентификаторы пользователей и приватные разметки вместе с моделью не распространяются.
## Ограничения
- Модель оптимизирована для русскоязычных Telegram-чатов и может хуже работать на формальных текстах, длинных документах и других языках.
- Короткие оскорбления и токсичные ярлыки могут классифицироваться как токсичные даже без широкого контекста.
- Сарказм, цитаты, шутки, обсуждение правил и мета-комментарии могут распознаваться неверно.
- Модель не стоит использовать как единственный источник решения для необратимых наказаний.
## Лицензия
Модель опубликована под лицензией `cc-by-nc-nd-4.0`.
Разрешено некоммерческое использование с указанием авторства. Коммерческое использование и распространение производных версий запрещены условиями лицензии.
|