• Aucun résultat trouvé

Environnement dynamique

5.4 Discussion

8.2.2 Environnement dynamique

Limites d'une approche intégrant une méthode classique

Dans cette section nous présentons la motivation de ce travail, une analyse des

limites à l'adaptation des méthodes statiques d'extraction de motifs séquentiels dans le

contexte des ux de données et, ensuite, la méthode que nous proposons.

Idée générale

Dans les applications concernant les ux les données peuvent entrer et sortir (suite

à des opérations d'élagage) de manière dynamique et en très grandes quantités. De

plus, on a souvent besoin d'obtenir les résultats en temps réel. Un exemple typique

d'application se trouve dans la sécurité qui implique une détection et une réaction

rapides (dans le cas de la détection d'une attaque pirate sur un site, la détection d'une

fraude, etc). Les applications qui concernent la détection des motifs séquentiels dans

les ux de données sont donc nombreuses et néanmoins, ce problème ne connaissait pas

d'algorithme approprié en 2005. En eet, des algorithmes comme GSP, PSP, PrexSpan

extraient les motifs séquentiels à partir des données stockées statiques (base de données

ou chiers). Leur idée générale est de chercher les sous séquences fréquentes de taille n et

puis de trouver celles de taille n+1 etc (méthode générer-élaguer ). Puisqu'il existe

des méthodes d'extraction de motifs séquentiels pour le cas statique, notre première

piste a été d'intégrer une telle méthode dans le cas des ux de données. Après une

étude nous sommes arrivés à la conclusion que cette intégration soulèverait un certain

nombre de problèmes et, par conséquence, ne serait pas réaliste. Ces problèmes sont

traités dans la section suivante.

Analyse des limites

L'intégration des méthodes d'extraction de motifs séquentiels à partir des données

stockées statiques (GSP, PSP, PrexSpan, Spam) dans un environnement dynamique

soulève un certain nombre de problèmes. Je vais illustrer ces problèmes en prenant le

cas de l'algorithme PSP Masseglia et al. (1998). Si on essaie d'intégrer l'algorithme

PSP dans le contexte des ux, on va constater un problème potentiel de limite de

mémoire. La cause de ce problème réside dans la manière de générer les candidats. Pour

obtenir un fréquent de taille "n", on doit générer tous les sous-ensembles de ce fréquent.

Par exemple, avec une séquence fréquente de taille 100 (i.e. < (1)(2). . .(99)(100) >),

PSP va générer 2

100

1 candidats. De cette manière, et avec un support petit,

on risque une complexité en mémoire exponentielle. Les expérimentations faites

montrent ce phénomène. On a expérimenté l'algorithme PSP avec une base de

données composée seulement de deux séquences identiques où la séquence était une

répétition de l'itemset < (1) (2) >. Par exemple pour 11 répétitions on a les séquences

8.2 Motifs séquentiels

s

1

=< (1)(2)(1)(2). . .(1)(2) >, et s2 = s1 avec longueur (s1) = 22 . Pour diérentes

longueurs de séquences et pour chaque étape de génération, on a obtenu les temps

de réponses illustrés par la gure 8.1 (l'abscisse donne la longuer des candidats). Par

exemple, avec une séquence fréquente de longueur 26, PSP génère 190000 candidats

de longueur 19. Pour une longueur des séquences de 28 (donc 14 répétitions d'itemset

(1)(2)) la mémoire disponible a été dépassée et le programme a été arrêté. Le même

phénomène a été remarqué avec l'algorithme PrexSpan où, pour d'autres types de

séquences, l'espace disque permettant les re-écritures de la base peut se trouver

rapi-dement saturé. On doit envisager que de telles séquences existent dans un des batches

de transactions et l'exécution normale du programme en serait alors compromise. Ce

phénomène n'est pas pénalisant dans les cas classiques du data mining (ou les motifs

fréquents sont souvent courts), mais risque de bloquer une machine gérant des ux de

données si un tel cas est présent (ce qui serait contraire aux contraintes imposées par

les ux). Cela peut se produire dans le cas (connu) de requêtes répétées pour une URL

sous la forme de document PDF ou PHP par exemple.

Fig. 8.1: Limites de l'algorithme PSP

Approches existants à présent dans la littérature

Nous présentons ici quatre approches proposées dans la littérature pour l'extraction

de motifs séquentiels dans les ux de données.

Dans Raïssi et al. (2005); Raissi et al. (2006) les auteurs proposent SPEED, une

méthode d'extraction de motifs séquentiels dans les ux de données. SPEED considère

des batches de séquences constitués à partir du ux (i.e. un batch contientnséquences

de tailles variables). SPEED organise l'espace mémoire avec une structure de données

qui associe un arbre (an de représenter les séquences) avec des régions qui regroupent

les séquences du ux en fonction de leurs inclusions. En d'autres termes, si une séquence

α est incluse dans une séquence β alorsα et β seront dans la même région et α sera

un noeud descendant deβ dans l'arbre. Quand une nouvelle séquence arrive, l'arbre est

mis à jour an de la stocker en mémoire dans la bonne région. L'espace mémoire étant

limité, SPEED utilise comme méthode d'approximation un élagage des séquences les

moins fréquentes et des items les plus anciens. Pour cela, SPEED utilise une structure

de fenêtre logarithmique permettant de savoir quels items supprimer.

Dans Raïssi & Poncelet (2007), les auteurs présentent une méthode

d'échantillon-nage pour extraire les motifs séquentiels d'un ux de données. Les données traitées par

Raïssi & Poncelet (2007) sont des séquences d'itemsets. Cette méthode est basée sur le

principe de l'échantillonnage par réservoir. La technique d'échantillonnage est biaisée

pour donner plus d'importance aux événements les plus récents. Le principal avantage

de ce travail est de prendre en considération l'aspect incrémental de la construction des

séquences dans un ux. En eet, les séquences ne sont pas organisées en batches de

ma-nière naturelle dans le déroulement du ux et il peut être préjudiciable de "couper" une

séquence (par exemple avec une fenêtre temporelle) pendant qu'elle se constitue. Pour

répondre à ce problème, les auteurs ont mis en place une liste noire (BL) contenant les

identiants des séquences qui sont sorties du réservoir suite au tirage aléatoire. Quand

une séquence est sortie du réservoir, elle reste dans laBL pendant un nombre d'étapes

égal à sa taille. L'extraction des motifs séquentiels est basée sur la notion de support

minimum. Cette extraction repose sur un appel à prexSpan Pei et al.(2001c).

Raïssi & Plantevit (2008) propose une technique d'extraction de motifs

séquen-tiels multidimensionnels. Un motif séquentiel multidimensionnel est composé d'une

suite d'itemsets multidimensionnels. Un itemset multidimensionnel contient des

infor-mations prenant leurs valeurs sur plusieurs domaines possibles. Par exemple, le

mo-tif < {(CD, N Y),(CD, N Y)}{(DV D, LA)} > s'interprète comme l'achat d'un CD à

New-York répété deux fois dans la journée suivi, plus tard, par l'achat d'un DVD à

Los-Angeles. La méthode MDSDS Raïssi & Plantevit (2008) traite le ux en le

décou-pant en batches de taille xe. Chaque batch contient donc un ensemble de séquences

d'itemsets multidimensionnels. Un itemset multidimensionnel étant lui-même composé

d'items multidimensionnels. Un item multidimensionnel est un m−uplet déni sur sa

8.2 Motifs séquentiels

dimension d'analyse. Par exemple(CD, N Y) est un item à deux dimensions (nature de

l'achat et lieu de l'achat). Pour répondre au problème de l'explosion combinatoire lié à

