🔬 Analyse des datasets ML
Vue d'ensemble
BlocMail utilise quatre sources de données pour construire ses patterns de détection spam :
| Source | Patterns générés | Exemples | Licence |
|---|---|---|---|
| Manuels | 13 | Phishing FR, arnaques SNCF... | Propriétaire |
| Kaggle | 6 | SMS spam, Enron corporate | CC BY 4.0 / Public |
| UCI Spambase | 4 | Word/char frequency analysis | CC BY 4.0 |
| HuggingFace | 6 | Emotional manipulation, SpamAssassin | Apache-2.0 / CC BY 4.0 |
| Total | 29+ | — | — |
Dataset 1 — SMS Spam Collection (UCI / Kaggle)
URL : kaggle.com/datasets/uciml/sms-spam-collection-dataset
Licence : CC BY 4.0
Taille : 5 574 messages SMS labellisés (ham/spam)
Statistiques
| Classe | Nombre | % |
|---|---|---|
| Ham (légitime) | 4 827 | 86.6% |
| Spam | 747 | 13.4% |
Caractéristiques des spams SMS
Top mots spam (fréquence > 50 occurrences) :
free,call,txt,mobile,claim,prize,win,text,urgent,stop
Top patterns identifiés :
- Numéros surtaxés (07XXX, 0844...)
- Mots-clés de gain immédiat ("You've won", "claim your prize")
- Appels à l'action urgents ("URGENT", "STOP to opt out")
Patterns générés
| ID | Nom | Score |
|---|---|---|
| KGL-SMS-001 | SMS Prize Scam | 90 |
| KGL-SMS-002 | SMS Urgent Action | 85 |
Dataset 2 — Enron Spam Dataset (Kaggle)
URL : kaggle.com/datasets/wanderfj/enron-spam
Licence : Domaine public / recherche
Taille : 33 716 emails (spam + ham)
Statistiques
| Classe | Nombre |
|---|---|
| Ham (emails Enron légitimes) | ~16 500 |
| Spam | ~17 200 |
Caractéristiques
Corpus issu des emails de la société Enron (scandales financiers 2001). Représentatif du spam d'entreprise des années 2000-2010.
Domaines spam fréquents : @yahoo.com, @hotmail.com usurpés, domaines jetables
Sujets fréquents : investissements, pharmacie en ligne, offres d'emploi frauduleuses
Patterns générés
| ID | Nom | Score |
|---|---|---|
| KGL-ENRON-001 | Corporate Phishing | 60 |
| KGL-ENRON-002 | Investment Scam | 80 |
Dataset 3 — UCI Spambase
URL : archive.ics.uci.edu/ml/datasets/spambase
Licence : CC BY 4.0
Taille : 4 601 emails · 57 attributs · Précision baseline 92.8%
Attributs
Le dataset UCI Spambase est unique : au lieu du texte brut, il fournit des attributs numériques calculés sur chaque email :
Fréquences de mots (48 attributs) : % d'occurrence de chaque mot dans l'email
word_freq_make, word_freq_address, word_freq_all, word_freq_3d,
word_freq_our, word_freq_over, word_freq_remove, word_freq_internet,
word_freq_order, word_freq_mail, word_freq_receive, word_freq_will,
word_freq_people, word_freq_report, word_freq_addresses, word_freq_free,
word_freq_business, word_freq_email, word_freq_you, word_freq_credit,
word_freq_your, word_freq_font, word_freq_000, word_freq_money,
word_freq_hp, word_freq_hpl, word_freq_george, word_freq_650,
word_freq_lab, word_freq_labs, word_freq_telnet, word_freq_857,
word_freq_data, word_freq_415, word_freq_85, word_freq_technology,
word_freq_1999, word_freq_parts, word_freq_pm, word_freq_direct,
word_freq_cs, word_freq_meeting, word_freq_original, word_freq_project,
word_freq_re, word_freq_edu, word_freq_table, word_freq_conference
Fréquences de caractères (6 attributs) :
char_freq_semicolon, char_freq_parenthesis, char_freq_bracket,
char_freq_exclamation, char_freq_dollar, char_freq_hash
Statistiques de majuscules (3 attributs) :
capital_run_length_average, capital_run_length_longest, capital_run_length_total
Feature weights pour les patterns UCI
| Feature | Poids spam | Interprétation |
|---|---|---|
word_freq_free | 0.52 | "free" très corrélé au spam |
word_freq_remove | 0.28 | Lien de désabonnement forcé |
word_freq_your | 0.27 | Personnalisation excessive |
char_freq_! | 0.30 | Exclamations abusives |
char_freq_$ | 0.20 | Symbole monétaire |
capital_run_avg | 0.15 | MAJUSCULES ABUSIVES |
Patterns générés
| ID | Nom | Type | Score |
|---|---|---|---|
| UCI-WORD-001 | High-frequency spam words | word_frequency | 55 |
| UCI-CHAR-001 | Special character patterns | char_frequency | 45 |
| UCI-CAP-001 | Capital letter ratio | capital_frequency | 35 |
| UCI-COMBO-001 | Multi-signal combination | combination | 78 |
Dataset 4 — HuggingFace (4 sources)
SetFit/enron_spam
URL : huggingface.co/datasets/SetFit/enron_spam
Licence : Apache-2.0
Version fine-tunée du corpus Enron pour SetFit (few-shot learning).
talby/spamassassin
URL : huggingface.co/datasets/talby/spamassassin
Licence : Apache-2.0
Dataset issu du corpus SpamAssassin Apache — référence pour les règles anti-spam.
Patterns caractéristiques : arnaque nigériane, HTML spam, headers manipulés.
dair-ai/emotion
URL : huggingface.co/datasets/dair-ai/emotion
Licence : MIT
Utilisé pour identifier les patterns de manipulation émotionnelle dans les spams (peur, urgence, excitation, joie).
sms_spam (HuggingFace)
URL : huggingface.co/datasets/sms_spam
Licence : CC BY 4.0
Corpus SMS spam complémentaire au dataset UCI.
Patterns HuggingFace générés
| ID | Nom | Source | Score |
|---|---|---|---|
| HF-ENRON-001 | Enron corporate spam | SetFit/enron_spam | 55 |
| HF-SA-001 | Nigerian scam (SpamAssassin) | talby/spamassassin | 95 |
| HF-SA-002 | HTML spam | talby/spamassassin | 72 |
| HF-EMOTION-001 | Fear/Urgency patterns | dair-ai/emotion | 68 |
| HF-EMOTION-002 | Joy/Excitement manipulation | dair-ai/emotion | 75 |
| HF-SMS-001 | SMS premium rate scam | sms_spam | 82 |
Performances comparées
| Dataset | Précision (baseline) | Recall | F1 |
|---|---|---|---|
| UCI Spambase | 92.8% | 91.5% | 0.92 |
| SMS Spam Collection | 98.5% | 97.2% | 0.98 |
| Enron Spam | 95.1% | 94.3% | 0.95 |
| Combiné BlocMail | ~96% (estimé) | ~94% | ~0.95 |
Qualité des données
Biais identifiés
| Dataset | Biais | Mitigation |
|---|---|---|
| UCI Spambase | Données 2000-2002 (obsolètes) | Pondération réduite, patterns de fréquence uniquement |
| Enron Spam | Contexte US corporate | Patterns généralisés pour marché FR |
| SMS Spam Collection | Principalement anglais | Patterns transposés en FR |
Enrichissement continu
Les patterns sont enrichis par :
- Signalements communautaires (opt-in utilisateurs)
- Corpus de phishing FR (manuel)
- Partenariats API 33700 et SignalSpam (Q3 2026)