Rapport de Mini Projet

Mesure de Similarité entre des Ontologies
Réalisé par Mohamed Béchir M’rabet

Iheb Jébalia

Marouane Lakhal

Encadré par Mlle Naouel Ayari

Soutenu le 20 janvier 2010

Jury :

Mme Sonia Bouzidi Mme Khadija Arour

Année Universitaire : 2009-2010

2

Remerciements
Nous tenons à adresser nos vifs remerciements et à exprimer toute notre profonde reconnaissance à notre encadreur Mlle Ayari Naouel, qui nous a consacrée beaucoup de son temps et qui nous a prodiguée des conseils et des directives très utiles et dont laide et la collaboration ont été très constructives. Par ailleurs, nos remerciements s’adressent également à tous ceux qui de loin ou de prés nous ont aidés et ont contribués à l’élaboration de ce mini projet.

3

la représentation et la manipulation des connaissances d’un domaine particulier. L’objectif de l’alignement est de trouver les points de jonction qui permettront de concevoir des ponts entre les ontologies. Ontologie Web Language. .Résumé Les ontologies sont exploitées dans le domaine des systèmes d’informations. ou de procéder à d’autres opérations de manipulation. SODA. Web sémantique. Elles permettent la description. Mots Clés. L’alignement d’ontologies consiste à chercher les correspondances entre les differentes entités des diverses ontologies. Alignement d’ontologie.

. .5. . . . . . . . . .1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. . 5 7 7 7 7 7 9 9 9 9 10 10 10 10 10 12 14 15 16 16 16 16 18 19 21 . . . . . . . .1 Définition . . . . . . . . . . . . . . . . . 1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . 1.1 Diagramme de cas d’utilisation 2. . . . .1 La similarité . . . . . . . . .4. . . . . . .2 Analyse des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Définition . . . . . . . . . . . . . . . .2 Les outils utilisés . . . . 1. . . . . .2. . . . . . . . . . . . . . .4 Les Ontologies . . 22 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Les langages du web sémantique 1. . . . . . . . . . . . . .Table des matières Introduction . .1 Introduction . . . . .4. . . . . . . . . . . . . . . . . .5 Méthodes de mesure de similarité . . . . . . . . . . 22 3. . . . . 1. . . . Analyse et conception 2. . . . . .3 Le langage RDF . . . . . . . . . . . . . . .3. . . . . . . . . . . . .3 Exemples de Méthodes . . . .2 Le web sémantique . . . . . . . . . 1. . .3.5. . . . . 1. . . . .3 Le langage OWL . . . . . . . . . . . . . . . . . . . . 1. . . . .2. . .2 Composition . . . . . . . . . . . . . . . . . . . . . .1 Netbeans . . . . . .1 Introduction . . . . . . . . . . . 2. 1.2. . . . . . . . . . .4 Conclusion . .5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . . .3. . . . . . . . .2. . . . . . . . . . . . 1. . . . .2 Les méthodes d’alignements . .2 Le langage XML . . . . . . 1. . . . 2. . . 2. . . 1.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3. 2. . . . . . . . . . . . . . 1 Etat de l’art 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Diagramme de séquences . . . . . . . . 1. . . . . . . . . .1 Introduction . . . . . . . . . . . . . . 1. . . . . . . . 3 Réalisation 22 3.3 Conception . . . . . . .

. . . . .6. .2 MySql . . . . . . . . . . . . . . . . .2. . . .3. . .3 Mesure de similarité globale . . . . .2 Mesure de similarité structurelle . . . . . . . . . . . . .5 3. . . .8 3. . 3. . . . . . . . . 3. . . . . . . . . . . . . Conclusion . . . .7 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 LaTeX . . . . . . . . . . . . . . . . . . . Méthode d’alignement utilisé . . . . . . . Langage utilisé .1 Mesure de similarité linguistique 3. . . . Environnement matériel . . .2. . . . Fonctionnalités de l’application . . . . . . . . . . . . . . 23 23 23 23 23 24 24 24 26 28 28 30 31 32 32 Conclusion générale Bibliographie Netographie 2 . . . .3 3. . . . . . . . . .6. .3 PowerAMC . . 3. . . . . . . . . . .4 3. . . .6 3. . . . . . . . . . . . 3. . . . . . . . . . . . La bibliothèque Jena . . . . . . . . . . . . . . . . . . . . . . . . . .6.2. . . . . . . . . . . . . . .

