Vous êtes sur la page 1sur 122

DEPAR

RTEMENT
T D'INFOR
RMATIQU
UE
MEMOIRE

Préssenté par

BARIGOU Baya Naouel

Pour obtenir

LE
E DIPLOME
E DE MAG
GISTER

Spécialité
é Informatiq
que

Optio
on : Autom
matique Info
ormatique

Intitulé :

DÉTEC
CTION DE
E COURR
RIELS IND
DÉSIRABL
LES PAR APPREN
NTISSAGE
E
AUTOM
MATIQUE
E

Soutenu le : /../2012

De membres du jury :
evant les m

Présideent : B Beldjilalii
B. Proffesseur D
Départementt d’Informattique, Univ
versité d’Oraan

Encadrreur : B Atmani
B. MC
CA D
Départementt d’Informattique, Univ
versité d’Oraan

Co-enccadreur : F.
F Barigou MA
AA D
Départementt d’Informattique, Univ
versité d’Oraan

natrice :
Examin S Nait Bah
S. hloul MC
CA D
Départementt d’Informattique, Univ
versité d’Oraan

nateur :
Examin M Abdi
M. MC
CA D
Départementt d’Informattique, Univ
versité d’Oraan
i

Je dédie ce travail de magister à mes parents et


à mon adorable nièce Imène
ii

Remerciements
Tout d’abord, je remercie Monsieur Bouziane Beldjilali, Professeur au département
d’informatique de l’université d’Oran, et chef du laboratoire d’informatique d’Oran «LIO»,
qui m’a fait le grand honneur de présider ce jury. Merci pour vos conseils avisés, vos
remarques constructives, pendant la première année de post-graduation. Qu’il trouve ici
l’expression de ma reconnaissance. J’éprouve un grand respect pour son personnage, ainsi
que pour ses grandes qualités humaines.

Je remercie vivement Docteur Naït Behloul Nacera, Maître de conférences au département


d’informatique à l’université d’Oran et Docteur Abdi Mustapha, maître de conférences au
département d’informatique à l’université d’Oran, d’avoir accepté d’examiner et d’évaluer
ce travail.

Mes remerciements vont ensuite à mes encadreurs


Docteur Atmani Baghdad, Maître de conférences au département d’informatique à
l’université d’Oran, pour avoir accepté d'encadrer ce travail en me faisant bénéficier de ses
précieux conseils. Son suivi constant et attentif, le dynamisme qu'il a su me communiquer
m'ont permis de mener à bien ce travail. Qu'il trouve ici l'expression de ma profonde
gratitude.
Ma sœur Fatiha, Maitre assistante au département d’informatique à l’université d’Oran,
pour l'intérêt qu'elle a porté à ce travail depuis qu'elle m’a introduit dans le monde de la
recherche scientifique et pour avoir suivi ce travail. J'aimerais lui témoigner ici toute ma
reconnaissance pour ses suggestions pertinentes ainsi que pour la confiance permanente
qu'elle m'a accordée.

Je tiens à exprimer mes sincères remerciements à mon beau frère Belalem Ghalem pour son
soutien dans des moments difficiles et ses encouragements tout au long mes études
universitaires.

J’aimerai aussi remercier du fond du cœur mes parents pour leur soutien moral et matériel,
et bien sûr mes frères qui ont toujours porté un intérêt à ce que je faisais.

Enfin, merci à toutes les personnes qui ont contribué de près ou de loin à l’aboutissement
de ce travail.
i

Résumé
Le courrier électronique rend vraiment service aux usagers, c’est un moyen rapide et
économique pour échanger des informations. Cependant, les utilisateurs se retrouvent assez
vite submergés de quantités de messages indésirables appelé aussi spam. Le spam est
rapidement devenu un problème majeur sur Internet. Pour faire face à cette charge
croissante de ce type de courriels, plusieurs techniques de détection ont vu le jour. Dans ce
mémoire, nous nous intéressons aux techniques à base d’apprentissage automatique. Dans
un premier temps, nous proposons une nouvelle approche d’induction symbolique à base de
graphe d’induction et machine cellulaire pour le filtrage de spam nommée SPAMAUT.
Point de vu méthodologique, nous explorons toutes les phases du processus à savoir, le
prétraitement linguistique et la sélection des attributs pour la représentation numérique des
données textuelles, l’apprentissage automatique et supervisé pour la construction d’un
classifieur de détection de spam. Nous examinons, par des expériences sur le corpus
LingSpam, l’impact de la racinisation, la pondération des termes et la sélection des termes
sur la performance de SPAMAUT. Dans un deuxième temps, et pour améliorer les
performances du système SPAMAUT, nous proposons une combinaison parallèle de
plusieurs versions de ce système avec le classifieur Bayésien naïf (NB) que nous nommons
3CA&1NB. La diversité entre ces différents classifieurs est assurée par l’utilisation (a) des
sous-ensembles différents de termes d’apprentissage et (b) des algorithmes d’apprentissage
différents. La combinaison proposée utilise trois SPAMAUT différents, chacun d’eux est
entraîné avec un sous-ensemble de termes différents. Par un vote, Les décisions de ces trois
systèmes sont combinées avec celle du classifieur NB pour classifier un nouveau courriel.
Les expériences indiquent une amélioration de la qualité de prédiction par rapport à
SPAMAUT. Et enfin, dans un troisième temps nous comparons nos meilleurs résultats
obtenus avec SPAMAUT et 3CA&1NB avec ceux publiés dans la littérature.

Mots-clés : catégorisation de textes, représentation vectorielle des données textuelles,


sélection des attributs, apprentissage automatique, apprentissage supervisé, machine
cellulaire, combinaison de classifieurs.
ii

Abstract
Today, email has become a fast and economical way to exchange information. However,
the problem of undesired electronic messages is nowadays a serious issue. To address this
growing burden of such emails, several detection techniques have emerged. In this paper,
we focus on techniques based on machine learning. Firstly, we propose a new symbolic
induction approach based on induction graph and cellular machine for spam filtering that
we called SPAMAUT. Methodological point of view, we explore all the phases of the
process namely, the linguistic preprocessing and attributes selection for textual data
representation, supervised learning to build a classifier for spam detection. We examine by
experiments on the corpus LingSpam, the impact of stemming, term weighting and
attributes selection on the performance of SPAMAUT. In a second step, and to improve
SPAMAUT performance, we propose a parallel combination of several versions of that
system with the Naïve Bayes classifier (NB); we named this combination 3CA&1NB. The
diversity between these classifiers is ensured by the use of (a) different learning terms sub-
sets and (b) different learning algorithms. The proposed combination uses three different
SPAMAUT; each one is trained with a subset of different terms. By voting, the decisions of
these three systems are combined with that of the NB classifier to classify a new email.
Experiments indicate an improvement in the quality prediction versus SPAMAUT. And
finally in a third time we compare our best results obtained with SPAMAUT and
3CA&1NB with those published in the literature.

Keywords: text categorization, space vector representation, attribute selection, machine


learning, supervised learning, cellular machine, classifier combination.
i

Table des matières

Introduction Générale ………… ………………………………………………………….1


Contexte de l’étude ........................................................................................................... 1 
Objectifs de l’étude ........................................................................................................... 2 
Structure du mémoire ........................................................................................................ 4 

1.Une introduction à la Catégorisation de Textes ............................................................. 6 


1.1  Notations ................................................................................................................ 7 
1.2  Catégorisation de textes ......................................................................................... 8 
1.2.1  Définition ........................................................................................................... 9 
1.2.2  Processus de catégorisation .............................................................................. 10 
1.3  Conclusion ........................................................................................................... 12 

2 Représentation de Textes................................................................................................ 13 


2.1  Représentation des données textuelles ................................................................. 14 
2.1.1  Sac de mots ...................................................................................................... 14 
2.1.2  Groupe de mots ................................................................................................ 15 
2.1.3  Racine ou lemme .............................................................................................. 16 
2.1.4  N-grammes de caractères ................................................................................. 16 
2.2  Pondération des termes ........................................................................................ 18 
2.2.1  Pondération booléenne ..................................................................................... 18 
2.2.2  Pondération fréquentielle ................................................................................. 19 
2.2.3  Pondération TFIDF: ......................................................................................... 20 
2.3  Réduction des dimensions .................................................................................... 21 
2.3.1  Sélection des termes ......................................................................................... 22 
2.4  Conclusion ........................................................................................................... 24 
3 Apprentissage automatique supervisé ........................................................................... 25 
ii
3.1  Techniques d’apprentissage automatique ............................................................ 25 
3.1.1  Apprentissage non supervisé ............................................................................ 26 
3.1.2  Apprentissage supervisé :................................................................................. 27 
3.2  Algorithmes d’apprentissage supervisé ............................................................... 28 
3.2.1  L’algorithme de Rocchio.................................................................................. 29 
3.2.2  L’algorithme Naïve Bayes ............................................................................... 30 
3.2.3  Les K voisins les plus proches ......................................................................... 31 
3.2.4  Les machines à support vectoriels.................................................................... 32 
3.2.5  Les arbres de décision ...................................................................................... 34 
3.2.6  Les règles de décision ...................................................................................... 35 
3.2.7  Les réseaux de neurones................................................................................... 35 
3.3  Remarques sur les algorithmes d’apprentissages supervisé ................................. 37 
3.4  Combinaison de classifieurs................................................................................. 39 
3.5  Combinaison parallèle.......................................................................................... 40 
3.5.1  Fusion de classifieurs ....................................................................................... 41 
3.6  Conclusion ........................................................................................................... 43 

4 Filtrage de Spam ............................................................................................................. 44 


4.1  Définition du spam ............................................................................................... 46 
4.2  Impact du Spam sur les utilisateurs et les fournisseurs ........................................ 48 
4.3  Techniques de lutte contre le spam ...................................................................... 49 
4.3.1  Filtrage d’enveloppe......................................................................................... 49 
4.3.2  Filtrage du contenu........................................................................................... 50 
4.4  Travaux publiés sur le filtrage de spam ............................................................... 51 
4.4.1  Utilisation de classifieur individuel ................................................................. 52 
4.4.2  Combinaison de classifieurs............................................................................. 55 
4.5  Conclusion ........................................................................................................... 56 

5 Détection de spam avec la machine Cellulaire CASI ................................................... 57 


5.1  Les Automates cellulaires .................................................................................... 58 
iii
5.1.1  Définition ......................................................................................................... 58 
5.1.2  Présentation de la machine CASI..................................................................... 59 
5.2  Quelques travaux sur la machine CASI ............................................................... 61 
5.3  Architecture du système SPAMAUT ................................................................... 62 
5.3.1  Vectorisation .................................................................................................... 63 
5.3.2  Apprentissage par induction symbolique ......................................................... 68 
5.3.3  Classification .................................................................................................... 72 
5.4  Synthèse sur le système SPAMAUT ................................................................... 74 
5.5  Combinaison de classifieurs : 3CA&1NB ........................................................... 75 
5.5.1  Architecture du système de combinaison ......................................................... 76 
5.6  Conclusion ........................................................................................................... 77 

6 Étude expérimentale ....................................................................................................... 78 


6.1  Corpus et mesures d’évaluation ........................................................................... 78 
6.2  Résultats expérimentaux du système SPAMAUT ............................................... 81 
6.2.1  Impact du traitement linguistique..................................................................... 81 
6.2.2  Impact de la fonction de sélection .................................................................... 83 
6.2.3  Impact de la pondération des termes ................................................................ 84 
6.2.4  Comparaison de SPAMAUT avec les algorithmes de WEKA ........................ 84 
6.2.5  Comparaison de SPAMAUT avec d’autres travaux similaires ........................ 88 
6.3  Résultats expérimentaux du système 3CA&1NB ................................................ 90 
6.3.1  Comparaison avec les algorithmes de WEKA ................................................. 92 
6.3.2  Comparaison avec des travaux publiés ............................................................ 94 
6.4  Discussion et conclusion ...................................................................................... 95 

Conclusion générale et perspectives ................................................................................. 97 

Bibliographie ...................................................................................................................... 99 


iv

Liste des tableaux


Tableau 2.1-Exemple d'une représentation vectorielle booléenne ....................................... 19 
Tableau 2.2-Exemple d'une représentation vectorielle fréquentielle ................................... 19 
Tableau 2.3-Exemple d'une représentation TFIDF .............................................................. 20 
Tableau 2.4-Table de contingence pour un terme t et une classe c ...................................... 24 

Tableau 4.1-Avantages du courrier électronique. ................................................................ 45 

Tableau 5.1- Règles générées à partir du graphe d'induction de la Figure 5.6. ................... 70 
Tableau 5.2-Configuration initiale de l'automate : contenu de CelFact et CelRule ............. 70 
Tableau 5.3- Configuration initiale : état des matrices d'incidence entrée/sortie ................ 70 
Tableau 5.4-Modèle cellulaire correspondant au graphe d’induction de la Figure 5.6........ 71 

Tableau 6.1-Paramètres du système SPAMAUT ................................................................. 81 


Tableau 6.2-Comparaison de SPAMAUT avec les meilleurs résultats publiés et utilisant le
corpus LingSpam. ........................................................................................................ 89 
Tableau 6.3-les membres de 3CA&1NB et leurs configurations......................................... 90 
Tableau 6.4-Performance de classification de 3CA&1NB comparé avec d’autres travaux
publiés. ......................................................................................................................... 94 
v

Liste des figures


Figure 1.1-Un exemple d'un système de routage de courriels. .............................................. 9 
Figure 1.2-Processus de catégorisation de textes. ................................................................ 11 

Figure 2.1-Représentation vectorielle des données textuelles. ............................................ 14 

Figure 3.1-Principe de l'apprentissage supervisé. ................................................................ 27 


Figure 3.2-Filtrage de spam à base d'apprentissage supervisé. ............................................ 28 
Figure 3.3-K-ppv dans un espace à deux dimensions. ......................................................... 32 
Figure 3.4-Exemple de deux classes linéairement séparables et non linéairement séparables.
...................................................................................................................................... 33 
Figure 3.5-Structure typique d'un perceptron multi-couches. .............................................. 36 
Figure 3.6-Méthodes d'apprentissage sur l'axe de compréhensibilité du modèle construit. 38 
Figure 3.7-Différentes combinaisons parallèles des classifieurs. ........................................ 41 

Figure 4.1-Répartition des spam par contenu. (Gastellier-Prevost, 2009). .......................... 47 

Figure 5.1-Les différents composants de CASI ................................................................... 60 


Figure 5.2-Architecture de SPAMAUT ............................................................................... 63 
Figure 5.3-Diagramme de flux de l'étape vectorisation ....................................................... 64 
Figure 5.4-Processus de sélection des termes ...................................................................... 65 
Figure 5.5-Diagramme d’activités du processus de représentation des données textuelles . 67 
Figure 5.6 Extrait d'un graphe d'induction. .......................................................................... 69 
Figure 5.7-Processus de classification d’un nouvel e-mail .................................................. 73 

Figure 6.1-Évaluation de SPAMAUT. ................................................................................. 80 


Figure 6.2-Impact de la racinisation et élimination des mots vides sur la précision. ......... 82 
Figure 6.3-Impact de la racinisation et élimination de mots vides sur le rappel .................. 82 
Figure 6.4-Impact de la sélection des termes. ...................................................................... 83 
vi
Figure 6.5-Impact de la pondération des termes. ................................................................. 84 
Figure 6.6- Comparaison de la précision de SPAMAUT avec celles des algorithmes de
WEKA .......................................................................................................................... 86 
Figure 6.7-Comparaison du rappel de SPAMAUT avec ceux des algorithmes de WEKA. 86 
Figure 6.8-Comparaison de la F1-mesure de SPAMAUT avec celles des algorithmes de
WEKA. ......................................................................................................................... 87 
Figure 6.9-Comparaison de l'éxactitude de SPAMAUT avec celles des algorithmes de
WEKA. ......................................................................................................................... 87 
Figure 6.10-Performance de classification des différents classifieurs ................................. 91 
Figure 6.11-Taux d'erreur obtenus par les différents classifieurs ........................................ 91 
Figure 6.12-Comparaison de la précision et du rappel de 3CA&1NB avec ceux des
algorithmes de combinaison de WEKA. ...................................................................... 93 
Figure 6.13-Comparaison de F1mesure et l'exactitude de 3CA&1NB avec ceux des
algorithmes de combinaison de WEKA. ...................................................................... 93 
i

GLOSSAIRE
AA Apprentissage Automatique
TC Text Categorization, en français catégorisation de
textes (CT).
SMTP Le protocole SMTP (Simple Mail Transfer Protocol)
est le protocole standard permettant de transférer le
courrier entre deux serveurs de messagerie - celui de
l'expéditeur et celui du destinataire.
DNS le système de noms de domaine (Domain Name
System) est un service permettant d'établir une
correspondance entre une adresse IP et un nom de
domaine et, plus généralement, de trouver une
information à partir d'un nom de domaine
ISP Internet Service Provider est un fournisseur d’accès
à Internet (FAI). C’est un organisme (généralement
une entreprise mais parfois aussi une association)
offrant une connexion au réseau informatique Internet.
IP Internet Protocol (abrégé en IP) est une famille de
protocoles de communication de réseau informatique
conçus pour et utilisés par Interne.
URL les adresses web sont appelées Uniform Resource
Locator (URL). Elles indiquent « comment » (par
quel chemin sur le réseau) accéder à une ressource.
CASI Cellular Automata for System Induction : il s’agit
d’un automate cellulaire à base d’induction
Introduction Générale

Contexte de l’étude

Le courrier électronique (ou courriel) est aujourd'hui l'une des applications les plus
utilisées sur internet et sur les réseaux d’entreprises. Utilisé pour des applications très
variées (personnelles, professionnelles, associatives, etc.) celui-ci tend à prendre une place
de plus en plus importante par rapport aux moyens de communication traditionnels. Outre
son faible coût, la messagerie électronique a l'avantage d'optimiser la communication et la
diffusion d'informations. Il est impossible de donner une liste exhaustive de ces avantages,
mais il est évident que le courrier électronique:

- permet une économie de temps et de moyens,

- c’est un moyen de communication rapide et relativement moins cher (comparé


au courrier par avion ou au fax),

- il permet d'envoyer un message à plusieurs destinataires simultanément,

- et échanger des messages à n'importe quelle heure, en dépit des différences des
fuseaux horaires,

- et enfin, il permet de transmettre des documents de données audio et vidéo, etc.

Cependant, ces dernières années, l’utilisation des courriers électroniques a conduit à


une nouvelle escalade de problèmes causés par le volume des messages non sollicités
connus sous le nom de spam. Le problème des courriers électroniques non désirés est
aujourd'hui un problème sérieux, L’agence européenne ENISA1 (Agence Européenne de la
Sécurité des Réseaux et de l’Information) vient de sortir une nouvelle étude selon laquelle

1
http://www.enisa.europa.eu/act/res/other-areas/anti-spam-measures/studies/spam-slides: consulté le 16/01/2012
Introduction Générale 2

95,6% des messages électroniques seraient identifiés comme étant des spam par les chaines
de filtrages des fournisseurs d’adresses email. Les conséquences du spam aussi bien sur le
plan individuel que dans les entreprises sont significatives; elles peuvent être
catastrophiques pour les entreprises qui ne sont pas préparées pour faire face à ces menaces.
Le spam n'est plus simplement ennuyeux ; il est coûteux pour les entreprises non seulement
financièrement, mais également en termes de temps de traitement, d'utilisation de bande
passante, de gestion et de consommation de ressources.
Pour faire face à cette charge croissante de spam, de nombreuses solutions ont été
proposées (Sanz, et al., 2008). Certaines solutions sont basées sur l’en-tête du courriel et
utilisent les listes noires, les listes blanches, la vérification de DNS pour détecter le spam.
D’autres solutions comme le filtrage à base d’apprentissage automatique, se basent sur le
contenu textuel du courriel (Cormack, et al., 2007b) (Guzella, et al., 2009). Dans cette
étude, nous nous intéressons à l’application de l’apprentissage supervisé (AS) pour la
détection de spam. Les solutions existantes à base d’AS permettent déjà d'atteindre une très
grande exactitude. Cependant, les quantités énormes de spam diffusées aujourd'hui nous
encouragent à améliorer encore ces solutions ou proposer de nouvelles solutions pour
atteindre une meilleure qualité de détection.

Objectifs de l’étude
Notre objectif, dans ce mémoire, est de proposer une nouvelle approche à base
d’apprentissage supervisé dans le domaine de filtrage de spam (Barigou, et al., 2011a). Il
s’agit de la machine cellulaire CASI issue des travaux de (Atmani, et al., 2007). Nous
désirons aussi situer cette nouvelle approche par rapport à d’autres travaux ayant contribué
dans le domaine de filtrage de spam (Barigou, et al., 2011b). En effet, nos préoccupations
de départ sont :
- peut-on améliorer encore les systèmes de détection de spam?

- quelles sont les différentes solutions actuellement utilisées et qui donnent les
meilleurs résultats ?
Introduction Générale 3

- l’approche que nous proposons peut-elle être considérée comme une solution au
problème de filtrage de spam ?

Pour répondre à toutes ces questions nous étudions, dans un premier temps, le
système que nous avons nommé SPAMAUT « SPAM detection with cellular AUTmata » et
qui intègre la machine cellulaire CASI, pour le filtrage de spam (Barigou, et al., 2011c). Ce
problème de filtrage est abordé dans ce travail comme un problème de catégorisation de
textes ainsi point de vu méthodologique, nous explorons toutes les phases du processus de
catégorisation de textes à savoir, le prétraitement linguistique (segmentation, élimination
des mots vides et analyse flexionnelle) et la sélection des attributs pour la représentation
numérique des données textuelles, l’apprentissage supervisé pour la construction d’un
classifieur de détection de spam. Et enfin l’évaluation où nous examinons, par des
expériences sur le corpus LingSpam, l’impact de la racinisation, la pondération des termes
et la sélection des termes sur la performance de SPAMAUT. Cette étape d’évaluation va
nous permettre d’analyser de plus près les points forts et faibles de ce système et
d’envisager les solutions pour améliorer cette première version du système de détection de
spam à base de machine cellulaire.
Dans un deuxième temps, et pour améliorer les performances du système
SPAMAUT, nous proposons une combinaison parallèle de plusieurs versions de ce système
avec le classifieur Bayésien naïf que nous nommons 3CA&1NB « three Cellular Automata
combined with one Naive Bayes » (Barigou, et al., 2012a), (Barigou, et al., 2012b).
Les recherches théoriques indiquent que la combinaison de classifieurs qui
prennent les mêmes décisions n’est pas intéressante (Dietrich, 2000), (Valentini, et al.,
2002). La combinaison est efficace seulement s’il y a un désaccord entre ces classifieurs.
Par conséquent, les méthodes pour créer des ensembles de classifieurs se concentrent sur la
production de classifieurs de base diversifiés. Cette diversité peut être assurée par plusieurs
manières (ensembles d’apprentissage différents, ensemble d’attributs d’apprentissage
différents ou classifieurs différents).
La diversité dans 3CA&1NB est assurée par l’utilisation
- (a) des sous-ensembles de termes d’apprentissage différents et
Introduction Générale 4

- (b) deux algorithmes d’apprentissage différents à savoir SPAMAUT à base


de graphe d’induction et Naïf Bayes.
La combinaison proposée utilise trois SPAMAUT différents, chacun d’eux est
entraîné avec un sous-ensemble de termes différents. Les décisions de ces trois systèmes
sont combinées par un vote, avec celle du classifieur NB pour classifier un nouveau
courriel. Les expériences indiquent une amélioration de la qualité de prédiction par rapport
à SPAMAUT.

