• Aucun résultat trouvé

La première étape du processus de fusion est l’alignement entre les différentes SKB. Conformément au fonctionnement des outils d’alignements, nous effectuons cet alignement

entre chaque paire de SKB. Pour chaque paire, nous obtenons un alignement qui est un ensemble de correspondances. Une correspondance est une relation d’équivalence entre deux éléments appartenant respectivement à chacune des deux sources alignées. L’objectif est de détecter les éléments communs entre les différentes sources.

4.2.1. Correspondance

Un élément ontologique oe est un des sommets d’une base de connaissances. En d’autres termes, un élément ontologique est une ressource identifiée par une URI. Par exemple un individu est un élément ontologique mais une relation n’en est pas une. En effet, une relation est étiquetée par l’URI d’une propriété et relie deux ressources elles aussi identifiées par des URI, mais la relation elle-même n’est pas identifiée par une URI.

Elément ontologique oe ∈ C ∪ I

On définit aussi une fonction nature(oe) qui permet d’obtenir le type de l’élément ontologique associé :

— nature(oe) = “classe” si oe ∈ C, — nature(oe) = “individu” si oe ∈ I, — nature(oe) = “null” sinon.

Nous ne considérons pas les sommets propriétés : subClassOf, subPropertyOf, domain, range, instanceOf comme pouvant être des éléments ontologiques. Ces propriétés sont déjà définies dans le vocabulaire RDFS, et nous ne travaillerons que sur les arcs étiquetés avec ces propriétés. Nous ne cherchons pas non plus à définir de nouvelles propriétés d’objets (P ropO) ou de propriétés de type de données (P ropDT ) car nous considérons que les propriétés nécessaires seront déjà définies, comme nous le verrons dans la section 3.1du chapitreIII. Nous nous limiterons, là aussi, à ces seules propriétés. Les seuls éléments ontologiques que nous considérons ici sont de nature "classe" ou "individu". Nous cherchons, dans un premier temps, à extraire uniquement ce type d’éléments ontologiques pour les ajouter dans la base de connaissances finale.

Soient deux bases de connaissances sources SKBi et SKBj construites grâce au processus de transformation de sources présenté précédemment, nous définissons une correspondance m comme étant une arête entre une paire de sommets {oei, oej}, avec oei ∈ Vskbi, oej ∈ Vskbj. Une correspondance représente une équivalence entre deux éléments ontologiques, détectée à l’aide d’outils d’alignement. Les correspondances sont définies de la manière suivante :

Correspondance

— Vskbi6= Vskbj une correspondance est toujours établie entre deux sommets appar-tenant à des ensembles de sommets de SKB différentes. @m = {oei, oek} tel que oei∈ Vskbi et oek∈ Vskbi.

— nature(oei) = nature(oej) 6=“null”. Une correspondance est toujours établie entre deux éléments ontologiques de même nature.

— valueE : (C ∪ I) × (C ∪ I) →]0, 1] est une application qui, à toute arête définie comme correspondance, associe un unique degré de fiabilité compris entre 0 et 1 tel que valueE(oei, oej) = valueE(oej, oei).

Dans nos travaux, nous utilisons l’outil d’alignement LogMap78 car ce système a obtenu de bons résultats lors de l’évaluation OAEI 2014 [Dragisic et al., 2014] et que, de plus, il permet de mettre en correspondance des individus et pas seulement des classes. [Jiménez-Ruiz and Grau, 2011]

Dans les travaux de [Euzenat and Shvaiko, 2007], une correspondance est définie par un quadruplet. En plus des deux éléments ontologiques, une correspondance est com-posée d’un identifiant et d’un type de correspondance. En effet, dans ces travaux, une correspondance peut être une spécialisation, une généralisation, une équivalence ou une composition. Nous considérons pour notre part uniquement l’équivalence, car les systèmes d’alignement ne proposent, pour l’instant, que ce type de correspondance dans leurs résultats. De par le fait que nous ne considérons qu’un type de correspondance, nous avons donc l’unicité d’une paire d’éléments ontologiques pour un alignement donné. L’identifiant de la correspondance n’est donc pas nécessaire.

