• Aucun résultat trouvé

4.2 Fouille de motifs séquentiels

4.2.3 Extraction de motifs séquentiels

Il existe dans la littérature plusieurs méthodes spécialisées pour l’extraction de motifs séquen-tiels. GSP [Srikant et Agrawal, 1996] fut le premier algorithme proposé. Il se base sur l’approche générer et tester, i.e., création de candidats, suivie du test de ces candidats pour confirmer leur fréquence dans la base. Plus tard, deux grandes catégories de méthodes ont été proposées :

1. Les algorithmes de recherche en profondeur basés sur un format vertical pour la représen-tation de la base de séquences. e.g. SPADE [Zaki, 2001] ou SPAM [Ayres et al., 2002]. 2. Les algorithmes basés sur l’extension de motifs en exploitant le principe de la projection

préfixée tels que PrefixSpan [Pei et al., 2001].

Projection préfixée et bases projetées. Nous donnons ci-dessous les définitions nécessaires pour introduire le principe de la projection préfixée [Pei et al., 2001]. Ce principe est au cœur de notre contribution présentée à la section 5.4.3 (cf. aussi l’annexe C).

Définition 4.15 (préfixe, projection, suffixe)

Soientα = hα1. . . αmi et β = hβ1. . . βni deux séquences (avec m ≤ n). — La séquence α est un préfixe de β ssi ∀i ∈ [1..m], αi = βi.

— La séquence β = hβ1. . . βni est une projection de la séquence s par rapport à α, ssi (1) β  s, (2) α est un préfixe de β et (3) il n’existe pas de sur-séquence propre β0 deβ telle que β0 s et α est un préfixe de β0.

— La séquence γ = hβm+1. . . βni est appelée suffixe de s par rapport au préfixe α. Ainsi, nous avons β = concat(α, γ), avec "concat" est l’opérateur standard de concaténation. Exemple 4.4. Considérons l’exemple 4.3 et soit la séquence s1 = hABCBCi de SDB1. La sequenceα = hACi est un préfixe de la séquence β = hACBCi et γ = hBCi est son suffixe. La séquenceβ = hACBCi est la projection de s1 selon α.

Définition 4.16 (Base de séquences projetées)

SoitSDB une base de séquences. La base projetée (ou α-projection) de SDB par rapport à α, notéeSDB|α, est l’ensemble de tous les suffixes des séquences deSDB ayant pour préfixe α. Exemple 4.5. Considérons à nouveau la base de séquences de la Table 4.2, et les préfixes hAi, hABi et hABCi. Nous avons :

— SDB1|<A> = {(1, hBCBCi), (2, hBCi), (3, hBi)}.

— SDB1|<AB> = {(1, hCBCi), (2, hCi), (3, hi)}.

— SDB1|<ABC> = {(1, hBCi), (2, hi)}.

Pei et al. [Pei et al., 2001] ont proposé un algorithme efficace, appelé PrefixSpan, pour l’ex-traction de motifs séquentiels basé sur le principe de la projection préfixée. L’algorithme construit des bases de séquences intermédiaires, qui sont des projections de la base d’origine déduites à partir des préfixes communs relevés. Ensuite, dans chaque base projetée, PrefixSpan cherche à faire croître la taille des motifs séquentiels découverts, en appliquant la même méthode de manière récursive.

Exemple 4.6. Prenons l’exemple de la base de séquences de la Table 4.2. Supposons que minf r = 2. PrefixSpan commence par trouver les items fréquents. Pour cela, une passe sur la base de séquencesSDB1 va permettre de collecter le nombre de séquences supportant chaque item rencontré et donc d’évaluer le support des items de la base. Les items trouvés sont (sous la forme <item> :support) : hAi : 3, hBi : 4 et hCi : 3. Ensuite, les séquences de SDB1 sont projetées en trois sous-ensembles disjoints, puisqu’il y a trois préfixes de taille 1 (i.e. les trois items fréquents). Ces sous-ensembles seront : (1) les motifs séquentiels ayant pour préfixe hAi, (2) ceux ayant pour préfixe hBi et (3) ceux ayant pour préfixe hCi. Par exemple, la base proje-tée deSDB1 selon le préfixe hAi, notée SDB1|hAi, est composée de 3 suffixes : {(1, hBCBCi), (2, hBCi), (3, hBi)}. Une passe sur SDB1|<A> permet alors d’obtenir les motifs séquentiels de longueur 2 ayant hAi pour préfixe commun : hABi : 3 et hACi : 2. Ainsi, de façon récursive,

