• Aucun résultat trouvé

Introduction

Les ontologies occupent désormais une place importante dans la recherche en informatique et sont utilisées ou proposées à l’utilisation, dans de nombreux domaines (intégration de don-nées, Web sémantique, Web services, E-commerce, bases de dondon-nées, etc.). Le caractère formel et consensuel d’une ontologie permet de la diffuser dans une communauté et contribue à pouvoir rendre interopérable les applications en représentant explicitement la sémantique des données.

L’utilisation croissante d’ontologies dans divers domaines (techniques ou documentaires) fait qu’aujourd’hui, certaines données sont déjà représentées comme des instances de classes d’on-tologies et ont donc leur sémantique définie à partir d’ond’on-tologies. Nous appellerons ces données des données à base ontologique. Le besoin de représenter les ontologies et les données à base ontologique dans de vraies bases de données plutôt qu’en mémoire centrale ou dans des fichiers ordinaires se fait de plus en plus sentir. Ces besoins sont à l’origine de l’émergence d’une nouvelle approche de bases de données dites bases de données à base ontologique (BDBO).

L’objectif de ce chapitre est de faire un état de l’art à la fois sur les ontologies et sur la représentation et la gestion des données à base ontologique.

Le chapitre s’organise comme suit. Dans la section suivante, nous discutons sur la notion d’ontologie, son origine et les principales définitions qu’on trouve dans la littérature. Nous y faisons également une comparaison entre ontologie et modèle conceptuel pour préciser comment les ontologies peuvent être utiles dans une perspective de conception de bases de données. Dans la section 2, nous présentons les principaux composants des ontologies, et décrivons brièvement quelques langages actuels de définitions d’ontologies. Dans la section 3, nous introduisons la notion de base de données à base ontologique. Nous décrivons également dans cette section les principales approches de représentation des ontologies et des données à base ontologies proposées dans la littérature puis quelques uns des principaux systèmes mettant en œuvre ces représen-tations. Cette analyse nous permet, en conclusion, d’identifier les insuffisances des approches

existantes, que le modèle d’architecture proposé dans le cadre de cette thèse visera précisément à combler.

1 Notion d’ontologie

Après avoir rappelé l’origine de la notion d’ontologie, nous discutons, dans la partie 2, de quelques définitions qu’on trouve dans la littérature. Dans la partie 3, nous faisons une comparai-son entre ontologies et les modèles conceptuels. Dans la partie 4, nous faicomparai-sons une comparaicomparai-son entre ontologies conceptuelles et ontologies linguistiques.

1.1 Origine historique

Le terme "ontologie" vient de la philosophie. Étymologiquement en grec ancien, le terme on-tologie signifie : ontos - être et logos - science, discours ou études. En d’autres termes, l’onon-tologie est la science ou de la théorie de l’être [111]. Cette discipline a été inventée par les grecs, même si, en fait, ce n’est qu’au XVIIe siècle que le terme ontologie a été créé pour désigner cette approche. Dans la philosophie d’Aristote, l’ontologie est la science de l’être en tant qu’être, indépendam-ment de ses manifestations particulières. Il s’agit de capturer l’essence d’un être indépendamindépendam-ment de son existence. Dans les écrits récents, le terme ontologie recouvre deux usages : le premier pour désigner la discipline philosophique et le second pour désigner son utilisation en informatique. Nous nous cantonnerons désormais à l’utilisation informatique.

McCarty fut le précurseur de l’usage du terme en informatique. McCarty affirmait que les concepteurs des systèmes d’intelligence artificielle devaient avant tout modéliser les aspects es-sentiels des objets du domaine d’études, en d’autres termes de construire une ontologie de leur domaine, et ensuite seulement baser leurs systèmes sur cette ontologie [161]. Les ontologies sont aujourd’hui au cœur de la plupart des systèmes de représentation de connaissances. Elles visent à fournir des représentations à travers lesquelles les machines peuvent représenter explicitement la sémantique des informations.

1.2 Définition des ontologies en informatique

Définition du Net3

Le dictionnaire du Net définit une ontologie comme étant : une "organisation hiérarchique de la connaissance sur un ensemble d’objets par leur regroupement en sous catégories suivant leurs caractéristiques essentielles" [1].

Définition de Gruber [64]

La définition admise et utilisée par beaucoup d’auteurs est celle de Gruber : "An ontology is an explicit spécification of a conceptualization".

3

1. Notion d’ontologie Définition de Guarino [65]

