• Aucun résultat trouvé

Mod`ele fonctionnel et contexte de simulation

spam, des messages en provenance de pi`eges `a spam et, pour la classe hams, des messages en provenance de listes publiques de discussion ou de nouvelles, mais il n’est pas certain que ces ensembles de messages correspondent `a des flots r´eels. De fa¸con `a pouvoir positionner nos r´esul- tats nous avons aussi utilis´e des ensembles de messages, constitu´es selon les mˆemes m´ethodes de ces ´evaluations, et effectu´e les exp´erimentations `a la fois sur des ensembles r´eels et synth´etiques. Cette comparaison n’est pas absolue, mais c’est la seule fa¸con disponible de positionner notre mod`ele par rapport aux filtres de messages disponibles. Accessoirement, nous allons identifier des points qui font que l’utilisation d’ensembles synth´etiques pour l’´evaluation de classificateurs fond´es sur l’apprentissage est hautement d´econseill´ee.

En ce qui concerne les indicateurs op´erationnels de classement, nous nous int´eressons `a la qualit´e de classement, exprim´ee par des taux d’erreur global et sp´ecifique par classe, et aux cons´equences de param`etres nuisibles tels le retard dans la boucle ou le niveau de bruit (qui repr´esente les erreurs d’appr´eciation, par les destinataires). D’autres param`etres int´eressants sont la complexit´e du classificateur `a la fin de l’exp´erimentation, repr´esent´ee par le nombre d’attributs, et le nombre de messages retenus pour l’apprentissage.

11.3

Mod`ele fonctionnel et contexte de simulation

Classificateur Destinataire Paramètres Bruit Retard Message + (Score + Requête)

Référence Message + Étiquette

Fig. 11.1: Mod`ele fonctionnel utilis´e pour la simulation de classement en ligne de messages ´electroniques avec apprentissage actif.

L’´etude pr´esent´ee ici est bas´ee sur le mod`ele fonctionnel de la Figure 11.1, que nous avons simul´e `a l’aide d’un simulateur `a ´ev´enements discrets.

Les corpus utilis´es (d´ecrits plus loin) sont constitu´es de messages ´etiquet´es avec la classe d’appartenance et la date, r´eelle, de leur arriv´ee.

La simulation de l’op´eration en ligne du classificateur est coordonn´ee par un ordonnanceur, qui scrute une pile d’´ev´enements tri´es par ordre chronologique et soumet chaque ´ev´enement au module concern´e. Les ´ev´enements sont de deux types : l’arriv´ee d’un message (´ev´enement classe- ment ) et le retour d’une information de classe associ´e `a un message (´ev´enement apprentissage). Les ´ev´enements du premier type sont des ´ev´enements externes impos´es au simulateur, tandis que ceux du deuxi`eme type r´esultent du fonctionnement mˆeme du simulateur.

11.3.1

Les modules du simulateur

