• Aucun résultat trouvé

Comparer des objets structurés

2.1 Identifier l’intersection d’objets structurés

2.1.1 Approche générale

Pour comparer deux objets, il est courant et assez intuitif de faire le rapport entre la quantité de caractéristiques communes à ces deux objets et l’ensemble de leurs caracté-ristiques [Lin, 1998]. Par exemple, dans son travail séminal, [Tversky, 1977] s’intéresse à la manière dont les êtres humains perçoivent la notion de similarité et propose un cadre formel pour en faire l’étude. Il définit la similarité entre deux objets A et B décrits dans un langage propositionnel, c’est-à-dire représentés par un ensemble de caractéristiques, comme une fonction S de la forme suivante :

S (A, B) = f (EA∩ EB)

f (EA∩ EB) +α. f (EA\EB) +β. f (EB\EA) avecα, β ≥ 0 (2.1) où EA (resp. EB) est l’ensemble des caractéristiques de A (resp. de EB) et f est une fonction croissante monotone3. La différence (EA\EB) correspond aux caractéristiques présentes dans EAmais absentes de EBet (EB\EA) correspond aux caractéristiques pré-sentes dans EB mais absentes de EA. Les paramètres α et β pondèrent les différences entre les ensembles de caractéristiques. Si ces paramètres sont égaux à 1, alors l’équa-tion 2.1 se simplifie de la façon suivante :

S (A, B) = f (EA∩ EB)

f (EA∪ EB) (2.2)

A partir de la formule de Tversky, il est possible de définir une fonction d’inclusion, à valeur réelle dans [0, 1], qui évalue la quantité de caractéristiques de l’objet A (appelé

objet source) que l’on retrouve dans l’objet B (appelé objet de référence). Cette fonction

Di se déduit de l’équation 2.1 en fixant la valeur des paramètresα=1 et β=0 et s’écrit :

Di(A, B) = f (EA∩ EB)

f (EA) (2.3)

Si les fonctions S et Di sont définies pour renvoyer une valeur booléenne, elles corres-pondent alors respectivement à un test d’égalité et un test d’inclusion.

La définition des quatre opérateurs de comparaison que sont l’égalité, la similarité, l’inclusion et le degré d’inclusion est donc basée sur deux étapes : i) l’identification de

2.1. Identifier l’intersection d’objets structurés

l’intersection des deux objets comparés, ii) la normalisation de cette intersection. La différence entre la similarité et l’égalité d’une part et l’inclusion et le degré d’inclusion d’autre part se situe au niveau du facteur de normalisation :

– dans le cas de la similarité et de l’égalité, qui sont des grandeurs symétriques, ce facteur tient indifféremment compte des deux objets (objet source et objet de référence) ;

– en ce qui concerne le test d’inclusion et le degré d’inclusion, qui sont des grandeurs asymétriques„ le facteur de normalisation n’est relatif qu’à l’objet source.

Dans le cas de la similarité (équation 2.2) ou de l’inclusion (équation 2.3), le facteur de normalisation ne dépend d’aucune comparaison entre les objets et peut donc être évalué facilement. Par contre, la recherche de l’intersection des objets est plus difficile car c’est l’étape où les structures des objets sont effectivement comparées.

2.1.2 Appariements

Pour identifier l’intersection de deux objets A et B, les caractéristiques de l’objet

A sont comparées à celles de l’objet B dans le but de trouver le plus grand nombre

de caractéristiques communes aux deux objets. Celles-ci sont ensuite appariées (i.e. mises en correspondance) et l’intersection des objets est représentée par l’ensemble des caractéristiques appariées.

Définition(Appariement)

Etant donné deux ensembles de caractéristiques A et B, l’appariement d’une caracté-ristique a ∈ A avec une caractéristique b ∈ B est une relation π : A → B qui met en correspondance a avec b par un opérateur de comparaison. On dit que l’élément b est l’image de a par la relationπ que l’on écrit b=π(a).

Lorsque tous les appariements ont été trouvés, on note App(A, B), la liste des apparie-mentsπ(ai, bj) entre les éléments ai de A et bjde B.

Exemple

Pour trouver l’intersection des deux ensembles d’entiers A et B, représentés sur la fi-gure 2.1, on recherche, pour chaque entier de A, un entier dans B qui lui soit égal ; si on le trouve, les deux éléments égaux sont appariés. L’intersection de ces deux ensembles est alors le plus grand sous-ensemble de A (ou de B) contenant les éléments mis en correspondance. Dans le cas de données non structurées, cette intersection est triviale puisqu’elle repose sur l’égalité entre les éléments qui expriment toute la sémantique des objets.

1 23 7 6 10 2 7 6 10 12 A B

Figure 2.1 –Intersection de deux ensembles d’entiers naturels. Les lignes représentent les correspon-dances (ici, basées sur l’égalité) entre les éléments de l’ensemble A et ceux de l’ensemble B. L’intersection

est le sous-ensemble{6, 7, 10}.

En logique du premier ordre, l’appariement des variables de deux clauses h et ex s’ap-parente à la notion de substitution de variables.

Définition(Substitution)

Une substitution est une application qui remplace des variables d’une clause h par des termes d’une clause ex. Une substitution θ est une liste de couples xi/tj où xi est une variable de h et tj un terme de ex. Le résultat de l’application de la substitution θ à la clause h, noté hθ, est obtenu en remplaçant chaque occurrence des variables xi par le terme tjcorrespondant.

Dans la suite de ce document, pour avoir un langage commun entre la logique du premier ordre et les graphes, nous parlerons d’appariement au lieu de substitution qui reste un terme propre à la logique.

Exemple

Soit la clause h définie par h ← p(x, y), q(y, z), r(z, x). L’application de la substitution θ = {y/B; z/C} à la clause h est la clause hθ ← p(x, B), q(B, C), r(C, x). Les variables qui ne sont pas substituées restent dans la nouvelle clause.

Cependant, le problème de l’appariement est plus complexe pour les objets structu-rés comme des clauses logiques puisqu’elles ne sont pas décrites par un seul ensemble d’éléments mais par deux : un ensemble de variables V et un ensemble de littéraux L. La difficulté vient du fait que l’intersection de ces clauses ne se réduit pas à l’intersec-tion de leurs variables car il faut, en même temps, tenir compte de leurs littéraux (et vice-versa), comme l’illustre la figure 2.2.

Dans cet exemple, les variables sont représentées par les mêmes nombres entiers que ceux de l’exemple précédent (figure 2.1) mais ici, les littéraux empêchent de faire les mêmes appariements que précédemment. Par exemple, la variable 6 dans l’objet A est située à la position 1 du littéral p(6, 10) (c’est l’origine de l’arc vers le sommet 10) alors que c’est l’inverse dans l’objet B : les deux variables, bien qu’étant égales, ne peuvent pas être appariées car cela serait incohérent avec les littéraux des deux clauses.

2.1. Identifier l’intersection d’objets structurés 7 A B