khvatov/ru_toxicity_detector

khvatov
Clasificación de texto

Clasificador basado en Bert (ajustado desde rubert-tiny2) entrenado para detectar comentarios tóxicos en ruso utilizando datasets fusionados de comentarios tóxicos de 2ch.hk, pikabu.ru y ok.ru. El modelo ha sido entrenado con el optimizador Adam, una tasa de aprendizaje de 2e-5 y un tamaño de lote de 32 durante 3 épocas.

Como usar

import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification

PATH = 'khvatov/ru_toxicity_detector'
tokenizer = AutoTokenizer.from_pretrained(PATH)
model = AutoModelForSequenceClassification.from_pretrained(PATH)

# if torch.cuda.is_available():
#     model.cuda()

model.to(torch.device('cpu'))

def get_toxicity_probs(text):
    with torch.no_grad():
        inputs = tokenizer(text, return_tensors='pt', truncation=True, padding=True).to(model.device)
        proba = torch.nn.functional.softmax(model(**inputs).logits, dim=1).cpu().numpy()
    return proba[0]


TEXT = 'Марк был хороший'
print(f'text = {TEXT}, probs={get_toxicity_probs(TEXT)}')
# text = Марк был хороший, probs=[0.9940585  0.00594147]

Funcionalidades

Clasificación de texto
Uso de Transformers
Implementación en PyTorch
Compatible con el formato Safetensors
Optimización con Adam
División de datasets en proporción 80-10-10 para entrenamiento, validación y prueba

Casos de uso

Detección de comentarios tóxicos en plataformas en ruso
Moderación automatizada de contenido en redes sociales en ruso