Le simulateur a deux modules qui correspondent `a des composants r´eels : le classifica- teur et le destinataire des messages, deux modules auxiliaires (Retard et Bruit) et un module d’ordonnancement dont d´epend le fonctionnement du simulateur lui-mˆeme.

Chapitre 11. Exp´erimentations de classement avec apprentissage actif en ligne Le module Ordonnanceur - qui n’apparaˆıt pas dans ce sch´ema, est charg´e de la gestion de la simulation et de la communication entre les modules. Il scrute la pile d’´ev´enements dans l’ordre chronologique et soumet des tˆaches `a chaque module selon l’´ev´enement `a traiter ou le r´esultat du traitement effectu´e par les modules.

Le processus entier de simulation est d´eclench´e par une suite d’´ev´enements, lus par l’ordon- nanceur `a partir d’un fichier, et qui correspondent `a l’arriv´ee des messages. Ce fichier a le format suivant :

1249233003 spam joe-work/joe-spam/S-0908/msg.0019947 1249233004 ham joe-work/joe-ham/H-0908/msg.0000110 1249233004 spam joe-work/joe-spam/S-0908/msg.0000958 1249233603 spam joe-work/joe-spam/S-0908/msg.0000959

o`u la premi`ere colonne correspond `a la date d’arriv´e du message (seconds depuis Unix epoch : 1er/janvier/1970 00h00m00s), la deuxi`eme colonne contient l’´etiquette du message (information qui n’est utilis´ee que par le destinataire) et la derni`ere colonne contient le chemin du fichier avec le message `a traiter.

Le Classificateur - est bas´e sur un algorithme discriminant lin´eaire - SDLC (voir description d´etaill´ee dans le Chapitre 9) - et fonctionne en deux modes : classement et apprentissage.

Le mode classement est d´eclench´e par un ´ev´enement d’arriv´ee d’un message. Le classificateur examine le message et lui attribue un score : le produit interne de la repr´esentation du message et le vecteur de param`etres du classificateur. La valeur neutre du score (0) est utilis´ee comme seuil (trivial) de classement : au dessus de cette valeur la classe spam est attribu´ee au message et au dessous c’est la classe ham. Ce score correspond, en principe, au logit de la probabilit´e que le message en cours appartienne `a classe spam. Le score en ´echelle de probabilit´e [0, 1] est aussi disponible.

L’apprentissage actif (voir description d´etaill´ee dans la Section 5.4.3 et Chapitre 9) impl´e- ment´e dans le simulateur est bas´e sur la marge de classement d´efinie, par :

marge =|score − 0.5| (11.1)

et qui est un indicateur de l’incertitude de classement. Si la marge est inf´erieure `a une valeur pr´ed´efinie : le seuil de requˆete, le classificateur active un drapeau, transmis au destinataire avec le message lui indiquant que le classificateur souhaite connaˆıtre le classement correct du message.

`

A noter que si le seuil est ´egal `a 0.5 (valeur maximale), alors tous les messages sont int´egr´es dans le processus d’apprentissage, ce qui correspond `a la situation d’apprentissage supervis´e. La valeur extrˆeme oppos´ee - seuil nul - correspond `a la situation o`u le classificateur n’est jamais mis `a jour.

Le mode apprentissage est d´eclench´e lorsque le destinataire retourne la bonne ´etiquette as- soci´ee `a un message. Le classificateur ´evalue, `a nouveau le score et la marge - ceci est n´ecessaire puisque le classificateur a pu ˆetre mis `a jour apr`es le premier passage du message. Si la nouvelle marge est inf´erieure au seuil de requˆete, le classificateur adapte les corrige param`etres de l’algo- rithme de classement, selon la m´ethode d´ecrite dans le Chapitre 9 et Annexe C (approximation stochastique). La vitesse d’apprentissage suit la r`egle :

ηi=

1− η

i + η∞, i > 0, 0≤ η∞< 1 (11.2) La valeur asymptotique de ηine doit pas ˆetre nulle, de fa¸con `a ce que le classificateur puisse

s’adapter aux changements dans le flot et d´efini ”l’inertie” du classificateur. Dans des exp´eri- mentations pr´eliminaires nous n’avons pas trouv´e des diff´erences significatives pour des valeurs asymptotiques dans l’intervalle [0.001, 0.004]. En dehors de cette plage, les valeurs plus hautes rendant le classificateur trop sensible au bruit et les valeurs plus basses font qu’il ne r´eagit pas as- sez vite aux changements. Dans l’ensemble de ces exp´erimentations, nous avons fix´e η∞= 0.002.

Cette valeur est compatible avec la ”thumb rule” indiqu´ee par Benveniste et all [18, p. 150] : autour de un milli`eme.