Et enfin, dans un troisième temps, nous comparons nos meilleurs résultats obtenus
avec SPAMAUT et 3CA&1NB avec ceux publiés dans la littérature. Les comparaisons
permettent d’apprécier la qualité de classification de SPAMAUT et 3CA&1NB (Barigou, et
al., 2012-c).

Structure du mémoire

Nous poursuivons cette introduction générale avec les chapitres suivants :

Chapitre 1 : puisque le filtrage de spam est considéré comme une tâche de la


catégorisation de textes (CT), nous présentons brièvement dans ce chapitre, la notion de
catégorisation de textes, sa définition mathématique, ses applications ainsi que les
composants d’un processus de CT.

Chapitre 2 : les données que nous manipulons dans cette étude sont des données
textuelles (le contenu des courriels), mais les algorithmes d’apprentissage ne sont pas
capables de traiter directement ces textes. Ainsi une étape de représentation numérique est
nécessaire. Dans ce chapitre nous allons décrire toutes les étapes permettant de construire
une représentation qui soit exploitable par un algorithme d’apprentissage.

Chapitre 3 : nous consacrons ce chapitre à l’étude de l’apprentissage automatique


et tout particulièrement l’apprentissage supervisé. Nous développons les différents
algorithmes permettant de construire des classifieurs dans le domaine de catégorisation de
textes. Nous poursuivons ce chapitre par une comparaison de ces algorithmes avant
Introduction Générale 5

d’introduire la combinaison de classifieurs. Nous présentons les motivations de la


combinaison ainsi qu’une taxonomie de la combinaison parallèle.

Chapitre 4 : nous introduisons le phénomène du spam ses objectifs et ses impacts.


Nous poursuivons ce chapitre avec une étude des principaux travaux ayant contribué dans
le filtrage de spam par apprentissage supervisé.

Chapitre 5 : ce chapitre est dédié à la description détaillée de notre système de


détection de spam. Tout au long de ce chapitre les différentes étapes seront illustrées par
des schémas et des algorithmes. Nous étudions en première partie, une nouvelle approche
de détection de spam à base d’induction symbolique par automate cellulaire et que nous
avons baptisé « SPAMAUT ». Et en deuxième partie de ce chapitre nous étudions un
système de combinaison de classifieurs que nous avons baptisé 3AC&1NB pour la
détection de spam afin d’améliorer les performances du système SPAMAUT.

Chapitre 6 : Nous trouvons une présentation du corpus que nous avons utilisé,
ainsi que les différentes mesures d’évaluation appliquées pour l’évaluation des
performances de nos systèmes de détection de spam, SPAMAUT et 3AC&1NB.

Nous présentons l’étude expérimentale menée avec ce corpus où nous étudions


l’impact de plusieurs paramètres comme le traitement linguistique, la pondération et la
sélection sur la performance du système proposé. Nous analysons aussi la combinaison
proposée et nous la comparons avec d’autres travaux publiés dans la littérature.

Tous les résultats expérimentaux réalisés avec SPAMAUT et 3AC&1BN, sont


présentés dans ce chapitre avec des figures illustratives, afin de faciliter la
compréhension et la comparaison de ces résultats avec d’autres méthodes de filtrage.

Conclusion : nous terminons ce mémoire par une synthèse du travail effectué dans
ce mémoire de magister et les différentes perspectives que nous pouvons envisager pour les
travaux futurs.
1
Une introduction à la
Catégorisation de Textes

Le problème de filtrage des courriels indésirables est abordé dans ce mémoire


comme un problème de catégorisation de textes à deux catégories : la catégorie spam pour
les courriels indésirables, et la catégorie légitime pour les autres courriels légitimes.

Il faut donc disposer d'un ensemble d'exemples pour chaque catégorie,


préalablement étiquetés. Et grâce à ces deux ensembles de courriels, il est possible de
construire un classifieur avec un algorithme d'apprentissage supervisé. Si ce dernier est
correctement conçu, il sera capable de prédire pour chaque nouveau courriel sa propre
catégorie.

Jusqu'aux années 1980, l'approche dominante en CT était celle de l'ingénierie des


connaissances. Il s'agissait de modéliser, sous forme de règles, les connaissances d'un
expert sur les règles de classification des documents. Ces règles étaient utilisées par le
système pour déduire la classe d'un nouveau document. Un exemple de système basé sur
cette approche est le système Construe (Haykin, 1999). Les limites de ce type d'approche
Une Introduction à la Catégorisation de textes 7

sont bien connues: elle est très coûteuse en temps et en ressources humaines, elle est aussi
difficilement adaptable à un autre domaine car il faut tout réécrire.

Sur le plan théorique, l'approche de l'ingénierie des connaissances présente plus de


difficultés. En effet, il est plus difficile de caractériser un concept en écrivant des règles qui
le décrivent qu'en sélectionnant ces instances (approche par apprentissage). L'approche de
l'ingénierie des connaissances fut progressivement abandonnée vers les années 1990 en
faveur de l'approche par apprentissage automatique (AA).

Comme l'explique Sebastiani (Sebastiani, 2002) la recherche en catégorisation de


textes a été encouragée par l'entrée, ces dernières années, de la communauté d'apprentissage
automatique dans ce domaine. En effet, la tâche de la CT s'inscrit dans un processus
d'automatisation d'une tâche récemment effectuée manuellement. C'est typiquement le cas
où un expert a déjà élaboré les catégories, a indexé et classé quelques documents. Le besoin
d'automatiser cette tâche vient avec la surabondance des textes entrants. Une deuxième
raison qui explique l'entrée de la communauté d'apprentissage automatique est la nécessité
de confronter leurs algorithmes à des données du monde réel, ce qui permet, en cas de
succès, de proposer des solutions industrielles.

Dans ce chapitre introductif, nous présentons le concept de la catégorisation de


textes, ses applications et rappelons brièvement le processus de la CT.

1.1 Notations
Nous définissons les termes suivants :

- Une collection D est un ensemble de n documents :

D = {d , d , d n} ; D = n; n ∈ N ;
1 2

- Un ensemble T de termes (appelés aussi mots-clés ou descripteurs) qui


représente le vocabulaire de la collection D
Une Introduction à la Catégorisation de textes 8

T = {t , t , , tP } ; T = p; p ∈ N
1 2

- Un ensemble C de catégories :

C = {c , c , , cm } ; C = m; m ∈ N
1 2

1.2 Catégorisation de textes


La tâche de catégorisation de textes (appelée aussi classification de textes) est une
tâche ancienne de la recherche d’information (Manning, et al., 1999) qui est apparue au
début des années 60 mais qui s’est largement développée durant les 15 dernières années.
Elle consiste à attribuer à un document une ou plusieurs catégories (ou classes) parmi un
ensemble prédéfini.

Cette problématique a dernièrement trouvé de nouvelles applications dans des domaines


tels que le filtrage de spam, le routage des courriels (voir Figure 1.1), la veille
technologique, l’analyse des opinions, la détection des intrusions, etc.

Dans cette section, nous nous intéressons tout d’abord à la définition de cette tâche,
puis nous décrivons brièvement le processus d’un système de catégorisation de textes.
Une Introduction à la Catégorisation de textes 9

Boîte de
réception

Mail urgent

Nouvel
email
? Mail du
directeur général

Mail à propos de
l’évolution du
marché

Mail sur les


concurrents

Mail personnel

Figure 1.1-Un exemple d'un système de routage de courriels.

Le système de la Figure 1.1 organise des emails dans des boîtes aux lettres qui
correspondent chacune à une classe du problème de classification (Denoyer, 2004).

1.2.1 Définition

La catégorisation de texte consiste à chercher une liaison fonctionnelle entre un


ensemble de textes et un ensemble de catégories (étiquettes ou classes). Cette liaison
fonctionnelle que l'on appelle aussi modèle de prédiction est considérée par un
apprentissage automatique. Pour ce faire, il est nécessaire de disposer d'un ensemble de
textes préalablement étiquetés, appelé ensemble d'apprentissage, à partir duquel nous
estimons les paramètres du modèle de prédiction le plus performant possible; et qui produit
le moins d'erreur de prédiction (Sebastiani, 2002).

Formellement, la catégorisation de textes consiste à associer une valeur booléenne à


chaque paire: ( d j , ci ) ∈ D ×C . La valeur « vraie » (V) est alors associée au couple
Une Introduction à la Catégorisation de textes 10

( d j , ci ) si le texte d j appartient à la classe ci tandis que la valeur « faux » (F) lui sera

associée dans le cas contraire.

Le but de la catégorisation est de construire un modèle (appelé aussi classifieur voir


§3.2) Ω′ : D × C → {V, F } qui associe une ou plusieurs étiquettes (catégories) à un
document d j tel que la décision donnée par cette procédure coïncide le plus possible avec

la vrai fonction Φ : D × C → {V, F } , qui retourne pour chaque vecteur d j une valeur ci .

Nous pouvons distinguer trois types de catégorisation de textes

• Catégorisation binaire : ce type de catégorisation correspond au filtrage, elle


permet, par exemple, de répondre aux questions suivantes : « le document est
pertinent ou non? », « le courriel est un spam ou non »?

• Catégorisation multi catégories : c’est le cas le plus général de la


catégorisation à n classes. Le système doit affecter 0, 1 ou plusieurs catégories à un
même document. Ce type de catégorisation correspond par exemple au problème
d’affectation automatique des codes CIM aux comptes rendus médicaux.

• Catégorisation multi catégories disjointes : c’est une catégorisation à n


classes mais le document doit être affecté à une et une seule catégorie. On trouve ce
type de catégorisation, par exemple, dans le routage de courriels.

Dans cette étude et dans le contexte de filtrage de spam nous nous intéressons plus
particulièrement à la catégorisation binaire.

1.2.2 Processus de catégorisation

D’après Sahami et al. (1998) la construction d’un système de catégorisation, repose


sur trois principales étapes : la représentation de textes, l’apprentissage par l’enchaînement
d’un algorithme de catégorisation (élaboration d’un modèle de prédiction) et enfin,
l’évaluation en fonction du modèle généré (Sahami, et al., 1998).
Une Introduction à la Catégorisation de textes 11

Pour commencer la mise en place d'un processus de catégorisation de textes, il est


important de disposer d'un corpus, préalablement étiqueté manuellement. Ce corpus sera
divisé en deux catégories: un corpus d'apprentissage, et un autre de test. On peut distinguer
trois phases dans le processus de catégorisation de textes (voir Figure 1.2) : l'indexation des
documents (voir chapitre 2), la construction du classifieur (chapitre 3) et enfin l'évaluation
du classifieur qu’on détaillera avec nos expérimentation dans le chapitre 6.

Documents
Représentation Modèle
Étiquetés
Vectorielle

Indexation Construction du Validation du


classifieur classifieur

Figure 1.2-Processus de catégorisation de textes.

L'indexation des documents (textes), qui a pour objectif la production d’une


représentation exploitable par les algorithmes d’apprentissage, comprend le choix des
termes pour la représentation des textes (mot, racine, lemme, …), la pondération et la
réduction des termes.

• La représentation traduit les documents dans un format spécifique, car il doit


être à la fois représentatif de son contenu et manipulable par les algorithmes de
classification.
• La pondération consiste à calculer pour chaque terme retenu son poids dans
chaque document.
• La réduction consiste à extraire que les termes qui sont pertinents pour la
catégorisation. Cette sélection de caractéristiques est censée aussi réduire la
complexité des algorithmes de classification.
La seconde étape du processus de catégorisation consiste à adapter un algorithme de
classification au problème abordé. Depuis les années 1990, le problème est abordé avec
Une Introduction à la Catégorisation de textes 12

l'application d'apprentissage automatique. Dans cette étape, on vise à construire des


modèles ou classifieurs qui vont apprendre par eux mêmes à prédire la classe des
documents.

Après cette phase, le classifieur peut procéder à la classification. Et enfin, on


applique les mesures de performances pour évaluer la qualité de prédiction du classifieur.

1.3 Conclusion
Dans ce chapitre, nous avons défini le concept de catégorisation de textes et nous
avons introduit les notions nécessaires à la compréhension des deux chapitres qui suivent :
la représentation des textes (chapitre 2) et l’apprentissage supervisé (chapitre 3). La partie
évaluation sera abordée dans l’étude expérimentale de notre système de détection de spam
(chapitre 6).
2
Représentation de Textes

La représentation de textes est la phase la plus importante dans le processus de


catégorisation de textes par ce que les algorithmes d’apprentissage ne sont pas capables de
traiter directement les textes, plus précisément les données non-structurées comme les
images, les sons, les vidéos. C’est pour cette raison, qu’on doit opter pour une façon
efficace de représenter les instances à traiter (les textes).

La représentation la plus simple d'un texte est introduite dans le modèle vectoriel,
qui porte le nom de «Sac de mots» ou «bag of words» (Salton, et al., 1975). L'idée est de
transformer le ou les textes en vecteurs où chaque composante représente le poids d’un
terme2.

On transforme un texte d i = {t , t , , t p } en un vecteur di = ( wi1 , wi 2 , wip ) . Le


1 2

poids wij correspond à la contribution du terme t j à la description du texte di . Il faut

signaler que la représentation par vecteur peut entraîner une perte d'information,
notamment celle relative à la position des mots dans la phrase.

2
Le terme peut être le mot tel qu’il apparaît dans le texte, ou bien sa forme canonique (lemme), ou bien sa
forme racine, ou autres représentations (n-gram, concept, ..)
Représentation de Textes 14

t1 t2 … tj … tp
d1 Termes d’index
d2
d3
….
wij
di
….
dn Poids du terme tj dans le
document di
Documents ∈ D

Figure 2.1-Représentation vectorielle des données textuelles.

Come illustré dans la Figure 2.1, l’ensemble des textes est transformé en un
ensemble de vecteurs, ou un tableau croisé (individus×variables) où les individus sont les
lignes du tableau et ils représentent les documents, et les variables sont les colonnes de ce
tableau et représentent les termes (ou mot d’index) qui sont extraits des documents
d’apprentissage pendant la phase d’indexation. Chaque cellule dans le tableau contient le
poids du terme dans un document donné (§.2.4).

Pour représenter les documents textuels, plusieurs méthodes sont utilisées, ci-après
nous présentons quelques unes :

- Sac de mots

- Groupe de mots

- Racine ou lemme

- Ngramme de caractère

2.1 Représentation des données textuelles

2.1.1 Sac de mots


Dans cette représentation, les termes sont les mots qui constituent un texte. Dans les
langues comme le français ou l'anglais, les mots sont séparés par des espaces ou des signes
de ponctuations; ces derniers, tout comme les chiffres, sont supprimés de la représentation.
Représentation de Textes 15

Les composantes des vecteurs peuvent être une fonction de l'occurrence des mots
dans le texte. Cette représentation exclue toute analyse grammaticale et toute notion de
distance entre les mots, et c'est pourquoi elle est appelée « sac de mots » (Harish, et al.,
2010). Avec cette approche, les documents sont représentés par des vecteurs de dimension
égale à la taille du vocabulaire, qui est en général assez grande. En effet, même des
collections de documents de taille moyenne peuvent contenir de nombreux mots différents,
et des vocabulaires de plusieurs dizaines de milliers de mots sont désormais communs. Or
la grande dimension de ces données rend la plupart des algorithmes de classification
difficiles à utiliser. A cette difficulté algorithmique vient s’ajouter le fait que les
représentations des données textuelles sont typiquement creuses (Dhillon, et al., 2001).

2.1.2 Groupe de mots

Certains auteurs proposent d'utiliser les groupes de mots comme unité de


représentation (Fuhr, et al., 1991), (Tzeras, et al., 1993). Les groupes de mots sont plus
informatifs que les mots simples, car ils ont l'avantage de conserver l'information relative à
la position du mot dans le groupe de mots (Johannes, et al., 1998), (Fernanda, et al., 2000).
Par exemple «recherche d’information», «world wide web», ont un degré plus petit
d'ambiguïté que les mots constitutifs.

Normalement, une telle représentation doit décrocher des résultats plus performants
que la précédente (sac de mot), mais Lewis (Lewis, 1991), (Lewis, 1992) a constaté que
cette représentation n’a pas pu améliorer son système de catégorisation. Il signale que
beaucoup d'expériences ne sont pas convaincantes car, il explique que, si les qualités
sémantiques sont conservées, les qualités statistiques sont largement dégradées et le grand
nombre de combinaisons possibles entraîne des fréquences faibles et trop aléatoires.
Représentation de Textes 16

Les auteurs dans (Fernanda, et al., 2000) proposent d'utiliser les groupes de mots
statistiques3 comme unités de représentation en opposition aux groupes de mots
grammaticaux. Les résultats étaient meilleurs.

2.1.3 Racine ou lemme

Dans le modèle de la représentation en sac de mots, chaque flexion du mot est


considérée comme un terme différent et donc une dimension de plus, ainsi que les
différentes formes d'un verbe qui constitue autant de mots. Par exemple : enseigner,
enseignement, enseignant, enseignée, enseignés, enseignera, etc. Ces mots sont considérés
comme des termes différents, alors qu'il s'agit de la même racine enseigne. Pour la
recherche des racines lexicales, il existe plusieurs algorithmes, un des plus connus pour la
langue anglaise est l'algorithme de Porter (Porter, 1980).

La lemmatisation consiste à utiliser l'analyse grammaticale afin de remplacer les


verbes par leur forme infinitive et les noms par leur forme singulière.
La lemmatisation est donc plus compliquée à mettre en œuvre que la recherche de
racines, puisqu'elle nécessite une analyse grammaticale des textes. Un algorithme efficace,
nommé TreeTagger4 (Schmid, 1994) a été développé pour les langues anglaise, française,
allemande et italienne. Cet algorithme utilise les arbres de décision pour effectuer l'analyse
grammaticale, avec des fichiers de paramètres spécifiques à chaque langue.

2.1.4 N-grammes de caractères

Un n-gramme est une séquence de n caractères, c'est donc une chaîne de n caractères
consécutifs. La notion de n-grammes a été introduite par Shannon en 1948; il s'intéressait à
la prédiction d'apparition de certains caractères en fonction des autres caractères (Shannon,

3
Un groupe de mots statistique est un ensemble de mots contigus pas nécessairement ordonnés qui
apparaissent ensemble mais qui ne respectent pas forcément les règles grammaticales.
4
http://www.ims.uni-stuttgart.de/projekte/corplex/TreeTagger/
Représentation de Textes 17

1948). Depuis cette date, les n-grammes sont utilisés dans plusieurs domaines comme
l'identification de la parole, la recherche documentaire, l’identification de la langue etc.
(Jalam, et al., 2001). Dans les recherches récentes, elle est utilisée pour l’acquisition et
l’extraction des connaissances dans les corpus. De nombreux travaux (Rahmoun, et al.,
2007), (Fürnkranz, 1998) utilisent les n-grammes de caractères comme méthode de
représentation de documents d’un corpus pour la catégorisation de textes.

Le profil n-grammes d'après (Miller, et al., 1999) d'un document est la liste des n-
caractères les plus fréquents, par ordre décroissant de leur fréquence d'apparition dans le
document.

De nombreux travaux ont utilisé les n-grammes comme descripteurs de documents


pour leur classification. Les auteurs Junker et al. (1997) présentent une étude sur une
représentation fondée sur les n-grammes de caractères pour évaluer la classification de
textes issus d’OCR et les textes non-OCR (Junker, et al., 1997). Dans (Jalam, et al., 2001)
nous trouvons les raisons pour lesquelles les n-grammes donnent des résultats intéressants.
Par exemple :
• Les n-grammes permettent de capturer automatiquement la racine des mots les plus
fréquents. Il n’est pas nécessaire d’appliquer une étape de recherche de racine et/ou
de lemmatisation.
• Ces descripteurs sont indépendants de la langue employée dans le corpus. Il n’est
pas nécessaire d’utiliser des dictionnaires, ni de segmenter les documents en mots.
• Les n-grammes sont tolérants aux fautes d’orthographe et aux déformations causées
lors de la reconnaissance de documents. Lorsqu’un document est reconnu à l’aide
du système OCR il y a souvent une part non négligeable de bruit. Par exemple, il est
possible que le mot "feuille" soit lu "teuille". Un système fondé sur les n-grammes
prendra en compte les autres n-grammes comme "eui", "uil", etc.

Dans les travaux de (Cornack, et al., 2007a) on applique les n-grammes de


caractères pour la classification de petits documents tels que les spam, les SMS.
Représentation de Textes 18

2.2 Pondération des termes


Une fois que l'on choisit les composantes du vecteur représentant les documents
di ∈D , il faut décider de la façon d'associer un poids à chaque coordonnée de leurs vecteurs

di .

De nombreuses solutions ont été proposées dans la littérature pour coder les
composantes des vecteurs, c’est-à-dire pour attribuer un poids wij à chaque terme (Salton,

1990). Ces méthodes sont basées sur les informations suivantes:

- Plus le terme t j est fréquent dans un document di , plus il est en rapport avec le

sujet de ce texte.
- Plus le terme t j est fréquent dans la collection, moins il sera utilisé comme

discriminant entre textes.

2.2.1 Pondération booléenne

Cette pondération est la plus simple représentation des données textuelles. Dans
cette pondération le poids wij vaut 1 si le terme t j apparaît au moins une fois dans le

document di , sinon il vaut 0.

En considérant les trois phrases5 comme trois documents :

– (d1) : Le chat mange la souris qui n’a pas eu le temps de manger son fromage.

– (d2) : Le chat n’a plus faim et va rejoindre les autres chats.

– (d3) : Le chien aboie après les chats et les souris mangent le fromage.

5
Cet exemple est pris entièrement de la thèse (Béchet, 2009)
Représentation de Textes 19

Pour chaque document, une représentation vectorielle basée sur les lemmes sera
utilisée avec élimination de mots vides.

Le Tableau 2.1 montre une représentation matricielle croisant en ligne les documents et en
colonnes, les lemmes.

aboyer Chat chien faim Fromage manger rejoindre souris temps

d1 0 1 0 0 1 1 0 1 1
d2 0 1 0 1 0 0 1 0 0
d3 1 1 1 0 1 1 0 1 0

Tableau 2.1-Exemple d'une représentation vectorielle booléenne

La matrice indique uniquement la présence (1) ou l’absence (0) du lemme dans le


document.

2.2.2 Pondération fréquentielle

Elle prend en compte le nombre d'occurrences d'un terme dans un texte. Cette mesure
repose sur l'idée que plus un terme apparaît dans un texte, plus il est important. En
reprenant l’exemple précédent, nous obtenons la représentation du Tableau 2.2 ci-dessous :

aboyer Chat chien faim Fromage manger rejoindre souris temps


d1 0 1 0 0 1 2 0 1 1
d2 0 2 0 1 0 0 1 0 0
d3 1 1 1 0 1 1 0 1 0

Tableau 2.2-Exemple d'une représentation vectorielle fréquentielle

Une telle présentation est généralement normalisée afin d’éviter de défavoriser les
documents les plus longs, contenant ainsi plus de termes. La fréquence du terme t j dans le

document d i peut être calculée par la formule suivante:

#(t j , di )
TF (t j , di ) =
∑ k =1, p #(tk , di )
Représentation de Textes 20

Où: #(t j , di ) correspond au nombre d'occurrences du terme t j dans d i .

2.2.3 Pondération TFIDF6:

Elle a été introduite dans le cadre du modèle vectoriel, elle donne beaucoup
d'importance aux mots qui appariassent souvent à l'intérieur du même texte, ce qui
correspond bien à l'idée intuitive que ces mots sont plus représentatifs. Mais sa particularité
est qu'elle donne également moins de poids aux mots qui appartiennent à plusieurs textes;
pour refléter le fait que ces mots ont un faible pouvoir de discrimination entre les classes.
Cette pondération issue du domaine de la recherche d’informations tire son inspiration de la
loi de Zipf introduisant le fait que les termes les plus informatifs d’un corpus ne sont pas
ceux apparaissant le plus dans ce corpus. Ces mots sont la plupart du temps des mots outils.
Par ailleurs, les mots les moins fréquents du corpus ne sont également pas les plus porteurs
d’informations (Béchet, 2009). Le poids d'un terme t j dans un document d i est calculé

