--- language: ru tags: - toxicity - binary-classification - russian - RoBERTa license: mit --- # Toxicity Classifier for Russian Texts ## Model description This model is a fine-tuned version of **[ai-forever/ru-en-RoSBERTa](https://huggingface.co/ai-forever/ru-en-RoSBERTa)** for binary classification of Russian texts into **toxic** (1) and **non-toxic** (0). It was trained on a balanced dataset of ~74k examples (split 80/10/10) derived from several public sources: - Toxic: ok.ru comments, inappropriate messages, multilingual toxicity data. - Non-toxic: voice assistant commands, intent datasets, QA pairs. Only the classification head was trained; the encoder weights were frozen. ## Metrics (on test set) | Metric | Value | |------------|--------| | Accuracy | 0.9992 | | Precision | 0.9992 | | Recall | 0.9992 | | F1 | 0.9992 | | MCC | 0.9984 | | ROC AUC | 1.0000 | Confusion matrix: [[3713 3] [ 3 3713]] ## How to use ```python from transformers import AutoModelForSequenceClassification, AutoTokenizer import torch model_name = "RooLeX/Homework2-llm-toxicity" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained(model_name) def predict_toxicity(text): inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=64) with torch.no_grad(): outputs = model(**inputs) probs = torch.softmax(outputs.logits, dim=-1) return int(torch.argmax(probs)), probs[0, 1].item() # Пример print(predict_toxicity("Ты идиот!")) # (1, ~0.9998) print(predict_toxicity("Здравствуйте, чем могу помочь?")) # (0, ~0.0000) ``` ## Training details - Base model: ai-forever/ru-en-RoSBERTa - Max sequence length: 64 tokens - Batch size: 64 - Learning rate: 2e-4 - Optimizer: AdamW - Scheduler: CosineAnnealingWarmRestarts - Early stopping with patience=3 on validation loss ## Limitations - The model was trained on a limited set of domains (social media, customer support, QA). Performance may degrade on very different styles. - It works only for Russian language. - May misinterpret sarcasm or cultural references. ## Authors RooLeX ## Contact Hugging Face: RooLeX