• Aucun résultat trouvé

Un exemple : l’analyste et les magasins de jeux vidéos

Afin d’illustrer les définitions précédentes, considérons un exemple d’extraction de motifs mul-tidimensionnels en se basant sur les 2 batches présentés dans la figure 8.2 et qui contiennent les achats de clients dans différents magasins d’une entreprise de jeux. Plus précisément, ces batches décrivent les achats des clients selon 6 dimensions : la dimension Client qui contient l’identifiant du client (généralement le numéro de carte bancaire ou le numéro de fidelité), la dimension date, la dimension Ville qui permet la localisation géographique des clients, la dimension Travail qui permet de classer les clients selon les différentes classes socio-professionelles, la dimension Age et enfin la dimension Produit qui représente les différents achats du client à une date donnée.

Supposons maintenant qu’un analyste de l’entreprise de jeux décide de lancer une extraction de motifs séquentiels dans le but d’extraire de nouvelles connaissances sur l’évolution des achats des utilisateurs sur la période d’Octobre-Novembre afin de planifier les prochaines politiques de marketing.

L’analyste extrait donc toutes les séquences qui apparaissent chez au moins 50% des clients dans chaque batch. Du batch du mois d’Octobre, l’analyste découvre 3 différentes séquences :

1. La première séquenceh{(∗,∗, Moyen,∗)}iqui est une séquence contenant un seul item. Cette séquence énonce qu’au moins 2 clients sur 3 qui ont acheté des produits dans les magasins de jeux sont d’âge moyen.

2. La seconde séquence h{(LA,∗,∗,∗)} qui est aussi une séquence d’un seul item peut être traduite sémantiquement comme : 2 clients sur 3 ont fait leurs achats dans le magasin situé à Los Angeles.

3. La troisième séquence h{(∗,∗, Moyen,∗)}{(∗,∗, Moyen,∗)}i est une séquence contenant 2 items. Cette séquence est d’un intérêt particulier pour l’analyste puisqu’elle lui permet d’infé-rer que 2 clients sur 3 sont d’âge moyen et qu’ils ont fait 2 achats courant du mois d’Octobre.

Puis l’analyste extrait les séquences pour le mois de Novembre. Il y a au total 9 séquences fréquentes mais seulement 3 sont vraiment intéressantes :

1. h{(LA,∗, Junior,∗)}i, cette séquence informe l’analyste que 2 clients sur 4 qui ont fait leurs achats à Los Angeles sont de jeunes personnes (Junior).

2. h{(LA,∗,∗, iP od)}i, informe l’analyste que 2 clients sur 4 ont acheté un produitiP od à Los Angeles. L’analyste peut à partir de cette connaissance proposer une offre promotionnelle pour le prochain mois qui prendrait en compte la localisation géographique et le produit iP od. Il faut également remarquer que cette séquence est une spécialisation de la deuxième séquence extraite du batch du mois d’Octobre. Ceci veut dire qu’au mois d’Octobre 2 clients sur 3 faisaient leurs achats dans le magasin de Los Angeles mais qu’aucun produit ne se détachait vraiment (d’où le ∗ sur la dimension Produit) et que pour le mois de Novembre cette tendance s’est affirmée pour le produitiP od.

3. h{(∗,∗, Moyen, W ii)}i, cette séquence permet d’inférer que 2 clients sur 4 sont d’âge moyen et ont acheté la console W ii en Novembre. Cette séquence est aussi une spécialisation de la première séquence du batch associée au mois d’Octobre. Cette séquence permet à l’analyste de détecter l’apparition d’une nouvelle tendance avec l’arrivée sur le marché des nouvelles consoles W ii. L’analyste peut donc coupler ces connaissances pour proposer par exemple de nouvelles promotions comme un iPod à moitié prix pour chaque console Wii acheté.

Grâce à cet exemple, nous avons présenté quelques-uns des principaux intérêts de l’extraction de motifs séquentiels sur les flots de données : la détection de tendance de haut niveau entre les différentes séquences (e.g. la spécialisation ou la généralisation de la séquence), la détection de nouvelles séquences contenant de nouveaux attributs et la détection de disparitions de tendances ou de séquences.

L’algorithme MDSDS que nous proposons permet de répondre à ce genre de requêtes. Pour cela, notre algorithme maintient en mémoire une structure de données qui permet l’historisation et le resumé des informations sur les séquences fréquentes et sous-fréquentes.

5 L’approche M DSDS

DansMDSDS, l’extraction de motifs séquentiels multidimensionnels est l’étape la plus difficile.

De manière à l’optimiser, nous divisons le processus en deux tâches :

1. MDSDSextrait les items multidimensionnels les plus spécifiques. Cette politique permet de limiter l’espace de recherche qui est potentiellement très grand. De plus, le choix des items multidimensionnels les plus spécifiques permet defactoriser les connaissansaces, puisque les motifs plus généraux peuvent être inférés en une étape de post-traitement. Le maintien des items multidimensionnels les plus spécifiques permet aussi de détecter les spécialisations et généralisations des séquences multidimensionnelles en repérant l’apparition de la valeur ∗ sur les prochains items des batchs suivants sur le flot de données.

2. L’extraction des motifs séquentiels multidimensionnels se fait en utilisant PrefixSpan[PHMa+04]

et en se basant uniquement sur les items multidimensionnels les plus spécifiques précédem-ment extraits.

L’application de cette stratégie de découverte en 2 étapes permet d’éviter l’extraction des séquences multidimensionnelles trop générales. Ces séquences ne sont pas intéressantes du point de vue de l’analyste parce qu’elles contiennent de la connaissance"trop vague" qui est généralement inutilisable dans la prise de décision.

MDSDS utilise une structure de données utilisant un arbre prefixé contenant dans ses noeuds les items et leurs tables de fenêtres temporelles associées (cf. Figure 8.3) afin de journaliser les informations sur les séquences fréquentes et sous-fréquentes.

emps Support

Table de fenêtres logarithmique

1 66,67%

Arbre prefixé

〈()〉

(LA,*,*,*) (*,*,Moyen,*)

(*,*,Moyen,*)

même itemset autre itemset

Fig. 8.3: L’arbre prefixé pour le batch du mois d’Octobre

Les motifs séquentiels dans notre approche sont divisés en 3 catégories : 1. Les motifs fréquents qui sont stockés dans l’arbre prefixé.

2. Les motifs sous-fréquents qui sont des motifs qui pourraient devenir potentiellement fréquents dans les prochains batchs. MDSDS doit donc les stoker tout comme les motifs séquentiels fréquents.

3. Les motifs infréquents ne sont pas stockés. Lorsqu’un motif sous-fréquent devient infréquent (son support devient plus petit que ǫ) il est automatiquement élagué.

Les opérations de mise à jour se font après avoir reçu le batch du flot : au niveau de l’arbre prefixé 2 opérations sont effectuées, tout d’abord rajouter les nouveaux items en tant que nœud

dans l’arbre, puis mettre à jour les tables de fenêtres temporelles en introduisant uniquement la valeur du support de la séquence dans le batch actuel. Si nécessaire, MDSDS peut lancer une opération d’élagage sur les tables de fenêtres temporelles en respectant les contraintes presentées dans [GHP+03].