• Aucun résultat trouvé

Les ontologies dans la conception des applications inter- inter-activesinter-actives

Conception et personnalisation

1.4 Les ontologies dans la conception des applications inter- inter-activesinter-actives

Les ontologies permettent de repr´esenter formellement les connaissances, de d´ecrire le rai-sonnement sur ces connaissances et de les partager et les r´eutiliser par plusieurs applica-tions. Les ontologies sont utilis´ees dans de nombreux domaines. En se basant sur (Guarino, 1998; Berners-Lee et al., 2001), nous citons les domaines de l’ing´enierie des connaissances, l’ing´enierie des langages, la conception des bases de donn´ees, la recherche d’information, et derni`erement elles sont exploit´ees dans le domaine de E-commerce et dans le domaine du Web s´emantique.

1.4.1 D´efinitions

Le terme d’ontologie ´etait d´ej`a utilis´e en philosophie depuis le XIX`eme si`ecle pour de-signer l’´etude des propri´et´es g´en´erales de ce qui existe. En informatique, il existe plu-sieurs d´efinitions de ce terme. La premi`ere a ´et´e propos´ee par (Neches et al., 1991) qui la d´efinissent comme ´etant l’ensemble des termes et des relations comportant le vocabulaire d’un domaine ainsi que les r`egles combinant ces termes et ces relations pour d´efinir les extensions de ce vocabulaire.

La d´efinition la plus convenue de l’ontologie a ´et´e propos´ee par (Gruber, 1993) dans laquelle il consid`ere l’ontologie comme ´etant une sp´ecification formelle et explicite d’une concep-tualisation partag´ee. La concepconcep-tualisation se r´ef`ere `a un mod`ele abstrait des concepts pertinents caract´erisant des ph´enom`enes dans le monde. “Explicite” pr´ecise que le type de concepts utilis´es et les contraintes sur leur utilisation sont explicitement d´efinis.

“For-melle” insiste sur le fait que l’ontologie doit ˆetre compr´ehensible par la machine. “Par-tag´ee” refl`ete qu’une ontologie doit capturer la connaissance consensuelle accept´ee par les

diff´erentes communaut´es.

(Guarino et Giaretta, 1995) affinent la d´efinition pr´ec´edente en qualifiant la sp´ecification des ontologies de partielle ´etant donn´e que la formalisation de la conceptualisation est d´ependante de la capacit´e limit´ee des langages permettant d’impl´ementer les ontologies. Dans ce m´emoire, nous adoptons la d´efinition propos´ee par le W3C3 :

efinition. L’ontologie d´efinit les termes utilis´es pour d´ecrire et repr´esenter un domaine

de connaissance. Elle comprend les d´efinitions des concepts de base dans un domaine ainsi que les relations entre eux.

De cette d´efinition, il en d´ecoule qu’une ontologie est compos´ee du 5-uplets ≺C ; I ; R ; P ; A ≻ o`u :

– C est un ensemble de concepts ou de classes qui permettent de d´efinir des col-lections d’individus. Les concepts sont g´en´eralement pr´esent´es dans une organisation hi´erarchique.

– I est un ensemble d’instances qui sont des objets concrets d’une classe.

– R est un ensemble de relations qui permettent de d´efinir les liens entre les classes. – P est un ensemble de propri´et´es ou d’attributs qui permettent de caract´eriser les

classes et leurs instances

– A est un ensemble d’axiomes permettant de sp´ecifier les restrictions sur les relations entre les classes.

La Figure 1.8 repr´esente un exemple graphique d’une ontologie. Celle-ci est compos´ee d’une collection de classes, leurs propri´et´es et l’ensemble de restrictions qui d´ecrivent le domaine des Pizzas. A droite de la figure, nous avons un groupe d’instances possibles de ces classes.

Figure1.8 – Repr´esentation graphique d’une ontologie en utilisant l’outil Prot´eg´e

1.4.2 Classification des ontologies

Les ontologies pr´esentent diff´erents niveaux d’abstraction dans les d´etails des conceptua-lisations captur´ees, ce qui entraine une vari´et´e dans leurs classifications. Cette diff´erence de classification est dˆu ´egalement aux crit`eres pris en compte pendant cette classification. Parmi les classifications les plus connues, nous pouvons souligner celles de (van Heijst

et al., 1997; Guarino, 1997; Lassila et McGuinness, 2001; G´omez-P´erez et al., 2004). En

se basant sur ces travaux, nous pouvons identifier les groupes d’ontologies suivants : – Les ontologies de repr´esentation des connaissances : elles fournissent des ´el´ements de

mod´elisation primitifs pour caract´eriser les connaissances.

– Les ontologies g´en´eriques : elles repr´esentent des connaissances communes qui peuvent ˆetre utilis´ees dans diff´erents domaines.

– Les ontologies de haut niveau : elles repr´esentent des ´el´ements du monde r´eel d’une mani`ere g´en´erique et avec une haute abstraction.

– Les ontologies du domaine : elles permettent de d´ecrire un domaine specique (la m´edecine, le droit, le transport, etc.). La plupart des ontologies existantes sont des ontologies du domaine.

– Les ontologies des tˆaches : elles d´ecrivent le vocabulaire li´e `a une tˆache ou une activit´e

(objectifs, des calendriers, etc.).

– Les ontologies de domaine-tˆaches : ce sont des ontologies des tˆaches qui peuvent ˆetre

r´eutilis´ees dans un domaine sp´ecifique, mais pas de fa¸con g´en´erique dans des domaines similaires.

