Le projet LogMap est un système permettant la génération de correspondances entre
deux bases de connaissances. Le processus global de ce projet est présenté dans la figure18.
Ce processus est constitué de cinq étapes :
Indexation terminologique et structurelle (Lexical and Structural Indexation) : La
première étape est l’indexation terminologique des éléments constituant les
ontolo-gies en entrée. Elle indexe non seulement les chaînes de caractères associées aux
63. http://oaei.ontologymatching.org/2014/
64. http://islab.di.unimi.it/im_oaei_2014/index.html
Figure 18 – Processus LogMap [Jiménez-Ruiz and Grau, 2011]
éléments mais aussi les éléments hiérarchiquement au-dessus et en-dessous de
l’élé-ment. Une représentation de type "interval labelling schema" [Agrawal et al., 1989]
permet de repérer facilement et rapidement si un élément est une spécialisation ou
une généralisation d’un autre.
Génération des ancres initiales (Compute Initial Anchors) : En utilisant une
tech-nique de comparaison de chaînes de caractères, des ancres sont générées entre les
deux ontologies. La comparaison utilisée ici est la similarité exacte des chaînes
de caractères. De cette manière, des correspondances avec une forte fiabilité sont
générées et serviront de point d’entrée pour les prochaines étapes.
Réparation des correspondances (Mapping Repair) : En utilisant un raisonneur,
Log-Map essaie de déterminer les correspondances apportant un incohérence
(particuliè-rement en utilisant les classes disjointes). De cette manière, des correspondances
sont supprimées pour éliminer ces incohérences.
Découverte des correspondances (Mapping Discovery) : S’il existe encore des
voi-sins non étudiés (condition "Expand"), alors chaque paire de voivoi-sins des éléments
déjà étudiés est étudiée à son tour afin de déterminer s’il existe une correspondance
entre-eux. Cette correspondance est définie à partir d’une comparaison
terminolo-gique des éléments, mais aussi grâce à une comparaison structurelle en utilisant la
hiérarchie de généralisation et de spécialisation associée aux éléments. S’il existe une
correspondance entre deux nouveaux éléments, alors cette correspondance est
ajou-tée dans la base des correspondances et les éléments sont ajoutés dans les éléments
à étudier. Un score de fiabilité est associé à chacune des correspondances suivant les
similarités terminologique et structurelle. L’étape de réparation des correspondances
est de nouveau effectuée avec cette nouvelle base de correspondances.
Calcul de l’intersection (Compute Overlapping) : Lorsqu’il n’existe plus de paire
d’éléments à étudier dans le voisinage des éléments actifs, alors deux sous-ensembles
(un pour chaque ontologie) sont générés. Ces sous-ensembles représentent les
élé-ments qui n’ont pas été mis en correspondance dans les étapes précédentes. De
cette manière, un expert peut intervenir uniquement sur ces sous-ensembles pour
ajouter des correspondances.
L’outil LogMap permet de répondre aux besoins de notre processus. En effet, cet
outil permet non seulement de mettre en correspondance des classes de l’ontologie mais
également des individus dans la partie assertionnelle. De plus, la participation de cet outil
à la campagne d’évaluation OAEI a permis de mettre en évidence ses bons résultats. Après
exprimentation de l’outil, nous avons pu observer qu’un seul type de correspondances
était détecté : les équivalences. Nous considérerons donc dans la suite de ce manuscrit
que les correspondances obtenues par l’outil LogMap ne sont que des équivalences.
Ces correspondances nous permettent de détecter les éléments communs à plusieurs
sources. Nous cherchons alors à fusionner ces éléments pour obtenir l’élement qui sera
présent dans la base de connaissances finale à représenter.
3. Fusion de bases de connaissances
3.1. Fusion d’ontologies
Nous considérerons dans ce manuscrit la définition de fusion telle qu’elle est définie
dans les travaux [Pottinger and Bernstein, 2003] :
En considérant deux modèles A et B et un ensemble de correspondances
M ap
AB, le processus de fusion génère un troisième modèle représentant l’union
sans doublon des modèles de A et B conformément aux correspondances de
M ap
AB.
Cette définition est suffisamment générique pour considérer comme modèle plusieurs
types de sources, telles que des bases de données, des diagrammes UML ou encore des
ontologies. La notion de "union sans doublon" est particulièrement importante dans cette
définition. Eliminer les doublons lors d’une fusion de deux modèles peut être un processus
complexe. Prenons un exemple simple de définition du nom d’une personne. Si le modèle
A définit le nom comme un seul attribut alors que le modèle B définit le nom de famille
et le prénom, la fusion naïve de ces attributs peut amener à avoir les trois attributs dans
le modèle final.
Afin d’étudier les travaux traitant de cette notion de fusion de bases de connaissances,
nous avons défini quatre critères :
Symétrique : La notion de fusion symétrique implique que les deux modèles à
fu-sionner ont la même importance. Il est possible d’utiliser une technique de fusion
asymétrique pour privilégier un modèle plutôt qu’un autre lors de choix à faire
dans la modélisation du modèle résultat.
Processus d’alignement inclus (Align.) : Certains travaux impliquent le processus
d’alignement des modèles dans leur processus alors que d’autres considèrent les
correspondances comme une entrée du système.
Conflits : Certains travaux prennent en compte la notion de conflits pouvant exister,
un conflit étant une fusion impliquant une incohérence dans le modèle.
Projet Symétrique Align. Conflits Confiance
Vanilla
oui non oui non
[Pottinger and Bernstein, 2003]
Prompt
oui oui oui non
[Noy and Musen, 2003]
Atom
non non oui non
[Raunich and Rahm, 2014]
Table 11 – Travaux sur la fusion
Confiance : Suivant le processus de fusion appliqué, une confiance peut être associée
aux éléments fusionnés.
Nous pouvons remarquer sur le tableau 11 que seul le projet Atom présenté dans
[Raunich and Rahm, 2014] propose un processus asymétrique lors de la fusion. Ce
pro-cessus asymétrique permet de définir un modèle prioritaire par rapport à l’autre. De
cette façon, certaines ambiguïtés susceptibles d’apparaître lors de la fusion peuvent être
résolues automatiquement. C’est par exemple le cas pour notre exemple de définition
du nom d’une personne. Si le modèle B est privilégié par rapport au modèle A, alors
le modèle final aura deux attributs "prénom" et "nom de famille". Nous remarquons
également sur le tableau11 que seul le projet Prompt propose un système d’alignement
intégré au processus de fusion. Comme nous l’avons vu dans la section précédente, il
existe de nombreux systèmes d’alignement permettant d’obtenir des correspondances
entre ontologies. Il n’est ici pas nécessaire de proposer un nouveau processus d’alignement
mais plutôt de réutiliser des travaux existants et éprouvés.
Un point important figurant sur ce tableau est que tous les travaux proposent une gestion
des conflits. Les travaux de [Pottinger and Bernstein, 2003] proposent une catégorisation
des types de conflits pouvant apparaître lors du processus de fusion :
Représentation : un conflit de représentation apparaît quand le même élément du
monde réel est modélisé sous deux formes différentes dans les deux modèles à
fusionner (c’est par exemple le cas de la représentation du nom d’une personne
dans notre exemple précédent)
Modèle : un conflit lié au modèle apparaît lorsque la fusion apporte une incohérence
liée au modèle utilisé.
Fondamentale : un conflit fondamental apparaît lorsque la fusion apporte une
inco-hérence par rapport à la représentation des données. Par exemple un élément ne
peut être que d’un seul type fondamental (entier, chaîne de caractères, ...).
Les travaux sur Prompt [Noy and Musen, 2003] définissent les conflits de la même
manière et proposent une interface spécifique pour résoudre ces conflits. Les travaux
sur Vanilla [Pottinger and Bernstein, 2003] s’intéressent particulièrement à la dernière
catégorie. Pour cela, les auteurs proposent un ensemble de règles permettant de résoudre
ces conflits de manière générique. Ils partent de l’hypothèse que ce type de conflits est
présent quel que soit le type de modèle utilisé (bases de données, ontologies ou autres).
Les travaux sur Atom [Raunich and Rahm, 2014] traitent spécifiquement des conflits du
premier type : représentation. Pour cela, les auteurs utilisent un processus asymétrique
afin de privilégier une modélisation plutôt qu’une autre lors du processus de fusion
d’ontologies.
Nous remarquons enfin que les processus de fusion présentés ici ne traitent pas de la
notion de confiance. La problématique de fusion étant toujours considérée entre deux
modèles, la confiance ne peut pas apparaître puisqu’il n’y a qu’une alternative possible. La
notion d’asymétrie est donc suffisante dans ce cas-là. Néanmoins, lorsque nous considérons
la notion de fusion avec plus de deux sources à fusionner, nous pouvons généraliser la
notion d’asymétrie en considérant l’importance des sources dans ce processus. Apparaît
dans ce cas la notion de confiance d’un élément en fonction des sources impliquées et
particulièrement de leurs qualités respectives.