850 likes | 1.32k Views
Veille technologique. Ingénierie Ontologique Concepts, méthodes et outils Gilles Kassel. Plan. Avant Propos Qu’est-ce qu’une ontologie ? A quoi sert une ontologie ? Méthodes de construction Langages de spécification Environnements de développement Applications Conclusions générales
E N D
Veille technologique Ingénierie Ontologique Concepts, méthodes et outils Gilles Kassel
Plan • Avant Propos • Qu’est-ce qu’une ontologie ? • A quoi sert une ontologie ? • Méthodes de construction • Langages de spécification • Environnements de développement • Applications • Conclusions générales • Références
Objectifs du document (1/2) Ce document fait un point sur une discipline naissante, l’Ingénierie Ontologique • Le premier objet du document est de présenter un état de l’art sur une discipline naissante - l’Ingénierie Ontologique - qui est concernée par la construction d’ontologies. • Cette discipline se situe au carrefour de plusieurs disciplines auxquelles elle emprunte des concepts, notamment : l’Ingénierie des Connaissances, l’Ontologie (philosophie) et la Linguistique. • L’importance de l’Ingénierie Ontologique est reconnue aujourd’hui dans différents champs de recherche : Ingénierie des Connaissances, Intelligence Artificielle, Gestion des connaissances, Linguistique informatique, Systèmes d’information, Recherche et extraction d’informations, Intégration d’informations, Bases de données.
Objectifs du document (2/2) Ce document réactualise un premier document de veille technologique dans le même domaine • Le second objet du document est de poursuivre en le complétant un travail de veille technologique réalisé par Jean-Paul Barthès pour IIIA en décembre 1998 [Barthès, 98]. • Les informations ont été remises à jour et restructurées pour tenir compte des avancées de la discipline. La discipline a en effet connu un essor important ces toutes dernières années, qui justifie ce nouveau travail de veille. • En particulier, des travaux de synthèse récents apportent des éclairages nouveaux qui conduisent à modifier la façon de présenter la discipline et ses résultats.
Contenu du document Le document présente les concepts, méthodes et outils de l’Ingénierie Ontologique • On trouvera dans le document les informations suivantes : • une introduction précisant les différents sens du terme “ontologie” et présentant les besoins motivant la construction de ces objets. • un bilan sur les méthodes (modèles de processus de développement) et outils (langages de spécification et environnements de développement) disponibles pour la construction des ontologies. • un panorama des applications des ontologies. • Le document indexe un ensemble volumineux d’articles, de rapports techniques et de sites Web, publiés pour la plupart ces trois dernières années.
Plan • Avant Propos • Qu’est-ce qu’une ontologie ? • A quoi sert une ontologie ? • Méthodes de construction • Langages de spécification • Environnements de développement • Applications • Conclusions générales • Références
Le point de vue de l’Ingénierie des Connaissances (1/3) Une définition, au sens large • Dans un sens large, on peut adopter pour la notion d’ontologie la caractérisation suivante [Uschold, 98] : • “Une ontologie peut prendre différentes formes, mais elle inclura nécessairement un vocabulaire de termes et une spécification de leur signification. Cette dernière inclut des définitions et une indication de la façon dont les concepts sont reliés entre eux, les liens imposant collecti- vement une structure sur le domaine et contraignant les interprétations possibles des termes.” • Une telle caractérisation rend compte d’objets divers tels des glossaires, des terminologies, des thesaurus et des ontologies (au sens strict), mis en œuvre par différents professionnels (ingénieurs de la connaissance, bibliothécaires, traducteurs) et se distinguant suivant que l’accent est mis sur les termes ou leur signification.
Le point de vue de l’Ingénierie des Connaissances (2/3) Une définition, au sens strict • Les “ontologies” de l’IA et de l’Ingénierie des Connaissances émanent du projet ARPA Knowledge Sharing Effort (1991). Une définition consensuelle pour ces disciplines reste celle de [Gruber, 93] : • “Une ontologie est une spécification explicite d’une conceptualisation.” • Le terme “conceptualisation” situe les ontologies sur le versant sémantique. Une conceptualisation rend compte du sens des termes. La littérature logico-philosophique nous enseigne que le sens correspond à des intensions (ou objets intensionnels), par opposition à extensions. • L’expression “spécification explicite” fait des ontologies un objet syntaxique. La conceptualisation est codée dans un langage. Suivant le langage utilisé, l’ontologie prendra la forme d’une théorie logique (ensemble de formules logiques) ou d’un réseau sémantique.
Le point de vue de l’Ingénierie des Connaissances (3/3) Derrière le terme “ontologie” se cachent des objets très divers [Noy & Hafner, 97] • La plupart des ontologies sont structurées au moyen de la relation “est un” de subsomption, ou de généralisation, entre concepts. La relation Tout-Parties “est composé de” est également utilisée. • Certaines ontologies sont denses, contenant de nombreux axiomes contraignant le sens des termes. D’autres se résument à une taxinomie de concepts donnés sans définition. • La taille des ontologies varie de quelques dizaines de concepts à plusieurs dizaines de milliers de concepts. • Les ontologies peuvent être informelles, formelles ou opérationnelles. Dans ce dernier cas, elles sont spécifiées dans un langage de programmation.
Le point de vue de l’Ontologie (1/2) Un détour par l’Ontologie • L’Ontologie est la branche de la philosophie qui traite de la nature et de l’organisation de la réalité. Elle côtoie l’Epistémologie qui traite de la nature et des origines de notre connaissances [Nef, 98]. • Produits de l’Ontologie, les ontologies formelles sont des théories de l’objet : • dont l’analyse est menée de façon rigoureuse, en ayant recours en général à la logique mathématique, • transversales à toutes les ontologies matérielles, relatives à des domaines différents d’objets (des régions de savoir). • L’Ingénierie Ontologique est la branche de l’Ingénierie des Connais- sances qui exploite les principes de l’Ontologie (formelle) pour construire des ontologies [Guarino & Giaretta, 95].
Le point de vue de l’Ontologie (2/2) Une définition, dans un sens encore plus strict • La structure sémantique rendant compte du sens des termes correspond à l’essence des concepts. En effet, seules les propriétés essentielles (nécessairement vérifiées par les instances du concept dans tout monde possible) sont définitionnelles [Bouaud et al., 94]. • Ces propriétés étant en nombre indéfini, une théorie logique ne peut donner qu’une caractérisation approximative d’une structure sémanti- que. La définition de [Guarino & Giaretta, 95] traduit cette limitation : • “Une ontologie est une spécification rendant partiellement compte d’une conceptualisation”. • Une théorie logique spécifie un engagement ontologique, lequel approxime une conceptualisation. Le degré d’approximation dépend du langage utilisé (ex : logique modale, logique du 1er ordre), lequel dépend finalement de l’objectif visé (partage d’une conceptualisation, mise en œuvre d’inférences).
Le point de vue de la Linguistique La Linguistique est concernée par le processus de construction des ontologies • La Linguistique est concernée par la question des ontologies dans la mesure où les données dont on dispose pour élaborer les ontologies consistent en des expressions linguistiques de connaissances. • La caractérisation du sens de ces expressions conduit à déterminer des signifiés contextuels, dépendants des contextes (documents) où les expressions apparaissent. • Ces signifiés contextuels doivent alors être normés, ce qui revient à fixer une signification pour un contexte de référence, celui de la tâche (application) pour laquelle l’ontologie est élaborée [Bachimont, 00]. • L’ontologie régionale (non universelle) que l’on obtient est ainsi une spécification de signifiés normés.
Plan • Avant Propos • Qu’est-ce qu’une ontologie ? • A quoi sert une ontologie ? • Méthodes de construction • Langages de spécification • Environnements de développement • Applications • Conclusions générales • Références
Un besoin générique : faire tomber les barrières créées par des vocabulaires disparates Un besoin existe de partager la signification de termes dans un domaine donné • Toute activité humaine spécialisée développe son propre jargon (langue de spécialité) sous la forme d’une terminologie et d’une conceptualisation associée spécifiques. • L’existence de tels jargons entraîne des problèmes de compréhension et des difficultés à partager des connaissances entre les acteurs de l’entreprise, les services d’une entreprise, les entreprises d’une industrie, qui font des métiers différents. • Fondamentalement, le rôle des ontologies est d’améliorer la communication entre humains, mais aussi entre humains et ordinateurs et finalement entre ordinateurs.
Une aide à la communication entreagents humains et aussi entre organisations Vers un vocabulaire standardisé • L’existence de vocabulaires différents au sein d’une entreprise (ex : bureau d’études, bureau des méthodes) ou d’une industrie (ex : cons- tructeur automobile, équipementier) constitue un frein à la collabora- tion et aux partenariats. Les enjeux touchent donc directement la compétitivité de l’entreprise. • Pour l’entreprise, l’ontologie sert à : • améliorer la compréhension entre les employés, • favoriser la diffusion des information et leur exploitation, • promouvoir une nouvelle approche de conception des systèmes d’infor- mation (réutilisation de codes, interopérabilité des logiciels). • Pour ces besoins de standardisation du vocabulaire, une terminologie ou une ontologie informelle peuvent suffire [O’Leary, 98].
Une aide à la conception et à l’utilisation des systèmes d’information (1/2) Des apports pour l’ingénierie des systèmes d’information [Guarino, 98] • Spécification ; Acquisition des connaissances : une ontologie peut aider à l’analyse des besoins et à définir les spécifications d’un SI. • Ré-utilisation ; Partage : une ontologie peut être, ou peut devenir suite à une traduction, un composant ré-utilisable et/ou partagé par plusieurs logiciels. • Fiabilité ; Maintenance : une ontologie peut servir à améliorer la documentation d’un logiciel et/ou à automatiser des vérifications de cohérence (SBCs), réduisant les coûts de maintenance. • Inter-opérabilité : en jouant le rôle d’un format d’échange, l’ontologie permet à des systèmes d’information, basés sur des paradigmes de modélisation et des langages d’implantation différents, de coopérer.
Une aide à la conception et à l’utilisation des systèmes d’information (2/2) Vers une meilleure exploitation de sources d’information • Recherche : une ontologie peut jouer le rôle de méta-data servant d’index dans un répertoire d’information. • Intégration : dans une application “entrepôt de données”, une ontologie peut jouer le rôle d’un schéma conceptuel commun reliant entre elles plusieurs sources d’information hétérogènes. • Interface Homme-Machine : la visualisation de l’ontologie permet à l’utilisateur de comprendre le vocabulaire utilisé par le SI et de mieux formuler ses requêtes. • Requêtes : une ontologie linguistique peut permettre de comprendre les requêtes (représentation du contenu) de l’utilisateur formulées en langue naturelle.
Plan • Avant Propos • Qu’est-ce qu’une ontologie ? • A quoi sert une ontologie ? • Méthodes de construction • Langages de spécification • Environnements de développement • Applications • Conclusions générales • Références
Préambule Bref état de l’art des méthodes de développement d’ontologies • Jusqu’en 1996, les premières ontologies ont été développées de façon complètement artisanale, sans suivre de méthode prédéfinie. • De ces premiers projets (ex : Mikrokosmos, Enterprise Ontology, TOVE, MENELAS) sont issues des listes de recommandations constituant des ébauches de méthodes, ou cadres méthodologiques. • Depuis 1998, on assiste à la naissance de cadres méthodologiques plus élaborés inspirés des méthodes de l’Ingénierie des Connaissances (ex : METHONTOLOGY) et fondés, soit sur la linguistique (ex : TERMINAE), soit sur l’Ontologie (ex : principes proposés par N. Guarino).
Des cadres méthodologiques issus de projets (1/2) La méthode “Enterprise Ontology” [Uschold & King, 95] http://www.aiai.ed.ac.uk/project/enterprise • La méthode, basée sur l’expérience du développement de l’ontologie Enterprise Ontology, repose sur l’identification de différentes étapes : • Identification du POURQUOI de l’ontologie ; • Construction de l’ontologie (identification des concepts clef ; modélisation informelle ; formalisation) et intégration d’ontologies existantes ; • Evaluation et documentation de l’ontologie. • Cette méthode s’inspire du développement de SBCs. Les étapes et sous-tâches sont décrites de façon abstraite. Les techniques à utiliser pour les sous-tâches ne sont pas précisées (ex : comment identifier les concepts clef ? Quel langage de formalisation utiliser ?).
Des cadres méthodologiques issus de projets (2/2) La méthode “TOVE” [Grüninger & Fox, 95] http://www.eil.utoronto.ca/tove/ontoTOC.html • Cette méthode est basée sur l’expérience du développement de l’onto- logie du projet TOVE (TOrento Virtual Enterprise). Elle aboutit à la construction d’un modèle logique de connaissance. L’ontologie est développée selon les étapes suivantes : • Identification de scénarii (problèmes) dépendants d’une application ; • Formulation de questions informelles (basées sur les scénarii) auxquelles l’ontologie doit permettre de répondre ; • Spécification d’une terminologie à partir des termes apparaissant dans les questions. • Spécification formelle (en KIF) des axiomes et des définitions pour les termes de la terminologie. • Evaluation de la complétude de l’ontologie. • La méthode reste spécifiée de façon abstraite. Ni les différentes étapes ni les techniques ne sont décrites en détail.
Une méthode inspirée de l’Ingénierie des Connaissances METHONTOLOGY [Fernandez-Lopez et al., 99] • Cette méthode est développée au Laboratoire d’Intelligence Artificielle de l’Université polytechnique de Madrid. Elle vise la construction d’ontologies au “niveau connaissance” et repose sur : • un processus de développement d’ontologies comportant des acti- vités de gestion de projet (planification, assurance qualité), des activités orientées développement (spécification, conceptualisa- tion, formalisation) et des activités de support (documentation) ; • un cycle de vie des ontologies basé sur des prototypes évoluant. • METHONTOLOGY s’inspire d’une méthode de développement de SBCs. Elle est spécifiée de façon très détaillée et a été utilisée pour construire plusieurs ontologies dont l’ontologie des ontologies : Reference Ontology [Arpirez-Vega et al., 98]. Elle est supportée par l’outil ODE [Blazquez et al., 98].
Une méthode linguistiquement fondée TERMINAE [Biébow & Szulman, 99] • Cette méthode est développée au LIPN, à l’Université de Villetaneuse. S’insérant dans la problématique du groupe de recherche français TIA (Terminologie et IA), elle propose la construction d’ontologies à partir de textes en suivant quatre principales étapes : • Constitution d’un corpus (documents techniques, comptes rendus, livres de cours, etc.), à partir d’une analyse des besoins de l’application visée, • Etude linguistique, pour identifier des termes et des relations lexicales, en utilisant des outils de traitement de la langue naturelle, • Normalisation sémantique, conduisant à des concepts et des relations sémantiques définis dans un langage semi-formel. • Formalisation et intégration des concepts au sein d’une BC formelle. • Dans sa version actuelle, l’outil supportant la méthode intègre l’outil LEXTER[Assadi & Bourigault, 00] pour identifier des termes candidats.
Apports méthodologiques de l’Ontologie Travaux de N. Guarino au LADSEB (Padoue, Italie) • N. Guarino et son équipe cherchent à évaluer l’apport des notions et principes de l’Ontologie pour la construction d’ontologies. Leur proposition prend la forme d’une ontologie générique [Guarino, 97] et d’une ontologie de méta- propriétés [Guarino & Welty, 00a]. • L’ontologie générique rassemble un ensemble d’objets abstraits et leur définition (ex : objet physique, substance, système, état, processus, activité). La construction d’une ontologie d’application peut donc se faire par spécialisation de l’ontologie générique. • Les méta-propriétés (ex : type, rôle) sont fondées sur des notions de l’Ontologie (ex : identité, unité, rigidité) [Guarino & Welty, 00b] et permettent de vérifier la cohérence d’une ontologie d’application qui s’en trouvera d’autant plus facilement réutilisable.
Bilan A ce jour, des propositions existent mais ne sont pas unifiées • Les méthodes de l’Ingénierie Ontologique n’ont pas encore atteint, loin s’en faut, la maturité des méthodes du Génie Logiciel. • Les propositions de méthodes sont encore incomplètes. Un effort de synthèse et de diffusion reste encore à faire, également d’intégration de retours d’expérience. Cette situation justifie les travaux de recherche en cours dans différentes équipes. • L’article [Fernandez-Lopez, 99] présente un premier état de l’art, relativement complet, sur ces méthodes de développement. • L’article [Aussenac-Gilles et al., 00] exploite des résultats de travaux menés par le groupe français TIA (Terminologie et IA) pour proposer une méthode basée sur l’analyse de corpus.
Plan • Avant Propos • Qu’est-ce qu’une ontologie ? • A quoi sert une ontologie ? • Méthodes de construction • Langages de spécification • Environnements de développement • Applications • Conclusions générales • Références
Préambule (1/2) Il existe différents types de langages de spécification • L’explicitation des ontologies s’effectue au moyen de langages et plusieurs types de langages peuvent jouer le rôle de langage de spécification, allant des langues naturelles jusqu’aux langages de représentation opérationnels (exécutables). • Dans un projet de construction d’ontologie, il est courant d’utiliser plusieurs langages, adaptés aux différentes étapes de la construction. • En amont, pour acquérir les connaissances ontologiques, on peut faire usage de la langue naturelle ou d’un langage de modélisation informel. • En aval, si l’ontologie doit devenir un composant d’une application, on aura recours à des langages de représentation formels et/ou exécutables. • Dans ce chapitre, on ne s’intéresse qu’aux langages de représentation dédiés ou adaptés à la spécification d’ontologies.
Préambule (2/2) Bref état de l’art des langages de représentation dédiés ou adaptés aux ontologies • Jusqu’au milieu des années 90, seul existait le langage formel Ontolingua comme langage d’échange d’ontologies [Gruber, 93a]. • Depuis la fin des années 90, une nouvelle génération de langages voit le jour. Leur développement répond à plusieurs objectifs : • améliorer le processus de construction des ontologies (ex : OCML, Mdos), • échanger les ontologies sur le Web (ex : RDF(S), SHOE, XOL, OIL), • intégrer différents paradigmes de représentation, comme les langages de Frames et les Logiques de description (ex : OIL, DefOnto), • doter les langages de services inférentiels performants (ex : OIL, PowerLOOM, DefOnto).
OCML : un langage facilitant l’opérationnalisation des ontologies (1/2) Exemple de représentations (def-class père (parents, homme) ?p :iff-def (or (and (parents ?p) (a_pour_sexe ?p “masculin”)) (exists ?e (and (homme ?p) (a_pour_enfant ?p ?e) (personne ?e))))) (def-relation a_pour_père (?p ?h) :constraint (and (personne ?p) (homme ?h)))
OCML : un langage facilitant l’opérationnalisation des ontologies (2/2) Caractéristiques principales du langage • OCML est développé au Knowledge Media Institute de l’Open University (Mylton Keynes, Angleterre). Il a été initialement défini dans le cadre du projet VITAL pour permettre de spécifier des modèles de résolution de problèmes au niveau connaissance, puis de les opérationnaliser [Motta, 98][Motta, 99]. • La couche domaine du langage étant considérée comme équivalente aux connaissances visées par Ontolingua, OCML est supposé opérationnaliser des ontologies spécifiées en Ontolingua. • La principale caractéristique d’OCML est de supporter différents styles de spécification : informel, formel et opérationnel, l’opéra- tionnel correspondant à du “prototypage au niveau connaissance”.
DefOnto : un langage permettant l’expression de méta-connaissances (1/2) Exemple de représentations (DefGenConcept #père = [#parents] -> (MI#a_pour_sexe) -> “masculin” = [#homme] -> (ME#a_pour_enfant) -> [#personne] ) (DefRelation #a_pour_père IsA [#a_pour_parents] RelationProperties -> (#has_for_domain) -> [#personne] -> (#has_for_range) -> [#homme] )
DefOnto : un langage permettant l’expression de méta-connaissances (2/2) Caractéristiques principales du langage • DefOnto est développé dans l’équipe Ingénierie des Connaissances du LaRIA à l’Université de Picardie Jules Verne, comme sous-langage du langage d’opérationnalisation de modèles de résolution de problèmes Def* [Kassel et al., 00]. • DefOnto permet de représenter des métaconnaissances (ex : des propriétés de propriétés) et cette caractéristique est notamment importante pour rendre compte de concepts de résolution de problèmes [Kassel, 99]. • Un objectif visé par la définition de DefOnto est de doter le langage de mécanismes de compilation modulaire pour faciliter le développement et la maintenance des ontologies formelles.
OIL : un langage pour échangerdes ontologies sur le Web (1/2) Exemple de représentations class-def defined père subclass-of ((parents and (slot-constraint a_pour_sexe has-filler “masculin”)) or (homme and (slot-constraint a_pour_enfant has-value personne))) slot-def a_pour_père subclass-of a_pour_parents domain personne range homme
OIL : un langage pour échangerdes ontologies sur le Web (2/2) Caractéristiques principales du langage http://www.ontoknowledge.org/oil/ • OIL résulte d’une initiative internationale rassemblant plusieurs équipes collaborant au développement de ce langage dans les projets IST : On-To-Knowledge et IBROW3 et dans le programme américain DAML (langage DAML-OIL : http://www.daml.org). • Ses primitives de représentation le situent à mi-chemin entre les lan- gages de Frames et les Logiques de description [Horrocks et al., 00]. • Un effort particulier a été fait pour l’échange d’ontologies sur le Web. Sur le plan syntaxique, OIL est doté de deux notations compatibles Web, définies selon les deux standards respectifs que sont XML et RDF [Klein et al., 00].
Bilan Pour en savoir plus • Plusieurs langages sont actuellement en cours de définition, qu’il s’agisse de langages de modélisation (ex : Mdos [Nobécourt, 00]) ou de représentation opérationnels : DefOnto, OIL et PowerLOOM. Tous ces langages permettent de représenter un noyau commun de connaissances. • L’article [Corcho & Gomez-Perez, 00] présente une étude comparative très large de langages de spécification d’ontologies, les comparaisons portant sur la puissance d’expression et les capacités inférentielles. • L’article [Barry et al., 01] propose une étude plus poussée, mais restreinte aux seuls langages de représentation opérationnels. Les résultats de cette étude sont accessibles à l’adresse : • http://www.laria.u-picardie.fr/EQUIPES/ic/LangComp/
Plan • Avant Propos • Qu’est-ce qu’une ontologie ? • A quoi sert une ontologie ? • Méthodes de construction • Langages de spécification • Environnements de développement • Applications • Conclusions générales • Références
Préambule Ce chapitre présente des environnements de développement d’ontologies • L’objet de ce chapitre est de présenter des outils d’aide à la création et à la mise au point d’ontologies. A notre connaissance, il n’existe pas encore d’environnements commerciaux. Il s’agit de prototypes académiques, accessibles publiquement (sur demande aux auteurs). • Ce chapitre reprend pour l’essentiel les éléments d’une étude comparative d’outils d’ingénierie ontologique publiée récemment dans [Duineveld et al., 99].
Des environnements accessibles publiquement (1/5) Le serveur Ontolingua [Farquhar et al., 97] http://www-ksl-svc.stanford.edu/ • Ce serveur, localisé à l’Université de Stanford, permet à un utilisateur, ou groupe d’utilisateurs, de visualiser des ontologies existantes et de construire coopérativement de nouvelles ontologies. L’accès au serveur s’effectue au moyen d’un browser Web standard. • Plusieurs fonctionnalités sont offertes : • la réutilisation (par fusion et/ou extension) d’ontologies existantes dans différents domaines, stockées dans une bibliothèque. • une aide au travail coopératif permettant à un groupe géographi- quement distribué de construire collaborativement une ontologie. • l’exportation d’ontologies dans différents formats pour utilisation dans des applications.
Des environnements accessibles publiquement (2/5) WebOnto [Domingue, 98] http://webonto.open.ac.uk/ • WebOnto est développé au Knowledge Media Institute à l’Open University. C’est un outil accessible sur Internet et principalement graphique permettant de construire coopérativement des ontologies. • L’outil offre plusieurs fonctionnalités : • Une visualisation graphique et séparée des différents composants d’une ontologie (classes, relations, règles, instances, procédures) adaptée à la construction d’ontologies de grande taille. • Le couplage avec un outil de discussion d’ontologies : Tadzebao. • Des services inférentiels, basés sur le langage OCML, permettant de répondre à des requêtes et des vérifications de cohérence. • Des outils pour la construction coopérative (modes diffusion et édition) et l’annotation (crayons de couleur).
Des environnements accessibles publiquement (3/5) ProtégéWin [Eriksson et al., 99] http://smi-web.stanford.edu/projects/prot-nt/ • Ce logiciel a été conçu pour le Département d’informatique Médicale de l’Université de Stanford, notamment pour construire des ontologies. Plus généralement il permet de concevoir des SBCs par réutilisation de modèles du domaine et de méthodes de résolution de problèmes. ProtégéWin doit être installé localement sur un PC sous Windows. • Une fois l’ontologie construite, ProtégéWin génère automatiquement un outil d’acquisition des connaissances pour les instances de l’ontologie. • Une nouvelle version de l’outil - Protégé2000 - développée en JAVA et autorisant la construction coopérative d’ontologies, est accessible à l’adresse : http://Protege.Stanford.EDU.
Des environnements accessibles publiquement (4/5) OntoSaurus http://www.isi.edu/isd/ontosaurus.html • OntoSaurus est un browser Web pour des bases de connaissances formalisées en Loom offrant des facilités d’édition pour la construction coopérative d’ontologies. Il est développé à l’Institut pour les Sciences de l’Information (ISI) de l’Université de Californie du Sud. L’outil peut être utilisé avec une version de Loom installée localement ou tournant sur le site de l’ISI. • OntoSaurus est proche d’Ontolingua. Du fait de l’utilisation du langage Loom, il offre en plus des services inférentiels comme la classification automatique de concepts et la vérification de cohérence.
Des environnements accessibles publiquement (5/5) ODE [Blazquez et al., 99] • ODE (Ontology Design Environment) est un outil d’aide à la construction d’ontologies au “niveau connaissance”, qui est indépendant de tout langage formel. ODE est développé à l’Université Polytechniques de Madrid. Le programme doit être installé localement sur un PC sous Windows. • L’utilisateur remplit à un niveau conceptuel des tables (un glossaire de termes, un dictionnaire de données, des définitions de concepts et de relations) et ce modèle conceptuel est ensuite traduit automatiquement dans un langage formel (Ontolingua ou F-Logic). ODE inclut des outils de vérification de la cohérence de l’ontologie. Des aides graphiques pour l’interface sont en cours de développement.
Bilan (1/3) Les outils peuvent être répartis en deux classes • Les outils d’ingénierie ontologique peuvent être classés en deux catégories : ceux qui sont installés localement (e.g., ProtégéWin & ODE) et ceux qui sont accessibles par Internet (e.g., Ontolingua, WebOnto & OntoSaurus). • Les outils installés localement ont de meilleures performances en temps mais n’offrent aucune aide pour la collaboration synchrone. Les échanges d’ontologies (importations/exportations) doivent se faire par mail ou ftp. • Les outils accessibles sur le Web sont plus lents. Ils apportent en revanche des aides pour l’édition synchrone et offrent en général des bibliothèques d’ontologies déjà construites qui peuvent être réutilisées.
Bilan (2/3) Les outils existants ne sont pas appropriés pour supporter l’ensemble du processus de construction d’une ontologie • Certains outils (e.g., ProtégéWin & ODE) sont plus adaptés pour fournir une aide lors de la phase de conceptualisation de l’ontologie. Ils offrent moins de primitives de haut niveau et ne permettent pas de représenter des axiomes. En contrepartie, ces outils sont simples à prendre en main et s’adressent à des utilisateurs non expérimentés. • D’autres outils (e.g., Ontolingua et OntoSaurus) sont plus adaptés pour la formalisation et la mise au point d’ontologies. Reposant sur un langage de représentation des connaissances, leur prise en main nécessite de connaître le langage. En contrepartie ils permettent de créer des ontologies plus complexes comportant des axiomes.
Bilan (3/3) Pour en savoir plus • L’article [Duineveld et al., 99] recense un grand nombre d’environ- nements de développement de SBCs ou dédiés aux ontologies et décrit plus complètement les outils présentés dans ce chapitre. • Cet article contient des tableaux de comparaisons établies suite au développement de deux ontologies de taille différente avec chacun de ces outils. Les résultats peuvent être consultés sur le site : http://www.swi.psy.uva.nl/wondertools/
Plan • Avant Propos • Qu’est-ce qu’une ontologie ? • A quoi sert une ontologie ? • Méthodes de construction • Langages de spécification • Environnements de développement • Applications • Conclusions générales • Références
Préambule (1/2) Ce chapitre présente des scénarii d’utilisation d’ontologies • L’objet de ce chapitre est de présenter des applications d’ontologies, c’est-à-dire des applications tirant parti et profit d’une ontologie. • Ces applications sont regroupées en classes correspondant à des scénarii abstraits d’utilisation d’ontologies. Ces scénarii sont décrits selon un cadre conceptuel (ensemble de dimensions) proposé par [Uschold & Jasper, 99].
Préambule (2/2) Chaque scénario est décrit selon plusieurs dimensions communes • Chaque scénario est décrit selon : son principe, l’apport ou bénéfice tiré de l’ontologie, les technologies utilisées et des exemples d’applications qui s’y conforment. • Un diagramme illustre au préalable chaque scénario, dans lequel sont positionnés les principaux acteurs. Ces derniers sont référencés au moyen des sigles suivants : • AO : Auteur de l’Ontologie • DA : Développeur de l’Application • UA : Utilisateur de l’Application
Scénario : l’ontologie, en tant que spécification (1/3) Diagramme Ontologie AO DA Application 1 ... Application N UA Principe • L’ontologie modélise un domaine et fournit un vocabulaire pour spécifier les besoins d’une (ou plusieurs) application(s) cible(s). • L’ontologie guide le développement de systèmes opérationnels. Suivant les cas, ces derniers peuvent contenir (ou non) une nouvelle représentation explicite de l’ontologie.
Scénario : l’ontologie, en tant que spécification (2/3) Apports de l’ontologie Les motivations pour cette approche sont diverses : - promouvoir la réutilisation de connaissances dans plusieurs applications, - faciliter la maintenance de logiciels grâce à une représentation explicite de l’ontologie sur laquelle ils sont basés, - rendre pérennes des connaissances ontologiques, dans une perspective de mémoire organisationnelle.