• Aucun résultat trouvé

La fouille de séquences

3.1 Méthodes existantes

3.1.3 Les contraintes temporelles

Dans le but de généraliser le concept de motif séquentiel et de leur attribuer des caractéristiques plus étendues pour faciliter leur discrimination, Srikant et Agra-wal (1996) proposent dans leur deuxième article traitant des motifs séquentiels trois contraintes. Celles-ci permettent de définir les écarts temporels qui peuvent exister entre deux ensembles d’éléments d’une séquence pour qu’ils soient consi-dérés comme faisant partie du même motif. La contrainte windowSize permet de définir la longueur maximale d’une séquence lors de la fouille de motifs fréquents.

Par exemple, on peut définir que l’on recherche des motifs séquentiels fréquents se produisant en l’espace de 10 ans ; par conséquent, la différence entre la fin et le début de la séquence analysée sera de 10. Cette contrainte est reprise par Joshi et al. (2001) sous le nom demaximum span. La contrainteminGapspécifie l’écart minimum entre deux ensembles d’éléments pour qu’ils soient considérés comme fai-sant partie du même motif séquentiel. La contrainte maxGapspécifie quant à elle l’écart maximum entre deux ensembles d’éléments.

Joshi et al. (2001) ajoutent une quatrième contrainte intéressante : l’event-set windows size. Celle-ci définit l’écart maximum entre le premier et le dernier élément d’un ensemble d’éléments. Un aspect très intéressant du travail de Joshi et al. est la représentation de ces contraintes sous la forme d’un graphe acyclique dirigé (en anglaisdirected acyclic graph) comme dans la figure 3.1.

Figure3.1 – Représentation d’un motif séquentiel sous la forme d’un graphe acy-clique dirigé

Dans ce type de graphe, les nœuds représentent des événements, ou des en-sembles d’événements, et les arcs définissent l’ordre dans lequel ils apparaissent.

Ainsi dans cet exemple, l’événement A apparaît avant l’événement B qui apparaît avant l’événement C. Les quatre contraintes qui ont été énumérées plus haut sont représentées de deux manières : comme des contraintes de nœud (node constraint) ou comme des contraintes d’arc (edge constraint). Les contraintes de nœud sont au nombre de deux ; la contrainte notée [w] correspond à ce que Joshi et al. (2001) nomment l’event-set window size, c’est-à-dire la distance maximum entre le pre-mier et le dernier élément d’un ensemble d’événements. L’autre contrainte de nœud consiste à imposer le contenu du nœuda priori, c’est-à-dire avant la fouille de sé-quence : on peut par exemple exiger de ne trouver que les motifs qui commencent par l’événement isolé A.

Les contraintes d’arc sont également au nombre de deux. La première est re-présentée par un couple{a,b}et correspond aux contraintesminGapetmaxGap; dans l’exemple de la figure 3.1, la valeur de a1 est l’écart minimum entre le

der-nier élément de A et le premier élément de B, tandis que la valeur de b1 est l’écart maximum entre le premier élément de A et le dernier élément de B. L’arc sur lequel est placé cette contrainte est considéré comme « rigide », ce qui signifie qu’aucun autre nœud ne peut s’insérer entre les deux nœuds reliés par cet arc. La contrainte placée sur l’arc suivant, entre les nœuds B et C, ajoute une nouvelle valeur, c1, qui signifie que l’arc est « élastique » et que par conséquent des nœuds peuvent se placer entre les nœuds B et C pour autant que la durée totale de ces nœuds n’excède pas la valeur dec1.

La dernière contrainte est celle qui concerne le motif dans son ensemble et qui est défini par le couple <ag,bg>. Cette contrainte est nommée par Joshi et al.

(2001)maximum span et par Srikant et Agrawal (1996)windowSize; elle définit la durée maximale du motif séquentiel.

Nous allons illustrer ces différentes contraintes par un problème concret. La figure 3.2 définit les contraintes suivantes à l’aide d’un graphe : on recherche les motifs séquentiels qui commencent par l’ensemble d’événements (A,B), dont les événements A et B doivent se produire en l’espace de deux ans et dont les événe-ments suivants se produisent au minimum 1 an et au maximum 5 ans après, tout cela entre 18 et 30 ans. En imaginant maintenant que l’événement A corresponde au départ de chez les parents et l’événement B au commencement d’un emploi à plein-temps, la figure 3.2 répond à la question suivante : quels événements se produisent-ils dans les cinq ans qui suivent le départ de chez les parents et la dé-couverte d’un emploi, en sachant que ces deux derniers événements se sont produits en l’espace de deux ans, et qu’on ne s’intéresse qu’aux motifs apparaissant entre les 18 et les 30 ans des individus ?

Figure 3.2 – Exemple de contraintes pour la recherche d’un motif séquentiel fré-quent

Il est aussi possible de ne pas spécifier d’événements précis, ce qui revient à re-chercher tous les motifs séquentiels fréquents qui satisfont les contraintes de temps.