comme suit :

N
TFIDF (t j , d i ) = TF (t j , d i ) × log
DF (t j )

où TF ( tk , d j ) correspond à la fréquence du terme t j dans le document d i ; N le nombre

total des documents d’apprentissage et DF (t j ) le nombre de documents contenant le terme

t j . Une telle représentation avec l’exemple précédent est donnée dans le Tableau 2.3

aboyer Chat chien Faim Fromage manger rejoindre Souris Temps


d1 0 0 0 0 0,18 0,35 0 0,18 0,48
d2 0 0 0 0,48 0 0 0,48 0 0
d3 0,48 0 0,48 0 0,18 0,18 0 0,18 0

Tableau 2.3-Exemple d'une représentation TFIDF

6
(Term Frequency-Inverse Document Frequency)
Représentation de Textes 21

La fonction TFIDF a démontré une bonne efficacité dans des tâches de


catégorisation de textes, et, en plus, son calcul est simple (Sebastiani, 2006).

Le codage TFIDF ne corrige pas la longueur des documents. Pour ce faire, le TFIDF
est normalisé. On corrige les longueurs des textes par la normalisation en cosinus, pour ne
pas favoriser les documents les plus longs.

TF (t j , di ) − IDF (t j , di )
TFC (t j , di ) =

p
k =1
(TF − IDF (tk , di ))2

2.3 Réduction des dimensions


Un problème principal pour l'approche statistique de la catégorisation de textes est
la grande dimension de l'espace de représentation. Dans le cas de représentation en sac de
mots, chacun des mots d'un corpus est un terme potentiel, or pour un corpus de taille
raisonnable, ce nombre peut être de plusieurs dizaines de milliers. Pour beaucoup
d'algorithmes d'apprentissage, il s'agit de sélectionner un sous ensemble de ces termes,
sinon deux problèmes se posent :

• Le coût du traitement : le nombre de termes intervient dans l'expression de la


complexité de l'algorithme, plus ce nombre est élevé, plus le temps de calcul est
important.
• La faible fréquence de certains termes : on ne peut pas construire des règles fiables
à partir de quelques occurrences dans l'ensemble d'apprentissage.
Les méthodes utilisées pour la réduction de dimension sont issues de la théorie de
l'information et de l'algèbre linéaire. Sebastiani (2002) Classe ces techniques de la façon
suivante :

Réduction locale: Il s'agit de proposer pour chaque catégorie


ck , telle que ck ∈ {c1 , c2 , cm } un nouvel ensemble de termes Tk' ⊂ T . Ainsi chaque

catégorie ck possède son propre ensemble de termes et chaque texte d i sera présenté par
Représentation de Textes 22

un ensemble de vecteurs {d i } différents selon la catégorie. Pour plus de détail, on peut se


référer à (Lewis, et al., 1994).

Réduction globale: Dans ce cas, le nouvel ensemble de termes T est choisi en


fonction de toutes les catégories. Et chaque texte d i sera représenté par un seul vecteur

quelque soit la catégorie (Yang, et al., 1997), (Caropreso, et al., 2001).

La réduction permet d’éliminer les informations non-pertinentes et redondantes


selon le critère utilisé. Ces principaux objectifs sont :
- faciliter la visualisation et la compréhension des données,
- réduire l’espace de stockage nécessaire,
- réduire le temps d’apprentissage et d’utilisation,
- identifier les facteurs pertinents.
Les techniques mathématiques de réduction de dimension sont classées en deux grandes
catégories :
• La sélection d’attributs prend les attributs (ici les termes) d’origine et conserve
seulement ceux jugés utiles à la classification, selon une certaine fonction
d’évaluation. Les autres sont rejetés.

• L’extraction d’attributs. À partir des attributs de départ, elles créent de nouveaux


attributs, en faisant soit des regroupements ou des transformations.
On constate que la sélection d’attributs est meilleure quant à l’élimination
d’attributs réellement inutiles ou même d’attributs erronés (mots mal orthographiés par
exemple) tandis que l’extraction d’attributs est plutôt axée sur la réduction du nombre
d’attributs redondants.

Dans ce mémoire nous nous intéressons à la sélection d’attributs, la section suivante


donne plus de détail sur cette technique.

2.3.1 Sélection des termes


L'intérêt de la sélection de termes est triple. D'une part, elle permet d'écarter les
termes non pertinents d'un point de vue statistique. D'autre part, elle permet d'éviter le sur
Représentation de Textes 23

apprentissage (Saldarriaga, 2010). Enfin, elle permet d'améliorer l'efficacité des


algorithmes d'apprentissage ayant des difficultés à gérer un espace de représentation
important.

Parmi les méthodes les plus souvent utilisées figurent le calcul de l’information
mutuelle, le gain informationnel (Lewis, 1992), (Moulinier, et al., 1996), (Dumais, et al.,
1998), la méthode du chi-2 (Weiner, et al., 1995) ou des méthodes plus simples utilisant
uniquement les fréquences d’apparition (Yang, et al., 1997).

Une comparaison du gain informationnel et de la méthode du chi-2 avec d’autres


méthodes est effectuée dans (Yang, et al., 1997); ils ont constaté que le gain informationnel
est supérieur aux autres.

La méthode DF (Document Frequency) : il s’agit tout simplement d’éliminer les


mots (ou termes) dont le nombre de documents dans lesquels ils apparaissent est en dessous
d’un certain seuil (ou en dessus). L’idée sous-jacente est que ces mots n’apportent pas
d’information utile à la prédiction de la catégorie d’un document ou qu’ils n’influencent
pas la performance globale du classifieur.

Le gain d'information (GI) : l'objectif principal de cette méthode est de mesurer le


pouvoir de discrimination d'un mot. Elle mesure la quantité d'information obtenue pour la
prédiction de la catégorie en sachant la présence ou l'absence d'un terme dans le document.

Les termes dont la valeur du G.I est inférieure à un seuil prédéterminé sont
supprimés de l'espace vectoriel. Cette métrique est calculée selon la formule suivante :

P ( x, c )
IG ( x , ck ) = ∑ P ( x, c ) log
P ( x ) × P (c )
c∈{c ,c ) x∈{t ,t }
k k

L'information Mutuelle (IM) : c'est une méthode basée sur le nombre de fois qu'un
mot apparait dans une certaine catégorie, plus la catégorie apparaitra sans le mot, moins
l'IM sera élevée. Sa faiblesse est qu'elle est très influencée par la fréquence des mots. Elle
est mesurée avec la formule suivante :
Représentation de Textes 24

P (t , ck )
IM (t , ck ) = log
P (t ) × P ( ck )

La méthode statistique (CHI-2 ou χ 2 ) : elle mesure le degré d'indépendance entre


le terme t et la catégorie c. Elle est calculée à partir de la table de contingence suivante :

t t Total
c A B A+B
c C D C+D
A+C B+D N
Tableau 2.4-Table de contingence pour un terme t et une classe c

N ( AD − BC ) 2
χ 2(t , c ) =
( A + C )( B + D )( A + B )(C + D )

2.4 Conclusion
Les algorithmes d’apprentissage sont naturellement conçus pour être utilisés sur des
données structurées. Par conséquent, les données textuelles doivent subir une phase de
prétraitement pour obtenir une représentation utilisable par ces algorithmes.

Dans ce chapitre, nous avons étudié le modèle vectoriel issu des travaux de Salton
(Salton, et al., 1975) pour représenter les données textuelles. Nous avons décrit un certain
nombre de transformation que les textes bruts subissent pour conformer au modèle
vectoriel.

Maintenant que nos données textuelles sont traitées, nous pouvons procéder à
l’apprentissage automatique supervisé que nous allons aborder dans le chapitre suivant.
3
Apprentissage
automatique supervisé

Nous nous intéressons dans ce chapitre aux algorithmes d’apprentissage supervisé


employés dans le cadre de la catégorisation de données textuelles et plus particulièrement
au filtrage de spam.

Plusieurs algorithmes sont proposés dans la littérature et sont mis au point pour des
problèmes quelconques en apprentissage automatique et ont été appliqués et adaptés dans
ce domaine. Sebastiani présente un bon résumé des différentes méthodes utilisées en
catégorisation de textes (Sebastiani, 2002).

Avant de présenter ces méthodes, nous allons tout d’abord définir les notions
d’apprentissage automatique, apprentissage supervisé et classifieur.

3.1 Techniques d’apprentissage automatique


La notion d'apprentissage automatique fait référence au développement, à l'analyse
et à l'implémentation des méthodes qui permettent à une machine d'évoluer grâce à un
processus d'apprentissage et de remplir des tâches dont il est difficile ou impossible de
Apprentissage Automatique Supervisé 26

remplir par des moyens algorithmiques classiques. Pour plus de détail, une synthèse de ce
domaine est disponible dans l’ouvrage « Machine Learning », de (Herbrich, 2001).

Définition 1 : (Apprentissage automatique : machine learning)

L’apprentissage automatique englobe toute méthode permettant de construire un modèle de


la réalité à partir de données, soit en améliorant un modèle partiel ou moins général, soit en
créant complètement le modèle. Il existe deux tendances en apprentissage, celle issue de
l’intelligence artificielle qualifié de « symbolique7 » et celle issue des statistiques et
qualifiée de numérique (Cornuéjols, et al., 2002).
Nous distinguons différents types d’apprentissage : apprentissage non supervisé et
apprentissage supervisé :

3.1.1 Apprentissage non supervisé

Dans ce type d’apprentissage, il n’existe pas de classes prédéfinies, le but est


d’effectuer les meilleurs regroupements possibles, entre les objets dans lesquels, les
observations diffèrent très peu, au regard de ses valeurs. Ce type d’apprentissage, est aussi
appelé apprentissage par « observation », ou par «découverte».

Le plus connu des problèmes non-supervisés est la classification non-supervisée ou


clustering. Les classes qu’on appellera clusters, sont formées par regroupement des données
qui ont certaines caractéristiques en commun.

Pour construire un regroupement de ces données, nous avons trois choix à faire :

- Choisir une mesure de ressemblance (ou similarité) entre les données

- Choisir le type de structures que nous voulons obtenir : partition, hiérarchie,


arbre…

- Choisir la méthode permettant d’obtenir la structure désirée.

7
La procédure d’apprentissage peut être effectuée sous forme de règles
Apprentissage Automatique Supervisé 27

3.1.2 Apprentissage supervisé :

Il relève d’une démarche inductive consistant à construire automatiquement un


classifieur qui apprend, à partir des exemples déjà classés (ou étiquetés), les caractéristiques
et les propriétés des catégories cibles. Ce type d’apprentissage est dit supervisé par ce que
la fonction de classification s’entraine sur les catégories (ou classe) ainsi que sur leurs
caractéristiques. On distingue deux types de problèmes de problèmes auxquels
l’apprentissage supervisé est appliqué : la classification supervisée et la régression. Ces
deux types de problèmes se différentient en fonction du type d’étiquettes fournies par
l’expert.

Définition 2 : la classification supervisée (appelée aussi classement ou classification


inductive)

La classification supervisée cherche à prédire l’appartenance de documents à des classes


connues à priori. Ainsi, c’est l’ensemble des techniques qui visent à deviner l’appartenance
d’un individu à une classe.
Dans ce mémoire nous nous intéressons qu’à la classification supervisée. Ainsi,
l’apprentissage supervisé est un processus (voir Figure 3.1) qui permet de construire des
modèles, qui sont utilisés comme référence par l’algorithme de catégorisation, à partir d’un
ensemble d’exemples d’apprentissage.

Construction Nouveaux
Exemples du modèle exemples
Étiquetés

Modèle
Décision

Figure 3.1-Principe de l'apprentissage supervisé.


Apprentissage Automatique Supervisé 28

Définition 3 : Classifieur (ou classificateur)


Le modèle construit par un algorithme d’apprentissage supervisé est appelé classifieur. Ce
dernier une fois élaboré doit être capable de classifier les nouveaux exemples.

3.2 Algorithmes d’apprentissage supervisé


L'apprentissage supervisé dans le cas de la catégorisation de textes, consiste à
apprendre à partir d'un ensemble d'exemples une fonction de prédiction. Cette fonction
permettra par la suite de prédire la classe (ou la catégorie) de chaque nouvel objet (ici le
texte). La Figure 3.2 présente le principe de l’apprentissage supervisé dans le cas de filtrage
de spam.

Figure 3.2-Filtrage de spam à base d'apprentissage supervisé.

Dans le courant de l'apprentissage supervisé, différents types de classifieurs ont été


mis au point, dans le but d'atteindre un degré maximal de précision et d'efficacité, chacun
ayant ses avantages et ses inconvénients. Parmi les algorithmes d’apprentissage supervisé
existants, on peut faire des regroupements et distinguer de grandes familles.

On peut discerner les classifieurs probabilistes qui utilisent l'ensemble


d'entraînement, (textes déjà classés), pour estimer les paramètres de la distribution de
Apprentissage Automatique Supervisé 29

probabilité des mots par rapport aux catégories. C'est dans cette famille qu'on trouve entre
autre le classifieur Bayésien naïf (Caruana, et al., 2006) (Langley, et al., 1992).

Il y a aussi les classifieurs qui se basent sur un profil, tel que les classifieurs
linéaires (Herbrich, 2001), (Yang, 1999). Dans ce contexte, le profil est un vecteur de
termes pondérés construit pour chaque catégorie, dans le but de les représenter d'une façon
générale. Ce vecteur est construit à l'aide des données d'entraînement, quand un nouveau
texte, doit être classé, il est comparé à ce vecteur «type». L'avantage de cette approche est
qu'elle produit un classifieur compréhensible par l'humain, dans le sens où le profil de la
catégorie peut être interprété facilement. Par contre, l'inconvénient principal de tous les
classifieurs linéaires est que l'espace est divisé en seulement deux portions, ce qui peut être
restrictif, car tous les problèmes ne sont pas nécessairement linéairement séparables. Les
machines à support vectoriel s'apparentent aux classifieurs linéaires, dans le sens où elles
tentent de séparer l'espace en deux mais certaines manipulations mathématiques les rendent
adaptables à des problèmes non linéaires.

Il y a aussi une famille de classifieurs qui se base sur l'exemple; on parle ici,
d'apprentissage à base d'instances. Les nouveaux textes à classer sont comparés
directement aux documents d'ensemble d'entraînements. L'algorithme des k-plus proches
voisins est le plus connu dans cette famille (Mitchell, et al., 1997).

3.2.1 L’algorithme de Rocchio

L’algorithme de Rocchio a été proposé dans (Rocchio, 1971), il est un des plus
ancien algorithmes de classification et l’un des plus simples. Un profil prototypique [c] est
α 1−α
calculé pour chaque classe c ∈ {c1 , c2 ...cm } selon : [ c ] =
Nc
∑ di −
d ∈c Nc
∑ dj
d j ∉c
i

Où Nc est le nombre de documents dans c et N c le nombre de documents

n’appartenant pas à c, et α un paramètre du modèle compris entre 0 et 1.


Apprentissage Automatique Supervisé 30

Ces profils correspondent au barycentre des exemples (avec un coefficient positif


pour les exemples de la classe et négatif pour les autres). Ces vecteurs sont également
normalisés de la même façon que les documents. Le classement de nouveaux documents
s’opère en calculant la distance euclidienne entre la représentation vectorielle du document
et celle de chacune des classes; le document est assigné à la classe la plus proche.

L’algorithme de Rocchio est considéré comme un algorithme ancien, mais les


travaux de (Schapire, et al., 1998) ont montré que cet algorithme obtient d’excellents
résultats pour la catégorisation de textes, à condition d’utiliser un codage efficace, de bien
choisir les documents non pertinents et d’effectuer une optimisation des poids. Leur
conclusion va à l’encontre d’autres comparaisons qui montrent que cet algorithme n’est pas
performant par rapport aux méthodes fondées sur l’apprentissage numérique (Lewis, et al.,
1996), (Cohen, et al., 1996).

3.2.2 L’algorithme Naïve Bayes

Le modèle probabiliste Naïf de Bayes (NB) qui est le représentant le plus populaire
des classifieurs probabilistes, est fondé sur le théorème de (Bayes, 1763).

Ce modèle vise à estimer la probabilité conditionnelle d’une catégorie sachant un


document et affecte au document la (ou les) catégorie(s) la (les) plus probable(s). La
partie naïve de ce modèle est l’hypothèse d’indépendance des mots, c’est-à-dire que la
probabilité conditionnelle d’un mot sachant une catégorie est supposée indépendante de
cette probabilité pour les autres mots.

Considérons di = ( wi1 , wi 2 , wip ) la représentation vectorielle représentant un

texte di et C = ( c1 , c2 , , cm ) un ensemble de classes. En s’appuyant sur le théorème de

Bayes, la probabilité que ce document appartienne à la classe ck est définie par :

P (Ck ) × P ( di / Ck )
P ( Ck / d i ) =
P ( di )
Apprentissage Automatique Supervisé 31

Le but étant de discriminer les différentes classes, il suffit donc d'ordonner


P (Ck / di ) pour toutes les classes. On peut alors supprimer le dénominateur P ( di ) qui est le

même pour toutes les classes. P (Ck ) est la probabilité à priori qui est estimée par le

pourcentage d'exemples appartenant à la classe Ck dans le corpus d'apprentissage.

En faisant l’hypothèse que les termes sont indépendants, la probabilité


conditionnelle P ( di / ck ) est définie par

P ( di / c ) = ∏ P ( wij / c )
k j =1, p k

La classe ck d’appartenance de la représentation vectorielle d i d’un document di

est définie par :

cNB = arg max P (c )∏ P ( wij / c )


k j k

En d’autres termes, le classifieur Naïve Bayes affecte au document di la classe

ayant obtenu la probabilité d’appartenance la plus élevée.

3.2.3 Les K voisins les plus proches

Cette méthode a prouvé son efficacité face au traitement des données


textuelles (Yang, et al., 1999), (Sebastiani, 2002) La phase d’apprentissage consiste à
stocker les exemples étiquetés. Le classement de nouveaux textes s’opère en calculant la
similarité8 entre la représentation vectorielle du document et celle de chaque exemple du
corpus d’apprentissage. Les k éléments les plus proches sont sélectionnés et le document
est assigné à la classe majoritaire (le poids de chaque exemple dans le vote étant
éventuellement pondéré par sa distance).

8
la mesure de similarité la plus couramment utilisée est le calcul du cosinus de l’angle
formé par les deux vecteurs de documents.
Apprentissage Automatique Supervisé 32

Figure 3.3-K-ppv dans un espace à deux dimensions.

Le choix de la valeur de k est dépendant de la taille de l’échantillon et des classes, et


influence les résultats de la classification. Dans l’exemple de la Figure 3.3, l’objet rond sera
classifié triangle si k=3 et classifié Carré si k=5.

Lorsque « k » est petit, la classification est plus sensible à cause des documents
appartenant à une classe mais dont leur vecteur de représentation ressemble beaucoup plus
à une autre. Par contre, lorsque « k » est trop grand, les catégories ayant peu d’exemples
peuvent être désavantagées par rapport à celles qui en ont plus. On peut remédier à cela en
pondérant le vote par la distance qui sépare les plus proches voisins de l'individu à classer.

Si la qualité de catégorisation obtenue par les k plus proches voisins (K-ppv) est
satisfaisante que celle obtenue avec d'autres méthodes qui nécessitent un apprentissage
complexe (Sebastiani, 2002), le temps nécessaire à son déroulement peut être un obstacle
difficilement incontournable; là où la complexité des autres méthodes est fonction du
nombre de catégories.

3.2.4 Les machines à support vectoriels

Les machines à support vectoriels (SVM) ont été développées par Vapnik (Vapnik,
1998), et utilisées dans de très nombreux domaines qui vont de la reconnaissance de
Apprentissage Automatique Supervisé 33

l'écriture à l'identification des locuteurs en passant par la catégorisation de textes


(Johannes, et al., 1998).

La méthode repose sur les idées suivantes :

– les données sont projetées dans un espace de grande dimension par une
transformation basée sur un noyau linéaire, polynomial ou gaussien comme le
montre la Figure 3.4 ;
– dans cet espace transformé, les classes sont séparées par des classifieurs linéaires
qui maximisent la marge (distance entre les classes) ;
– les hyperplans peuvent être déterminés au moyen d’un nombre de points limités
qui seront appelés les « vecteurs de support »
Dans le cas où l'espace de représentation est linéairement séparable, la méthode à
base de SVM cherche l'hyperplan séparateur le plus éloigné (au sens d'une distance) des
documents du corpus d'apprentissage. La catégorisation se fait ensuite en positionnant le
nouveau texte dans l'espace et en examinant de quel côté il se trouve par rapport à
l'hyperplan. Notons que ce modèle ne pose pas l'hypothèse d'indépendance entre les mots
contrairement aux méthodes Bayésiennes

Figure 3.4-Exemple de deux classes linéairement séparables et non linéairement séparables.

À gauche, nous avons un ensemble de données non linéairement séparables dans un espace
bidimensionnel (x, y). À droite, au moyen d’une fonction noyau φ, ces données sont
Apprentissage Automatique Supervisé 34

projetées dans un espace multidimensionnel, où un hyperplan sépare correctement les deux


classes.

Les SVM ont déjà été appliquées au domaine de la classification de textes dans
plusieurs travaux (Joachims, 1998), (Vinot, et al., 2003), (John, et al., 2004). Et comme
l'affirme Joachims dans (Joachims, 1998), l'avantage des SVM réside dans le fait que la
réduction de la dimension n'est pas nécessaire, et que les SVM ont tendance à être assez
robustes pour le cas de sur-apprentissage.

3.2.5 Les arbres de décision

Un classifieur de type arbre de décision (AD), repose sur un arbre où chaque nœud
interne est marqué par un terme et est associé à une condition sur ce terme. Les branches
sortant du nœud correspondent aux résultats de test et les feuilles sont étiquetées par les
catégories. La construction de l'arbre s'effectue à partir des documents d'apprentissage.

La classification d'un document qui a di comme vecteur, commence à partir du

nœud racine, puis les nœuds internes sont successivement visités jusqu'à ce qu'une feuille
soit atteinte. Au niveau de chaque nœud, le test associé est effectué pour déterminer le
nœud suivant. La catégorie du document est celle qui se trouve à la feuille finale.

Contrairement aux autres méthodes prédictives dont le seul objectif est de prédire
la catégorie d’un document, les arbres de décision produisent également des règles
permettant de comprendre le phénomène modélisé (Quinlan, 1986).
Compte tenue de leurs nombreux avantages, et malgré leurs performances
souvent inférieures, les arbres de décision sont souvent employés dans une première
passe en tant qu’algorithme préliminaire avant l’application d’un autre algorithme
prédictif. Dans cette première passe, les arbres de décision identifient un sous-ensemble
de valeurs pertinentes pour la prédiction qui seront fournis en entrée à un autre
algorithme tel que les réseaux neuronaux, les k-plus proches voisins, ou d’autres
traitements statistiques qui nécessitent un temps d’exécution plus important.
Apprentissage Automatique Supervisé 35

Les outils ID3, C4.5 implémentent tous deux les arbres de décision (Quinlan,
1993). ID3 fait une implémentation de base, C4.5 permet d'élaguer les arbres et de dériver
une liste de règles de décision à partir des données d'apprentissage, ainsi que d'autres
classifieurs disponibles tels que RIPPER (Thompson, 2001) qui s'est montré plus efficace
pour la catégorisation des textes juridiques en 40 classes que C4.5.

3.2.6 Les règles de décision