– Les ontologies de m´ethode : elles fournissant des d´efinitions pertinentes des concepts et des relations qui d´ecrivent la r´ealisation d’une tˆache particuli`ere.

1.4.3 Langages de description et outils de manipulation des ontologies

Afin de repr´esenter et de g´erer les connaissances s´emantiques, les technologies bas´ees sur les ontologies contiennent : les langages de description de l’ontologie, les parseurs de l’on-tologie, les langages de requˆete, ainsi que les environnements de d´eveloppement et de gestion de l’ontologie. Dans la suite, nous pr´esenterons un panel des principaux langages de description des ontologies ainsi que l’ensemble des outils de leurs ´editions.

1.4.3.1 Les langages de description des ontologies

D’un point de vue op´erationnel, nous pouvons bˆatir une ontologie grˆace aux langages clas-siques de la programmation logique (par exemple : Prolog, Lisp, etc). Mais, plus souvent, nous utilisons des mod`eles et des langages sp´ecialis´es pour la construction d’ontologies. Les langages de description d’ontologies fournissent les moyens de repr´esenter formellement les connaissances s´emantiques. Le mod`ele en couches, d´ecrit dans la Figure 1.9, contient une illustration de la hi´erarchie des langages de description de l’ontologie, o`u chaque couche exploite et utilise les capacit´es des couches inf´erieures.

- XML (Extensible Markup Language) (Bradley, 1998) est un langage `a base de balises qui permet une semi-structuration des documents. Chaque document XML est conforme `

a son XML-schema qui d´efinit sa structure mais qui n’impose aucune contrainte au niveau s´emantique.

- SHOE (Simple HTML Ontology Extensions) (Luke et Heflin, 2000) est une extension des balises HTML (Hyper Text Markup Language) qui permet de rajouter de la s´emantique dans ce type de documents.

- RDF (Resource Description Framework) (W3C, 1999) est un langage qui permet de cr´eer un mod`ele de donn´ees (appel´e m´eta-donn´ee) pour les ressources et ainsi que pour les associations qui les relient. Il permet de repr´esenter l’information sous la forme d’un graphe.

- RDFS (Resource Description Framework Schema) (Brickley et Guha, 2004) fournit un vocabulaire de base pour d´ecrire les propri´et´es et les classes des ressources RDF. En utilisant RDFS, il est possible de cr´eer des hi´erarchies de classes et de propri´et´es. - OIL (Ontology Inference Layer) (Fensel et al., 2000) est `a la fois un langage de

repr´esen-tation et d’´echange pour les ontologies. Il combine les primitives des langages repo-sant sur les frames avec une s´emantique formelle et des possibilit´es de raisonnement issues de la logique de description.

- DAML+OIL (van Harmelen et al., 2001) est un langage de balisage s´emantique pour d´ecrire les ressources Web. Il s’appuie sur les normes RDF et RDF Schema et les ´etend pour avoir plus de richesse dans la mod´elisation.

- XOL (XML based Ontology Exchange Language) (Karp et al., 1999) est un langage bas´e sur XML qui a ´et´e cr´e´e pour satisfaire les objectifs du groupe BioOntology r´eclamant la n´ecessit´e d’un langage s´emantique permettant la repr´esentation des connaissances dans le domaine de la Bio informatique. Ce langage permet principalement l’´echange des ontologies d´ecrivant ce domaine mais il peut ˆetre appliqu´e `a d’autres disciplines. - OWL (Web Ontology Language) (McGuinness et Van Harmelen, 2004) est un standard s´emantique bas´e sur XML qui permet de publier et partager des ontologies sur le Web. OWL, approuv´e par le W3C, a ´et´e d´evelopp´e comme une extension de RDF et DAML + OIL. Il permet par exemple de rajouter des contraintes suppl´ementaires, au niveau des cardinalit´es, ou bien au niveau des caract´eristiques des propri´et´es telle la transitivit´e. Afin de permettre une meilleure utilisation du langage, celui-ci a ´et´e d´efini suivant trois parties : OWL-Lite, OWL-DL et OWL-Full.

1.4.3.2 Outils d’´edition des ontologies

De nombreux outils de construction d’ontologies utilisent des formalismes vari´es et offrent diff´erentes fonctionnalit´es. Tous ces outils offrent des supports pour le processus de cr´eation d’ontologies, mais peu offrent une aide `a la conceptualisation. Parmi ces outils, nous citons les trois suivants :

- Prot´eg´e4 (Noy et al., 2001) est l’un des outils de d´eveloppement des ontologies les plus utilis´es, qui a ´et´e d´evelopp´e `a l’Universit´e de Stanford. Prot´eg´e est un outil gratuit et open source qui fournit un ´editeur intuitif pour cr´eer les ontologies et il est dot´e d’un ensemble d’extensions permettant la visualisation des ontologies sous formes de graphes, la gestion des projets, etc.

- Ontolingua5 est un serveur localis´e `a l’Universit´e de Stanford qui permet le d´eveloppement des ontologies avec une interface Web bas´ee sur un formulaire. L’ap-plication principale que contient le serveur est un ´editeur d’ontologies qui permet de cr´eer des ontologies mˆeme d’une mani´er´e collaborative et de les visualiser.

- OntoEdit (Sure et al., 2002) a ´et´e d´evelopp´e par les groupe de gestion des connaissances `

a l’universit´e de Karlsruhe. Il s’agit d’un environnement d’Ing´enierie des ontologies qui permet la cr´eation, la navigation, l’entretien et la gestion des ontologies. L’en-vironnement prend en charge le d´eveloppement collaboratif des ontologies. Ceci est archiv´e par son architecture client / serveur o`u les ontologies sont g´er´ees dans un serveur central et divers clients peuvent acc´eder et modifier ces ontologies.