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
Dans le document
Extraction de motifs séquentiels dans les flux de données
(Page 88-98)