On peut noter qu’aucune contrainte n’est obligatoire, mais que la contrainte glo-bale, celle qui définit la longueur maximale du motif, sera automatiquement définie comme la taille de la séquence si aucune valeur n’est spécifiée.

Fréquence des motifs séquentiels

Dans la recherche de motifs fréquents, sans notion temporelle, la fréquence d’apparition d’un motif est facilement calculable puisque soit il apparaît dans une transaction, soit il n’apparaît pas. Le calcul du support se résume alors à diviser le nombre de transactions comportant le motif par le nombre total de transactions

(cf. équation 3.1). Dans le cas de données séquentielles, Joshi et al. (2001) soulèvent la question du comptage des motifs séquentiels fréquents. Il est possible en effet qu’un motif apparaisse à plusieurs reprises dans la même séquence, ou que deux motifs se superposent ; dans ce cas-là, comment les compter ? Différentes stratégies peuvent être adoptées en fonction des objectifs de recherche ; Joshi et al. (2001) en recensent cinq. Les exemples suivants se basent sur les données du tableau 3.5 (dans tous les exemples suivants, lemaximum span est fixé à 2) :

– Une occurrence par objet : on ne retient qu’une occurrence par séquence, même si le motif apparaît à plusieurs reprises (Fig. 3.3).

– Une occurrence par span-window : on définit une fenêtre de taille w et qui commence àt = 0. On compte chaque occurrence du motif apparaissant à l’intérieur de cette fenêtre en incrémentantt de 1 jusqu’à ce que t soit égal à la longueur de la séquence (ce qui correspond à faire coulisser la fenêtre le long de la séquence). Dans cet exemple, la taille de la fenêtre est de trois unités (Fig. 3.4).

– Nombre de fenêtres d’occurrence minimale : cette méthode consiste à compter le nombre de motifs apparaissant dans la plus petite fenêtre possible, c’est-à-dire dans une fenêtre qui ne peut pas contenir une fenêtre qui contiendrait le motif (Fig. 3.5).

– Occurrences distinctes avec chevauchement : on compte chaque occurrence du motif dont soit le début soit la fin est différente de l’occurrence précédente, dans cet exemple avec un écart maximal entre A et B fixé à 3 (Fig. 3.6).

– Occurrences distinctes sans chevauchement : la même chose que la méthode précédente, mais une fois qu’un événement est inclus dans une sous-séquence comptabilisée, il n’est pas pris en compte pour la suivante. Remarquons que le nombre d’occurrences dépend du point de départ et de la taille de la première fenêtre prise en compte (Fig. 3.7).

Figure3.3 – Type de comptage 1

Figure3.4 – Type de comptage 2

Une fois que les motifs séquentiels fréquents sont comptés, il faut pouvoir les comparer à un total pour obtenir le support de chaque motif. Dans le cas de la première méthode qui ne compte qu’une occurrence par séquence, le total est sim-plement le nombre de séquences. Pour les deux suivantes, qui se basent sur le coulissement d’une fenêtre le long de la séquence, le total correspond à la somme

Figure3.5 – Type de comptage 3

Figure3.6 – Type de comptage 4

Figure3.7 – Type de comptage 5

de toutes les fenêtres possibles dans chaque séquence. Dans le cas de la fenêtre de taille fixe, le nombre total de fenêtres possibles dans notre exemple est de 7 si on lui fixe une taille minimum de deux , de 9 si la fenêtre peut recouvrir seulement une unité (en début et en fin de séquence). Pour les deux dernières méthodes, le total auquel comparer la fréquence d’un motif fréquent correspond à toutes les occurrences distinctes possibles à l’intérieur d’une séquence, en d’autres mots, au nombre d’unités temporelles qui composent les séquences.

Comme on peut le constater, le nombre de motifs fréquents comptés dans une séquence varie grandement suivant la méthode employée. Il est par conséquent capital de réfléchir aux enjeux du choix d’une méthode de comptage ; par exemple, rechercher des motifs fréquents dans le cadre du parcours professionnel profiterait grandement d’un comptage permettant plusieurs occurrences par séquence étant donné qu’on peut observer plusieurs transitions dans le même parcours.

Extraction des règles d’association

De la même manière que pour la fouille de motifs fréquents, l’extraction de règles d’association à partir des motifs séquentiels fréquents est triviale. En effet, tout motif fréquent de plus de deux éléments peut se réécrire sous la forme d’une règle d’association entre les premiers éléments et le dernier. Ainsi, un motif du type h(A, B)Bi peut se réécrire comme la règle d’association (A, B) ⇒ B. Le problème principal lors de l’extraction de règles d’association est le grand nombre

de résultats. Il est donc indispensable d’avoir à disposition une manière d’évaluer automatiquement la pertinence des règles afin de ne retenir qu’un sous-ensemble intéressant de règles. Cette pertinence doit être définie a-priori par le chercheur et dépend fortement du domaine d’études (Lenca et al., 2004; Lallich et Teytaud, 2004). Nous reviendrons à la question de ces mesures de pertinence des règles d’association dans la partie suivante.

Algorithmes

