--- 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 ---

ToxicLord

# 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`. Разрешено некоммерческое использование с указанием авторства. Коммерческое использование и распространение производных версий запрещены условиями лицензии.