11.3. Mod`ele fonctionnel et contexte de simulation

Corpus Classe Nombre Description

JM-H Ham 86858 Les messages l´egitimes re¸cus par l’auteur JM-S Spam 379210 Les spams re¸cus par l’auteur

SB-S Spam 486142 Les spams re¸cus dans un pi`ege `a spam, g´er´e par l’auteur, dans un sous-domaine de ensmp.fr

BG-S Spam 1219031 Les spams re¸cus dans un pi`ege `a spam g´er´e par Bruce Guen- ter, et disponible `a http://untroubled.org/spam/

SYNT-H Ham 196112 Un corpus synth´etique constitu´e de messages en provenance des archives publiques d’environ 200 listes de diffusion (en fran¸cais et en anglais) ainsi que des abonnements `a des ser- vices de nouvelles scientifiques ou d’actualit´es (ACM, Science Direct, CNN, CBS, Foxnews, NewYork Times, ...)

Tab. 11.1: Ensembles de messages utilis´es dans les exp´erimentations. Les ensembles JM-H et JM-S sont constitu´es avec des messages envoy´es `a des personnes r´eelles. Les autres ensembles sont des ensembles ”synth´etiques” constitu´es, selon la cat´egorie, par des messages envoy´es `a des pi`eges `a spam ou des messages distribu´es par des listes de diffusion.

Le Destinataire - joue un rˆole trivial : si le drapeau de demande de classement correct est actif ou si le classement du message est erron´e, alors il retourne le message vers le classificateur `a l’aide d’un ´ev´enement apprentissage.

Le module ”Retard” - est un artifice permettant de simuler le d´elai entre le moment o`u le classificateur a trait´e le message et le moment o`u le message a ´et´e lu par le destinataire. Dans le cas o`u le destinataire doit retourner une information de classement, un ´ev´enement correspondant est ajout´e `a la pile d’´ev´enements, pour la date ti+∆i. Deux types de retard ont ´et´e exp´eriment´es :

un retard constant et un retard al´eatoire de distribution exponentielle avec un seuil de 10 minutes. Dans la r´ealit´e, le retard doit suivre des lois plus complexes, en particulier d´ependre du moment de la journ´ee et du jour de la semaine. A notre connaissance, il n’y a pas de travaux publi´es sur ce sujet.

Le module ”Bruit” - , comme le module pr´ec´edent, permet de simuler les erreurs d’appr´ecia- tion du classement correct des messages, par le destinataire. Le passage par ce module fait que l’information de classe retourn´ee par le destinataire est invers´ee al´eatoirement selon une valeur g´en´er´ee al´eatoirement avec distribution de Bernouilli dont le param`etre est la probabilit´e d’erreur `a simuler. Il s’agit d’un bruit dit uniforme dans le sens o`u il est ind´ependant des caract´eristiques de chaque message.

11.3.2

Corpus de messages

Nous avons utilis´e les mˆemes corpus de messages d´ej`a utilis´es dans le Chapitre 10 : JM-H, JM-S, SB-S et BG-S. Les deux premiers correspondent aux messages des deux cat´egories re¸cus par une mˆeme personne, r´eelle, et `a un mˆeme endroit, tandis que les deux derniers, ce sont des messages envoy´es `a des pi`eges `a spam (Voir Table 11.1). Nous avons ajout´e un dernier ensemble de messages, SYNT-H, construit `a partir d’archives de listes de discussion publiques, dont la plupart typiques de la communaut´e d’enseignement sup´erieur et de recherche, et de listes de diffusion de nouvelles scientifiques ou actualit´es - ce sont des messages en fran¸cais et en anglais. Il s’agit, pour les cinq ensembles, de messages collect´es dans la p´eriode allant du mois de janvier 2009 `a aoˆut 2010.