Ce classifieur consiste à construire pour chaque catégorie ci un ensemble de règles,

permettant de distinguer une catégorie d'une autre (Apte, et al., 1994).

Une règle est de type SI <prémisse> alors <catégorie> où la prémisse est en forme
normale disjonctive (F.N.D). Les littéraux dans les prémisses représentent la présence ou
l'absence d'un terme dans le document de test d k , tandis que la clause de la règle, indique

la décision pour classer d k dans la catégorie ci .

Les systèmes d'apprentissage de règles varient considérablement en termes de


méthodes, d'heuristiques et de critères employés pour la généralisation et l'élagage de
règles. Parmi ce type de système, CHARADE (Moulinier, et al., 1996).

3.2.7 Les réseaux de neurones

L’étude des réseaux de neurones a débuté au début des années 1940 par les travaux
de McCulloh et Pitts (McCulloch, et al., 1943) et a été étendue aux problèmes de
classification des formes par Rosenblatt en 1962 (Rosenblatt, 1962).

Un réseau de neurones se compose de neurones9 connectés de façon à ce que la


sortie d’un neurone puisse être l’entrée d’un ou plusieurs autres neurones. Les connexions

9
Se sont les unités de calcul élémentaire dont le modèle est issu de certains principe de fonctionnement du
neurone biologique. Ces unités combinent des entrées réelles en une sortie réelle où les entrées n’ont pas la
même importance et à chaque entrée est associé un poids.
Apprentisssage Autom
matique Supeervisé 3
36

entre neurrones sont affectées