Les algorithmes pour la fouille de motifs séquentiels fréquents sont nombreux car il s’agit d’un domaine très actif. Nous introduirons en premier les algorithmes descendant d’Apriori, AprioriAll et GSP, puis nous présenterons rapidement les autres algorithmes existants.

AprioriAll et GSP Le premier algorithme, APrioriAll, a été proposé par Agra-wal et Srikant (1995) ; l’année suivante, une amélioration de cet algorithme, nommé GSP, est présenté dans (Srikant et Agrawal, 1996). Ces deux algorithmes se basent sur le fonctionnement de l’algorithme Apriori, c’est-à-dire la génération de candi-dats puis le test de leur support dans les données (voir chapitre 3.1.1). Dans le cas de la fouille de séquences, les motifs fréquents recherchés ne sont plus desk-itemsets mais des k-séquences ; étant donné que ces motifs sont constitués d’éléments, ou d’ensemble d’éléments, ordonnés, le nombre de candidats générés à chaque passe devient vite important (nombre de passes qui est égal à la longueur de la plus longue séquence). La manière dont sont réunis les éléments importe également ; ainsi, la 2-séquence <(A)(B)> est différente de <(AB)>. Par contre, il n’y a pas d’ordre dans un ensemble d’événements : (AB) est l’équivalent de (BA). On considère éga-lement que deux événements ne peuvent pas se produire durant la même unité de temps : (AA) n’est donc pas un candidat valide. Si l’on prend toutes ces contraintes en compte, le nombre de 2-séquences candidates générées est den2+n∗(n−1))2 . Le tableau 3.6 illustre la génération desk-séquences candidates par l’algorithme GSP.

Ces séquences candidates sont ensuite placées dans un arbre dehashage; pour chaque séquence, cet arbre est parcouru et on vérifie si le candidat est inclus dans la séquence, et éventuellement combien de fois il est inclus si l’on adopte une méthode autre qu’une occurrence par séquence (cf. chapitre 3.1.3). Le désavantage de cet algorithme est le nombre de passes nécessaire sur la base de données ainsi que le nombre de candidats générés.

Autres algorithmes SPADE est un algorithme proposé par Zaki (2001) dans le but d’améliorer la performance de la fouille de séquences. En effet, contrairement à AprioriAll ou GSP, celui-ci ne nécessite que trois passes sur la base de données pour découvrir les motifs fréquents (Zhao et Bhowmick, 2003b), là où AprioriAll ou GSP nécessite au pire autant de passes que la longueur de la séquence la plus longue.

Comme pour l’algorithme ECLAT (Zaki, 2000) mentionné plus haut, SPADE utilise une méthode qui consiste à classer les motifs fréquents dans un format vertical puis découvre les séquences incluant ces motifs fréquents en croisant les lignes de cette base verticale. L’intérêt de cet algorithme est son gain de performance important

éléments 2-séquences candidates A <(AB)> <(A)(B)>

B <(AC)> <(A)(C)>

C <(AD)> <(A)(D)>

D <(A)(A)>

<(B)(A)>

<(BC)> <(B)(C)>

<(BD)> <(B)(D)>

<(B)(B)>

<(C)(A)>

<(C)(B)>

<(CD)> <(C)(D)>

<(C)(C)>

<(D)(A)>

<(D)(B)>

<(D)(C)>

<(D)(D)>

TABLEAU 3.6 – Exemple de génération de 2-séquences candidates par GSP

par rapport à GSP en réduisant l’espace des solutions grâce au regroupement des motifs séquentiels par catégorie. L’algorithme PrefixSpan (Pei et al., 2004) est un algorithme qui utilise des projections de bases de données pour rendre la base de données plus petite pour la passe suivante (Zhao et Bhowmick, 2003b).

Beaucoup d’autres algorithmes de fouille de séquences ont été développés dans le but d’améliorer les performances, mais dans le cas d’une application en sciences so-ciales, la vitesse n’est pas primordiale. Les performances de l’algorithme importent moins pour autant que soit implémentées les contraintes de temps qui ont été évo-quées plus haut ; dans cette optique-là, le choix de l’algorithme se fait davantage en fonction de sa simplicité d’implémentation et d’utilisation qu’en fonction de sa performance. Il existe ensuite d’autres formes d’algorithmes de fouilles de séquences qui ne seront pas évoquées plus en détails ici. Il s’agit par exemple de la fouille in-crémentale de séquences (Masseglia, 2002) qui permet de mettre à jour les résultats d’une fouille de séquences lors de l’arrivée de nouvelles séquences, et ceci sans avoir à relancer toute l’analyse. Ce genre d’algorithmes est en particulier utilisé dans l’analyse des flux de données. Les algorithmes proposés par Mannila et al. (1997) sont utilisés pour l’analyse d’une longue séquence unique, comme par exemple l’en-registrement des erreurs sur un réseau de télécommunication. Par conséquent, ils conviennent peu à une application en sciences sociales, même si une adaptation est envisageable.

3.2 Une approche novatrice pour l’extraction de