SDB1|<A> peut être partitionnée en deux sous-ensembles : (1) les motifs séquentiels ayant pour

préfixe hABi et (2) ceux ayant pour préfixe hACi. Ces motifs peuvent alors former de nouvelles bases projetées, et chacune de ces bases peut être utilisée en entrée de l’algorithme, toujours de manière récursive. Ce processus de α-projection des bases projetées se termine lorsque aucun super-motif séquentiel ne peut être obtenu.

La proposition 4.2 établit une propriété pour calculer le support d’une séquence γ dans SDB|α [Pei et al., 2001].

Proposition 4.2 (Calcul de support)

Pour toute séquenceγ dans SDB ayant pour préfixe α et pour suffixe β, avec γ = concat(α, β), supSDB(γ) = supSDB|α(β).

Cette proposition garantit que seules les séquences dans SDB obtenues par extension du motifα seront considérées pour le calcul du support de la séquence γ. En outre, seuls les suffixes de SDB|α doivent être considérés pour le calcul de ce support.

Apports de la PPC pour la fouille de

données

L’utilisation de la programmation par contraintes pour exprimer des problèmes de fouille de données possède de nombreux avantages. Le premier est d’offrir à l’utilisateur un moyen simple et déclaratif pour modéliser ses problèmes. Le second est de proposer une approche générique de résolution qui permet à l’utilisateur de ne plus devoir se préoccuper de l’écriture d’un algorithme spécifique pour chaque tâche de fouille. Je présente dans ce chapitre mes principales contributions portant sur les apports de la PPC pour la fouille de données.

Plan du chapitre. La section 5.1 présente la notion de contrainte souple de seuil, introduite dans la thèse de Willy Ugarte, et montre comment de telles contraintes peuvent être mises en œuvre pour l’extraction des top-k motifs souples. La section 5.2 introduit la souplesse dans la relation de dominance et montre l’apport de la programmation par contraintes (PPC) pour offrir un cadre unifié de manipulation de la souplesse dans le problème d’extraction des skypatterns. La section 5.3 propose une nouvelle structure originale, appelée cube de skypatterns, qui réunit tous les skypatterns possibles suivant toutes les combinaisons possibles de mesures et présente deux approches pour construire un tel cube. La section 5.4 traite de l’extraction de motifs séquentiels sous contraintes dans un cadre déclaratif et générique de résolution. Les sections 5.5 et 5.6 résument mes contributions dans les autres axes de recherche auxquels je me suis intéressé : aide à la localisation de fautes dans un programme (travaux de thèse de Mehdi Maamar) et le clustering conceptuel sous contraintes en PL-0/1 (travaux de thèse de Abdelkader Ouali). Enfin, nous concluons par une discussion sur nos contributions les plus marquantes.

5.1 Contraintes souples de seuil

(Travail en collaboration avec Willy Ugarte, Patrice Boizumault, Bruno Crémilleux et Al-ban Lepailleur ; publications associées : JIIS’15 [Ugarte et al., 2015c], DS’12 [Ugarte et al., 2012a], JFPC’12 [Ugarte et al., 2012b]).

Contexte. Une limite importante des méthodes actuelles d’extraction de motifs sous contraintes est la difficulté, pour l’utilisateur, d’exprimer ses préférences. Par ailleurs, le manque de flexibilité et de souplesse du cadre actuel où les contraintes sont usuellement rigides et avec de nombreux paramètres difficiles à régler, fait qu’une solution potentiellement intéressante n’est pas prise en

compte dès qu’une contrainte et/ou sa valeur seuil n’est pas vérifiée. Ce problème est encore plus ardu lorsque plusieurs seuils doivent être fixés simultanément dans une même requête.

Contribution. Pour capturer l’idée de violation (ou relaxation) d’une contrainte de seuil, nous avons introduit la notion de contrainte souple de seuil. Il s’agit d’une contrainte classique (dure) avec une variable de coûtzi qui quantifie la violation de la contrainte selon une fonction de coût µ (appelée aussi mesure de violation). La mesure de violation permet de mesurer l’écart au seuil. Ainsi, il est possible d’accepter, comme solutions, les motifs qui ne satisfont pas la requête, mais qui sont “proches”. Ensuite, nous avons étendu cette notion de souplesse à l’extraction de top-k motifs souples (i.e. les k meilleurs motifs qui ne satisfont pas forcément les contraintes sur les mesures fournies par l’utilisateur).