Views
No views yet
"Swallows spam, leaves the essence."
XLM-RoBERTa-Large.
| Metric | Value | Notes |
|---|---|---|
| Accuracy | 89.32% | On a strict, balanced validation set |
| Training Time | ~3 hours | Trained on NVIDIA T4 (Google Colab FREE!) |
| Base Model | XLM-RoBERTa-Large | 550M params |
| Input Text | Language | Verdict | Confidence |
|---|---|---|---|
| "Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability." | EN 🇺🇸 | ✅ Useful | 99.9% |
| "История правления Петра I: краткая биография и реформы" | RU 🇷🇺 | ✅ Useful | 97.4% |
| "Die Relativitätstheorie beschäftigt sich mit der Struktur von Raum und Zeit." | DE 🇩🇪 | ✅ Useful | 99.7% |
| "人工智能是计算机科学的一个分支。" | CN 🇨🇳 | ✅ Useful | 99.6% |
| "BUY VIAGRA!!! BEST CASINO 100% FREE SPINS CLICK HERE" | EN 🇺🇸 | 🗑️ Spam | 99.4% (Spam) |
| "СКАЧАТЬ БЕСПЛАТНО БЕЗ СМС РЕГИСТРАЦИИ КЛЮЧИ АКТИВАЦИИ" | RU 🇷🇺 | 🗑️ Spam | 97.5% (Spam) |
| "ALARGA TU PENE 5 CM EN UNA SEMANA" | ES 🇪🇸 | 🗑️ Spam | 92.3% (Spam) |
1from transformers import AutoTokenizer, AutoModelForSequenceClassification
2import torch.nn.functional as F
3
4# Load from Hugging Face
5model_name = "Nickup-Swallow-v1"
6
7tokenizer = AutoTokenizer.from_pretrained(model_name)
8model = AutoModelForSequenceClassification.from_pretrained(model_name)
9
10def classify(text):
11 inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=256)
12 with torch.no_grad():
13 outputs = model(**inputs)
14 probs = F.softmax(outputs.logits, dim=-1)
15
16 # Label 1 = Useful, Label 0 = Spam
17 spam_prob = probs[0][0].item()
18 useful_prob = probs[0][1].item()
19
20 return useful_prob
21
22# Try it out
23text = "Download free cracked software no virus 2024"
24score = classify(text)
25
26if score < 0.15: # Threshold can be adjusted for higher recall
27 print(f"⛔ Blocked (Confidence: {1-score:.2%})")
28else:
29 print(f"✅ Allowed (Confidence: {score:.2%})")