a dee poids. Le perceptron multi-couches (PMC) est un moddèle
de réseauxx de neuronnes où les neurones
n soont répartis en couchess successivees. Les calcculs
l ou les sorties (Hayykin, 1999)). Dans le type PMC on
sont effcttués des enntrés vers la
distingue (voir
( Figuree 3.5) :

-laa couche d’’entrée : cettte couche est responssable de traansmettre les valeurs des
attributs reeçus en entrrée vers la couche
c cachhée (qui la succède).

- laa couche dee sortie : c’eest la dernièère couche du


d réseau quui contient un
u ou plusieeurs
neurones de
d sortie. Enn général, lees sorties coorrespondennt aux valeuurs à estimerr.

- laa couche caachée : entrre la couchee d’entrée et


e la couchee de sortie,, un PMC peut
p
contenir une
u ou plusieurs couchees cachées. Tous les neeurones d’unne couche sont
s les entrrées
des neuronnes de la coouche suivannte.

Figure 3.55-Structure typique


t d'unn perceptronn multi-cou
uches.

Unn réseau de neurones enn CT est unn réseau d'unnités constrruit à partir des documeents
d'apprentissage, où lees unités d'entrée repréésentent less pondératioons des term
mes, les unnités
de sorties représentennt les catégoories, et less arcs reliannt les unitéss représentennt les relatiions
Apprentissage Automatique Supervisé 37

d'indépendance. Pour classer un document di , les pondérations wij de ses termes tij

( j = 1… p ) sont chargées dans les unités d'entrées. L'activation de ces unités est propagée à
travers le réseau, et la valeur de l'unité de sortie détermine la décision de la catégorisation.

3.3 Remarques sur les algorithmes d’apprentissages supervisé


• Le classifieur naïf de Bayes s’est montré très performant pour des tâches de
classification de textes comme le filtrage de spam que d’autres méthodes malgré
son hypothèse d’indépendance des mots (Weiss, et al., 2005). Il reste capable de
bien fonctionner avec des données incomplètes comme il peut être appliqué à de
nombreux secteurs d’activité: médicale, juridique, etc.

• Les SVM donnent de très bons résultats de classification de textes (Lewis, et al.,
1994) mais sont très coûteux en temps d’apprentissage et possèdent une limitation
théorique, Le modèle sous-jacent à ce classifieur a été conçu pour la classification
binaire : il cherche un plan séparateur qui sépare l’ensemble des objets en deux
classes.

• Les réseaux de neurones ont pour principal défaut le temps de calcul qui est
considérable, compte tenu de leur dépendance d’un corpus d’apprentissage de
taille conséquente. Son deuxième défaut est qu’il fournit en sortie un modèle de
type boîte noire qui est difficile à comprendre même pour les experts.

• Les K-ppv sont très simples à mettre en œuvre, et permettent une implémentation
rapide pour fournir des résultats satisfaisants (Yang, et al., 1999). Cette méthode
reste robuste sur des cas de données incomplètes, mais elle est très couteuse en
temps de classification et stockage mémoire.

• Les arbres de décision connaissent des limites, qui sont essentiellement de deux
ordres. Tout d’abord, c’est le temps nécessaire pour trouver les règles de
subdivision opérationnelles. En catégorisation des textes, il s’agit d’isoler un petit
nombre de termes qui permettent de distinguer les exemples appartenant à
différentes catégories, Or, la recherche de cet ensemble de termes peut s’avérer
complexe et couteuse en temps. Une deuxième difficulté pour les arbres de
décision est la détermination de la profondeur optimale de l’arbre afin d’éviter le
sur-apprentissage. L’arbre est alors trop calqué sur les exemples du corpus
d’apprentissage, mais se généralise mal à de nouveau exemples
Apprentissage Automatique Supervisé 38

Les différentes techniques de classification passées en revue se distinguent


également par le degré de compréhensibilité des modèles bâtis sur les données, et donc par
le degré de facilité d’utilisation des résultats produits.

Fidelia (2007) place ces algorithmes sur un axe horizontal, par ordre de
compréhensibilité du modèle produit, les méthodes à base de réseaux neuronaux sont à une
extrémité, et les arbres de décision à l’autre extrémité (Fidelia, 2007). Sur des échelles
intermédiaires, en allant du moins compréhensible au plus compréhensible, on peut placer
successivement le naïf bayes, les machines à vecteurs supports, les k-plus proche voisins.
Ce classement est donné dans le schéma de la Figure 3.6.

RN NB SVM K-ppv AD

- incompréhensible + compréhensible

Figure 3.6-Méthodes d'apprentissage sur l'axe de compréhensibilité du modèle construit.

Selon les travaux de recherche dans ce domaine de catégorisation de textes, il n’est


pas possible de mettre en évidence la supériorité d’une méthode sur une autre. En effet,
face aux faiblesses et forces de chaque méthode (§3.4), la question que se pose la
communauté de recherche est quelle est la meilleure méthode qu’il faut utiliser pour un
problème de catégorisation de textes. La réponse n’est pas simple come l’indique (Yang, et
al., 1999), car le succès d’une méthode dépend de plusieurs paramètres qui vont du codage
des documents aux algorithmes et de leur implémentation. Par exemple, l'implémentation
des SVM proposées par (Dumais, et al., 1998) obtient nettement de meilleurs résultats que
celle proposée par (Joachims, 1998).
Apprentissage Automatique Supervisé 39

Il existe plusieurs travaux qui ont travaillé sur la comparaison entre les différents
classifieurs d’apprentissage, à titre d’exemple nous pouvons citer les travaux de:

- Yang et al. (1999) : ont comparé les machines à support vectoriel (SVM), les
k-plus proches voisins (K-ppv), les réseaux bayésiens (RB), et les réseaux de
neurones (RN) (Yang, et al., 1999. Ils ont obtenu les résultats suivants :

Précision Rappel F1-mesure


SVM 91,37 81,2 85,99
K-ppv 88,07 83,39 85,67
RB 82,45 76,88 79,56
RN 87,85 78,42 82,87

De cela, on remarque, qu’excepté les RB, les résultats sont sensiblement proches.

- Dumais et al. (1998) : ont comparé une variante de Rocchio, les arbres de
décision, les réseaux bayésiens et les SVM (Dumais, et al., 1998). Ils ont vu
que toutes ces méthodes sont délicates à mettre en œuvre et leurs
performances dépendent fortement des algorithmes utilisés.

- Dans les travaux de (Brun, et al., 2003), on a utilisé plusieurs méthodes d’AS
pour la détection du thème dans les textes. Ils ont appliqués différentes
méthodes de sélection de termes, en variant la taille du vocabulaire pour
étudier les performances dans chaque cas.

Actuellement, les chercheurs s’orientent vers l’idée de combiner plusieurs méthodes


pour cumuler les points positifs de chacune d’elle au lieu de chercher à optimiser une seule
méthode en choisissant les meilleurs paramètres.

3.4 Combinaison de classifieurs


Les méthodes de classification basées sur les différents algorithmes d’apprentissage
supervisés ont été considérées par la communauté de recherche comme autant de solutions
possibles pour un problème donné (ex. catégorisation de textes, filtrage …). Mais, les
Apprentissage Automatique Supervisé 40

différents développements n’ont pas permis de mettre en évidence la supériorité


incontestable d’un algorithme sur un autre pour répondre aux contraintes d’une application
donnée. Par conséquent, l’idée d’en utiliser plusieurs à la fois s’est imposée. Par exemple,
dans une application de catégorisation de textes, chaque algorithme de classification
possède ses forces et ses faiblesses pour classifier de nouveaux documents. En outre,
certaines de ces forces sont complémentaires et peuvent améliorer les résultats lorsqu’elles
sont combinées. D’après Kuncheva cette combinaison n’est utile que lorsque les
classifieurs se trompent sur des documents différents. Si les algorithmes font les mêmes
erreurs, la combinaison perd tout son intérêt et ne change presque rien aux résultats
(Kuncheva, 2004).

Dans cette étude, nous nous intéressons à la combinaison parallèle et tout


particulièrement à la fusion de classifieurs par vote. Nous présentons dans la section qui
suit une taxonomie des méthodes de combinaison parallèle et nous détaillons les méthodes
les plus utilisées dans ce type de combinaison.

3.5 Combinaison parallèle


Nous présentons dans la Figure 3.7 la taxonomie proposée par Zouari et al. dans
(Zouari, et al., 2002). Cette taxonomie permet de distinguer entre deux types de
combinaisons; la sélection des classifieurs et la fusion des classifieurs.

La fusion consiste à combiner toutes les sorties des classifieurs pour donner une
décision finale, par contre, la sélection consiste à choisir les meilleurs classifieurs parmi un
ensemble de classifieurs et combiner leur décision.
Apprentissage Automatique Supervisé 41

Combinaison Parallèle

Fusion de classifieurs Sélection de classifieurs

Combinaison de Combinaison de Dynamique Statique


classifieurs faibles classifieurs différents

Bagging Sans Avec


Boosting apprentissage apprentissage
Random subspacing

Vote majoritaire Bayésienne


Vote unanime Dempster-Shafer
Vote notoire BKS

Figure 3.7-Différentes combinaisons parallèles des classifieurs.10

Dans notre étude nous avons fait appel au vote majoritaire qui est un type de fusion
de classifieurs. La section suivante donne plus de détail sur ce type de combinaison.

3.5.1 Fusion de classifieurs

Les méthodes de fusion de classifieurs peuvent être de deux types selon la nature
des classifieurs combinés : combinaison de classifieurs faibles ou combinaisons de
classifieurs différents.

3.5.1.1 Combinaison de classifieurs faibles

Les méthodes utilisant ce type de combinaison combinent les résultats de


classifieurs identiques ayant utilisés les mêmes algorithmes d’apprentissage et de décision
mais qui sont entrainés sur des distributions différentes des données d’apprentissage.

10
Nous avons considérés dans cette architecture que le cas d’une décision de type classe.
Apprentissage Automatique Supervisé 42

Les deux méthodes populaires dans la combinaison des classifieurs faibles sont :
• Bagging : le diminutif du nom complet de cette méthode est « Bootstrap
Aggregating ». Son principe est de faire la moyenne des prédictions de plusieurs
modèles indépendants qui permettent de réduire la variance et donc de réduire
l’erreur de prédiction. Il est possible de l’utiliser pour n’importe quel type
d’algorithme. A partir d’un ensemble d’exemples de bases de données, un nouvel
ensemble d’apprentissage est créé par échantillonnage uniforme avec remplacement.
Un certain nombre de nouveaux ensembles sont ainsi générés. Ensuite un modèle
est obtenu pour chaque ensemble d’apprentissage.

• Boosting : c’est une méthode similaire à celle de Bagging, pour la création


d’un groupe de modèles, qui seront ensuite combinés par une moyenne pondérée
des estimateurs. Elle diffère de la méthode Bagging au niveau de la construction des
modèles où chaque modèle est une version adaptative du précédent qui donne plus
de poids, lors de l’estimation suivante, aux échantillons qui ont connu une erreur de
prédiction. En théorie, le Boosting fonctionne pour des modèles d’apprentissage
faibles.

3.5.1.2 Combinaison de classifieurs différents

Dans ces combinaisons, les classifieurs combinés se diffèrent aussi bien par leur
algorithme d’apprentissage que par les données et attributs utilisés. On distingue deux types
de méthodes : les méthodes de combinaison avec apprentissage et les méthodes sans
apprentissage.

Dans le premier cas, on trouve la théorie de bayes, la théorie de Dempster-shafer et


la méthode d’espace de connaissances du comportement (Zouari, et al., 2002). Ce sont des
méthodes qui utilisent une phase d’apprentissage pour combiner les résultats du type classe.

Contrairement aux méthodes avec apprentissage, les méthodes sans apprentissage


appliquent le principe du vote pour combiner les résultats. Nous distinguons plusieurs
variantes :

- Vote unanime : la classe finale est choisie si tous les classifieurs proposent cette
réponse.
Apprentissage Automatique Supervisé 43

- Vote à la majorité : la classe finale est décidée si plus que la moitié des
classifieurs l’ont proposé.
- Vote notoire : le résultat de la combinaison est la classe la plus proposée.

3.6 Conclusion
Plusieurs approches différentes ont été utilisées dans l’apprentissage automatique.
Dans ce chapitre, nous avons essayé de présenter quelques unes, en donnant le principe,
l’avantage et l’inconvénient de chaque méthode.

La question qui se pose maintenant: laquelle parmi ces méthodes est la meilleur
pour la catégorisation de textes? La réponse n’est pas évidente, comme l’indique Yang dans
(Yang, et al., 1999) la comparaison entre ces méthodes nécessite de les appliquer sur les
mêmes données, en utilisant les mêmes mesures de performance, ou d’adopter une méthode
d’évaluation contrôlée.

Et c’est pour cette raison là, que les travaux récents s’orientent vers la combinaison
de ces méthodes, dont l’objectif est de regrouper un ensemble de classifieurs qui se
complètent entre eux pour améliorer les performances du système.
     

4
Filtrage de Spam

Le courrier électronique (ou courriel, email) est sans doute la technique qui a
changé nos habitudes à une grande échelle. La croissance de l'Internet est reliée directement
à l'importance du courriel, car plusieurs sites web lui sont maintenant consacrés, et presque
tous les gens qui ont accès à internet ont au moins une adresse de courrier électronique
qu'ils vérifient quotidiennement, ce qui explique les milliards des courriels qui s'envoient et
sont reçus chaque jour.

Aujourd’hui, le courriel rend vraiment service aux usagers, c’est un moyen rapide et
économique pour échanger des informations (voir Tableau 4.1). Si nous comparons le
courrier électronique aux autres moyens de communication, (par écrit, téléphone), nous
nous apercevons que les avantages des courriels surpassent ses inconvénients. Sa force
réside dans le médium du transport des messages, la rapidité avec laquelle circulent les
courriels, et à la possibilité de les envoyer à plusieurs personnes en même temps. La nature
informatique de ces courriels offre des avantages incomparables, dont l'envoi des
documents électroniques par attachement, l'archivage des messages est beaucoup plus facile
à effectuer qu'avec les communications écrites ou par téléphone, ainsi que, le courrier
électronique permet d'effectuer un traitement rapide, efficace et automatique sur les
messages comme la recherche par mots clés, le tri automatique par sujet.
Filtrage de Spam 45

Cependant, les utilisateurs se retrouvent assez vite submergés de quantités de


messages indésirables ou non sollicités appelés aussi spam. En effet, le spam est
rapidement devenu un problème majeur sur Internet. L’agence européenne ENISA (Agence
Européenne de la Sécurité des Réseaux et de l’Information) vient de sortir une nouvelle
étude selon laquelle 95,6% des messages électroniques seraient identifiés comme étant des
spam par les chaines de filtrages des fournisseurs d’adresses email11.

Rapidité Plus rapide que la télécopie


Économie Plus économique que les interurbains et la télécopie
Rapprochement les lieux d'émission et de réception du courrier électronique sont
indifférents, par le web, l'accès à un site est totalement
indépendant de son emplacement.
Disponibilité Serveurs disponibles en tout temps, indépendamment du décalage
horaire
Pièces jointes Possible de joindre des fichiers de toutes natures à un message.
Nombre de destinataires Transmission simultanée d'un message à plusieurs personnes
Archivage Archivage des messages expédiés et reçus.
Lecture à distance À partir d'une page Web (ex. : Hotmail, Yahoo, GMail, etc.), il est
possible de lire ses messages sur n'importe quel ordinateur, n'importe
où dans le monde
Tableau 4.1-Avantages du courrier électronique.

Dans ce chapitre, nous nous intéressons au filtrage de spam par apprentissage


supervisé. Dans une première partie, nous définissons tout d’abord le concept de spam, à
travers ses objectifs, ses contenus et ses impacts et les différentes techniques utilisées pour
détecter ce type de courriels.

Dans une seconde partie, nous dressons un état de l’art sur les différents travaux
ayant utilisés l’apprentissage automatique pour le filtrage de spam, nous étudions les
techniques adoptées dans ces différents travaux et analysons les points forts et les faiblesses
de chacune d’elles.

11
http://www.enisa.europa.eu/act/res/other-areas/anti-spam-measures/studies/spam-slides: consulté le 16/01/2012
Filtrage de Spam 46

4.1 Définition du spam


Le spam est un message électronique non sollicité, envoyé massivement à un grand
nombre de destinataires, à des fins publicitaires ou malveillantes.

Le terme spam est aussi utilisé pour désigner le même type de message transmis par
d'autres moyens de communication électroniques tels que les messageries instantanées, les
blogs, les forums, et plus récemment, des réseaux de téléphonie mobile, via les SMS ou
MMS. Même si le moyen de communication est différent, les techniques d'envoi et de
détection restent relativement similaires.

Au départ, le spam visait principalement des objectifs publicitaires. Aujourd'hui, il


s'est considérablement développé, diversifié et complexifié, pour atteindre de plus en plus
souvent des objectifs malveillants. En effet, Le spam s'est non seulement développé en
termes de volume, mais également en termes de contenu (voir figure 4.1). Aujourd'hui, les
objectifs des spam sont très variés en voici une liste non exhaustive (Gastellier-Prevost,
2009):

• Publicité : l'objectif est de vanter les mérites d'un produit quelconque. Il s'agit par
exemple de produits pharmaceutiques, de produits de luxe, de logiciels divers et
variés, de jeux d'argent.

• Jeu : l'objectif du spammeur est d'inonder le plus de monde possible avec un email
qui n'a aucun sens particulier, aucun lien ou contenu malveillant. Le but est
simplement d'encombrer nos boîtes aux lettres et surcharger le réseau. Ce type de
spam peut parfois servir de préparation pour des spam de plus grande envergure.

• Hameçonnage (ou phishing): ce type de spam est très construit et ciblé. L'objectif
est de réussir à se faire passer pour un organisme connu par l'utilisateur, dans le but
de lui voler des informations à caractère confidentiel. Par exemple, un email de
notre banque nous alerte que, suite à une perte de données, nous devons nous rendre
sur un site web (le lien intégré à l'email redirige sur un site frauduleux ayant l'allure
du site réel et une URL très ressemblante) afin d'y saisir des informations telles que
le numéro de carte bancaire ainsi que le code secret, sa date d'expiration et son code
de contrôle. En mi-2008, parmi les sites Top les plus contrefaits pour les attaques
de phishing, on retrouve eBay, Paypal et Bank of America.
Filtrage de
d Spam 4
47

• Caanular (ou Hoax) : l'oobjectif est de faire cirrculer une iinformationn semblant très
sennsible, souvvent avec unn caractère d'urgence : fausse aleerte de viruss, fausse alerte
de contaminaation potenttielle, chaînne de soliddarité.... Parr exemple : «un nouvveau
virrus très danngereux se propage, ill faut faire circuler l'iinformationn» ; «des soous-
ar une danggereuse bacctérie ».
vêttements sonnt infectés pa

• Scam : il s'aggit d'une atttaque baséee sur la naïvveté des deestinataires dans le butt de
leuur soutirer de
d l'argent. L'objectif eest de faire croire qu'uune personnne étrangèree est
en grande diffficulté finaancière, maais que son problème peut se réssoudre grâcce à
nouus. En effeet, si nous acceptons de l'aider à transférer une impoortante som mme
d'aargent actueellement blooquée, elle nous verserra en contreepartie un pourcentage
p e de
cettte somme ene remerciem ment.

• Loogiciel Malvveillant: auu travers d'unn email, onn redirige l'uutilisateur veers un site web
w
ou un fichierr attaché quui contient un program mme malveeillant afin d'espionnerr le
commportementt de l'utilisaateur, de nuiire à sa macchine (par ddes virus).

F
Figure 4.1-R
Répartition des spam ppar contenu.. (Gastellierr-Prevost, 20
009).
Filtrage de Spam 48

4.2 Impact du Spam sur les utilisateurs et les fournisseurs12


Dans cette section, nous présentons les effets du spam, au niveau des utilisateurs,
entreprises et FAI.

Perte de temps

• Encombrement anormal des boîtes aux lettres


• Suppression des courriels indésirables
• Configuration et maintenance des filtres
• Consultation des courriels rejetés pour y détecter les bons à cause du
risque de passer à côté d'emails importants mal catalogués par les outils de
détection anti-spam.

Perte de bande passante et d'espace disque

• Spécialement pour les utilisateurs de modems


• Les pièces jointes des virus et spam peuvent être grands

Désagrément, offenses, et même fraude

• Un risque incontestable pour l'installation de logiciels espions ou


malveillants.
• Un risque avéré de détournement de l'utilisation de la machine
personnelle, souvent peu ou mal protégée, par des spammeurs. Ce risque a été
amplifié avec l'apparition des connexions hautes débit facturées au forfait,
puisque désormais, l'utilisateur tend à rester connecté en permanence.

Pertes financières non négligeables aux niveaux des entreprises et FAI


• une augmentation des coûts de gestion opérationnelle et support lié à la
gestion anti spam.
• perte de productivité des salariés,

Selon une étude, le spam aurait coûté environ 712 $ par employé et par an aux
entreprises. À ce chiffre, il faut rajouter 113 à 183 $ par employé et par an pour la gestion
des emails en quarantaine (Nucleus, 2007).

12
Cette section s’appuie principalement sur (Gastellier-Prevost, 2009).
Filtrage de Spam 49

4.3 Techniques de lutte contre le spam13


Plusieurs techniques de lutte contre le spam sont possibles et peuvent être
cumulées : analyse statistique (filtre bayésien), filtrage par mots clés ou par auteur, listes
blanches, listes noires. Ces techniques de lutte doivent s'adapter en permanence car de
nouveaux types de spam réussissent à les contourner.

Les techniques de filtrage diffèrent selon que cette détection se fasse en amont ou en
aval. En effet, deux solutions de détection de spam sont envisageables: la détection au
niveau du serveur mail FAI et la détection au niveau de l’utilisateur final.

Ces outils peuvent être divisés en deux groupes : le filtrage d'enveloppe, et le


filtrage de contenu.

4.3.1 Filtrage d’enveloppe

Ce type de filtrage s'applique uniquement sur l'en-tête14 du message, qui contient


souvent assez d'informations pour pouvoir distinguer un spam. Cette technique appliquée
au niveau du serveur FAI présente l'avantage de pouvoir bloquer les courriels avant même
que leur corps ne soit envoyé, ce qui diminue grandement le trafic sur la passerelle SMTP.

Dans cette catégorie, nous trouvons les techniques suivantes :

Filtrage par vérification du domaine : appelé aussi vérification DNS. Elle consiste à soit
s’assurer qu’un domaine qui désire avoir émettre un email est également capable d’en
recevoir, sinon, le domaine utilisé est éventuellement faux. Soit s’assurer que la machine
qui a envoyé le message (adresse IP), est la même autorisée à en émettre. Cette vérification
se base sur le principe que, le serveur qui envoie et reçoit des emails est le même.

13
http://fr.wikipedia.org/wiki/Lutte_anti-spam; visité le 07/02/2012
14
Elle constitue les informations de base de ce dernier : expéditeur, destinataire, date d'envoi, serveur source,
objet.
Filtrage de Spam 50

Filtrage par listes blanches : ces listes consistent à pré-déclarer une liste de « bons
expéditeurs » (adresses emails, noms des domaines, adresse IP) desquels le destinataire
accepte de recevoir des emails. Leur utilisation est utile surtout pour déclarer les robots des
listes de diffusion auxquelles le destinataire s’est abonné.

Filtrage par listes noires: ces listes consistent à pré-déclarer une liste de « mauvais
expéditeurs », (adresses emails, noms des domaines, pays, adresse IP), desquelles le
destinataire refuse de recevoir des emails. Ces listes peuvent être :

- créées par l’administrateur ou l’utilisateur.


- téléchargées via le web (cela nécessite une mise à jour très régulière pour un
filtrage optimisé)
- consultées en temps réel sur le web (RBL, Real Time Blackhole List).
Pour contourner ces listes les spammeurs, changent très fréquemment leurs adresses
d’expédition (email, ou IP).

4.3.2 Filtrage du contenu

Ce type de filtrage se fait au niveau de l’utilisateur où son contenu est analysé pour
détecter les spam qui ont réussi à passer à travers le filtre d'enveloppe. Le filtrage de
contenu réalisé par des méthodes statistiques est un peu plus sensible que le filtre
d'enveloppe : les informations véhiculées à travers le courriel sont subjectives, et ce qui
peut paraître un spam selon le filtre de contenu peut être un courriel tout à fait légitime
(c'est ce que l'on appelle un faux positif), et l'inverse est aussi vrai (faux-négatif). Dans
cette catégorie nous trouvons les techniques suivantes :

Filtrage par mots clés : dans cette méthode, on définit les mots qui reviennent souvent
dans le spam comme interdits, et on analyse le contenu du message lui-même, si la
présence d’un mot fait partie des mots interdits, alors le message est considéré comme
indésirables. Mais ce filtrage est facile à contourner par le remplacement de certains
caractères qui composent le mot interdit, par des caractères à une allure similaire (ex.
remplacer free par f*r*e*e).
Filtrage de Spam 51

Filtrage par caractères : il s’agit de bloquer les emails qui contiennent certains caractères
ou police de caractère, ou certaines langues utilisées dans ces emails.

Filtrage d’image : il s’agit d’analyser les images obtenues dans les messages au niveau des
propriétés du fichier image (format, taille du fichier, taille d’image) que du contenu de
l’image (couleurs, test de pixels,…).

Filtrage d’URL : ceci consiste à vérifier les liens hypertextes inclus dans les messages
auprès d’une base de données de « mauvais URL » préenregistrés, ou via la consultation en
temps réel des listes noires disponibles sur le web. Des tentatives de masquage du lien
hypertexte sont des fois utilisées par des spammeurs pour empêcher l’analyse par le filtrage
d’URL.

Filtrage statistique à base d’apprentissage : par exemple le filtrage bayésien du spam est
un système fondé sur l'apprentissage d'une grande quantité de spam et courriels légitimes
afin de déterminer si un courriel est légitime ou non. Afin de bien fonctionner, le corpus de
spam et le corpus de courriels légitimes doivent contenir idéalement plusieurs milliers de
courriels.

4.4 Travaux publiés sur le filtrage de spam15


Cette section présente un bref historique des techniques de filtrage de spam basées
sur l’apprentissage supervisé menés par la communauté de recherche et des développeurs
de logiciels libres (Upasana, et al., 2011), (Subramaniam, et al., 2010), (Guzella, et al.,
2009).

Les travaux cités ci-dessous sont classés tout d’abord selon le type d’algorithme
d’apprentissage utilisé ensuite chronologiquement.

15
Cette étude est basée sur les références (Upasana, et al., 2011) (Subramaniam, et al., 2010) (Guzella, et al.,
2009).
Filtrage de Spam 52

4.4.1 Utilisation de classifieur individuel

Classifieur Bayésien naïf

En 1998, dans une même conférence, apparaissent les premières publications


académiques concernant le filtrage de spam. Pantel et Sahami proposent l’utilisation d’un
classifieur bayésien naïf pour le classement de spam. Sahami n’a retenu, pour l’opération
de classement, que les 500 mots les plus significatifs de chaque message. Il a constaté que
le classement binaire était plus efficace que le classement multi-classes basé sur le genre du
message (Pantel, et al., 1998), (Sahami, et al., 1998).

Androutsopoulos et al ont évalué et comparé le classifieur bayésien naïf élaboré


dans (Androutsopoulos, et al., 2000a), le classifieur à mots-clés et TiMBL16
(Androutsopoulos, et al., 2000b). Les métriques d’évaluation d’efficacité ont intégré des
coûts différents aux erreurs de classement selon la classe. Globalement, sauf pour le
classifieur à mots-clés, les résultats ont été équivalents.

En 2002, Graham a réalisé un filtre appelé le modèle de Graham (Graham, 2002),


son modèle utilise le principe de Bayes avec une représentation binaire d’un corpus privé et
la mesure du gain informationnel pour la sélection des termes. Son modèle a atteint des
résultats similaires à ceux du modèle de Sahami, et al. (Sahami, et al., 1998).

Des variantes de cette technique de base ont été implémentées dans plusieurs
travaux de recherche et produits logiciels. En 2006, Medlock, a réalisé son filtre nommé
ILM (Medlock, 2006). Il utilise toujours le principe de Bayes mais cette fois-ci avec une
représentation fréquentielle TFIDF du corpus GenSpam17. Ce modèle a donné des résultats
meilleurs que le classifieur SVM.

16
une version de k plus proches voisins
17
http://www.benmedlock.co.uk/genspam.html
Filtrage de Spam 53

Segal a réalisé le filtre US (Segal, et al., 2006). En utilisant une représentation


binaire du corpus Trec200518, ce filtre bayésien a pu réduire le taux des faux positifs19.
Cormack et Lynam ont testé des outils de filtrage de spam comme SpamAssassin,
Bogofilter, SpamProbe et CRM114 avec le corpus Ling Spam (Cormack, et al., 2007b). Ils
ont constaté que ces filtres étaient en général incapables de classer les messages spam
correctement.
Les auteurs dans (Ciltik, et al., 2008) ont réalisé un filtre qui utilise le même
principe probabiliste de Bayes. Et avec une représentation binaire, les résultats étaient plus
performants que ceux utilisant Adaboost ou SVM.

Classifieur SVM

L’utilisation des SVM pour le filtrage de spam a été proposée initialement par
Druker et al. (Drucker, et al., 1999). Ils ont comparé l’efficacité du classifieur linéaire SVM
avec ceux de RIPPER (Cohen, et al., 1996), Rocchio (Rocchio, 1971) et Boosting
(Schapire, 1999). C’est une publication intéressante, car c’est la première qui a essayé un
large ensemble de configurations d’expérimentations sur la sélection des termes et les
différents modes d’apprentissage. Leurs conclusions étaient : (a) SVM et Boosting sont
comparables, mais les SVM permettent d’atteindre des taux de faux positifs plus bas et plus
facilement. (b) Les méthodes RIPPER et Rocchio ne sont pas performantes pour le filtrage
de spam. (c) L’apprentissage avec Boosting est énormément long.

D’autres résultats, par la suite, ont été publiés, et utilisant les SVM. Les auteurs
dans (Kolcz, et al., 2001) ont étudié la prise en compte des erreurs de classification
spécifique à chaque classe. Sculley et al. ont proposé l’utilisation des ROSVM (Relaxed
Online SVM) pour l’apprentissage et le classement en ligne des spam (Sculley, et al., 2007);
c’est une simplification qui limite le nombre d’itérations de l’algorithme. Son efficacité de
classement reste proche de celle que l’on peut obtenir sans simplification.

18
http://osbf-lua.luaforge.net/TREC2005/
19
Courriels légitimes classifiés incorrectement comme spam
Filtrage de Spam 54

Classifieur K-ppv
Sakkis et al. ont réalisé un filtre anti spam avec les K-ppv en utilisant la méthode GI
pour la sélection des termes sur le corpus LingSpam20, pour obtenir à la fin des résultats
meilleurs que ceux du classifieur Bayésien naïf (Sakkis, et al., 2003).
Delany et al. ont réalisé le filtre « ECUE » avec K-ppv en étudiant deux
représentations : binaire et fréquentielle (Delany, et al., 2004). Ce filtre a obtenu une
performance similaire à celle de Bayes. Ce même filtre a été amélioré dans (Delany, et al.,
2005) en appliquant une mise à jour aux messages mal classés, ce filtre a atteint une
réduction considérable en taux des faux positifs.
Veloso, et al. ont réalisé un filtre qui a atteint une meilleure performance de
classification par rapport aux logiciels libres Bogo-filtre et SpamAssassin (Veloso, et al.,
2006).
Fdez-Riverola, et al. ont réalisé le filtre «Spam Hunting», avec une représentation
fréquentielle et une sélection de termes avec la méthode GI sur le corpus SpamAssassin21.
Ce filtre a réussi de réduire le taux des faux positifs et des faux négatifs22 avec une grande
rapidité de mise à jour (Fdez-Riverola, et al., 2007).
Hsiao, et al. ont réalisé un filtre appelé ICBC, avec une représentation fréquentielle
TFIDF sur le corpus SpamAssassin. Ils ont constaté que ce filtre est plus performant que les
k-ppv en terme de la F1-mesure (Hsiao, et al., 2008).

Classifieur à base de réseaux de neurones

Clark, et al. ont réalisé le filtre « Linger », en utilisant une représentation sac de
mots, une sélection d’attributs avec GI sur les corpus : LingSpam et PU123. Linger a
obtenu de très bons résultats de classification (Clark, et al., 2003).

20
http://csmining.org/index.php/ling-spam-datasets.html
21
http://csmining.org/index.php/spam-assassin-datasets.html
22
Des spam classifiés incorrectement comme légitimes
23
http://csmining.org/index.php/pu1-and-pu123a-datasets.html
Filtrage de Spam 55

Luo, et al. ont réalisé le filtre «SBSA», avec l’utilisation de la méthode GI, ce filtre
a surpassé celui de Bayes au niveau de la réduction des faux positifs (Luo, et al., 2005).

Wang, et al. ont utilisé le Perceptron et Winnow avec une représentation


fréquentielle, la mesure du gain informationnel pour la sélection des attributs et deux
corpus LingSpam et PU1. Ces deux filtres ont obtenu des résultats similaires à ceux de
Bayes (Wang, et al., 2006).

Tzortzis, et al. ont réalisé un filtre avec une représentation fréquentielle, la méthode
GI et les corpus SpamAssassin et LingSpam. Les résultats ont montré une grande
exactitude avec les deux corpus et surpassent ceux du classifieur K-ppv (Tzortzis, et al.,
2007).

4.4.2 Combinaison de classifieurs

Les travaux récents en filtrage de spam, s’intéressent de plus en plus à la


combinaison de plusieurs classifieurs. En effet, plusieurs travaux ont prouvé que la
performance et la précision de filtrage est meilleurs lorsque les classifieurs sont combinés.

Sakkis et al. ont combiné le Naïve Bayésien avec les K-ppv en utilisant une
combinaison à étage (Stacking) (Sakkis, et al., 2001). Ils ont constaté une amélioration dans
la qualité de détection par rapport aux classifieurs de base utilisés séparément.

Carreras et Marquez ont réalisé le filtre AdaBoost en combinant plusieurs arbres de


décision (Carreras, et al., 2001). Ils ont comparé leurs résultats avec ceux du classifieur
bayésien naïf de (Androutsopoulos, et al., 2000a) et les arbres de décisions. AdaBoost s’est
avéré meilleur.

He et Thiesson ont combiné les forêts d’arbres aléatoires, et ont réussi à obtenir des
résultats meilleurs que ceux obtenus avec l’algorithme de régression logistique (He, et al.,
2007).

Les auteurs dans (Koprinska, et al., 2007) ont combiné aussi les forêts aléatoires, et
ont obtenu des résultats meilleurs que ceux de Bayes.
Filtrage de Spam 56

Shin et al. ont combiné trois classifieurs différents : Naïve Bayes, arbre de décision
et les réseaux de neurones (Shih, et al., 2008). Les résultats étaient meilleurs que ceux des
trois classifieurs utilisés séparément. Ils ont constaté une réduction intéressante en taux des
faux positifs.

Les auteurs dans (Wei, et al., 2008) ont réalisé le filtre E2, en combinant deux
approches : PNB (Positive Naive Bayes) basé sur le principe de Bayes et FEBL (Positive
Examen Based Learning). E2 a atteint des résultats meilleurs que ceux de PNB et FEBL. Il
est plus robuste, et plus précis dans la détection des spam (99% de précision).

4.5 Conclusion
Plusieurs techniques de détection de spam sont présentées dans ce chapitre, avec un
état de l’art sur les travaux réalisés pour la même raison qui est la lutte contre les spam.

Ces travaux constituent l’application et la mise en œuvre de différentes méthodes


d’apprentissage supervisé pour le filtrage, que nous avons partagé en deux types : travaux
utilisant des classifieurs uniques (individuels), et d’autres qui utilisent un ensemble de
classifieurs (combinaison des classifieurs).

Dans le chapitre suivant, nous allons présenter à notre tour, une nouvelle approche
de filtrage de spam, qui se base sur l’induction symbolique.
     

Détection de spam avec


la machine Cellulaire
CASI
Dans ce chapitre, nous allons proposer une nouvelle approche pour la détection de
spam à base d’induction symbolique. Le principe consiste à construire un modèle booléen
utilisant le principe de la machine cellulaire CASI (Atmani, et al., 2007) à partir d’un
ensemble de courriels d’apprentissage. Le classifieur une fois construit est censé analyser
les nouveaux e-mails entrants et détecter parmi eux la présence de spam.

Nous allons décrire toutes les étapes importantes dans l’élaboration d’un tel modèle
et nous poursuivons par une analyse de ce dernier et discuter les motivations qui nous ont
poussé vers une combinaison de classifieurs en faisant participer plusieurs versions du
modèle booléen dans la prise de décision. Mais tout d’abord, nous allons introduire
brièvement les automates cellulaires et la machine cellulaire CASI.
Détection de Spam avec CASI 58

5.1 Les Automates cellulaires

5.1.1 Définition24
Un automate cellulaire est une grille composée de cellules qui changent d’état dans des
étapes discrètes. Après chaque étape, l’état de chaque cellule est modifié selon les états de
ses voisins dans l’étape précédente. Les cellules sont mises à jours d’une manière
synchrone, et les transitions sont effectuées dans la théorie simultanément.
En appliquant les règles simples et des transitions spécifiques, un automate cellulaire peut
effectuer d’une manière globale, des opérations complexes.
Certains des concepts principaux pour les automates cellulaires sont :
• Configuration : L’état globale de l’automate cellulaire, appelé configuration est
défini par l’état de toutes ces cellules.
• Voisinage : le prochain état de chaque cellule dépend de l’état actuel de ses voisins.
La transition de l’automate cellulaire d’une configuration à une autre, est la
séquence des transitions locales de toutes les cellules. Le voisinage d’une cellule est
défini par l’ensemble de ses voisins dont les états sont pris en compte pour chaque
transition.
• Parallélisme : toutes les cellules constituant l’automate cellulaire sont mises à jour
d’une manière simultanée et synchrone.
• Déterminisme : Le nouvel état de chaque cellule est déterminé par son état, et l’état
seulement se son voisinage.
• Homogénéité : toutes les cellules utilisent la même règle de transition pour
déterminer leur prochain état.
• Discrétisation : Un automate cellulaire évolue discrètement dans le temps. Il peut
être décrit par les quatre composants suivants :
Dimension : il n’y a aucune limite à la dimension d’un automate cellulaire,
mais dans le pratique, on utilise des automates avec 1,2 ou 3 dimensions.

24
http://fr.wikipedia.org/wiki/Automate_cellulaire consulté le 20/12/2011
Détection de Spam avec CASI 59

Voisinage de la cellule : ceci définit l’ensemble de cellules voisines dont


l’état sera pris en compte pour déterminer le prochain état de chaque cellule.
Espace d’état : C’est l’ensemble fini d’éléments que peut prendre une
cellule.
Fonction de transition : C’est l’ensemble de règles qui détermine le nouvel
état de chaque cellule selon sont état précédent, et les états précédents des
cellules de son voisinage.

5.1.2 Présentation de la machine CASI

CASI (Cellular Automata for System Induction) issue des travaux de (Atmani, et al.,
2007) est une méthode cellulaire de génération, de représentation et d’optimisation des
graphes d’induction (Zighed, 2000) générés à partir d’un ensemble d’exemples
d’apprentissage. Ce système cellulo-symbolique est organisé en cellules où chacune d’elles,
est reliée seulement avec son voisinage. Toutes les cellules obéissent en parallèle à la même
règle appelée fonction de transition locale, qui a comme conséquence une transformation
globale du système.

Pour la construction du modèle booléen, trois composants coopèrent entre eux :


• Le COG (Cellular Optimization and Generation) : il s’occupe de la génération
du graphe d’induction cellulaire et de son optimisation.

• Le CIE (Cellular Inference Engine) : le moteur d’inférence cellulaire s’occupe de


la génération d’un ensemble de règles cellulaires utilisées dans la phase de classification.

• Le CV (cellular validation) pour la validation cellulaire. La Figure 5.1 récapitule le


diagramme général du système cellulaire CASI
Détection de Spam avec CASI 60

COG CIE CV
(Cellular Concept (Cellular Inference (Cellular Validation)
Generation) Engine)

Base de Connaissances
CelFact - CelRule

Figure 5.1-Les différents composants de CASI

Base de connaissances

Les deux composants COG et CIE utilisent une base de connaissances sous forme
de deux couches finies d’automates finis :

La première couche, CelFact, pour la base de faits et, la deuxième couche, CelRule,
pour la base de règles.

Chaque cellule de CelFact se présente sous trois états : état d’entrée (EF), état
interne (IF) et état de sortie (SF). La cellule est considérée comme fait établi si la valeur de
son EF est égale à 1, sinon, elle est considérée comme fait à établir.

Chaque cellule de CelRule se présente sous trois états : état d’entrée (ER), état
interne (IR) et état de sortie (SR). Toute cellule de CelRule est considérée comme une règle
candidate si la valeur de son état ER est égale à 1, sinon, elle est considérée comme une
règle qui ne doit pas participer à l’inférence.

S’il ya l cellules dans la couche CelFact, EF, IF et SF seront considérés en tant que
vecteurs de dimension l (EF, IF, SF ∈ {0,1}l).

De même, s’il ya r cellules dans la couche CelRule, ER, IR et SR seront considérés


en tant que vecteurs de dimension r (ER, IR, SR ∈{0,1}r)
Détection de Spam avec CASI 61

Voisinage

Le voisinage des cellules est défini par deux matrices d’incidence d’entrée RE et de
sortie RS.

La relation d’entrée, notée iREj, est formulée comme suit :


∀i ∈{1, l}, ∀j ∈{1, r}; si (le fait i ∈ à la prémisse de la règle j ) alors RE (i, j ) = 1

La relation de sortie, notée iRSj, est formulée comme suit :

∀i ∈{1, l}, ∀j ∈{1, r}; si (le fait i ∈ à la conclusion de la règle j ) alors RE (i, j ) = 1

Inférence
La dynamique de l’automate cellulaire, utilise deux fonctions de transitions δfact
qui simule les phases de sélection et de filtrage dans un système expert et δrule qui simule
la phase d’exécution :

1- , , , , , , , , , ,

2- , , , , , , , , , ,

5.2 Quelques travaux sur la machine CASI


La machine cellulaire CASI a fait l’objet de plusieurs études intéressantes au niveau
de l’équipe SIF25 du laboratoire d’informatique d’Oran26.
Elle a été proposée comme modèle booléen pour représenter les règles d’association
pour la fouille de données biologiques du Mycobacterium Tuberculosis responsable de la
tuberculose (Mansoul, et al., 2009). Les auteurs proposent une démarche pour un processus
de fouille de données pour la génération des connaissances à partir de données biologiques.
Ce processus procède en deux étapes, une fouille de données est faite dans un premier
temps en utilisant l’algorithme Apriori (Agrawal, et al., 1994) et donnera des règles

25
Simulation, Intégration et Fouille de données
26
au département d’Informatique
Détection de Spam avec CASI 62

d’association, ensuite et dans un deuxième temps produire des règles booléennes inductives
qui vont alimenter la base de connaissances de la machine cellulaire CASI.
Il a fait aussi l’objet d’une étude dans (Benfriha, et al., 2011) pour la catégorisation
des comptes rendus hospitaliers avec l’algorithme des treillis de Galois. Les auteurs ont
réussi une modélisation booléenne des treillis de Galois par l’automate cellulaire CASI
nommée LATTICE-CELL. Le but de cette modélisation étant de réduire le temps de
catégorisation engendrés par le treillis de Galois. Des expériences sont effectuées sur un
corpus de comptes rendus médicaux pour évaluer cette approche et la comparer avec
d’autres algorithmes comme le bayésien naïf et les k plus proches voisins. Les résultats
obtenus montrent que LATTICE-CELL améliore la performance du système tout en
réduisant le temps de catégorisation.
Dans le domaine de la production industrielle, nous trouvons le travail de
(Deddouche, et al., 2011). L’objectif des auteurs est de modéliser par la machine
cellulaire le processus d’ordonnancement réactif pour l’allocation des ressources aux
tâches en temps réel.

La machine cellulaire est utilisée comme un algorithme d’induction symbolique dans


le travail de (Abdiche, et al., 2009). Les auteurs ont abordé la fouille de données spatiale
pour l’analyse des accidents de la route. Le graphe d’induction cellulaire engendré par
l’automate CASI est un modèle booléen qui permettra de voir de plus prêt les relations
entre l’accident est son environnement ainsi que les éléments responsables de ce dernier.

La machine cellulaire CASI est aussi abordée dans le domaine de Knowledge


management. Les auteurs (Brahami, et al., 2009) ont pu transformer une cartographie des
domaines de connaissances stratégiques et métiers en un modèle booléen ce qui va leur
permettre de réduire la complexité de stockage.

5.3 Architecture du système SPAMAUT


Dans cette section, nous allons présenter la contribution de la machine cellulaire
CASI dans le domaine du filtrage de spam. Ce travail qui a démarré en 2010 avec la
Détection de Spam avec CASI 63

participation des ingénieurs PFE (Lasbihi, et al., 2010) a fait l’objet de plusieurs
communications (Barigou, et al., 2011a), (Barigou, et al., 2011b) (Barigou, et al., 2011c).

La Figure 5.2 suivante illustre l’architecture du système de détection de spam à base


de la machine cellulaire CASI, baptisé SPAMAUT (SPAM detection with cellular
AUTomaton).

L’architecture globale du système est constituée principalement des étapes suivantes :


1. Vectorisation des courriels
2. Apprentissage supervisé par SIPINA/CASI
3. Classification

VECTORISATION
Courriels Prétraitement Nouveau
linguistique Courriel
d’apprentissage

Sélection des
APPRENTISSAGE termes
CIE COG SIPINA
CV

Pondération des
termes

CelFact ; CelRule, RE , RS

Représentation
vectorielle
CLASSIFICATION

Spam ou légitime

Figure 5.2-Architecture de SPAMAUT

5.3.1 Vectorisation

Étant donné que les textes des courriels sont des données non structurées, il faut au
préalable déterminer les unités textuelles qui constitueront les entrées aux algorithmes
Détection de Spam avec CASI 64

d’apprentissage. Ils sont censés indiquer de quoi parlent les textes. Donc, pour pouvoir
appliquer les algorithmes d’apprentissage aux textes, la première étape consiste à obtenir
une représentation numérique de ces textes à la fois économique et significative. Le modèle
vectoriel (chapitre 2) est probablement l'approche la plus courante: on représente un texte
par un vecteur numérique obtenu par exemple, en comptant les éléments lexicaux les plus
pertinents (Salton, et al., 1975).

Le diagramme de flux de la Figure 5.3 illustre les différents traitements que


subissent les textes des courriels pour récupérer une représentation numérique exploitable
par un algorithme d’apprentissage.

Extraction des Sélection des Pondération


termes termes des des termes

Ensemble des Espace des Représentation


Corpus termes
termes original vectorielle
d’apprentissage

Figure 5.3-Diagramme de flux de l'étape vectorisation

L’ensemble des courriels (d’apprentissage) doit être prétraité pour extraire les termes qui
le représentent. A l’aide du module d’indexation, nous pouvons extraire une première liste
de termes en procédant au découpage du texte en mots, à l'élimination des mots vides,
comme nous pouvons aussi utiliser une variante de l’algorithme de Porter27 pour la
racinisation des différents mots retenus dans cette première phase.
Cet ensemble de termes est par la suite réduit, par le choix de l'une des trois mesures
implémentées dans SPAMAUT : le gain d’information (GI), l’information mutuelle (MI),
et la statistique de Chi-2( χ2). La sélection des termes est effectuée dans le but de choisir les
éléments les plus pertinents de tous les courriels. Le système calcule la mesure élue pour

27
http://tartarus.org/~martin/PorterStemmer/
Détection de Spam avec CASI 65

tous les termes, puis prend les K (seuil) premiers termes correspondant aux plus grandes
valeurs calculées. Ce processus de sélection est bien illustré dans la Figure 5.4 suivante :

Figure 5.4-Processus de sélection des termes


Détection de Spam avec CASI 66

A la fin de ces différents traitements, chaque courriel i est représenté par un vecteur
d i = ( wi1 , wi 2 , w ip ) de ℜp où chaque coordonnée wij représente la pondération du terme

t j dans le document di . On aura ainsi une matrice à deux dimensions dans laquelle les

lignes et les colonnes représentent respectivement les courriels et les termes de l'index.
Nous avons prévu trois types de pondération :

- une pondération binaire qui indique la présence (=1) ou l’absence (=0) du terme
dans le texte,

- une pondération fréquentielle, notée TF, indique la fréquence du terme dans le


texte,

- une pondération TFIDF.

La Figure 5.5 ci-dessous illustre bien l’ensemble des différents traitements que nous
avons prévus pour obtenir la représentation vectorielle à partir d’un ensemble de courriels :

- Tokenization ou segmentation du texte en un ensemble de mots (tokens)

- Élimination des mots vides

- Racinisation des mots

- Sélection des termes pertinents

- Pondération des termes


Détection de Spam avec CASI 67

Figure 5.5-Diagramme d’activités du processus de représentation des données textuelles


Détection de Spam avec CASI 68

5.3.2 Apprentissage par induction symbolique

Algorithme

Le processus d’apprentissage effectué par SPAMAUT est résumé dans l’algorithme 1


ci-dessous :

Algorithme 1 : Apprentissage

1. Transformation de la représentation vectorielle des


courriels d'apprentissage vers le format «arff» adopté par
la machine cellulaire.
2. Elaboration du modèle symbolique à base de graphe
d’induction (GInd) avec l’algorithme SIPINA.
3. Invocation du composant COG pour la construction cellulaire
du GInd
3.1 Génération des règles cellulaires
3.2 Représentation en couches cellulaires
3.3 Génération des matrices d’incidence d’entrée et de
sortie
4. Invocation du moteur d’inférence CIE :
Répéter
le modèle cellulaire passe de la configuration G(t) vers
la configuration G(t+1) en utilisant le chainage avant
avec les deux fonctions de transition δfact et δrule
jusqu’à stabilisation.
5. Sauvegarde du modèle généré.

Exemple illustratif

Un graphe d’induction

Pour illustrer le principe d’apprentissage avec la machine cellulaire CASI, nous


considérons le graphe d’induction de la Figure 5.6 où seulement les premières partitions
sont données.
Détection de Spam avec CASI 69

S0
1810 Non Spam
Partition P0
361 Spam

Partition P1 S2 : «free» =1
S1 : «free» =0
1693  Non Spam  117  Non Spam 

146  Spam 216   Spam

Partition P2
S3 : « linguistic»= 0 S4 : « linguistic» =1
Non Spam 
22   Non Spam 95
Spam 
 216     Spam 0

Partition P3 S5
1789 Non Spam 
146 Spam 

Figure 5.6 Extrait d'un graphe d'induction.

Ce graphe est constitué de quatre partitions :


- La première partition P0 est constituée d’un seul nœud S0 : c’est l’ensemble
d’apprentissage constitué de 1810 courriels légitimes et 361 spam.
- La deuxième partition est composée de deux nœuds; le nœud S1 qui rassemble tous
les courriels qui ne contiennent pas le mot « free » dans leurs textes et le nœud S2 qui lui
rassemble ceux qui contiennent le mot « free ».
- La troisième partition P2 est l’éclatement du nœud S2 en deux nœuds le premier (S3)
représente les courriels ne contenant pas le mot « linguistic » et le deuxième représente
ceux qui contiennent le mot « linguistic ».
- La dernière partition (P4) est une fusion des deux nœuds S1 et S4

Construction du modèle cellulaire

Les deux composants COG et CIE interviennent dans cette phase d’apprentissage
pour construire le modèle booléen qui va être utilisé dans le filtrage de spam. Cette
construction passe par les étapes suivantes :
Détection de Spam avec CASI 70

1. Génération des règles cellulaires : comme indiqué dans le tableau 5.1, un


ensemble de règles est généré à partir du graphe d’induction

Règle Si Prémisse Alors Conclusion


Règle 1 Si {S0} alors {«free» = 0, S1}
Règle 2 Si {S0} alors {«free» = 1, S2}
Règle 3 Si {S2} alors {«linguistic»=0, S3}
Règle 4 Si {S2} alors {«linguistic»=1, S4}
Règle 5 Si {S1, S4} alors {S5}

Tableau 5.1- Règles générées à partir du graphe d'induction de la Figure 5.6.

2. Représentation booléenne des règles générées : cet ensemble de règles est


représenté par : CelFact, CelRule, RE et RS dans l’automate cellulaire ceci constitue
la configuration initiale de l’automate. Notée G(0) (voir Tableau 5.2 etTableau 5.3)
Fait EF IF SF Règles ER IR SR
1 S0 1 0 0 1 R1 0 1 0
2 Free=0 0 1 0 2 R2 0 1 0
3 S1 0 0 0 3 R3 0 1 0
4 Free=1 0 1 0 4 R4 0 1 0
5 S2 0 0 0 5 R5 0 1 0
6 Linguistic=0 0 1 0 0 1 0
7 S3 0 0 0 0 1 0
8 Linguistic=1 0 0 0 0 1 0
9 S4 CelFact CelRule
Tableau 5.2-Configuration initiale de l'automate : contenu de CelFact et CelRule

RE R1 R2 R3 R4 R5 RS R1 R2 R3 R4 R5
S0 1 1 0 0 0 S0 0 0 0 0 0
Free=0 0 0 0 0 0 Free=0 1 0 0 0 0
S1 0 0 0 0 1 S1 1 0 0 0 0
Free=1 0 0 0 0 0 Free=1 0 1 0 0 0
S2 0 0 1 1 0 S2 0 1 0 0 0
Linguistic=0 0 0 0 0 0 Linguistic=0 0 0 1 0 0
S3 0 0 0 0 0 S3 0 0 1 0 0
Linguistic=1 0 0 0 0 0 Linguistic=1 0 0 0 1 0
S4 0 0 0 0 1 S4 0 0 0 1 0
S5 0 0 0 0 0 S5 0 0 0 0 1

Tableau 5.3- Configuration initiale : état des matrices d'incidence entrée/sortie


Détection de Spam avec CASI 71

3. Inférence : Une fois la configuration initiale créée, le chainage avant est lancé avec
les deux fonctions de transitions citées auparavant (§section 5.2.2). Le modèle ainsi
va passer de cette configuration vers d’autres nouvelles configurations G(1),
G(2),…,G(i). L’inférence s’achève après une stabilisation avec une configuration
finale. A ce niveau, la construction du modèle cellulaire est complète et nous
obtenons le modèle donné en Tableau 5.4.

Règles  ER IR  SR  RE    R1  R2  R3 


1 R1 0 1 0 free = 0 1 0 0
2 R2 0 1 0 free =1 0 1 1
3 R3 0 1 0 linguistic=0 0 1 0
CelRule linguistic=1 0 0 1
S3:class=spam 0 0 0
Faits EF IF SF S5:class=legitimate 0 0 0
free=0 0 1 0
free=1 0 1 0 RS    R1  R2  R3 
linguistic=0 0 1 0 free = 0 0 0 0
linguistic=1 0 1 0 free =1 0 0 0
S3:class=spam 0 1 0 linguistic=0 0 0 0
S5:class=legitimate 0 1 0 linguistic=1 0 0 0
CelFact S3: class=spam 0 1 0
S5:class=legitimate 1 0 1

Tableau 5.4-Modèle cellulaire correspondant au graphe d’induction de la Figure 5.6

L’ensemble des règles est modélisé par :


- Une base de faits, CelFact, contenant les prémisses et les conclusions de chaque
règle (ex. « free »=0, « free »=1, class=spam, …) ;

- Une base de règle, CelRule, contenant toutes les règles de classification

- Une matrice d’entrée, RE, mémorisant les prémisses de chaque règle.

- Une matrice de sortie, RS, mémorisant les conclusions des différentes règles.
Détection de Spam avec CASI 72

Dans cette exemple, nous avons 03 règles qui sont induites, par exemple, la règle R1
a comme prémisse « free=0» (voir première colonne de RE) et comme conclusion
« légitime » (voir première colonne de RS).

Ce modèle booléen ainsi construit nous offre deux avantages :

1. une mémoire de stockage réduite ; une fois ce modèle élaboré, nous n’avons plus
besoin de sauvegarder le graphe d’induction, celui-ci est représenté par les deux
couches CelFact, CelRule et les deux matrices d’incidence d’entrée/sortie qui sont
toutes booléennes et peuvent être représentées par des vecteurs de bits.

2. un temps de classification réduit : pour classifier un nouvel e-mail, nous allons


tout simplement lancer l’inférence cellulaire à l’aide des deux fonctions de
transitions δfact et δrule qui se basent sur des opérations booléennes (addition,
produit, négation) qui sont rapides en exécution.

5.3.3 Classification

Pour classifier les courriels, la machine cellulaire fait appel au module CIE qui
simule le fonctionnement du cycle de base d’un moteur d’inférence en utilisant come base
de connaissances le modèle élaboré depuis la phase d'apprentissage ; c’est la configuration
finale de CelFact, CelRule, RE et RS.

Nous résumons les principales étapes dans l’algorithme 2 et dans la Figure 5.7
suivants :

Algorithme 2 : classification

1. Transformation de la représentation vectorielle du


courriel de test vers le format « arff » adopté
par l’automate cellulaire.
2. Chargement du modèle booléen : CelFact28,
CelRule, RE, et RS

28
Le EF de chaque cellule est initialisé à 0: aucun fait n’est établit
Détection de Spam avec CASI 73

3. Initialisation de la base de faits


pour chaque terme t dans CelFact faire
si t est présent dans le courriel alors EF de
la cellule t=1 reçoit 1
sinon le EF de la cellule t=0 reçoit 1
fin pour
4. Lancement de l’inférence booléenne avec CIE
5. Si EF de la cellule (class=spam) vaut 1 alors le
courriel est un spam
6. Sinon, si EF de la cellule (class=legitimate) vaut
1 alors le courriel n’est pas un spam

Figure 5.7-Processus de classification d’un nouvel e-mail


Détection de Spam avec CASI 74

5.4 Synthèse sur le système SPAMAUT


Dans cette première partie de notre projet, nous avons présenté une nouvelle approche
pour la détection de spam (SPAMAUT). La méthode proposée s’appuie sur l’induction
symbolique par machine cellulaire CASI. Elle procède par construction d’un modèle
booléen composé de deux couches finies d’automates finis (CelFact et CelRule) où le
voisinage est représenté par deux matrices d’incidence d’entrée (RE) et de sortie (RS).
L’inférence, pour le filtrage de spam, est assurée par deux fonctions de transitions (δfact et
δrule).

Dans nos premières expériences (§chapitre 6), nous avons tout d’abord, essayé
d’examiner l’impact de diverses méthodes de sélection de termes, ainsi que le traitement
linguistique des mots comme la racinisation, l’élimination des mots vides et la pondération
des termes sur la performance de cette méthode. Nous avons donc entrepris une
comparaison expérimentale en testant plusieurs configurations. Nos premières évaluations
indiquent que l’approche proposée est intéressante et encourageante. Les résultats
expérimentaux ont permis d’observer que la qualité de prédiction est meilleure avec la
configuration suivante :

- racinisation des termes,


- élimination de mots vides et
- sélection des termes avec la mesure GI.
Le système SPAMAUT est aussi comparé à deux autres classifieurs publiés dans
(Androutsopoulos et al, 2000b) à savoir, NB et K-ppv. Les expériences permettent
d’apprécier la qualité de classification de SPAMAUT.

L’analyse de SPAMAUT a permis aussi de constater que les termes retenus par le
système dépendent de la méthode de sélection utilisée. Nous avons créé plusieurs versions
de SPAMAUT, où chacune d’elles utilise un ensemble de termes différent. Ces versions ont
donné des résultats de classification différents.
Détection de Spam avec CASI 75

Nous avons constaté, que les trois méthodes de sélection utilisées, ne peuvent pas
satisfaire entièrement les exigences de cette tâche de détection de spam:

• D’après les résultats obtenus nous remarquons que la qualité de détection est
meilleure lorsque la sélection d’attributs est effectuée par les méthodes MI et Chi-2.

• Par contre la couverture du système est nettement meilleure dans le cas d’utilisation
de la méthode GI. Elle est moyenne dans le cas de MI, et médiocre dans le cas de
Chi-2.

Or, nous voulons un système qui détecte les spam avec les plus petits taux de faux
positifs29 et faux négatifs30. Le problème que nous posons maintenant, est comment
améliorer les performances de ce système cellulaire SPAMAUT?

En se basant sur les remarques que nous avons évoquées ci-dessus, nous avons
envisagé, de combiner les décisions des trois différentes versions de SPAMAUT avec le
classifieur bayésien pour bénéficier de leur avantage en précision et en couverture.

5.5 Combinaison de classifieurs : 3CA&1NB


Dans le but d’accroître l’efficacité du système SPAMAUT, en réduisant au
maximum le taux des faux positifs et négatifs, nous avons proposer dans cette deuxième
partie de notre projet de combiner trois versions différentes de SPAMAUT (Barigou, et al.,
2012a), en variant la fonction de sélection des termes, avec le naif bayésien comme
quatrième classifieur. Nous avons nommé cette combinaison «3CA&1NB» (three Cellular
Automata combined with one Naive Bayes).

29
Un courriel légitime classé comme spam
30
Un spam classifié comme légitime
Détection de Spam avec CASI 76

5.5.1 Architecture du système de combinaison

La figure suivante illustre le principe de l’approche de combinaison proposée dans


cette étude.

Courriels
d’apprentissage

Extraire Ensemble
Attributs d’attributs

Extraire S/ensemble 1 Extraire S/ensemble 2 Extraire S/ensemble 3 Extraire S/ensemble 4


Avec IG Avec X2 Avec MI Avec IG
construire
classifieur
SPAMAUT-1 SPAMAUT-2 SPAMAUT-3 Naive Bayes

Classifier nouveau
courriel avec chaque
Vote classifieur individuel

Class Décision de chaque


classifieur

Figure 5.8-Architecture du système 3CA&1NB.

L'approche proposée appelé 3CA&1NB (Voir Figure 5.8) utilise trois classifieurs
SPAMAUT, où chacun d’eux est entraîné avec un sous-ensemble de termes. Ces sous-
ensembles sont sélectionnés avec trois fonctions de sélection de caractéristiques (Yang, et
al., 1997): le gain informationnel (GI), l'information mutuelle, et le Chi-2. Ces classifieurs
sont combinés avec le classifieur NB entrainé avec un sous-ensemble de termes sélectionné
avec la mesure GI.

Dans notre travail, nous avons expérimenté une approche pour combiner les
décisions de ces quatre classifieurs :
Détection de Spam avec CASI 77

Le vote majoritaire : un e-mail est considéré comme un spam si la majorité des


classifieurs (SPAMAUT-1, SPAMAUT-2, SPAMAUT-3 et NB) ou au moins deux
classifieurs le considèrent comme un spam.

5.6 Conclusion
Dans ce chapitre, nous avons présenté dans un premier temps, une nouvelle
approche pour la détection de spam (SPAMAUT). La méthode proposée s’appuie sur
l’induction symbolique par automate cellulaire CASI. Elle procède par la construction d’un
modèle booléen composé de deux couches finies d’automates finis (CelFact et CelRule) où
le voisinage est représenté par deux matrices d’incidence d’entrée (RE) et de sortie (RS).
L’inférence, pour le filtrage de spam, est assurée par deux fonctions de transitions (δfact et
δrule).

Et dans un deuxième temps, nous avons discuté les motivations qui nous ont
orientées vers la combinaison de classifieurs. Nous avons décidé de construire trois
versions de SPAMAUT et les combiner avec NB (3CA&1NB). Pour assurer la diversité,
nous avons :

- Varier l’ensemble des attributs pour chaque version : chaque version fait son
apprentissage sur un sous ensemble de termes sélectionnés par l’une des
fonctions de sélection MI, GI et chi-2.

- Varier les types de classifieurs : nous avons combiné ces trois modèles avec le
Bayésien naïf en utilisant le vote majoritaire.

Le chapitre qui suit sera consacré à l’étude expérimentale et l’analyse des résultats
obtenus avec SPAMAUT et 3CA&1NB.
     

6
Étude expérimentale

Ce chapitre reprend et complète une partie des travaux déjà publié dans le cadre de
ce mémoire de magister (Barigou, et al., 2011b) (Barigou, et al., 2011c), (Barigou, et al.,
2012a), (Barigou, et al., 2012b), (Barigou, et al., 2012-c).

Sont présentés les principaux résultats des expériences des deux systèmes
SPAMAUT et 3CA&1NB sur le corpus LingSpam. Dans un premier temps, une brève
introduction sur le corpus et les principales mesures utilisées dans la validation des
systèmes sera présentée (§ 6.1), tandis que la section 6.2 s’intéresse à étudier et analyser
l’effet de la racinisation, la sélection des termes et la pondération des termes sur la
performance du système SPAMAUT. Dans la section 6.3, nous présentons les résultats des
expériences obtenus avec 3CA&1NB et nous les comparons avec ceux de SPAMAUT. La
dernière section fera la synthèse de l’étude présentée.

6.1 Corpus et mesures d’évaluation


Afin de tester les performances de la méthode cellulaire décrite dans le chapitre 5,
certains corpus de spam et de courriels légitimes devaient être utilisés, il ya plusieurs
collections de courriels accessibles au public pour être utilisées par les chercheurs.
LingSpam31 est l’un des corpus qui a été largement utilisé par les chercheurs et il continue à

31
http://csmining.org/index.php/ling-spam-datasets.html
Étude Expérimentale 79

l’être malgré son ancienneté (Santos, et al., 2012). Nous avons choisi d’utiliser ce corpus
pour cette étude expérimentale.

LingSpam contient 2893 courriels dont 2412 sont des messages légitimes et le reste
sont des spam. Nous avons entamé plusieurs expériences sur ce corpus. Et en nous
appuyant sur la validation croisée, et en suivant les travaux effectués dans ce domaine nous
mesurons alors plusieurs indicateurs d’évaluation de la classification (voir équations 1 à 7):
le rappel de la classe spam (R), la précision de la classe spam (P), la F-mesure de la classe
spam (F1), l’exactitude (E), le taux des vrais positifs (TVP), le taux des faux positifs (TFP)
et enfin le taux d’erreur global (Er).

Pour mesurer toutes ces métriques, nous devons tout d’abord calculer les valeurs
suivantes en utilisant le corpus de test comme illustré dans la figure ci-dessous (Figure 6.1):

- N(LL) : le nombre de courriels légitimes classifiés légitimes (Vrai négatifs);

- N(SS) : le nombre de courriels spam classifiés spam (Vrai positifs);

- N(LS) : le nombre de courriels légitimes classifiés spam (Faux Positifs) et

- N(SL) le nombre de courriels spam classifiés légitimes (Faux négatifs).

Nous avons alors les mesures suivantes :

N ( SS ) N ( SS )
P= [1], R= [2]
N ( SS ) + N ( LS ) N ( SS ) + N ( SL )

2× p× r N ( SS ) + N ( LL )
F1 = [3], E = [4]
p +r N ( SS ) + N ( LS ) + N ( LL ) + N ( SL )

N ( SS ) N ( LS )
TVP = [5], TFP = [6]
N ( SS ) + N ( SL ) N ( LS ) + N ( LL )

Er = 1 − E [7]
Étude Expérimentale 80

Figure 6.1-Évaluation de SPAMAUT.


Étude Expérimentale 81

6.2 Résultats expérimentaux du système SPAMAUT


Pour étudier et analyser l’effet de la racinisation, l’utilisation ou non d’une stop liste
et de la réduction des termes avec les métriques de sélection des termes (ajouter références)
MI, GI et CHI-2, nous avons mené plusieurs expériences en faisant varier :

- La représentation des courriels du corpus, l’unité linguistique peut être le mot tel
qu’il apparaît dans les textes des courriels ou bien sa racine, avec utilisation ou
non d’une stop liste.

- La pondération des termes peut être binaire ou fréquentielle (TF ou TFIDF),

- La mesure de sélection des termes,

- Le nombre de termes sélectionnés par une des trois métriques.

Dans le Tableau 6.1 suivant, nous résumons les paramètres de SPAMAUT.

Paramètre Valeur
Mots vides Liste de mots vides anglais
Analyse flexionnelle Racinisation avec l’algorithme de Porter
Sélection des termes GI ou MI, ou Chi-2
Espace de représentation 10..50 par pas de 10
et100…1000 par pas de 100
termes
Pondération Binaire, TF, TF-IDF
Algorithme Sipina/CASI
Tableau 6.1-Paramètres du système SPAMAUT

6.2.1 Impact du traitement linguistique

Pour étudier et analyser l'effet de la racinisation et la présence ou l’absence des mots


vides sur la performance de la classification, nous avons construit des index de termes
différents: avec racinisation des termes et sans racinisation et avec élimination de mots
vides ou sans élimination de mots vides. Sur ces index, nous avons mené plusieurs
expériences en faisant varier : la fonction de réduction des termes (GI, MI, CHI-2), et le
nombre de termes
Étude Expérimentale 82

A travers ces expériences, nous avons constaté que la qualité de prédiction devient
de plus en plus meilleure en termes de précision, rappel et exactitude à partir de 300 termes
lorsqu'il y a racinisation des mots et élimination des mots vides et ceci quelque soit le type
de pondération et la mesure de sélection utilisés. La performance du système atteint son
maximum lorsque le nombre de termes équivaut 500 (voir Figure 6.2, Figure 6.3)

Précision
0,99
0,98
0,97
0,96
0,95
0,94
0,93
0,92
600,..
10 20 30 40 50 100 200 300 400 500
1000
mot 0,948 0,965 0,977 0,977 0,977 0,977 0,974 0,974 0,974 0,974 0,974
mot+vide 0,941 0,965 0,965 0,965 0,965 0,965 0,971 0,971 0,971 0,971 0,971
racine 0,97 0,968 0,971 0,971 0,971 0,971 0,971 0,971 0,971 0,971 0,977
racine+vide 0,976 0,971 0,971 0,971 0,971 0,971 0,966 0,971 0,977 0,981 0,981

Figure 6.2-Impact de la racinisation et élimination des mots vides sur la précision.

Rappel
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
600..1
10 20 30 40 50 100 200 300 400 500
000
mot 0,801 0,801 0,801 0,801 0,801 0,801 0,801 0,801 0,801 0,801 0,801
mot+vide 0,845 0,839 0,839 0,839 0,839 0,839 0,839 0,839 0,839 0,839 0,839
racine 0,803 0,848 0,842 0,842 0,842 0,842 0,842 0,842 0,842 0,842 0,842
racine+vide 0,338 0,842 0,842 0,842 0,842 0,842 0,856 0,842 0,842 0,842 0,842

Figure 6.3-Impact de la racinisation et élimination de mots vides sur le rappel


Étude Expérimentale 83

Notes :
mot : sans racinisation et sans élimination de mots vides ;

mot+vide : sans racinisation avec élimination de mots vides,


racine : avec racinisation et sans élimination de mots vides,
racine+vide : avec racinisation et élimination de mots vides.
Les résultats des Figure 6.2 et Figure 6.3 sont obtenus avec une pondération binaire et
sélection des termes avec GI.

6.2.2 Impact de la fonction de sélection

Nous avons constaté que la mesure de sélection gain d’information (voir Figure 6.4)
amène à une qualité de prédiction meilleure que les deux autres en terme de rappel,
exactitude et F-mesure, alors que les deux autres sont meilleurs en précision (=100%).
Notez, aussi que le rappel est très faible avec CHI-2 car le nombre de faux négatifs est très
élevé ce qui a donné une F-mesure aussi faible. Nos résultats confirment ce qui a été déjà
prouvé en catégorisation de textes et que GI est parmi les meilleures fonctions de sélection.

1,2
GI MI Chi‐2
1

0,8

0,6

0,4

0,2

0
Précision Rappel Exactiude F‐mesure

Figure 6.4-Impact de la sélection des termes.

Note : les résultats de la Figure 6.4 sont obtenus avec la configuration : Racinisation,
élimination de mots vides et pondération binaire.
Étude Expérimentale 84

6.2.3 Impact de la pondération des termes

Les expériences ont permis aussi de vérifier que l’approche proposée se stabilise à
partir de 500 termes et amène à une qualité de prédiction intéressante et encourageante.
Comme illustré dans la Figure 6.5, la précision atteint son maximum (98,1%) dans le cas
d’une pondération binaire. Par contre le rappel, l’exactitude et la F-mesure sont meilleurs
avec la pondération TFIDF rappel = 99,6%, exactitude :=97,2%, F-mesure :=98,3%.

0,996
1
0,981 0,971 0,971 0,983
0,972
0,975 0,972
0,95
0,906
0,9 0,910 Binaire

0,853 TF
0,85
TFIDF
0,842
0,8

0,75
Précision Rappel Exactitude F‐Mesure

Figure 6.5-Impact de la pondération des termes.

Résultats obtenus avec la meilleure configuration : Racinisation + élimination de mots


vides + réduction avec la mesure Gain d’information.

6.2.4 Comparaison de SPAMAUT avec les algorithmes de WEKA

Présentation de WEKA

Weka (Waikato Environment for Knowledge Analysis) est un ensemble d’outils


permettant de manipuler et d’analyser des données implémentant la plupart des algorithmes
Étude Expérimentale 85

d’apprentissage automatique, entre autres, les arbres de décision et les réseaux de neurones.
Il est écrit en java, disponible sur le web32 , et s’appuie sur le livre de (Witten, et al., 2011).

Les algorithmes que nous avons utilisés dans cette expérience sont :

- les arbres de décision (J48)

- les réseaux bayésiens (BayesNet)

- les machines à vecteurs de support (SMO)

- l’algorithme bayésien (NB)

- les K-plus proches voisins (k=1, k=3)

Sur les Figure 6.76, Figure 6.87, Figure 6.98 et Figure 6.9 nous avons les résultats des
expériences effectués sur le corpus LingSpam selon la configuration suivante :

- Sélection des termes : gain informationnel


- Nombre de termes sélectionnés : 500
- Pondération des termes : binaire

Nous observons que dans l’ensemble, SPAMAUT est le plus performant par rapport
à la majorité des autres algorithmes. Les résultats de SPAMAUT en précision, rappel, F1-
mesure et exactitude sont les meilleurs bien que légèrement en dessous de ceux de SMO
dans le cas du rappel, F1-mesure et exactitude.

Notons que SPAMAUT est un système qui se base sur un modèle booléen
caractérisé par un temps d’exécution et un stockage mémoire réduit et une
compréhensibilité du modèle très élevée (génération des règles). Alors que SMO qui est
une version de SVM est couteux en temps d’apprentissage et sa compréhensibilité est faible
(§3.4).

32
www.cs.waikato.ac.nz/ml/weka
Étude Expérimentale 86

Précision
1,02
1 0,981
0,98
0,98
0,96
0,94
0,92
0,9
0,88
0,86

Figure 6.6- Comparaison de la précision de SPAMAUT avec celles des algorithmes de


WEKA

Rappel
1 0,947
0,9 0,842
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
NB BayesNet J48 SMO 1‐ppv 3‐ppv SPAMAUT

Figure 6.7-Comparaison du rappel de SPAMAUT avec ceux des algorithmes de WEKA.


Étude Expérimentale 87

F1‐mesure
1,20
0,96
1,00 0,91

0,80

0,60

0,40

0,20

0,00
NB BayesNet J48 SMO 1‐ppv 3‐ppv SPAMAUT

Figure 6.8-Comparaison de la F1-mesure de SPAMAUT avec celles des algorithmes de


WEKA.

Exactitude
1,00 0,99
0,98 0,97

0,96

0,94

0,92

0,90

0,88
NB BayesNet J48 SMO 1‐ppv 3‐ppv SPAMAUT

Figure 6.9-Comparaison de l'éxactitude de SPAMAUT avec celles des algorithmes de


WEKA.
Étude Expérimentale 88

6.2.5 Comparaison de SPAMAUT avec d’autres travaux similaires

Dans cette section nous incluons les résultats des expériences réalisées sur le corpus
LingSpam en utilisant deux représentations : binaire (SPAMAUT_1) et TFIDF
(SPAMAUT_2) et les meilleurs résultats publiés dans la littérature et utilisant le corpus
LingSpam (voir Tableau 6.2).

- Androutsopoulos et al. (Androutsopoulos, et al., 2000a) ont proposé un modèle


basé sur le classifieur Bayésien naïf. Les métriques d’évaluation d’efficacité ont
intégré des coûts différents aux erreurs de classement selon la classe (par
exemple une valeur de λ égale à 9 signifie que classer à tort un message légitime
comme spam est 9 fois pire que classifier un spam comme légitime)

- Sakkis et al. (Sakkis, et al., 2001) ont proposé une amélioration de l’approche
précédente de (Androutsopoulos, et al., 2000a) par l’utilisation d’une
combinaison à étage. Ils ont combiné un Bayésien naïf avec les k-plus proches
voisins étudiés dans (Androutsopoulos, et al., 2000b). Le paramètre k est la
taille du voisinage, le paramètre lambda (λ) détermine la rigueur du critère pour
classer un message comme un spam, et m est le nombre de termes utilisés pour
représenter les messages.

- Cormack et Lynam (Cormack, et al., 2007b) ont expérimenté plusieurs


implémentations comme SpamAssassin, Bogofilter, SpamProbe et CRM114
pour le filtrage de spam. Ils ont constaté que, globalement, ces outils ont été
incapables de classer les messages correctement.

- Schneider et al. (Schneider, 2003) ont conduit plusieurs expériences avec le


classifieur Naive Bayes. Ils ont utilisé deux modèles différents pour classifier
les messages. Le premier modèle, modèle de Bernouli, ne tient pas compte de la
fréquence des mots dans les messages par contre le deuxième modèle, modèle
multinomial, utilise cette fréquence dans ses calculs. Pour sélectionner les
Étude Expérimentale 89

meilleurs mots constituant le vocabulaire, ils ont expérimenté plusieurs


algorithmes de sélection.

Modèle Configuration E (%) TVP TFP


(Androutsopoulos, et al., 2000a) λ=1 96,93 0,83 0,08
λ=9 96,33 0,78 0,08
λ=999 94,19 0,65 0
(Sakkis, et al., 2001) K=3,λ=9,m=200 97,20 0,84 0,01
K=7,λ=1, m=300 84,89 0,90 0,16
K=3,λ=9, m=100 97,30 0,85 0,01
(Schneider, 2003) Bernoulli 98,00 0,89 0,01
mv-MI 98,86 0,96 0,01
mn-MI 98,06 0,93 0,01
dmn-MI 85,52 0,17 0,01
TF-MI 98,79 0,96 0,01
DTF-MI 98,48 0,95 0,01
(Cormack, et al., 2007b) SpamAssassin 84,10 0,04 0
BogoFilter 90,10 0,40 0
SpamProb 94,80 0,69 0
CRM 114 81,50 0,88 0,45
SPAMAUT_1 m=500, binaire 97,10 0,84 0,00
SPAMAUT_2 m=500, TFIDF 97,20 0,85 0,00

Tableau 6.2-Comparaison de SPAMAUT avec les meilleurs résultats publiés et utilisant le


corpus LingSpam.

Le tableau ci-dessus présente les résultats obtenus par le système SPAMAUT, ainsi
que ceux obtenus par (Androutsopoulos, et al., 2000a), (Sakkis, et al., 2001), (Schneider,
2003) et (Cormack, et al., 2007b).
L’exactitude et le taux des vrais positifs obtenus avec SPAMAUT sont intéressants,
ils sont meilleurs que ceux de référence, bien que légèrement en dessous de ceux de
(Schneider, 2003) et (Sakkis, et al., 2003) pour seulement certaines configurations. En
revanche, le taux des faux positifs est nettement meilleurs que ceux de référence.
Étude Expérimentale 90

Ces résultats nous permettent d’attester dans un premier temps le bon


fonctionnement du système SPAMAUT et dans un deuxième temps de le positionner par
rapport aux résultats existants dans la littérature et utilisant le même corpus.

6.3 Résultats expérimentaux du système 3CA&1NB


Nous évaluons le système 3CA&1NB qui combine trois versions du système
SPAMAUT et le classifieur NB sur le même corpus LingSpam. Dans le Tableau 6.3, nous
donnons les différents classifieurs avec leurs configurations. Ces classifieurs ont été utilisés
comme étant des membres de la combinaison.

Classifieur Mesure de Espace de SP SR


sélection représentation (%) (%)

NB IG 500 (binaire) 99,00 82,10

SPAMAUT-1 IG 500 (binaire) 98,10 84,20

SPAMAUT-2 χ2 200 (binaire) 100 3,30

SPAMAUT-3 MI 500 (binaire) 100 48,20

Tableau 6.3-les membres de 3CA&1NB et leurs configurations

La Figure 6.10 suivante illustre les résultats obtenus avec le classifieur 3CA&1NB à
côté de ceux cités ci-dessus (Tableau 6.3). Les résultats indiquent une amélioration des
performances en classifiant avec 3CA&1NB. Il est clair que ce système est plus performant
que les autres classifieurs individuels en exactitude et en F1-mesure.

Nous concluons que la combinaison proposée donne de meilleurs résultats que les
quatre classifieurs de base utilisés séparément. L'approche exploite les différences entre les
erreurs commises par les classifieurs individuels et améliore la performance globale.
Étude Expérimentale 91

Exactitude et F1-mesure (%) F1 A

120
96,9 97,1 97,96
100 89,8 90,62 90,7 93,54
83,8
80 61,4
60
40
20 4,9
0
NB SPAMUT-1 SPAMAUT- SPAMAUT- 3CA&1NB
2 3

Figure 6.10-Performance de classification des différents classifieurs

La Figure 6.11 qui suit présente le taux d’erreur pour chaque classifieur de base et le
système 3CA&1NB utilisant le vote majoritaire. Les résultats obtenus confirment l'intérêt
d'utiliser et de faire participer plusieurs classifieurs dans la décision. En effet, l'approche du
vote majoritaire utilisée dans 3CA&1NB donne de meilleurs résultats que SPAMAUT-1
qui est considéré comme le meilleure classifieur dans cette étude. Nous voyons clairement
la réduction du taux d'erreur global de 0,29 pour SPAMAUT-1 à 0,20 par le vote
majoritaire.

Taux d'erreur
1,8 1,59
1,6
1,4
1,2 0,99
1
0,8
0,6 0,37
0,4 0,29
0,204
0,2
0
SPAMAUT‐1 SPAMAUT‐2 SPAMAUT‐3 NB 3CA&1NB

Figure 6.11-Taux d'erreur obtenus par les différents classifieurs


Étude Expérimentale 92

6.3.1 Comparaison avec les algorithmes de WEKA

Nous avons fait appel à quelques algorithmes de combinaison de classifieurs de la


plateforme WEKA pour les comparer avec 3CA&1NB. Nous avons utilisé les algorithmes
suivant :

- RandomForest

- Bagging (J48)

- Adaboost(J48)

- Vote majoritaire (1-ppv, NB, J48)

Sur les Figure 6.12 et Figure 6.13, nous avons les résultats des expériences effectués sur
le corpus LingSpam selon la configuration suivante :

- Sélection des termes : gain informationnel

- Nombre de termes sélectionnés : 500

- Pondération des termes : binaire

Les résultats de ces différents algorithmes sont proches et 3CA&1NB est


légèrement en dessous du meilleur algorithme RandomForest.
Étude Expérimentale 93

1,2
0,988 0,945 0,976 0,986 0,982
1 0,895 0,917
0,812 0,892
0,789
0,8

0,6 P

0,4 R

0,2

0
Random Forest Bagging J48 Adaboost J48 VoteM(NB, 1‐ 3CA&1NB
ppv, J48)

Figure 6.12-Comparaison de la précision et du rappel de 3CA&1NB avec ceux des


algorithmes de combinaison de WEKA.

1,00 0,98 0,98 0,98


0,98 0,96 0,96
0,96 0,95
0,94 0,94
0,94
0,92
0,90 F1
0,87 0,88
0,88
E
0,86
0,84
0,82
0,80
Random Forest Bagging J48 Adaboost J48 VoteM(NB, 1‐ 3CA&1NB
ppv, J48)

Figure 6.13-Comparaison de F1mesure et l'exactitude de 3CA&1NB avec ceux des


algorithmes de combinaison de WEKA.
Étude Expérimentale 94

6.3.2 Comparaison avec des travaux publiés

Pour comparer ce système de classification avec d'autres techniques déjà publiées,


nous incluons dans le tableau suivant : les résultats des expériences effectuées sur le corpus
LingSpam avec trois autres classifieurs proposés dans la littérature:

- NB : nous incluons les meilleurs résultats déclarés par (Androutsopoulos, et al.,


2000b) pour l'approche bayésienne naïve. En utilisant une version lemmatisée
du corpus LingSpam et l’'information mutuelle comme mesure de sélection
d'attributs, ils constatent que NB fonctionne mieux avec un ensemble de termes
égale à 100.
- KNN: à partir du même papier (Androutsopoulos, et al., 2000b), nous incluons
les meilleurs résultats publiés pour une variante de l'algorithme des k-plus
proches voisins (TiMBL). Ils effectuent la sélection de termes sur la base de la
métrique IM, et obtiennent un résultat optimal avec un plus petit nombre de
termes (égale à 50) pour k = 1 et k = 2.
- Combinaison à étage: une approche développée par Sakkis et al. (Sakkis, et al.,
2001). Ils ont combiné un NB avec un k-plus proches voisins (k-NN).

Le Tableau 6.4 souligne davantage la performance de 3CA&1NB par rapport aux travaux
suscités. Les résultats indiquent une amélioration des performances avec 3CA&1NB. Bien
que le rappel soit légèrement en dessous de celui de Sakkis et al. (Sakkis, et al., 2001), il est
clair que l’exactitude, la précision et la F1-mesure sont supérieurs à ceux de référence.

P (%) R (%) F1 (%) E (%)


NB 99,02 82,35 89,92 96,93
TiMBL(1) 95,92 85,27 90,28 96,89
TiMBL(2) 97,1 83,19 89,61 96,75
Stacking 90,8 91,9 91,3 97,1
3CA&1NB 98,2 89,36 93,54 97,96

Tableau 6.4-Performance de classification de 3CA&1NB comparé avec d’autres travaux


publiés.
Étude Expérimentale 95

6.4 Discussion et conclusion


Dans ce chapitre, nous avons expérimenté une nouvelle approche de détection de
spam. La méthode que nous proposons s’appuie sur l’induction symbolique par machine
cellulaire CASI. Elle procède par construction d’un modèle booléen composé de deux
couches finies d’automates finis (CelFact et CelRule) où le voisinage est représenté par
deux matrices d’incidence d’entrée (RE) et de sortie (RS) et l’inférence, pour le filtrage de
spam, est assurée par deux fonctions de transitions (δfact et δrule ).

Nous avons illustré à la fois, les résultats des expériences menées avec le système de
détection SPAMAUT, ainsi que celui de 3AC&1NB, sur le même corpus LingSpam. Pour
cela, différents indicateurs d’évaluation de classification ont été mesurés : le rappel de la
classe spam (R), la précision de la classe spam (P), la F-mesure (F1), l’exactitude E, le taux
de vrais positifs (TVP), et le taux des faux positifs (TFP).

Dans nos premières expériences, nous avons tout d’abord, essayé d’examiner
l’impact des diverses méthodes de sélection de termes, ainsi que le traitement linguistique
des mots comme la racinisation, et la pondération des termes sur la performance de la
classification avec SPAMAUT. Nous avons donc entrepris une comparaison expérimentale
en testant plusieurs configurations. Nos premières évaluations indiquent que l’approche
proposée est intéressante et encourageante. Les résultats expérimentaux ont permis
d’observer que la qualité de prédiction est meilleure avec la configuration suivante :

- racinisation des termes,

- élimination de mots vides et

- sélection des termes avec la mesure GI.

Nous avons constaté aussi que la fonction de sélection GI amène à une meilleure qualité
de classification, en termes de rappel, exactitude, et F-mesure. Par contre, La précision
est meilleure avec les fonctions de sélection MI et Chi-2 mais le rappel est très faible
avec Chi-2.
Étude Expérimentale 96

La méthode proposée est comparée à d’autres travaux cités dans la littérature. Les
expériences permettent d’apprécier la qualité de classification de SPAMAUT.

En deuxième temps, les expériences menées avec le système 3AC&1NB, montrent


que les performances de classification se sont améliorées par rapport à la meilleure version
de SPAMAUT (SPAMAUT-1). Nous avons constaté une réduction du taux d'erreur global
de 0,29 pour SPAMAUT-1 à 0,20 par le vote majoritaire de 3CA&1NB. La comparaison de
ce système de combinaison avec ceux de référence et en particulier celui de (Sakkis, et al.,
2001) qui utilisent une combinaison à étage indique une supériorité de performance de
classification en termes d’exactitude, rappel et F1-mesure, alors que la précision est
légèrement en dessous.

D’après tous ce qui a été discuté, concernant les deux approches proposées :
SPAMAUT et 3CA&1NB, on peut conclure que :

- Le système SPAMAUT qui se base sur l’induction symbolique cellulaire peut


être considéré comme une nouvelle approche qui peut servir dans la détection
de spam.
- Le système 3CA&1NB est considéré comme une solution pour améliorer les
performances de classification du système SPAMAUT.
.
Conclusion Générale et
Perspectives

Le domaine de détection de spam a particulièrement progressé ces dix dernières


années, grâce à l’introduction des techniques héritées de l’apprentissage automatique qui
ont amélioré significativement le taux du filtrage de spam, par la progression de
classification des emails en spam et légitime.

Actuellement, les systèmes de catégorisation (classification) automatique ont attrapé


les performances des systèmes manuels qui nécessitaient des mois de développement en
faisant appel à des experts humains pour produire les règles de catégorisation. Mais, les
résultats restent dépendants du type de textes, du nombre de catégories, des paramètres
linguistiques, et des méthodes de classification utilisées.

À l’heure actuelle, les techniques de filtrage de spam à base d’apprentissage sont


loin d’être performants à 100%, car ces dernières traitent de la sémantique. Donc, il est très
important de continuer à progresser d’une part dans le domaine de traitement linguistique
de textes, afin d’arriver à une représentation textuelle manipulable par l’algorithme de
classification utilisé en gardant la sémantique du texte. Et d’autre part, utiliser des
Conclusion Générale 98

algorithmes de classification performants pour la classification des courriels. Les résultats


des travaux récents, dans la combinaison des classifieurs ont prouvé des améliorations au
niveau de performances de classification.

Récemment, Santos et al. (Santos, et al., 2012) ont examiné l'utilisation de la


sémantique dans le filtrage de spam en représentant des emails avec un nouveau modèle
vectoriel nommé eTVSM (enhanced Topic Vector Space Model). Le système eTVSM
utilise une ontologie pour représenter les différentes relations entre les termes et, de cette
manière, il offre un modèle plus riche qui est en mesure de représenter la synonymie,
l’homonymie et autres phénomènes linguistiques. Sur la base de cette représentation, ils
appliquent plusieurs classifieurs bien connus (NB, K-ppv, SVM et AD) sur le corpus
LingSpam et montrent que la méthode proposée permet de détecter la sémantique interne
des messages et que cette approche donne des pourcentages élevés de détection de spam,
tout en gardant le nombre de messages légitimes mal classés faible.

L’objectif de notre travail se dirigeait vers le développement d’une approche


d’apprentissage automatique sur le corpus d’apprentissage LingSpam, afin d’améliorer la
performance du système de filtrage SPAMAUT, par l’application de la combinaison de 3
versions de SPAMAUT, et une version du classifieur naïf de Bayes, que nous avons
baptisé : 3AC&1NB. Malgré les performances du nouveau système, il est intéressant de
continuer le travail sur un autre corpus tel que SpamAssassin, et appliquer une combinaison
avec d’autres classifieurs tels que : les machines à support vectoriel SVM, les réseaux de
neurones, etc.
Bibliographie
1. Abdiche, F., et B. Atmani. «Extraction de Règles de Classification à partir des
Données Spatiales.» Proceeding of the 2nd Conférence Internationale sur
l'informatique et ses Applications (CIIA'09). Saida, Algeria, 2009.
2. Agrawal, R., et R. Srikant. «Fast Algorithm for Mining Association Rules.»
Proceedings of the 20th VLDB Conference. 1994.
3. Androutsopoulos, I., G. Paliouras, V. Karkaletsis, G. Sakkis, et C. D. Spyropoulos.
«Learning to filter spam e-mail: a comparison of a naïve Bayesian and a
memorybased approach.» Proceedings of the Workshop on Machine Learning and
Textual Information Access. Lyon, France, 2000b.
4. Androutsopoulos, I., J. Koutsias, K. V. Chandrinos, et C. D. Spyropoulos. «An
Evaluation of Naive Bayesian Networks.» In Proceeding of of the Workshop on
Machine Learning in the New Information Age. Barcelona, Spain, 2000a. pp. 9-17.
5. Apte, C., F. Damerau, et S. Weiss. «Apprentissage automatique des règles de
décision pour la catégorisation de textes.» ACM Transactions on Information
Systems 12, n° 3 (1994): 233-351.
6. Atmani, B., et B. Beldjilali. «Knowledge Discovery in Database : Induction Graph
and Cellular Automaton.» Computing and Informatics Journal 26 (2007): 171-197.
7. Barigou, F., N. Barigou, et B. Atmani. «Combining Classifiers for spam detection.»
Édité par Springer-Verlag Berlin Heidelberg 2012. International Conference on
Networked Digital Technologies. Dubai, UAE, 2012-c. 78-89.
8. Barigou, F., N. Barigou, et B. Atmani. «Spam Detection System Combining Cellular
Automata and Naive Bayes Classifier.» The Fourth edition of the International
Conference on Web and Information Technologies (ICWIT'12). Sidi Bel Abbes,
Algeria, 2012b. 250-260.
9. Barigou, N., et F. Barigou. «A Boolean model for spam detection.» Proceedings of
the International Conference on Communication, Computing and Control
Applications,. Hammat, Tunisia, 2011b. 450-455.
100
10. Barigou, N., F. Barigou, B. Atmani et B. Beldjilali. «Un Automate Cellulaire pour la
détection de spam.» organisé à la 11ème conférence francophone "Extraction et
Gestion de Connaissances" EGC. Brest, France: Atelier "Data Mining, Applications,
Cas d'Etudes et Success Stories, 2011a. 25-28 .
11. Barigou, N., F. Barigou, et B. Atmani. «Filtrage de Spam par Apprentissage
supervisé.» 1ères Journées Doctorales du laboratoire d’Informatique d’Oran
(JDLIO’2011). Oran, 2011c.
12. Barigou, N., F. Barigou, et B. Atmani. «Voting Multiple Classifiers Decisions for
spam detection.» International Conference on Information Technology and e-
Services. ICITeS'2012. Sousse, Tunisia, 2012a.
13. Bayes, T. An Essay towards solving a Problem in the Doctrine of Chances. Vol. 53.
Philosophical Transactions of the Royal Society of London, 1763.
14. Béchet, N. «Extraction et regroupement de descripteurs morpho-syntaxiques pour
des processus de Fouille de Textes.» Thèse de doctorat, Université de MontPellier II,
2009.
15. Benfriha, H., F. Barigou, et B. Atmani. «Approche hybride pour la catégorisation des
comptes rendus hospitaliers.» 1st International Conference on Information Systems
and Technologies (ICIST'2011). Tebessa, Algeria, 2011.
16. Brahami, M., et B. Atmani. «Vers une cartographie des connaissances guidée par la
fouille des données.» Proceedings of the 2nd Conférence Internationale sur
l'informatique et ses Applications (CIIA'09) . Saida, Algeria, 2009.
17. Brun, A., K. Smaili, et J. P. Haton. «Nouvelle approche de la sélection de
vocabulaire pour la détection de thème.» TALN 2003, Batz-sur-Mer, Juin 2003.
18. Caropreso, M.F., S. S. Matwin, et F. Sebastiani. «A learner-independent evaluation
of the usefulness of statistical phrases for automated text categorization.» Édité par
G. Chin. Text Databases and Document Management: Theory and Practice (Idea
Group Publishing), 2001: 78–102.
19. Carreras, X., et L Marquez. «Boosting trees for anti-spam email filtering.»
Proceedings of RANLP-2001, 4th International Conference on Recent Advances in
Natural Language Processing. Bulgaria, 2001. 58-64.
101
20. Caruana, R., et A. Niculescu-Mizil. «An empirical comparison of supervised
learning algorithms.» Proceedings of the 23rd international conference on Machine
learning. 2006.
21. Ciltik, A., et T. Gungor. «Time-efficient spam e-mail filtering using n-gram
models.» Pattern Recognition Letters 29, n° 1 (2008): 19–33.
22. Clark, J., I. Koprinska, et J. Poon. «A neural network based approach to automated
e-mail classification.» Proceeding of the IEEE/WIC international conference on web
intelligence and Intelligent Agent Technology. Sidney university, Australia, 2003.
702-705.
23. Cohen, W. W., et Y. Singer. «Context-sensitive methods for text categorization.»
Proceedings of the 19th Annual International Conference on Research and
Development in Information Retrieval. 1996. 307-315.
24. Cormack, G. V., et T. R. Lynam. «Online supervised spam filter evaluation.» ACM
Transactions on Information System. 25, n° 3 (2007b).
25. Cornack, G., J. Hidalgo, et E. Sánz. «Spam filtering for short messages.»
Proceedings of the sixteenth ACM conference on Conference onConference on
information and knowledge management. New York, USA, 2007a. 313-320.
26. Cornuéjols, A., et L. Miclet. Apprentissage artificiel. Concepts et algorithmes.
Eyrolles, 2002.
27. Deddouche, Y., B. Atmani, et N. Aissani. «Contribution à l’ordonnancement réactif :
modélisation Booléenne.» Colloque sur l'optimisation et les systèmes d'informations,
COSI'2011. Guelma, Algeria, 2011. 421-433.
28. Delany, J. S., P. Cunningham, et L. Coyle. «An assessment of case based reasoning
for spam filtering.» Artificial Intelligence Review 26, n° 1-2 (2005): 75 -87.
29. Delany, S. J., et P. Cunningham. «An Analysis of Case-Based Editing in a Spam
Filtering System.» 7th European Conference on Case-Based Reasoning (ECCBR
2004). Springer, 2004. 128–141.
30. Denoyer, L. «Apprentissage et inférence statistique dans les bases de documents
structurés: application aux corpus de documents textuels.» Thèse de doctorat ,
Université de Paris 6, 2004.
102
31. Dhillon, I. S., et D. S. Modha. «Concept Decompositions for Large Sparse Text Data
Using Clustering.» Machine Learning 42, n° 1 (2001): 143-175.
32. Dietrich, T.G. «Ensemble methods in machine learning.» Édité par Kittler J. et F.
Roli. Proc. of 1st International Workshop on Multiple Classifier Systems. Springer
Verlag LNCS 1857, 2000. 1-15.
33. Drucker, H., V. Vapnik, et D. Wu. «Support vector machines for spam
categorization.» IEEE Transactions on Neural Networks 10, n° 5 (1999): 1048–
1054.
34. Dumais, S. T., J. Platt, D. Heckerman, et M. Sahami. «Inductive learning algorithms
and representations for text categorization.» 7th ACM International Conference on
Information and Knowledge Management. CIKM-98. 1998. 148–155.
35. Fdez-Riverola, F., E. Iglesias, F. Díaz, J. R. Méndez, et J. M. Corchado.
«SpamHunting: An instance-based reasoning system for spam labelling and
filtering.» Decision Support Systems 43, n° 3 (2007): 722–736.
36. Fernanda, C. M., S. Matwin, et F. Sebstiani. «Statistical Phrases in Automated Text
Catagorization.» Technical report, Centre national de la recherche scientifique, Paris,
France, 2000.
37. Fidelia, I. Fouiile de textes: méthodes, outils et applications. Édité par Edition
Lavoisier. Paris, 2007.
38. Fuhr, N., S. Hartmann, G. Knorz, et M. Schwantner. «AIR/X : a rule-based
multistage indexing system for large subject fields.» 1991. 606-623.
39. Fürnkranz, J. «A study using N-gram features for Text Categorization.» Technical
report OEFAI-TR-98-30, Austrian Research Institute for Artificial Intelligence,
Austria, 1998.
40. Gastellier-Prevost, S. Le spam. Avril 2009. http://www.techniques-ingenieur.fr/base-
documentaire/technologies-de-l-information-th9/securite-des-si-services-et-
applications-42315210/le-spam-h5450/ (accès le Janvier 2010).
41. Graham, P. A plan for spam. 2002. www.paulgraham.com/spam.html (accès le
Décembre 30, 2011).
103
42. Guzella, T. S., et W. N. Caminhas. «A review of machine learning approaches to
spam filtering.» Expert systems with applications 36(7) (2009): 10206-10222.
43. Harish, B S., D. S. Guru, et S. Manjunath. «Representation and classification of text
documents: a brief review.» IJCA Special Issue on “Recent Trends in Image
Processing and Pattern Recognition 2 (2010): 110-119.
44. Haykin, S. Neural networks: A comprehensive foundation. Prentice Hall. 1999.
45. He, J., et B. Thiesson. «Assymetric gradient boosting with application to spam
filtering.» In Proceeding of the fourth conference on email and anti-spam. 2007.
46. Herbrich, R. Learning Kernel Classifiers: Theory and Algorithms. Édité par
McGraw-Hill International Editions. Schoool of Coputer Science carnegie Melton
University: MIT Press, 2001.
47. Hsiao, W. F., et T. M. Chang. «An incremental cluster-based approach to spam
filtering.» Expert Systems with Applications 34, n° 3 (2008): 1599-1608.
48. Jalam, R., et O. Teytaut. «Identification de la langue et catégorisation de textes
basées sur les n-grammes.» Extraction de Connaissance et Apprentissage 1, n° 1-2
(2001): 227-238.
49. Joachims, T. «Text Categorization with Support Vector Machines: Learning with
Many Relevant Features.» Proceedings of the Tenth European Conference on
Machine Learning. Springer Verlag, 1998. 137-142.
50. Johannes, F., T. Mitchell, et E. Rilo. «A case Study in Using Linguistic Phrases for
Text Categorization on the WWW.» Proceeding of the 1st AAAI Workshop on
learning for text categorization. Madison, US, 1998. 5-12.
51. John, S. T., et N. Cristianini. «Kernel Methods for Pattern Analysis.» (Cambridge
University Press) 2004: 476.
52. Junker, M., et R. Hoch. «Evaluating OCR and Non-OCR Text Representations for
Learning Document Classifiers.» ICDAR'97: Proceeding of the 4th nternational
Conference on Document Analysis and Recognition. Washington, USA, 1997. 1060-
1066.
104
53. Kolcz, A., et J. Alspector. «SVM-based filtering of e-mail spam with content-
specific misclassification costs.» Proceedings of Workshop on text mining.
California, USA, 2001. 123-130.
54. Koprinska, I., J. Poon, J. Clarck, et J. Chan. «Learning to classify email.»
Information Sciences. 177, n° 10 (2007): 2167-2187.
55. Kuncheva, L. I. Combining pattern recognition, methods and algorithms. John
Wiley and Sons, 2004.
56. Langley, P., W. Iba, et K. Thomas. «An analysis of Bayesian classifiers.»
Proceedings of the Tenth National Conference of Artificial Intelligence. AAAI Press,
1992. 223-228.
57. Lasbihi, F., et M. Maaza. «Détection des courriels indésirables par machine
cellulaire.» Mémoire d'ingénieur, Département d'Informatique, Université d'Oran,
Oran, 2010.
58. Lewis, D. D. «Feature selection and feature extraction for text categorization.»
Proceedings of the Third Annual Symposium on Document Analysis and Information
Retrieval. SDAIR'94 . 1992.
59. Lewis, D. D., R. E. Schapire, J. P. Callan, et R. Papka. «Training algorithms for
linear text classifiers.» Proceedings of the 19th Annual International Conference on
Research and Development in Information Retrieval. 1996. 298-306.
60. Lewis, D. «Feature selection and feature extraction for text categorization.»
Proceedings of a Workshop on Speech and Natural Language. San Mateo, 1992.
212-217.
61. Lewis, D. «Representation and Learning in Information Retrieval.» Technical Report
UMCS-093, Department of Computer Science, University of Massachusetts,
Amherst, MA, 1991.
62. Lewis, D., et M. Ringuette. «Comparation of two learning algorithms for text
categorization.» Proceedings of the Third Annual Symposium on Document Analysis
and Information Retrieval. 1994.
105
63. Luo, X., et N. Zincir Heywood. «Comparison of a SOM based sequence analysis
system and naive Bayesian classifier for spam filtering.» Proceeding of the
international conference on neural networks. 2005. 2571-2576.
64. Manning, C., et H Shultze. Foundations of Statistical Natural Language Processing.
MIT. Press, Cambridge, MA. 1999.
65. Mansoul, A., et B. Atmani. «Fouille de données biologiques : vers une représentation
booléenne des règles d’association.» Proceedings of the 2nd Conférence
Internationale sur l'informatique et ses Applications (CIIA'09) . Saida, Algerie,
2009.
66. McCulloch, W., et W. Pitts. «A logical calculus of the ideas immanent in nervous
activity.» Bulletin of Math Biophysics, 1943: 115-133.
67. Medlock, B. «An adaptive, semi-structured language model approach to spam
filtering on a new corpus.» Proceedings of the3rd conference on email and anti-
spam. California,USA, 2006.
68. Miller, E., D. Shen, J. Liu J., et C. Nicholas. «Performance and Scalability of a
Large-Scale N-gram Based Information Retrieval System.» Digital Information 1,
n° 5 (1999).
69. Mitchell, M., et M. G. Hill. Machine Learning . McGraw-Hill International, 1997.
70. Moulinier, I., et J. G. Ganascia. «Applying an existing machine learning algorithm to
text categorization.» Connectionist, Statistical, and Symbolic Approaches to
Learning for Natural Language Processing (Springer-Verlag), 1996: 343–354.
71. Nucleus, Research. Nucleus research. 2007. http://nucleusresearch.com/news/press-
releases/nucleus-research-spam-costing-us-businesses-712-per-employee-each-year/
(accès le Février 2011).
72. Pantel, P., et D. Lin. «Spamcop : A spam classification and organization program,
learning for text categorization.» Technical Repport, 1998, 95-98.
73. Porter, M. F. An algorithm for sufix stripping. Édité par Morgan Kaufmann
Publishers. 1980.
74. Quinlan, J. R. «Induction of Decision Trees.» Machine Learning 1 (1986): 81-106.
106
75. Quinlan, R. «Programs for machine learning.» Édité par Morgan Kaufmann.
Machine Lerning, 1993: 302.
76. Rahmoun, A., et Z. Elberrichi. «Experimenting N-gram in Text Categorization.»
International Arab Journal of Information Technology 4, n° 4 (2007).
77. Rocchio, J. J. «The SMART Retrieval System: Experiments in Automatic Document
Processing.» Édité par Gerard Salton. Relevance Feedback In Information Retrieval,
1971: 313-323.
78. Rosenblatt, F. Principles of Neurodynamics-perceptrons and the theory of brain
mechanisms. Washington: Spartan Books, 1962.
79. Sahami, M., S. Dumais, D. Heckerman, et E. Horvitz. «A bayesian approach to
filtering junk email.» Proceedings of the Work. on Learning for Text Categorization.
Madison, USA, 1998.
80. Sakkis, G., I. Androutsopoulos, G. Paliouras, et V. Karkaletsis. «A memory based
approach to anti spam filtering for mailing lists.» Information Retrieval. 6, n° 1
(2003): 49-73.
81. Sakkis, I., G. Androutsopoulos, V. Paliouras, et C. Karkaletsis. «Stacking classifiers
for anti-spam filtering of e-mail.» Proceedings of 6th Conference on Empirical
Methods in Natural Language Processing, 2001: 44-50.
82. Saldarriaga, S. P. «Approches textuelles pour la catégorisation et la recherche de
documents manuscrits en-ligne.» Thèse de doctorat, Université de Nantes: École
Doctorale Sciences et Technologies de l'Information et de Mathématiques, 2010.
83. Salton, G. «Improving Retrieval Performance by Feedback.» Journal of the
American Society for Information Science 41, n° 1990 (1990): 288-297
84. Salton, G., A Wong, et C. S. Yang. «A vector space model for automatic indexing.»
ommunication of the ACM 18, n° 11 (1975): 613-620.
85. Santos, I., C. Laorden, B. Sanz, et P. G. Bringas. «Enhanced Topic-based Vector
Space Model for semantics-aware spam filtering. (eTVSM).» Expert Systems With
Applications 39, n° 1 (2012): 437-444.
86. Sanz, E.P., J.M. Hidalgo, et J.C. Perez. «Email spam filtering.» Édité par Zelkowitz
M. (Ed.). 2008. 45-114.
107
87. Schapire, R. E. «Theoretical views of boosting.» Proceedings of the Fourth
European Conference. 1999. 1-10.
88. Schapire, R. E., Y. Singer, et A. Singhal. «Singhal. Boosting and Rocchio Applied to
Text Filtering.» Proceedings of the 21st Annual International Conference on
Research and Development in Information Retrieval. 1998. 215-223.
89. Schmid, H. «Probabilistic Part-of-Speech Tagging Using Decision Trees.»
Proceedings of International Conference on New Methods in Language Processing.
Manchester, UK., 1994.
90. Schneider, K. M. «A comparison of event models for naive Bayes anti-spam email
filtering.» Proceeding of the 10th Conference of the European chapter of the
association for Computational Linguist. 2003.
91. Sculley, D., et G. M. Wachman. «Relaxed online SVMs for spam filtering.»
Proceedings of the 30th annual international ACM SIGIR conference on research
and developement in information retrieval. New York, NY, USA, 2007.
92. Sebastiani, F. «Machine learning in automated text categorization.» ACM Computing
Surveys 34, n° 1 (2002): 1-47.
93. Sebastiani, P. S. «Classification of text, automatic.» The Encyclopedia of Language
and Linguistics, 2006: 457-462.
94. Segal, R., T. Markowitz, et W. Arnold. «Fast uncertainty sampling for labeling large
e-mail corpora.» Proceedings of the third conference on email and anti-spam. 2006.
95. Shannon, C. E. «A mathematical theory of communication .» Bell system technical
journal, 1948.
96. Shih, D. H., H. S. Chiang, et B. Lin. «Collaborative spam filtering with
heterogeneous agents.» Expert Systems with Applications 34, n° 4 (2008): 1555–
1566.
97. Subramaniam, T., H. Jalab, et A. Y. Taga. «Overview of textual anti-spam filtering
techniques.» International journal of the physical sciences 5(12) (2010): 1869-1882.
98. Thompson, P. «Automatic categorization of case law.» 8th International Conference
on Artificial Intelligence & Law. 2001. 70-77.
108
99. Tzeras, K., et S. Hartmann. «Automatic indexing based on Bayesian inference
networks.» 16th ACM International Conference on Research and Development in
Information Retrieval. 1993. 22-34.
100.Tzortzis, G.,, et , A. Likas. «Deep belief networks for spam filtering.» Proceeding of
the IEEE international conference on tools with artificial intelligence. 2007.
101.Upasana, P. U., et S. Chakraverty. «a review of text classification approaches for e-
mail management.» International journal of engineering technologies 3(2) (2011):
137-144.
102.Valentini, G., et F. Masuli. «Ensembles of Learning Machines.» Édité par M.
Marinaro R.Tagliaferri. Lecture Notes in Computer Sciences. Neural Nets WIRN
Vietri-2002, Springer-Verlag LNCS,, 2002. 3-19.
103.Vapnik, V. « Support vector machines, reproducing kernel hilbert spaces and the
gacv.» Édité par John Wiley and Sons. Proceedings of the 1997 NIPS Workshop on
Support Vector Machines. New York: MIT Press, 1998.
104.Veloso, A., et W. Meira. «Lazy associative classification for content-based spam
detection.» Proceeding of the 4th Latin American web congress. Cholula, Mexico,
2006.
105.Vinot, R., N. Grabar, et M. Valette. «Application d’algorithmes de classification
automatique pour la détection des contenus racistes sur l’Internet.» Proceedings of
TALN 2003. 2003.
106.Wang, B.,, , G. J. F. Jones, et W. Pan. «Using online linear classifiers to filter spam
emails.» Pattern Analysis and Applications. 9, n° 4 (2006): 339–351.
107.Wei, C. P., H. C. Chen, et T. H. Cheng. «Effective spam filtering: A single class
learning and ensemble approach.» Decision Support Systems. 45, n° 3 (2008): 491-
503.
108.Weiner, D. E., J. O. Pedersen, et A. S. Weigend. «A neural network approach to
topic spotting.» 4th Annual Symposium on Document Analysis and Information
Retrieva. SDAIR 24 (1995): 317–332.
109.Weiss, S. M., N. Indurkhya, T. Zhang, et F. Damerau. Text Mining: Predictive
Méthods for analyzing unstructured information. Springer, 2005.
109
110.Witten, L. H., E. Frank, et M. Hall. Data Mining, pratical machine learning tools
and technologies with java implementations. Third edition. Édité par Kauffman
Morgan. 2011.
111.Yang, Y. «An evaluation of statistical approaches to text categorization.»
information retrieval 1, n° 1-2 (1999): 67-88.
112.Yang, Y., et J. Pedersen. «A comparative study on feature selection in text
categorization.» Proceedings of ICML-97, 14th International Conference on
Machine Learning. 1997. 412-420.
113.Zighed. Graphe d’induction: Apprentissage et data mining. Hemès, 2000.
114.Zouari, H., L. Heutte, Y. Lecourtier, et A. Alimi. «Un panorama des méthodes de
combinaison de classifieurs en reconnaissance de formes.» 13ème Congrès
Francophone AFRIF-AFIA de Reconnaissance des Formes et d’Intelligence
Artificielle. 2002. 499-508.
Résumé
Le Courrier électronique rend vraiment service aux usagers, c’est un moyen rapide et
économique pour échanger des informations. Cependant, les utilisateurs se retrouvent assez
vite submergés de quantités de messages indésirables appelé aussi spam. En effet, le spam est
rapidement devenu un problème majeur sur Internet. Pour faire face à cette charge croissante
de ce type de courriels, plusieurs techniques de détection de spam ont vu le jour. Dans ce
mémoire, nous nous intéressons aux techniques à base d’apprentissage automatique. Dans un
premier temps, nous étudions une nouvelle approche d’induction symbolique à base
d’automate cellulaire dans le domaine du filtrage de spam nommée SPAMAUT. Point de vu
méthodologique, nous explorons toutes les phases du processus à savoir, le prétraitement
linguistique et la sélection des attributs pour la représentation numérique des données
textuelles, l’apprentissage supervisé pour la construction d’un classifieur de détection de
spam. Nous examinons, par des expériences sur le corpus LingSpam, l’impact de la
racinisation, la pondération des termes et la sélection des termes sur la performance de
SPAMAUT. Dans un deuxième temps, et pour améliorer les performances du système
SPAMAUT, nous proposons une combinaison parallèle de plusieurs versions de SPAMAUT
avec le classifieur Bayésien naïf que nous nommons 3CA&1NB. La diversité entre ces
différents classifieurs est assurée par l’utilisation (a) des sous-ensembles de termes
d’apprentissage différents et (b) des algorithmes d’apprentissage différents. La combinaison
proposée utilise trois SPAMAUT différents, chacun d’eux est entraîné avec un sous-ensemble
de termes différents. Par un vote, Les décisions de ces trois systèmes sont combinées avec
celle du classifieur NB pour classifier un nouveau courriel. Les expériences indiquent une
amélioration de la qualité de prédiction par rapport à SPAMAUT. Et enfin, dans un troisième
temps nous comparons nos meilleurs résultats obtenus avec SPAMAUT et 3CA&1NB avec
ceux publiés dans la littérature.

Mots-clés :
Catégorisation de textes; Représentation vectorielle des données textuelles; Sélection des
attributs; Apprentissage automatique; Apprentissage supervisé; Automate cellulaire;
Combinaison de classifieurs; Filtrage des spam; Combinaison des classifieurs par vote;
Machine cellulaire pour le filtrage.

Vous aimerez peut-être aussi