• Aucun résultat trouvé

Fonctions de contribution

5.2 Modèle d’édition

5.1.3 Recherche dans un corpus de séquences

Lorsque nous recherchons les occurences d’un pattern dans un corpus de séquences, l’algorithme 4 est utilisé pour chaque séquence du corpus. Les oc-curences sont alors repérées par le nom des séquences auxquelles elles appar-tiennent ainsi que leurs coordonnées au sein de la séquences.

Travailler sur un corpus de séquences et non sur une séquence unique, ob-tenue par concaténation des séquences du corpus (cf. Rolland[38]), ne modifie ni la complexité de l’algorithme ni celle de son implémentation. En outre, cela permet d’éviter un post-traitement sur les résultats pour éliminer les occurences

« à cheval » sur deux séquences.

La figure E.3 montre l’interface utilisée par notre système pour la localisa-tion de patterns δ-similaires. Pour chaque occurence l’alignement avec le pat-tern recherché peut être visualisé, et un fichier MIDI de l’occurence peut être exporté. Le choix est laissé à l’utilisateur d’éliminer les occurences « à cheval » sur deux phrases. Dans ce dernier cas, le système procède simplement à un post-traitement des résultats, en utilisant l’attribut MMF.phrases(cf. figure 3.13).

5.2 Modèle d’édition

5.2.1 Fonction d’équipolence

La localistaion de patterns au sens de la δ-similarité présente l’avantage de fournir un critère explicite de détection des occurences. La distance binaire qu’elle implique est déjà une fonction d’équipollence : ou bien les deux séquences à comparer sont similaires, ou bien elles ne le sont pas, et il n’y a pas d’inter-médiaire. Dans le cas d’une mesure de la similarité avec un modèle d’édition, nous avons un continuum de valeurs possibles, et il nous faut un critère explicite pour décider si deux facteurs sont équipollents.

Définition 5.2.1 (ratio-identité) Soient Σ un alphabet, X et Y deux sé-quences surΣ et sune fonction de similarité sur Σ×Σ. On définit le ratio-identité deY relativement àX par :

rX(Y) = s(X, Y) s(X, X) On a évidemment :

∀Y ∈Σ,0≤rX(Y)≤1

s(X, X) est appelé auto-similarité de la séquence X. La notion de ratio-identité, introduite par Rolland[38], permet de normaliser la similarité rela-tivement au pattern cherché. En effet, l’auto-similarité d’une séquence étant d’autant plus élevée que la taille de celle-ci est grande, une même valeur de similarité n’a pas la même signification selon la taille des séquences comparées.

Substituer le ratio-identité à la similarité permet de palier à ce problème.

80 CHAPITRE 5. MACHINERIES Nous pouvons maintenant définir une fonction d’équipollence pour l’identifica-tion de patterns à l’aide d’un modèle d’édil’identifica-tion. Soient Σ un alphabet, P un pattern surΣdont nous cherchons les occurences approximatives dans une sé-quenceX. Alors pour tout facteurF deX, on dira queF est une occurence de P dansX si et seulement si :

rP(F)≥α

où αest un seuil à définir. Dans notre système, celui-ci est laissé au choix de l’utilisateur. La fonction d’équipollence est évidemment :

Eq(F, P) =vrai⇔rP(F)≥α

5.2.2 Recherche d’occurences

Nous avons présenté, à la section 4.2.2, un algorithme efficace pour calculer la similarité locale, au sens d’un modèle d’édition entre deux séquences. Ce calcul nécessitait la construction d’une matrice de similarité entre les séquences à comparer. Lorsque nous cherchons toutes les occurences d’un pattern donné P dans une séquenceX (au sens de la fonction d’équipollence définie ci-dessus), nous construisons également une matrice de similarité SP X dont nous savons que le plus grand élément est la valeur de la similarité entreP et la meilleure occurence de P dans X. La question est alors : Comment trouver les autres occurences ?

Une approche naïve serait la suivante. Nous construisons une matriceTP X de même taille que SP X dont chaque élément est une étiquette sur l’élément à la même place dans SP X. Cette étiquette peut prendre deux valeurs : utilisé (0) ou non utilisé (1). Initialement, tous les éléments de TP X sont égaux à 1. Nous commençons donc par chercher le couple d’entiers{i, j}qui maximise SP X[i, j]. Si cette valeur est suffisamment élevée pour être une occurence deP, nous construisons l’alignement correspondant (cf. section 4.2.2), nous marquons le couple {i, j}comme utilisé, (TP X[i, j] = 0) et nous continuons la recherche sur la matriceSP X0 , avec :

∀(i, j)∈ {1..m} × {1..n}, SP X0 [i, j] =SP X[i, j]×TP X[i, j]

La recherche s’arrête lorsque :

∀(i, j)∈ {1..m} × {1..n},SP X0 [i, j]

s(X, X) < α

Cette méthode présente l’inconvénient d’extraire toutes les occurences, au sens de la fonction d’équipollence, d’un pattern donné. Or toutes ces occurences ne sont pas nécessairement bonnes à prendre. Il est par exemple évident que si F =X[i..i+l] est une occurence deP dansX, alors il y a toutes les chances