. . . .2 3. . . . . . . . . . .3 3. . . . . . . . . . . .1 2. . . . . Algorithme 2 . .Table des figures 1. . . .6 3. . . . . . . . . . .1 2. . . . . . 29 . . . . . . . . . . 29 . . . . . . . . . . . . . . . . . . . .4 3. . . . . . . . . 29 3 . . . . . . . . .7 Les catégories des mesures de similarité selon différentes techniques 11 Diagramme de cas d’utilisation . . . . . . . . . . . 26 . . . . . . . 27 . . .2 2. . . . . . . . . . . . . . . . . . . Visualisation du graphe conceptuel Visualisation du résultat .5 3. . . .1 3. . . . . . . . . . . . . . . . . . . Visualisation des images réelles . . . . . 17 Diagramme de séquence . . . . . . . . . . . . . . . . . . 20 Algorithme 1 . . . . . . . . . . 19 Diagramme de classes . .3 3. . . . . Fonction TO1 . . . 28 . . . . . . . . . . . . . . . . . . Fonction TO2 . . . . . . 27 . . . . . . . . . . . . .

. . 18 4 . . . . .2 2. . . . 18 Description textuelle du cas d’utilisation affichage de l’image . 18 Description textuelle du cas d’utilisation affichage du graphe conceptuel . .1 2. . . . . . . . . .3 Critères principaux d’utilisation des mesures de la similarité . . . . . . . 12 Description textuelle du cas d’utilisation calcul de similarité . . . . . . .1 2. .Liste des tableaux 1. . . .

si elle n’a pas dénaturée l’information. La standardisation peut aider différents programmes à inter-opérer ou échanger des données. une nouvelle idée du Web prend corps : celle d’un Web Sémantique. autorisant une mise en forme aisée et rapide des documents en ligne. Les connaissances que proposent les pages Web ont peu à peu été enfermées dans une couche présentationnelle qui. la sauvegarde. l’a en tout cas rendue moins accessible.Introduction A sa création par Tim Berners Lee 1 . Ce dernier est conçu pour que le contenu des ressources sur le Web puisse être rendu sémantiquement compréhensible et accessible par des logiciels. Il préside aujourd’hui le World Wide Web Consortium (W3C). des images. l’organisation. Cependant. traitées d’une manière automatique par des logiciels. La manière de représenter la sémantique dans le Web sémantique est d’utiliser une ontologie. il est nécessaire de trouver des moyens pour assurer leur interopérabilité pour pouvoir les faire collaborer et permettre aux composants intelligents de les utiliser. La sémantique du contenu des ressources dans le Web sémantique doit donc être rendue explicite et disponible pour les machines dans une représentation formelle et standardisée. né à Londres le 8 juin 1955. Cette multitude d’ontologies évoque un problème d’hétérogénéité. Problématique A cause de leur prolifération. toutefois. de plus en plus dontologies décrivent un même domaine existant. Face à cette hétérogénéité. est le principal inventeur du World Wide Web. 5 . l’objectif du web était de permettre des échanges rapides de savoirs entre individus distants. la recherche d’informations pourraient être réalisées. 1. Il s’agit en d’autres termes de trouver des procédés pour aligner les ontologies. des services ont une sémantique associée. Grâce à cette sémantique. Tim Berners-Lee. au début des années 1990. Depuis plusieurs années. de son nom complet Sir Timothy John Berners-Lee. C’est dans ce but qu’a été créé le langage HTML. Les ressources disponibles sur Internet telles que des documents.

Dans le deuxième chapitre. nous faisons l’analyse des besoins et la conception de notre application qui permet de mesurer la similarité entre des ontologies.Plan du rapport Ce rapport commence par un premier chapitre dédié à l’état de l’art. Nous présentons dans ce chapitre le domaine d’application des ontologies et leurs notions de base. En conclusion. Le troisième chapitre est consacré à la réalisation de cette application. nous présentons un bilan de notre travail. 6 .

1 Introduction Les ontologies sont une notion en pleine expansion et est promue comme une solution pour le développement et l’amélioration de certains concepts. Ce but ne peut être atteint qu’avec la mise en ordre des données sous une 7 . Ce basant sur cette définition.2.2 Les langages du web sémantique Comme on peut s’en rendre compte d’après la définition. nous pouvant déterminer plus clairement la notion de ce nouveau web qui peut se résumer comme étant un ensemble de technologies visant à rendre le contenu des ressources du World Wide Web accessible et utilisable par les programmes.Chapitre 1 Etat de l’art 1.2.1 Le web sémantique Définition Pour définir le web sémantique. le web sémantique sert à faciliter la compréhension du web à des programmes informatiques pour augmenter leur efficacité de parcours de données et donc le gain de ressources.2 1. 1. Parmi ses concepts on peut citer un des plus importants : Le web sémantique. 1. il faut tout d’abord définir la notion de base de cette technologie qu’est la métadonnée Définition 1 Une métadonnée est une donnée servant à définir ou décrire une autre donnée. grâce à un système de métadonnées formelles.