Les systèmes d’alignement permettent d’obtenir des correspondances de type 1 : n, c’est à dire qu’un élément d’une source peut être jugé équivalent à n éléments de la deuxième source. Une relation d’équivalence 1 : n entre un élément de la source A et n éléments de la source B peut être interprétée comme :

1. L’élément de la source A est en relation avec une agrégation des n éléments de la source B. Cette relation peut être de la méronymie, subsomption ou une relation spécifique au domaine. Ce type de relation est associé à de l’alignement complexe, qui n’est pas encore traité par les systèmes d’alignements actuels [Dragisic et al., 2014]. Il n’existe pas de désambiguïsation de la relation existante dans les sorties des systèmes d’alignement.

2. L’élément de la source A est en relation d’équivalence avec un des n éléments de la source B, mais l’outil d’alignement n’a pas pu faire un choix définitif et a proposé un ensemble d’éléments de B possibles.

Pour traiter ces correspondances 1 : n, nous avons fait l’hypothèse de ne considérer que la deuxième interprétation des correspondances 1 : n ; il nous faut donc déterminer, parmi les n éléments de la source B, lequel est vraiment en relation d’équivalence avec l’élément de la source A.

4.2.2. Alignement

Un alignement A(SKBi, SKBj) = (Vaij, Eaij, ΣVaij, etiqVaij, valueEaij) entre deux bases de connaissances distinctes

SKBi= (Vskbi, Eskbi, ΣVskbi, ΣEskbi, etiqVskbi, etiqEskbi, sourceEskbi, cibleEskbi) et SKBj = (Vskbj, Eskbj, ΣVskbj, ΣEskbj, etiqVskbj, etiqEskbj, sourceEskbj, cibleEskbj) est un graphe biparti étiqueté non-orienté ayant pour arêtes uniquement des cor-respondances entre SKBi et SKBj. Nous définissons les composants d’un alignement A(SKBi, SKBj) de la manière suivante :

Alignement

Vaij = U ∪ W . Les sommets de A(SKBi, SKBj) composent deux ensembles de sommets disjoints U ⊂ (Cskbi∪ Iskbi) et W ⊂ (Cskbj∪ Iskbj) tels que chaque arête relie des sommets de U à des sommets de W .

ΣVaij ⊂ ΣVskbi∪ ΣVskbi. L’ensembles des étiquettes des sommets est inclus dans l’union des ensembles d’étiquettes des sommets de SKBi et de SKBj.

etiqVaij : Vaij → ΣVaij est la fonction d’étiquetage des sommets telle que : — ∀v ∈ Vskbi∩ Vaij alors etiqVaij(v) = etiqVskbi(v).

— ∀v ∈ Vskbj ∩ Vaij alors etiqVaij(v) = etiqVskbj(v).

Eaij ⊂ Vskbi× Vskbj est l’ensemble des arêtes représentant des correspondances.

∀mk ∈ Eaij avec mk = {oei, oej} et oei ∈ Vskbi, oej ∈ Vskbj alors 6 ∃ml∈ (Eaij − {mk}) tel que ml = mk = {oei, oej}. Il n’existe qu’une seule correspondance impliquant les mêmes sommets de Vskbi et de Vskbj

valueEaij : Vskbi× Vskbj →]0, 1] est la fonction d’étiquetage des arêtes précédemment définie, qui associe à chaque correspondance son degré de fiabilité.

4.2.3. Bases de connaissances sources alignées

Soit SKBi = (Vskbi, Eskbi, ΣVs, ΣEskbi, etiqVskbi, etiqEskbi, sourceEskbi, cibleEskbi) un exemple de SKB. Soit A(SKBk, SKBj) = (Vakj, Eakj, ΣVakj, etiqVakj, valueEakj) un exemple d’alignement.

Nous considérons que les SKB ont toutes été générées à partir du même module KBm. KBm étant l’ontologie représentant le module ontologique selectionné. Sa définition est donc identique à celle d’une base de connaissances donnée dans la section 1.2.4du chapitreI :

