| --- |
| datasets: |
| - ruSpamModels/russian-spam-detection |
| --- |
| # spam-classifier-ru 🛡️ |
|
|
| Модель `spam-classifier-ru` предназначена для бинарной классификации текстов на русском языке (Спам / Не спам). |
|
|
| Модель представляет собой fine-tuned версию архитектуры `cointegrated/rubert-tiny2`. |
|
|
| ## 📚 Данные для обучения (Training Data) |
| В качестве основы использовалась подвыборка в размере 500 000 строк из открытого датасета [ruSpamModels/russian-spam-detection](https://huggingface.co/datasets/ruSpamModels/russian-spam-detection). |
|
|
| ## 📊 Метрики качества (Metrics) |
| Оценка проводилась на отложенной тестовой выборке с упором на минимизацию ложноположительных срабатываний (False Positives): |
|
|
| * **F1-Score (Spam):** ~0.963 |
| * **Precision (Spam):** ~0.978 |
| * **Recall (Spam):** ~0.949 |
| |
| ## Пример использования |
|
|
| ```python |
| import torch |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification |
| |
| model_name = "super-apple/spam-classifier-ru" |
| |
| tokenizer = AutoTokenizer.from_pretrained(model_name) |
| model = AutoModelForSequenceClassification.from_pretrained(model_name) |
| model.eval() |
| |
| text = "3APA60T0K 6E3 BЛ0ЖEHИЙ 0T 5OOO PY6ЛEЙ B ДEHb!" |
| inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=128) |
| |
| with torch.no_grad(): |
| outputs = model(**inputs) |
| |
| predicted_class = torch.argmax(outputs.logits, dim=-1).item() |
| |
| print("Это спам!" if predicted_class == 1 else "Это нормальный текст.") |
| ``` |