la nature de ces données, MDSDS propose de réaliser l'extraction de motifs fréquents

en deux temps. Dans un premier temps, les items les plus spéciques sont extraits. Ils

serviront de base pour une extraction de motifs ultérieure. Ces items sont obtenus en

fonction du support donné par l'utilisateur. Ensuite, une extraction de motifs

séquen-tiels est obtenue par un appel à PrexSpanPei et al.(2001c). Enn les motifs fréquents

sont gérés par une structure d'arbre préxé dans laquelle chaque noeud est associé à

une table temporelle (de manière similaire à l'algorithme présenté dans la séction13.2.2

et à celui deGiannella et al. (2003)).

Enn, Chen et al. (2005) considère un ot sous la forme de plusieurs séquences

produisant des données. Un itemset y est déni comme l'ensemble des items à

l'inter-section de toutes les séquences pour une estampille temporelle précise. Les séquences

sont découpées en plusieurs fenêtres de taille xe et la fréquence d'un motif est calculée

en fonction du nombre de fenêtres qui supportent ce motif. L'extraction des motifs est

réalisée grâce à une modication de l'algorithme PrexSpan.

Après cette revue des algorithmes qui se sont intéressés à l'extraction de motifs

séquentiels, le chapitre suivant fait un survol des principales approches de traitement

de ux de données existantes dans la littérature et justie le choix du modèle utilisé.

CARTE GENERALE

Dans le prochain chapitre, je fais un survol des principales méthodes de traitement

des ux de données existantes dans la littérature et j'explique le choix de notre modèle.

CHAPITRE 9

APPROCHES DE TRAITEMENT DES FLUX DE DONNEES

9.1 Méthodes de traitement des ux de données

C

E CHAPITRE s'intéresse à la présentation des approches de traitement des

ux de données existantes dans la littérature. Après une introduction des principaux

travaux relatifs aux résumés de grandes quantités de données en contexte statique ou

dynamique, j'explique le choix de notre modèle basé sur un découpage par batches et

sur la classication non-supervisée.

Il existe un attribut, le temps, qui dénit l'ordre des données dans un ux de

don-nées. À chaque élément est associé une estampille temporelle et en fonction de cette

information, on peut distinguer trois types d'approches de traitement des ux de

don-nées :

agglomératif (ou itératif) : les données sont traitées par ordre d'apparition, une

après l'autre ;

par paquets : les données sont groupées dans des paquets d'une même taille xe

et ensuite les paquets seront traités l'un après l'autre. Quelques exemples

d'algo-rithmes appliquant cette stratégie se trouvent dansChang & Lee(2003b);Cheng

et al.(2008);Giannella et al. (2003);Li et al.(2008);Manku & Motwani(2002) ;

à l'aide des fenêtres glissantes : une fenêtre de taille xe dont le premier point

glisse dans le temps ou à l'arrivée de nouvelles données. Chang & Lee (2003a,

2004);Chi et al. (2006) sont des exemples d'algorithmes qui utilisent ce type de

fenêtres.

Selon la manière dont la taille de la fenêtre (ou du paquet) est établie, les deux

derniers types se divisent à leur tour dans deux sous-types :

taille établie selon le nombre de données ;

taille établie selon l'intervalle de temps.

La gure9.1illustre cette classication.

Les ux de données peuvent être classiés en fonction de la stratégie de mise en jour

de la manière suivante :

mise à jour par transaction : L'opération de mise à jour se fait après le traitement

de chaque transaction ;

mise à jour par paquet : D'abord on traite les données de tout le paquet (ou

fenêtre) et ensuite on fait les mises à jour.

Fig. 9.1: Classication des méthodes de traitement des ux de données selon l'estampille

temporelle