KBm = (Vkbm, Ekbm, ΣVkbm, ΣEkbm, etiqVkbm, etiqEkbm, sourceEkbm, cibleEkbm)

Dans la suite de ce mémoire, N sera le nombre de SKB prises en considération et T le nombre d’alignements entre ces N SKB. Notons que nous ne pouvons avoir que N (N −1)2 alignements possibles entre N SKB. Il n’existe pas forcément un alignement entre deux SKB données. Par conséquent, T ≤ N (N −1)2 . Nous supposons que les SKB sont ordonnées de 1 à N .

Nous définissons par SA = (Vsa, Esa, ΣVsa, ΣEsa, etiqVsa, etiqEsa, sourceEsa, cibleEsa) le multigraphe résultat de l’union des multigraphes des N SKB et des graphes des

alignements entre ces N SKB.

SA est défini de la manière suivante :

Bases de connaissances sources alignées Vsa=SN

i=1Vskbi. L’ensemble des sommets du multigraphe SA est l’union des ensembles de sommets des N SKB.

ΣVsa=SN

i=1ΣVskbi. L’ensemble des étiquettes de sommet de SA est l’union des ensembles d’étiquettes des sommets des N SKB.

etiqVsa: Vsa→ ΣVsa est le prolongement des applications etiqVskbi: Vskbi→ ΣVskbi qui associe à tout sommet de Vsa une étiquette de ΣVsa tel que ∀v ∈ Vskbi, etiqVsa(v) = etiqVskbi(v).

ΣEsa = SN

i=1ΣEskbi∪]0..1] = ΣEm∪]0..1]. L’ensemble des étiquettes d’arcs de SA est l’union des ensembles d’étiquettes d’arcs des SKB et des degrés de fiabilité des correspon-dances issues des alignements entre les SKB. Rappelons que, dans une SKB, les étiquettes d’arcs sont limitées aux étiquettes d’arcs du module utilisé pour la transformation de la source, comme nous l’avons vu dans la section 3.2.3.

Esa=SN

i=1Eskbi∪ (SN −1 i=1

SN

j=i+1Eaij). L’ensemble des arcs de SA est l’union disjointe de N ensembles d’arcs des SKB et des T ensembles d’arêtes des alignements.

etiqEsa : Esa → ΣEsa est une application qui associe à chaque arc son étiquette et à chaque arête son degré de fiabilité. etiqEsa est le prolongement des applications :

— etiqEskbi : Eskbi → ΣEskbi qui associe à chaque arc de SKBi son étiquette de ΣVskbi tel que ∀e ∈ EskbietiqEsa(e) = etiqEskbi(e)

— valueEakj: Eakj→]0..1] qui associe à chaque arête de A(SKBk, SKBj) son degré de fiabilité tel que ∀e ∈ Eakj etiqEsa(e) = valueEakj(e)

sourceEsa : Esa → Vsa est une application qui associe à chaque arc d’une SKB son sommet initial et à chaque arête d’un alignement le sommet qui appartient à la SKB qui a le plus petit numéro d’ordre. sourceEsa est le prolongement des applications sourceEskbi. Ainsi ∀e ∈ Eskbi, ∃v ∈ Vskbi tel que sourceEsa(e) = sourceEskbi(e) = v.

cibleEsa: Esa→ Vsa est une application qui associe à chaque arc d’une SKB son sommet terminal et à chaque arête d’un alignement le sommet qui appartient à la SKB qui a le plus grand numéro d’ordre. cibleEsa est le prolongement des applications cibleEskbi. Ainsi ∀e ∈ Eskbi, ∃v ∈ Vskbi tel que cibleEsa(e) = cibleEskbi(e) = v.

La figure 25 présente un exemple d’un graphe SA d’après l’alignement des sources NCBI, Agrovoc et TaxRef. Sur cette image, les correspondances sont représentées par des pointillés et étiquetées par leur degré de fiabilité.

Pour générer ce graphe, nous faisons un parcours sur toutes les sources considérées et pour chaque paire de sources, nous faisons appel à un système d’alignement pour générer les correspondances.

Figure 25 – Bases de connaissances sources alignées