DAML-ONT est apparu en Octobre 2000 suite à un effort du DARPA (Defense Advanced Research Projects Agency). en Novembre 2001. En voici quelques exemples : Open Knowledge Base Connectivity : OKBC 2. En réaction à l’apparition de ces nombreux langages poursuivant pour la plupart des buts communs. Le programme DAML se poursuit encore à l’heure actuelle.0. DARPA Agent Markup Language : fondé sur XML et RDF. chargé d’étudier la création d’un langage standard de manipulation d’ontologies web. Le premier Working Draft " OWL Web Ontology Language 1. consortium chargé de promouvoir la compatibilité des technologies du World Wide Web telles que HTML. Knowledge Interchange Format : est un langage destiné à faciliter des échanges de savoirs entre des systèmes informatiques. OWL devient une Recommandation du W3C le 10 Février 2004. afin d’autoriser l’expression de classes RDF plus poussées que ce que permettait à l’époque RDFS. XML. RDF 8 . le groupe de travail " WebOnt ". 1. est une API permettant d’accéder à des bases de connaissance (Knowledge Representation System). XHTML. Son objectif n’est pas de permettre une intéraction avec l’être humain (bien que cela reste possible). LOOM : est un langage de représentation des connaissances dont le but avoué est de permettre la construction d’applications intelligentes ". publié en 1997. le World Wide Web Consortium 1 (aussi appelé W3C) a mis sur pieds. Pour cela. au final.0 Abstract Syntax " paraît en Juillet 2002 et. certains développeurs du web sémantiques ont optés pour une solution basée sur la création de nombreux langages développés à cet effet. mais plutôt une coopération entre systèmes hétérogènes.forme spéciale : celle des métadonnées.

3 1.1 Le langage OWL Définition Le langage OWL est basé sur la recherche effectuée dans le domaine de la logique de description 2 . transformant ainsi le web d’un regroupement d’informations uniquement destinées aux humains.1.2 Le langage XML Le langage XML(eXtensible Markup Language) est un métalangage facilitant l’élaboration de langages à balises spécialisés. Nombreux sont les documents qui profitent aujourd’hui du cadre de XML 1.faciliter le traitement automatique de l’information du Web par des programmes.3. OWL est.3 Le langage RDF Le langage RDF est un langage basé sur XML qui a été développé dans le but de : . tout comme RDF. Il permet de décrire des ontologies. afin de fournir des informations sur les ressources Web et les systèmes qui les utilisent.manipulation et classification des métadonnées Web. Une terminologie se constitue de concepts et de propriétés (aussi appelés " rôles " en logiques de description).3.3. 2. . La logique de description est une famille de langages de représentation de connaissance qui peuvent être utilisés pour représenter la connaissance terminologique d’un domaine d’application d’une manière formelle et structurée 9 . Un domaine se compose d’instance de concepts. c’est-à-dire qu’il permet de définir des terminologies pour décrire des domaines concrets. les nouveaux comme les anciens. il a conquis de multiples formats. en un état de réseau de processus en coopération. 1. un langage XML profitant de l’universalité syntaxique de XML.

1. Elle est employée pour raisonner à propos des objets du domaine concerné. ou les éléments d’un domaine de connaissances.des relations d’inclusion.2 Composition Une ontologie est composée de trois parties : . 10 .Instance : c’est à dire un individu d’une classe qui peut prendre les caractéristiques définies par les propriétés. 1. .5. nous donnons la définition de la similarité. 1. qui est également appelée la proximité sémantique. que ce soit par les métadonnées d’un espace de noms. qui peut être réel ou imaginaire. ainsi que les relations entre ces concepts. L’objectif premier d’une ontologie est de modéliser un ensemble de connaissances dans un domaine donné. C’est la quantité qui reflète la force du rapport entre deux objets ou deux caractéristiques.4.1. L’ontologie constitue en soi un modèle de données représentatif d’un ensemble de concepts dans un domaine.1 Les Ontologies Définition Une ontologie est l’ensemble structuré des termes et concepts représentant le sens d’un champ d’informations.1 La similarité Dans notre contexte.4 1. On pourrait comparer cela à une table dans le domaine des bases de données relationnelles.4.Propriété : qui permet de définir des faits ou des relations entre ces classes.5 Méthodes de mesure de similarité Avant de présenter ces méthodes. Les concepts sont organisés dans un graphe dont les relations peuvent être : . . la notion de similarité est plutôt celle de la similarité sémantique.des relations sémantiques(permettent de relier les concepts des différentes relations traitant le même domaine d’étude) .Classe : c’est à dire un groupe d’individus partageant les mêmes caractéristiques.

1 – Les catégories des mesures de similarité selon différentes techniques 11 .F IGURE 1.