Guarino affine la définition de Gruber en disant qu’ "une ontologie est définie comme étant une spécification formelle d’une conceptualisation partagée".

Définition de Fendel [56]

Fensel propose dans Fensel et al., la définition suivante "formal and explicit specifications of certain domains and are shared between large groups of stakeholders".

Pour Gruber, Guarino et Fensel :

1. spécification formelle signifie que les ontologies sont basées sur des théories formelles qui permettent à une machine de vérifier automatiquement certaines propriétés de consistance et/ou de faire certains raisonnements automatiques sur les ontologies et leurs instances. 2. explicite signifie que les catégories de concepts du domaine et leurs différentes propriétés

sont décrites explicitement.

3. partagée signifie qu’une ontologie capture une connaissance consensuelle, i.e., admise par tous les experts d’une communauté.

Définition de Jean et al. [87]

Jean et al. [87], partant des critères énumérés précédemment, définissent une ontologie de do-maine comme étant "a formal and consensual dictionary of categories and properties of entities of a domain and the relationships that hold among them". Cette définition caractérise les onto-logies de domaine auxquelles nous nous intéressons dans notre étude. Pour Jean et al., "entities" désigne n’importe quel élément ayant une existence (matérielle ou immatérielle) dans le domaine à conceptualiser. Le terme "dictionary" souligne le fait que toutes entités et propriétés d’entités décrites dans une ontologie de domaine peuvent être référencées directement, au moyen de sym-boles identifiants, pour en permettre l’usage dans n’importe quel modèle et dans n’importe quel contexte.

Pour préciser le concept d’ontologie dans une perspective de bases de données et pour préciser ce qu’elles peuvent apporter par rapport aux limites actuelles des modèles conceptuels, nous faisons dans la section suivante une comparaison entre ces deux types de conceptualisation.

1.3 Comparaison entre ontologie et modèle de conceptuel

Les ontologies et les modèles conceptuels présentent à la fois des similitudes et des différences [87, 146].

1.3.1 Similitudes

Comme les modèles conceptuels (MC), les ontologies conceptualisent également l’univers du discours au moyen de classes associées à des propriétés et hiérarchisées par subsomption. Les principes de bases de la modélisation sont similaires.

1.3.2 Différences

On peut identifier cinq différences majeures entre ces deux types de modèles.

– Une première différence se situe dans l’objectif de la modélisation. Les MCs prescrivent l’in-formation qu’ils représentent dans un système informatique particulier. Par exemple, dans un M C1 destiné pour un système médical, on trouvera nécessaire de décrire une personne par son groupe sanguin, son poids, etc. et dans un M C2 pour un autre système médical, on ne devra pas représenter le poids mais l’antécédent familial devra être représenté. Au contraire, les ontologies décrivent les concepts d’un domaine indépendamment de toutes applications et systèmes informatiques particuliers dans lesquels l’ontologie pourrait être utilisée. Dans l’exemple précédent, mais en restant toujours dans un contexte d’une onto-logie des patients médicaux, une personne sera caractérisée (directement ou dans une de ses sous-classes) par toutes les propriétés de M C1 et M C2 et probablement bien d’autres. Chaque système particulier pourra alors puiser celles des propriétés qui sont pertinentes. – Une deuxième différence est que les classes et les propriétés définies dans les ontologies sont

associées à des identifiants, ce qui leur permet d’être référencées à partir de n’importe quel format ou modèle indépendamment de leur structure. Au contraire, la conceptualisation effectuée dans un MC ne peut pas être réutilisée à l’extérieur et indépendamment de ce MC. – Une troisième différence est liée au caractère formel des ontologies. Ce caractère formel permet d’appliquer des opérations de raisonnement sur les ontologies soit pour vérifier la cohérence des informations, soit pour de déduire de l’information [13]. Par exemple dans la plupart des modèles d’ontologies [9, 126, 103], pour une ontologie et une classe données, on peut calculer (1) toutes ses super-classes (directes ou non), (2) ses sous-classes (directes ou non), (3) ses propriétés caractéristiques (héritées ou locales), (4) toutes ses instances (polymorphes ou locales), etc.

– Une quatrième différence est liée au caractère consensuel des ontologies. Ceci permet de représenter de la même façon les mêmes concepts dans tous les systèmes d’une "commu-nauté" (sans empêcher bien sur que chaque système possède, en plus ses concepts propres). Dans notre exemple précédent, en utilisant une ontologie du domaine médical pour définir M C1 et M C2, tous deux auraient sans aucun doute importé un important sous-ensemble commun de classes et de propriétés.

