/ Модель

Характеристики

Контекст
512 токенов
Лицензия
Apache 2.0
Библиотека
onnxruntime
Опубликована
6 сен 2026

toxic-talking-detector

Классификация текстаТекст → label

Квантованная DistilBERT-модель для оценки английского текста по семи категориям токсичности в системах модерации.

0скачиваний за 30 дней0лайковвеса обновлены6 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Toxic Talking Detector — дообученная модель DistilBERT от автора репозитория bsgcasa для многометочной классификации токсичности текста. Она присваивает входному тексту оценки от 0 до 1 по семи категориям: токсичность, сильная токсичность, непристойность, угрозы, оскорбления, нападение на идентичность и откровенно сексуальный контент. Модель обучена на датасете Jigsaw Unintended Bias in Toxicity Classification и рассчитана на английский язык.

Модель предназначена для систем модерации диалогов: она помогает оценивать отдельные сообщения и выявлять токсичный контент. Веса экспортированы в ONNX и квантованы до INT8 для облегчённого развёртывания; для оценки токсичности всей беседы агрегирование результатов выполняет вызывающее приложение. Лицензия — Apache-2.0.

Сценарии применения

  • оценка токсичности отдельных сообщений на английском языке
  • выявление угроз и оскорблений в переписке
  • поиск непристойного и откровенно сексуального текста
  • обнаружение нападок на идентичность пользователей
  • сбор оценок токсичности для последующей модерации диалога

Ограничения

Обучена только на английском языке и может наследовать смещения датасета Civil Comments, включая корреляции отдельных тем и терминов идентичности с токсичностью. Оценивает сообщения по отдельности; анализ токсичности всей беседы требует агрегации результатов приложением.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Toxic Talking Detector

A fine-tuned DistilBERT model for multi-label toxicity classification, exported to ONNX (INT8 quantized) for lightweight deployment.

Model Description

This model is fine-tuned from distilbert-base-uncased on the Jigsaw Unintended Bias in Toxicity Classification dataset. It predicts continuous toxicity scores (0-1) across 7 categories for a given text input.

Labels:

  • toxicity
  • severe_toxicity
  • obscene
  • threat
  • insult
  • identity_attack
  • sexual_explicit

Intended Use

Designed for conversation moderation systems — score individual messages or aggregate scores across a multi-turn conversation to detect escalating toxicity.

Files

FileDescription
model_int8.onnxQuantized ONNX model (~67MB)
vocab.txtTokenizer vocabulary
tokenizer.jsonFast tokenizer config
tokenizer_config.jsonTokenizer settings
special_tokens_map.jsonSpecial token mapping
label_order.jsonOutput label order (maps model output indices to category names)

Training Details

  • Base model: distilbert-base-uncased
  • Dataset: Jigsaw Civil Comments (~319K balanced subsample)
  • Task: Multi-label classification with soft/continuous targets (BCEWithLogitsLoss)
  • Epochs: 2
  • Eval F1 (micro): 0.840
  • Eval F1 (macro): 0.616

How to Use

With ONNX Runtime (lightweight, no PyTorch needed)

from huggingface_hub import hf_hub_download
from transformers import AutoTokenizer
import onnxruntime as ort
import numpy as np
import json

REPO_ID = "bsgcasa/toxic-talking-detector"

model_path = hf_hub_download(repo_id=REPO_ID, filename="model_int8.onnx")
label_order_path = hf_hub_download(repo_id=REPO_ID, filename="label_order.json")
tokenizer = AutoTokenizer.from_pretrained(REPO_ID)

with open(label_order_path) as f:
    LABELS = json.load(f)

session = ort.InferenceSession(model_path)

def predict(text: str) -> dict:
    enc = tokenizer(text, return_tensors="np", padding="max_length", truncation=True, max_length=128)
    ort_inputs = {
        "input_ids": enc["input_ids"].astype(np.int64),
        "attention_mask": enc["attention_mask"].astype(np.int64),
    }
    logits = session.run(["logits"], ort_inputs)[0]
    probs = 1 / (1 + np.exp(-logits))[0]
    return {label: float(p) for label, p in zip(LABELS, probs)}

print(predict("You're completely useless, shut up."))

Limitations

  • Trained on English text only.
  • Scores individual messages; conversation-level aggregation must be handled by the calling application.
  • Inherits any biases present in the Civil Comments dataset (e.g. topic/identity term correlations).

License

Apache 2.0

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · onnxruntime

Нельзя запустить

Модель выложена только в формате ONNX.

Ревизия весов
32f69a5

0 моделей