utilisée principalement pour les entités numériques ayant des tailles fixes. des structures. Elles sont employées pour calculer la valeur de la similarité des entités textuelles. comme les codes postaux ou les numéros de sécurité sociale.1 résume différentes mesures de similarité. des chaînes de caractères. des descriptions. Les mesures de similarité. de distance peuvent être classées selon la nature des entités que l’on veut comparer : des termes.La Figure 1. Ces méthodes peuvent encore être divisées en deux souscatégories : l’une contient des méthodes qui comparent des termes en se basant sur les caractères contenus dans ces termes et l’autre utilise certaines connaissances linguistiques. 2004]. des modèles théoriques. catégorisées selon les techniques utilisées. des commentaires. la meilleure performace au niveau des résultats de plusieurs expériences. 2001] et [Shvaiko et Euzenat. des étiquettes. Mesure de similarité Domaine d’application Bigrams (n=2) est efficace avec des erreurs typographiques mineures.5. des instances (des individus des classes). Ce résumé est une synthèse des travaux présentés dans [Rahm et Bernstein. Peut être employée dans plusieurs domaines Presque même performance au niveau des résultats que Monge-Elkan mais beaucoup plus rapide N-gram Distance de Hamming Distace de Monge-Elkan Distance de Jaro/Jaro-Winkler TABLE 1. telles que des noms.1 – Critères principaux d’utilisation des mesures de la similarité 12 . 1.2 Les méthodes d’alignements Les méthodes terminologiques Ces méthodes se basent sur la comparaison des termes ou des chaînes de caractères ou bien les textes.

et méthodes structurelles externes les autres qui considèrent des relations entre des entités. . . Nous appelons méthodes structurelles internes les méthodes qui n’exploitent que des informations concernant des attributs d’entités. qui sont les entités ayant la même superentité directe avec les entités en question) sont déjà similaires. qui n’ont aucune sous-entité. ce sont des informations concernant des attributs de l’entité.Toutes (ou presque toutes) les entités dans les chemins de la racine aux entités en question sont déjà similaires. 13 . qui sont souvent des relations d’inclusion (spécialisation). Les méthodes structurelles externes Contrairement aux méthodes décrites précédemment. celles de la cardinalité des attributs.Leurs sous-entités directes (ou toutes leurs sous-entités) sont déjà similaires. Deux entités peuvent être considérées similaires si : . Dans la plupart des cas. telles que des informations du co-domaine des attributs. ou celles des autres types de restriction sur des attributs. dans le sous-arbre ayant pour racine l’entité en question) sont déjà similaires. .Les méthodes structurelles Ce sont des méthodes qui déduisent la similarité de deux entités en exploitant des informations structurelles lorsque les entités en question sont reliées aux autres par des liens sémantiques ou syntaxiques. formant ainsi une hiérarchie ou un graphe des entités.Toutes (ou presque toutes) leurs feuilles (les entités de même type.Leurs descendants (entités dans le sous-arbre ayant pour racine l’entité en question) sont déjà similaires. L’idée de base est que si deux entités sont similaires. qui exploitent des informations des attributs d’entités. les méthodes structurelles externes exploitent des relations entre des entités ellesmêmes. Les méthodes structurelles internes Ces méthodes calculent la similarité entre deux entités en exploitant des informations des structures internes de ces entités. . leurs voisines pourraient également être d’une façon ou d’une autre similaires. .Leurs super-entités directes (ou toutes leurs super-entités) sont similaires. Avec ces relations.Leurs surs (ou toutes leurs surs. celles des caractéristiques des attributs (la transitivité. la symétrie). Cette observation peut être exploitée de plusieurs manières différentes en regardant des relations avec d’autres entités dans des hiérarchies. les entités sont considérées dans des hiérarchies et la similarité entre elles est déduite de l’analyse de leurs positions dans ces hiérarchies.

la similarité (l’égalité) des types des données. Anchor-PROMPT ne cherche que des correspondances des concepts.1. en comparant deux entités. Il essaie de calculer la similarité de deux entités dans deux ontologies en se basant leurs caractéristiques (leurs types : classe. À partir des valeurs de similarité calculées par des mesures de base. En s’appuyant sur ces fréquences. il utilise la mesure de similarité basée sur des correspondances. Les mesures de similarité de base employées dans l’algorithme sont l’égalité des chaînes des caractères pour des URI des entités. relation ou instance. domaine. Ils sont mis dans une matrice des poids et sont prédéfinis avant l’exécution de l’algorithme. pas des correspondances des relations. Cependant. l’algorithme applique un calcul du 14 . Les résultats retournés par l’algorithme seront également limités si les structures des ontologies sont différentes (par exemple l’une est profonde avec beaucoup de concepts au milieu. où les noeuds dans le graphe sont des concepts et les arcs dénotent des relations entre les concepts (les étiquettes des arcs sont les noms des relations). 2004] : C’est un algorithme pour aligner des ontologies représentées en OWL. La combinaison est la somme pondérée des valeurs de similarité de chaque caractéristique. Les poids sont associés suivant le type d’entité à comparer et ses caractéristiques. co-domaine) et de combiner les valeurs de similarités calculées pour chaque paire d’entités de manière homogène. OLA [Euzenat et Valtchev. Pour la similarité entre deux ensembles. leurs rapports avec d’autres entités : sous-classe. 2001] : Anchor-PROMPT construit un graphe étiqueté orienté représentant l’ontologie à partir de la hiérarchie des concepts et de la hiérarchie des relations. Ainsi si les noms de relation sont différemment définis. des mesures de similarité des suffixes ou des chaînes des caractères pour des étiquettes des entités. il emploie des noms de relation pour des étiquettes sur les arcs et la comparaison des chaînes de caractères de ces étiquettes n’est que la comparaison simple. En outre. le cas très souvent rencontré dans OWL (par exemple. l’algorithme décide si ces concepts sont sémantiquement similaires. Anchor-PROMPT analyse les chemins dans les sous-graphes limités par les ancres(des paires de concepts similaires) et il détermine quels concepts apparaissent fréquemment en positions similaires sur les chemins similaires. l’algorithme ne fonctionnera pas bien.5. et l’autre est peu profonde).3 Exemples de Méthodes Anchor-PROMPT [Noy et Musen. l’algorithme exploite la similarité de deux ensembles d’entités qui sont sous-entités des entités en question).

Les ontologies OWL-DL à apparier sont transformées sous forme d’un graphe DLGRAPH. Ainsi. Le modèle d’alignement calcule pour chaque catégorie de noeuds. Yahya Slimani . les propriétés et les instances. La fonction d’agrégation prend en considération toutes les mesures de similarité et la structure des noeuds à apparier. 1. Ce modèle exploite la structure du graphe DL-GRAPH pour apparier les noeuds des deux ontologies et calculer les mesures de similarités. une fonction d’agrégation. Nous avons montré que l’ontologie est un des composants les plus importants dans le Web sémantique. prend en entrée deux ontologies décrites en format OWL-DL. Dans le but de résoudre les problèmes concernant l’hétérogénéité des ontologies. nous avons présenté des travaux dans la littérature qui abordent le problème d’alignement d’ontologies. SODA est une approche reposant sur un modèle de calcul des similarités locale et globale. les relations et les instances. Nous avons aussi présenté la notion de similarité entre deux entités dans le monde du Web sémantique utilisée dans notre contexte de recherche. Les noeuds du graphe sont les entités de l’ontologie : les classes. SODA [ Sami Zghal . nous avons présenté les connaissances de base concernant notre domaine de travail. 15 . les arcs du graphe décrivent les relations qui existent entre ces différentes entités. avec des itérations pour améliorer la similarité de deux entités. Chaque entité de l’ontologie OWL-DL est décrite par une ressource. cette fonction exploite toute l’information descriptive de ce couple. ainsi que des méthodes de base permettant de calculer cette valeur de similarité.6 Conclusion Dans ce chapitre. Sadok Ben Yahia . appartenant au graphe DLGRAPH.point fixe. Le graphe DL-GRAPH représente toutes les informations contenues dans une ontologie OWL-DL : les classes. des alignements entre deux ontologies sont générés. Engelbert Mephu Nguifo . représentée par une notion associée dans le formalisme RDF et identifiée par un URI. 2007] : SODA. Quand il n’y a plus d’améliorations.

et enfin.1 Analyse des besoins Diagramme de cas d’utilisation Les diagrammes de cas d’utilisations expliquent les interactions entre les objets du système au sein d’un scénario. puis nous présentons le diagramme de séquences. 16 .1 Introduction Nous dédions ce chapitre à certains diagrammes de l’approche de conception objet UML. nous commençons par le diagramme de cas d’utilisation.2 2. 2.2. Dans cette optique. nous terminons par le diagramme de classes.Chapitre 2 Analyse et conception 2.

le calcul de similarité structurelle et le calcul de similarité globale. Cas : calcul de similarité linguistique Le calcul de similarité linguistique se base sur la méthode de JaroWinkler pour la comparaison entre les différentes chaines de caractères des différentes parties de l’ontologie (les classes.Diagramme F IGURE 2. on associe a chaque partie un poids avec la somme des poids est égale a 1.1 – Diagramme de cas d’utilisation Description textuelle Cas d’utilisation : Calcul de similarité Acteurs primaires : Utilisateur Description : Le calcul de similarité comprend le calcul de similarité linguistique. les instances et les propriétés). Après avoir comparés chacune de ces similarités. 17 .Ensuite il fait leur somme pondérée.

TABLE 2.2 – Description textuelle du cas d’utilisation affichage de l’image Cas d’utilisation : Affichage du graphe conceptuel Acteur primaire : utilisateur Description : L’affichage du graphe conceptuel permet de donner à l’utilisateur une vision détaillée de l’ontologie avec ses différentes parties que sont les classes. l’utilisateur peut afficher l’image source avec laquelle a été construite l’ontologie Exception : Si l’utilisateur n’a pas choisit d’ontologie. Exception : Si l’utilisateur n’a pas choisit d’ontologie. TABLE 2.3 – Description textuelle du cas d’utilisation affichage du graphe conceptuel 2. un message d’erreur apparait l’incitant à faire une sélection correcte. 18 .2 Diagramme de séquences Les diagrammes de séquences expliquent le déroulement d’une session de dialogue entre l’utilisateur et le système. TABLE 2.1 – Description textuelle du cas d’utilisation calcul de similarité Cas d’utilisation : Affichage de l’image Acteur primaire : utilisateur Description : Pour aider l’utilisateur à avoir une vision concrète de l’ontologie.Cas : calcul de similarité structurelle Le calcul de similarité structurelle consiste en la recherche de similarité linguistique des noeuds voisins de chaque noeud par rapport a ceux de la deuxième ontologie Cas : calcul de similarité globale Le calcul de similarité globale est obtenue en calculant la somme pondérée des similarités linguistique et structurelle. les instances et les propriétés. un message d’erreur apparait l’incitant à faire une sélection correcte. Exception : Si l’utilisateur n’a pas choisit une ontologie où il n’a choisit qu’une seule un message d’erreur apparait l’incitant à faire une sélection correcte.2.

La classe donnée : Elle peut être soit une ontologie soit une image représentative de celle-ci.F IGURE 2. Elle permet de calculer la similarité entre les ontologies stockées dans la base de données et/ou l’affichage des images représentatives de ces dernières à savoir les images réelles et/ou les graphes conceptuels. Elle est constituée de 3 parties représentées par 3 classes. fait que notre application soit constituée des modules suivants : Classe utilisateur : Elle représente l’utilisateur et ses différentes interactions avec le système. 19 . Ce sont ces données qui sont stockées dans la base. Classe application : Elle représente le coeur du système.3 Conception L’analyse des besoins effectuée précédemment. La classe base de données : elle a pour objectif de stocker les ontologies ainsi que leurs images pour faciliter le traitement de l’application. La classe ontologie : C’est la donnée la plus importante de notre application.2 – Diagramme de séquence 2.

Classe : C’est la partie principale de l’ontologie. C’est une représentation graphique de l’ontologie. .Image réelle : C’est la représentation réelle de l’image.Propriété : permet de définir des faits ou des relations entre les classes. Cette dernière doit au mois avoir une classe pour exister.3 – Diagramme de classes 20 . Elle peut être soit une image réelle soit un graphe conceptuel. . Elle peut être soit une image satellitaire soit une photo. F IGURE 2.. . La classe image : C’est le deuxième type de donnée qui peut être stocké dans la base.Instance : c’est une classe qui peut prendre les caractéristiques définies par les propriétés.Graphe conceptuel : C’est une représentation symbolique de l’image qui met en valeur ses éléments les plus importants. .

21 .4 Conclusion Nous avons spécifié dans ce chapitre les données du système. Le chapitre suivant explique les différents choix de réalisation et décrit l’acheminement restant du projet. ses fonctions et son comportement dans son environnement à travers le langage de modélisation objet UML.2.

un compilateur .2. 3.1 Netbeans Netbeans est un EDI(Un Environnement de Développement Intégré) Un EDI est un programme qui regroupe un ensemble d’outils pour le développement de logiciels : .2 Les outils utilisés Pour réaliser notre application dédiée à la mesure de similarité entre des ontologies. On a aussi eu recours à d’autres outils comme le PowerAMC pour l’analyse et conception de l’application et au LateX pour l’élaboration du rapport. nous avions eu recours à certains outils dont les plus importants sont Netbeans et MySql.un débogueur. 22 .Chapitre 3 Réalisation 3. nous finalisons notre travail par la description de l’environnement de travail et de la présentation finale de notre application.des outils automatiques de fabrication . 3.un éditeur de texte .1 Introduction Dans Le chapitre Réalisation.

4 LaTeX LaTeX est un système de préparation de document pour la composition de haute qualité. Les programmes Java peuvent être appelés depuis des documents HTML ou de manière autonome. Il fait partie des logiciels de gestion de base de données les plus utilisés au monde.Manipulation de déclarations RDF.2. Cette bibliothèque est la bibliothèque Jena. 23 .3.2. Il est le plus souvent utilisé pour les moyennes et grandes documentations techniques ou scientifiques. Fonctionnant sur le principe machine virtuelle. 3. Il permet de réaliser tous les types de modèles informatiques. autant par le grand public (applications web principalement) que par des professionnels.2. les processus. 3.4 La bibliothèque Jena Jena est une bibliothèque de classes Java qui facilite le développement d’applications pour le web sémantique Elle permet la réalisation des opérations suivantes : . il peut s’adapter à n’importe quel ordinateur. Cela permet d’améliorer la modélisation. 3.2 MySql MySQL est un système de gestion de base de données (SGBD). le coût et la production d’applications et de faciliter ce qu’implique le travail en équipe par le partage de l’information entre les concepteurs. mais il peut être utilisé pour pratiquement toute forme d’édition.3 PowerAMC PowerAMC est un logiciel de modélisation. 3.3 Langage utilisé Le langage Java est un langage de programmation orienté objet développé par Sun. Le fait d’avoir privilégié l’utilisation de ce langage est l’existence d’une bibliothèque dédiée à la manipulation des ontologies.

Dans notre cas nous avons opté pour la méthode de JaroWinkler.6GHz. 24 . 3. 3.6 Méthode d’alignement utilisé Pour la recherche de similarité entre des ontologies nous avons intégré dans notre application la méthode SODA. Gestion d’ontologies : RDF-Schema. Plus la distance de Jaro-Winkler entre deux chaînes est élevée. . plus elles sont similaires. 3.1 Mesure de similarité linguistique Avant toute chose.5 Environnement matériel Nous avons testé notre application sur un ordinateur portable ayant les caractéristiques suivantes : . Matthew A. une méthode de calcul de similarité doit se baser sur une fonction de similarité. Fonction de similarité de jaroWinkler Définition La distance de Jaro-Winkler mesure la similarité entre deux chaînes de caractères. Jaro) qui est principalement utilisée dans la détection de doublons.Processeur : Intel Pentium Dual CPU 1. Stockage en mémoire ou sur disque de connaissances RDF. Cette mesure est particulièrement adaptée au traitement de chaînes courtes comme des noms ou des mots de passe.Ecran : 15.6.RAM : 2GO. découlant de la distance de Jaro (1989. OWL.Carte Graphique : Mobile Intel R 965 Express Chipset Family. . Winkler. le zéro représentant l’absence de similarité. Langage d’interrogation d’une base RDF.4". Il s’agit d’une variante proposée en 1999 par William E. Le résultat est normalisé de façon à avoir une mesure entre 0 et 1.Disque dur : 160 GO.- Lecture et écriture RDF/XML. . .

La fonction Similarité linguistique prend en paramètre les deux ontologies O1 et O2 a aligné ainsi que la fonction de calcul de similarité de Jaro-Winkler et donne en retour la valeur de similarité linguistique. Application de JaroWinkler dans la recherche de similarité linguistique Le calcul de la similarité linguistique est effectué entre les noms des entités pour les propriétés les instances et les classes séparément suivant l’algorithme 1. Le nombre de fois où ces caractères sont différents.p est un coefficient qui permet de favoriser les chaînes avec un préfixe commun. divisé par deux. 25 . Winkler propose pour valeur p = 0.|s2 |) − 1 2 2. Deux caractères identiques de s1 et de s2 sont considérés comme correspondants si leur éloignement (i. .m est le nombre de caractères correspondants 1 . la différence entre leurs positions dans leurs chaînes respectives) ne dépasse pas : max(|s1 |. .1. 1.Méthodologie La méthode de similarité de JaroWinkler est basée sur la méthode de Jaro qui est définit entre deux chaines de caractères s1 et s2 comme suit : jd = 1 3 m |s1 | + m |s2 | + m−t m où : . La méthode introduite par Winkler utilise un coefficient de préfixe p qui favorise les chaînes commençant par un préfixe de longueur l(avec l≤ 4).dj est la distance de Jaro entre s1 et s2.l est la longueur du préfixe commun (maximum 4 caractères). leur distance de Jaro-Winkler dw est : dw = dj + (l ∗ p(1 − dj )) où : .t est le nombre de transpositions 2 . donne le nombre de transpositions. Le nombre de transpositions est obtenu en comparant le i-ème caractère correspondant de s1 avec le i-ème caractère correspondant de s2.e. En considérant deux chaînes s1 et s2.

des propriétés et des instances. La fonction similarité structurelle ne prend en paramètre que les deux ontologies à alignées et retourne en résultat la valeur de similarité structurelle. la méthode SODA propose la relation suivante : SimLing = P 1 ∗ SimLingClasse + P 2 ∗ SimLingP ropriété + P 3 ∗ SimLingInstance Où P1 + P2 + P3 = 1 Avec P1.6. afin de déterminer la valeur de la similarité globale.2 Mesure de similarité structurelle La similarité structurelle est calculée en exploitant la similarité linguistique du couple de noeud à apparier ainsi que la structure avoisinante suivant l’algorithme2. 3. P2 et P3 les poids assignés respectivement au calcul des similarités linguistiques des classes. Ces poids étant déterminés arbitrairement suivant l’importance de chaque terme.1 – Algorithme 1 Enfin.F IGURE 3. 26 .

F IGURE 3.3 – Fonction TO1 27 .2 – Algorithme 2 F IGURE 3.

SimGlob = P 1 ∗ SimLing + P 2 ∗ SimLStruct Où P1 + P2 = 1 Avec P1et P2 les poids assignés respectivement au calcul des similarités linguistiques et structurelles. elle dialogue avec une base de données contenant des ontologies qui décrivent des images satellitaires. En effet.6. De plus. 3. en plus des images représentatives et des graphes conceptuels correspondants.F IGURE 3.3 Mesure de similarité globale La mesure de similarité globale est calculée suivant la mesure de similarité linguistique et structurelle. " mesure de similarité entre des ontologies ". En effet. on réalise la somme pondéré de ces deux dernières.4 – Fonction TO2 3. notre application se connecte à la base de données pour 28 . dispose d’une interface graphique qui permet à l’utilisateur de manipuler les ontologies.7 Fonctionnalités de l’application L’application. Ces poids étant déterminés arbitrairement suivant l’importance de chaque terme.

6 – Visualisation du graphe conceptuel .Calculer les similarités linguistique.visionner les graphes conceptuels correspondant aux ontologies F IGURE 3.7 – Visualisation du résultat 29 . F IGURE 3.visionner les images satellitaires correspondant aux ontologies F IGURE 3. et présente la liste des ontologies à l’utilisateur.charger les données. structurelle et globale entre les ontologies.5 – Visualisation des images réelles . qui se voit offrir les fonctionnalités suivantes : .

30 . 3. nous avons détaillé le fonctionnement de la méthode d’alignement des ontologies SODA.Ainsi. De même.8 Conclusion Dans ce chapitre nous avons présenté notre application de calcul de similarité entre des ontologies. la simplicité et la clarté de l’interface graphique permet à l’utilisateur une manipulation pratique des ontologies et lui apporte une connaissance de leurs caractéristiques.

Nous pouvons aussi intéger d’autre méthodes d’alignement des ontologies. Il est composé de trois parties : la première partie traite l’état de l’art. la deuxième partie inclue l’analyse des besoins ainsi que la conception. la troisième partie porte sur la réalisation de notre application. enfin. Dans le cadre des améliorations futures nous pouvons enrichir notre application pour quelle puisse manipuler des ontologies de type OWL Lite et OWL full. Pour ce fait nous avons intégré la méthode SODA d’alignement des ontologies dans une application dédiées à cette finalité. Le présent rapport traite les différentes étapes et les différentes démarches à entreprendre pour mesurer la similarité entre des ontologies sur de bonne base. 31 .Conclusion générale Dans notre mini projet intitulé mesure de similarité entre des ontologies nous avons tenté de résoudre le problème lié a la prolifération des ontologies.

fr/spip/publications/zghal_etal_JFO07. Maedche.univ-artois. Zghal. L. Ben Yahia. 2006. [B2] "S-Match : an algorithm and an implementation of semantic matching" . 32 .paristech. [N3] "Measuring Similarity between Ontologies". pdf.S. exposé.. École des Mines de Nice à Sophia Antipolis. Journée d’étude sur les mesures de similarité sémantique.M. www.cril. Engelbert. Institute AIFB.. Karlsruhe. http ://www.org/publications. http ://pastel.S.ontologymatching. pdf. Yatskevich. 2006. article.Bibliographie [B1] "Catégories de mesures de similarité utilisées pour l’alignement d’ontologies". Trento. pdf. Giunchiglia.F.pdf.N. thèse. Thèse.A and Staab. [N2] "SODA : Une approche structurelle pour l’alignement d’ontologies OWL-DL". Univ. of Information and Communication Technology University of Trento. Slimani.P. Shvaiko.S. article.org/1989/01/These_BACH-ThanhLe.Y.Dept.pdf.M. Bach T. Italie Netographie [N1] "Construction d’un web sémantique multi-points de vue".html.

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.