– Enfin, une cinquième différence (qui résulte de la première), est la souplesse de la relation "instance/ontologie". Toutes les instances des classes d’une ontologie, peuvent ne pas ini-tialiser les mêmes propriétés. Elles n’ont pas forcement la même structure. Cette souplesse dans la description des instances est permise par le fait que les concepts des ontologies soient associés à des identifiants universels. Cela a pour conséquence de rendre les on-tologies beaucoup plus simples à utiliser pour des échanges ou intégration de systèmes informatiques.

1. Notion d’ontologie 1.4 Ontologie conceptuelle et ontologies linguistiques

Le terme ontologie étant également utilisé dans le domaine du traitement automatique de la langue naturelle, une première classification des ontologies est proposée dans [126] à partir de la question suivante : l’ontologie décrit-elle des mots ou des concepts ? Les ontologies qui décrivent des mots sont dites des ontologies linguistiques (OL). Celles qui décrivent des concepts sont dites ontologies conceptuelles (OC). Ces deux types d’ontologies s’adressent à deux différents types de problèmes.

Les OLs sont les ontologies qui visent à représenter le sens des mots utilisés dans un langage particulier. Les OLs sont utilisées pour la recherche de synonymes linguistiques. Une type de problèmes visé peut s’exprimer ainsi : "trouver tous les documents pertinents par rapport à une requête qui s’exprime par un ensemble de mots connectés éventuellement par des opérateurs logiques AND, OR et NOT "même si ces documents ne contiennent pas exactement ces mots. Pour la représentation d’ontologies de domaine, ce type d’ontologie utilise, outre des définitions textuelles, un certain nombre de relations linguistiques (synonyme, hyperonyme, hyponyme, etc.) pour capturer de façon approximative et semi-formelle les relations entre les mots. La construc-tion de telles ontologies est également souvent faite de façon semi-formelle par un processus d’extraction de termes dans un ensemble de documents du domaine et qui est ensuite validé et structuré par un expert (humain) du domaine. Un exemple d’OL est WordNet4.

Même si elles sont parfois utilisées dans les phases préliminaires d’intégrations de bases de données hétérogènes pour identifier de façon semi-automatique les correspondances possible entre deux modèle conceptuels [19], les OLs de part leur caractère à la fois imprécis et fortement contex-tuel ne sont pas utilisables dans le domaine de la modélisation concepcontex-tuelle.

Au contraire, les OCs ont pour but de représenter des concepts généraux, indépendamment de leurs représentations dans un langage particulier. Les ontologies conceptuelles adoptent une approche de structuration de l’information en termes de classes et de propriétés et leur associent des identifiants réutilisable dans différents langages. Ce type d’ontologie vise à répondre aux questions du genre : "Est-ce que deux instances données appartiennent à une même classe ? Une classe est-elle subsumée par une autre classe (à laquelle appartiennent donc ses instances quelque soit le contexte) ? Quelles sont les instances d’une classe donnée respectant un certain critère ? " Les OCs correspondent donc a une conceptualisation formelle au même titre qu’un modèle conceptuel. Voici quelques exemples d’OC : Dublincore5, IEC-61360-46 (International Electronic Commision).

La figure 2.1 tirée de [122] fait une comparaison entre les ontologies linguistiques et les on-tologies conceptuelles. Dans la suite de notre thèse, nous nous intéresserons exclusivement aux ontologies conceptuelles qui visent un univers de discours particulier aussi appelée "ontologie de

4http://wordnet.princeton.edu/

5

http://dublincore.org/

6

domaine" et le terme ontologie désormais signifiera "ontologie de domaine conceptuelle".

OL OC

Elément Mot Concept

Identification des éléments Mot GUI

Définition des éléments Phrase Modèle

Taille de l’ontologie Large Minimale

Relations Formelles + Linguistiques Algébriques Contenu Eléments primitifs

+ Définitions Conservatives

Eléments primitifs + Définitions Conservatives Focus Orienté Classe Orienté Propriété Développement Semi-automatique Manuel Usage de l’ontologie Assistée par ordinateur Automatique

Fig. 2.1 – Comparaison ontologie linguistique et ontologie conceptuelle [122]

Nous proposons dans la section suivante les formalismes usuels d’expressions des ontologies conceptuelles.