CamemBERT Spam Detector - French Developer Communities
Modèle de détection de spam/promotion pour les communautés de développeurs francophones, basé sur CamemBERT.
Performance
| Métrique |
Valeur |
| Accuracy |
99.84% |
| Temps d'entraînement |
~1 minute |
Utilisation
from transformers import CamembertTokenizer, CamembertForSequenceClassification
import torch
tokenizer = CamembertTokenizer.from_pretrained("nellaw/camembert-spam-detector-fr")
model = CamembertForSequenceClassification.from_pretrained("nellaw/camembert-spam-detector-fr")
def predict(text):
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=256, padding=True)
with torch.no_grad():
outputs = model(**inputs)
probs = torch.softmax(outputs.logits, dim=1)
pred = torch.argmax(probs, dim=1).item()
return "Spam" if pred == 1 else "Légitime", probs[0][pred].item()
label, confidence = predict("Comment faire une boucle for en Python ?")
print(f"{label} ({confidence:.1%})")
label, confidence = predict("Gagnez 5000€/mois avec notre méthode !")
print(f"{label} ({confidence:.1%})")
Exemples
| Message |
Prédiction |
Confiance |
| "Comment faire une boucle for en Python ?" |
Légitime |
97.7% |
| "Gagnez 5000€/mois avec notre méthode !" |
Spam |
97.6% |
| "Je ne vends pas ma formation" |
Légitime |
97.5% |
| "Formation à vendre pour 99€ !" |
Spam |
97.4% |
| "Est-ce que c'est une pub ?" |
Légitime |
97.5% |
Points forts
- Comprend les négations ("je ne vends pas" vs "je vends")
- Détecte les questions comme légitimes
- Reconnaît le contexte gratuit vs payant
- Haute confiance (~97%) sur les prédictions
Entraînement
| Paramètre |
Valeur |
| Modèle de base |
camembert-base |
| Dataset |
9 614 exemples (52% légitimes, 48% spam) |
| Batch size |
64 |
| Learning rate |
2e-5 |
| Epochs |
3 (early stopping) |
| Mixed precision |
FP16 |
| GPU |
NVIDIA RTX 5090 |
Labels
0 : Légitime (question technique, discussion, aide)
1 : Spam/Promotion (publicité, arnaque, vente)
Licence
MIT