5.3. EN PRATIQUE 81 pour queF0=X[i..i+l−1]le soit aussi. MaisF0 n’apporte pas d’information supplémentaire une fois que F a été découvert.

Pour palier à ce problème, nous étiquetons dansTP X, à chaque localisation d’occurence F, non seulement le couple {i, j} qui maximise SP X0 [i, j], mais également tous les couples de coordonnées qui correspondent à des occurences F0 séquentiellement « trop proches » deF, i.e. vérifiant :

|F∩F0| ≥β× |P|

où le facteurβest laissé à la discrétion de l’utilisateur. En ce qui nous concerne, nous obtenons de bons résultats avecβ= 0.5.

5.2.3 Recherche multi-critères dans un corpus

Lorsque nous recherchons un pattern dans un corpus de séquences, nous construisons autant de matrices de similarité qu’il y a de séquences dans le cor-pus considéré. Chaque occurence est identifiée par le nom de la séquence dans laquelle elle se trouve ainsi que ses coordonnées au sein de la séquence. La si-milarité est calculée à partir des fonction de contribution décrites à la section 4.4. L’utilisateur dispose d’un système de poids pour accorder davantage d’im-portance à l’une ou l’autre de ces fonctions. Comme dans le cas de la recherche d’occurencesδ-similaires, l’utilisateur est libre d’éliminer les occurences « à che-val » entre deux phrases. La figure E.4 montre l’interface de notre système pour la localisation d’occurences approximative à l’aide de notre modèle d’édition.

5.3 En pratique

5.3.1 Pertinence de la δ -similarité

Notre algorithme deδ-matching, s’il offre l’avantage d’être extrêmement peu coûteux en temps de calcul (O(n)), s’avère en revanche d’un intérêt limité pour la localisation d’occurences approximatives. Deux raisons à cela :

1. La localisation de patterns δ-similaires, basée sur une définition binaire de la similarité (ou bien deux séquences sont similaires par rapport à un critère donné, ou bien elles ne le sont pas), ne permet pas de quantifier la

« qualité » des occurences extraites. La figure montre deux occurences du patternow3ac (cf. Annexe C) avecδ= 1 (les distances utilisées sont les intervalles chromatiques et les ratios de durée, cf. section 4.3).

Fig. 5.1 – Deuxδ-occurences du patternow3ac

82 CHAPITRE 5. MACHINERIES Très clairement, la seconde occurence est bien moins proche du pattern initial que la première, mais la définition de laδ-similarité ne permet pas d’établir cette distinction.

2. La localisation de patternsδ-similaires ne permet que de repeérer des oc-curences du même nombre de notes (silences inclus) que le pattern initial.

Elle élude donc totalement toute notion d’anticipation, retard, répétiton de note, fragmentation... bref, le formalisme DTW1, qui justifie l’interêt des distances d’édition, y est absent.

Toutefois nous ne devons pas négliger l’intérêt du δ-matching. Tel qu’il a été implémenté dans notre système, cet algorithme permet de repérer très rapide-ment les occurences « quasi » identiques à un pattern donné, c’est-à-dire équiva-lentes à une transposition près (comparaison des intervalles chromatiques) ou à une contraction/expansion rythmique près (comparaison des ratios de durées).

Comme nous allons le montrer dans la section suivante, cette fonctionnalité s’avère très utile pour juger de la qualité de notre modèle d’édition.

5.3.2 Sélectivité du modèle d’édition

Nous nous proposons ici de localiser toutes les occurences du patternow5Ca (cf. Annexe D) dans un corpus. Pour le confort de l’analyse (en termes de temps de calcul) nous effectuons cette recherche dans le sous-corpusCDbM constitué de tous les solos joués dans les tonalités globales de Do et Ré bémol majeur.

Pour mener à bien la localisation il nous faut spécifier plusieurs paramètres au modèle :

– fonctions de contribution utilisées,

– poid relatif de chacune des fonctions de contributions, – seuil de tolérance sur le ratio identité.

Localisation des occurences « quasi » exactes

Pour que notre modèle soit valide il faut évidemment qu’il soit capable de repérer les occurences exactes, ou « quasi » exactes, d’un pattern donné.

Définition 5.3.1 Etant donnés un patternP et un facteur F d’une séquence X, on dira queF est une occurence quasi-exacte de P dansX si et seulement si F et P sont 0-similaires, au sens de la similaritéδ fondée sur les intervalles chromatiques et les ratio de durées (cf. section 4.3). Autrement dit,F etP sont identiques perceptivement, et sur le plan mélodique uniquement, en dehors de tout contexte harmonique. Une fois posée cette définition, nous recherchons dans un premier temps les occurences quasi-exactes du pattern ow5Cadans le sous-corpusCDbM. L’algorithme deδ-matching en trouve trois, dont une dans la tonalité d’origine (Fa majeur) et deux dans une tonalité voisine (Do majeur).

1Dynamic Time Warping (cf. section 4.2.2).

5.3. EN PRATIQUE 83

Documents relatifs