Chapitre 11. Exp´erimentations de classement avec apprentissage actif en ligne Les ensembles de messages ont ´et´e combin´es par pairs (un de chaque classe) et tri´es par ordre chronologique de la date de r´eception. Les deux couples les plus significatifs sont JM-H/JM- S et SYNT-H/BG-S. Le premier repr´esente les messages re¸cus par une personne r´eelle et le deuxi`eme est, typiquement, le type de corpus utilis´e dans les ´evaluations de filtres anti-spam par les revues sp´ecialis´ees (e.g. Virus Bulletin - VBSPAM1) et nous permet de positionner notre

exp´erimentation par rapport aux r´esultats de ces ´evaluations.

Nous avons aussi utilis´e le corpus public de messages TREC-07 [57], ce qui nous permet d’´etalonner et comparer nos r´esultats avec ceux obtenus par le classificateur similaire propos´e par Gordon Cormack [58]. Accessoirement, il s’agit d’un corpus synth´etique dans le sens o`u il a ´et´e constitu´e exclusivement pour le workshop Spam de TREC-2007, mais c’est aussi le premier corpus public constitu´e des deux classes de messages collect´es sur un mˆeme point. Par contre, son ´etendue temporelle ne co¨ıncide pas avec celle des autres ensembles.

Pour simuler le fonctionnement d’un filtre en bordure d’un domaine, les messages ont subi un traitement de fa¸con `a enlever les entˆetes rajout´es `a l’int´erieur du domaine, des informations qui ne sont pas, `a priori, discriminantes de la classe du message. En plus, dans le cas des ensembles dits synth´etiques, certains entˆetes du ˆetre modifi´es de fa¸con `a ce qu’ils puissent ˆetre vus, par le filtre, comme des messages destin´es `a des destinataires r´eels, les mˆemes de la classe oppos´ee. Les raisons et la pertinence de ces derniers traitements seront discut´es en mˆeme temps que les r´esultats.

11.3.3

Protocole de simulation

Dans les exp´erimentations de classement en boucle ouverte (Chapitre 10), nous avons utilis´e un classificateur pr´e-construit avec les messages re¸cus pendant les deux mois avant la p´eriode en ´etude, et aucune mise `a jour n’a ´et´e appliqu´ee pendant l’exp´erimentation. Ici, nous partons d’un classificateur vide qui sera construit au long de l’exp´erimentation.

On peut distinguer deux phases d’apprentissage : une phase initiale transitoire (dite d’accro- chage) et une phase dite de poursuite, o`u le but de l’apprentissage est l’adaptation du classificateur aux changements (lents ou mineurs) des caract´eristiques du flot.

Nous n’avons pas tenu compte, dans les r´esultats de synth`ese, des messages des 30 premiers jours (choix arbitraire), de fa¸con `a ce que r´esultats ne tiennent pas compte de la phase transitoire. N´eanmoins, les r´esultats des premiers jours sont toujours enregistr´es pour pouvoir ´etudier la dur´ee et le comportement du classificateur pendant la phase d’accrochage.

Pour chaque couple d’ensemble de messages nous avons fait varier :

– le retard dans le retour de l’information de classement correct, par le destinataire. Nous avons effectu´e des simulations avec retard fixe et retard al´eatoire avec distribution expo- nentielle ;

– le taux d’erreur dans le retour d’information de classement ;

– la marge utilis´ee dans l’apprentissage actif, la faisant varier dans l’intervalle [0.05, 0.50]. La borne sup´erieure correspond `a une situation d’apprentissage supervis´ee o`u tous les exemples sont utilis´es.

Pour chaque contexte de simulation d´efini par les param`etres d´ecrits ci-dessus, nous avons ob- serv´e :

– Taux d’erreur de classement sp´ecifique par classe et global repr´esent´e par l’aire sous la courbe ROC (1-AUC%) ;

– Taux de requˆetes (query rate) la fraction du nombre de messages dont le classificateur de- mande la classe d’appartenance (l’´etiquette). Ce param`etre est int´eressant puisqu’il indique le niveau de participation du destinataire dans le classement des messages ;

– Taux d’apprentissage - la fraction du nombre de messages class´es qui ont ´et´e effectivement utilis´es pour l’apprentissage ;

– Dimension du classificateur `a la fin de l’exp´erimentation.

1