Formation 2 – Construction, Fusion des Ontologies & Semantic Web
2 PLAN I. Construction des ontologies II. Interopérabilité des ontologies III. Web Sémantique / Semantic Web IV. OWL: langage pour les Ontologies du Web V. Ontologies médicales VI. Terminological Markup Framework
I. Construction des ontologies
19/09/ Introduction - 1 Rappels : Domaine récent et très évolutif : depuis 1990 Vraie diversité des participants (acad. & indus. ): Espagne, Angleterre, Italie, USA, France, Allemagne, Finlande... Sujets très variés Gestion des connaissances –Bibliothèques(DSpace), Web (SIMILE(.mit.edu) Applicatif –Modélisation et raisonnement sur des process Molécules entreprise
19/09/ Introduction - 2 Pourquoi faire une ontologie ? Noy : Partager la compréhension commune de la structure de l'information entre les personnes ou les fabricants de logiciels Permettre la réutilisation du savoir sur un domaine Expliciter ce qui est considéré comme implicite sur un domaine Distinguer le savoir sur un domaine du savoir opérationnel Analyser le savoir sur un domaine Remarque : « Développer une ontologie n'est pas comme concevoir classes et relations dans la programmation orientée-objet. Cette dernière est fondamentalement centrée sur les méthodes basées sur les classes – un programmeur réalise les décisions conceptuelles en s'appuyant sur les propriété opérationnelles d'une classe, alors qu'un concepteur d'ontologie le fait en s'appuyant sur les propriétés structurelles d'une classe » N. Noy (101 – first ontology )
19/09/ Plan Méthodologies de création d'ontologies : Cycle de Fernandez, Gomez-Perez & Juristo (1997) Développement en V de Robert Stevens (2001) Ontology Development 101 : A Guide to Creating Your First Ontology - de Noy et McGuinness (2001)
19/09/ Quelles méthodologies ? Cycle de Fernandez, Gomez-Perez, Juristo (1997) Développement en V de Robert Clemens (2001) Ontology Development 101 : A Guide to Creating Your First Ontology (Noy et McGuinness)
19/09/ Cycle de Fernandez, Gomez-Perez, Juristo (1997) Construction DétectionÉvolution Diffusion Évaluation Utilisation Repris de F.Gandon ACACIA
19/09/ Détection Problèmes liés aux connaissances : Manque Manque de clarté Fréquence des problèmes Description des scénarios problématiques Faut-il une ontologie pour résoudre ces problèmes ? Si oui, établir une base de travail
19/09/ Prémisses Planification : Gestion de projet : Coûts (cf. ONTOCOM) Calendrier Personnels Recueil des données Entretiens Brainstorming Observation Questionnaires Analyse de documents Dure automatisation Dilemme données/corrections
19/09/ Construct° - Spécification Spécification Conceptualisation Formalisation Intégration Implantation Spécification : - Objectifs - Scénarios d'utilisation - État de l'art - Transparence essentielle pour que les acteurs s'impliquent - Granularité de l'ontologie : (ex : - “ordinateur“ & “Mac“ - “ordinateur – type : PC“ & “ordinateur – type : Mac“ - “ordinateur – archi - CPU : x86“ & “ordinateur – archi – CPU : ppc“)
19/09/ Construct° - Conceptualisation Spécification Conceptualisation Formalisation Intégration Implantation Conceptualisation & Structu- -ration : - définir un contexte - éviter les notions inutiles - s'accorder sur les définitions Trois approches : - ascendante : spécifique -> générique - descendante : - centrifuge : concepts centraux
19/09/ Construct° - Formalisation Spécification Conceptualisation Formalisation Intégration Implantation Formalisation : - choix du langage qui impl- -que le traitement automati- -que envisageable Degrés : - informel : LN - semi-informel : LN restreinte - semi-formel : L artificiel - formel : L artificiel + théorèmes => possibilité de traitement auto.
19/09/ Construct° - Intégration Spécification Conceptualisation Formalisation Intégration Implantation Intégration et réutilisation : - souhaitable et difficile Réutilisation : - utilisabilité et réutilisabilité s'opposent... - nécessité de la modularisation et de l'organisation en couches
19/09/ Construct° - Intégration Spécification Conceptualisation Formalisation Intégration Implantation Intégration et réutilisation : - souhaitable et difficile Réutilisation : - utilisabilité et réutilisabilité s'opposent... - nécessité de la modularisation et de l'organisation en couches Implantation : => Lance le cycle
19/09/ Cycle de Fernandez, Gomez-Perez, Juristo (1997) Construction DétectionÉvolution Diffusion Évaluation Utilisation Repris de F.Gandon ACACIA
19/09/ Évaluation Vérification : évaluation théorique et cohérence formelle Validation : réponse au problème ? Complétude par l'usage (satisfaisant) Et : Modularité, réutilisabilité, documentation Extensibilité, modifiabilité, accessibilité Sinon => “Détection”
19/09/ Développement en V de Robert Clemens (2001) Identification des besoins et des objectifs Acquisition des connaissances Conceptualisation Intégration d'onto. existantes Codification Représentation Modèle d'implémentation
19/09/ Développement en V de Robert Clemens (2001) Règles de conceptualisation : clareté, concision, cohérence, extensibilité Règles de représentation : cohérence du modèle, normalisation... Modèle d'implémentation Évaluation : couverture, vérification, granularité
19/09/ Développement en V de Robert Clemens (2001) Le développement en V s'intègre à un pseudo-cycle
19/09/ Ontology Development 101 : A Guide to Creating Your First Ontology Noy & McGuinness Introduction : Définition : base de connaissances = { classes + instances } Tâches d'une création d'ontologie : –Définir les classes dans l'ontologie –Arranger les classes dans une hiérarchie taxonomique (sous-classe – super-classe) –Définir les attributs et décrire les valeurs autorisées de ces attributs –Renseigner les valeurs pour les attributs des instances
19/09/ Ontology Development 101 : A Guide to Creating Your First Ontology Noy & McGuinness Introduction (suite) : Règles fondamentales : –Il n'y a pas qu'une seule façon correcte pour modéliser un domaine – il y a toujours des alternatives viables. La meilleure solution dépend presque toujours de l'application que vous voulez mettre en place et des solutions que vous anticipez –Le développement d'une ontologie est nécessairement un processus itératif –Les concepts dans une ontologie doivent être très proches des objets(physiques ou logiques) et des relations dans votre domaine d'intérêt. Fort probablement ils sont des noms(objets) ou verbes (relations) dans des phrases qui décrivent votre problème.
19/09/ Ontology Development 101 : A Guide to Creating Your First Ontology Noy & McGuinness Introduction (re-suite) : “Sept Étapes pour La Construire” 1. Définir son domaine et sa portée 2. Étudier les ontologies existantes 3. Énumérer les termes importants dans l'ontologie 4. Définir les classes et la hiérarchie de classes 5. Définir les propriétés des classes – attributs 6. Définir les facettes des attributs 7. Créer les instances
19/09/ Ontology Development 101 : A Guide to Creating Your First Ontology Noy & McGuinness Introduction (fin) : Erreurs classiques et conseils : Questions de classe Questions de propriétés(attributs) Questions de noms
19/09/ Domaine & Portée Répondre aux questions suivantes : Quel domaine va couvrir l'ontologie ? Dans quels buts l'utiliserons nous ? À quels types de questions l'ontologie devra-t-elle fournir des réponses Qui va utiliser et maintenir l'ontologie ? Exemple : choix d'un ordinateur Domaine : description des ordinateurs Buts : définir un choix d'ordinateur Questions : Est-ce qu'il est solide, petit, léger Qui : Acquéreurs d'ordinateurs, connaisseurs de matériel
19/09/ Réutilisation de l'existant ? S'épargner du boulot ! Assurer l'interopérabilité avec les systèmes utilisant l'ontologie réutilisée Profiter de la validation déjà faite pour cette autre ontologie Ressources : Moteur de recherche d'ontologies : Swoogle(.umbc.edu) Ontologies généralistes Dmoz(.org), Wordnet Bibliothèques d'ontologies : SchemaWeb(.info) DAML ( Ontologigua ( ngua/) ngua/ Protégé (protege.stanford.edu) Ontologies spécialisées : IEEE Standard Upper Ontology (suo.ieee.org) Cyc (
19/09/ Énumérer les termes importants dans l'ontologie : 1. Quels sont les termes employés importants ou spécifiques ? 2. Quels termes pour leurs propriétés ? 3. Que peut-on en dire ? Achat d'un ordinateur : Ordinateur, PC, équipement, périphérique, coût, compatibilité, puissance, mémoire, système, Macintosh, Apple, Linux, Windows, Word... Grand, bruyant, petit, portable, rapide, lent, bleu, vert, noir, discret, léger, fixe, cher... « un portable est léger et silencieux mais a un petit écran et coûte cher », « Mac c'est bien mais Linux c'est mieux »...
19/09/ Classes et Hiérachie... Rappels : approches ascendantes/ descendantes/centrifuge Classe : concept du domaine, collection d'éléments partageant des propriétés Instance de classe : l'ordinateur qui sert à cette présentation Stratification, modularisation et documentation générique spécifique Documentation : « un ordinateur ultra-portable fait moins de 2,5 Kg » « un ordinateur de poche est dédié à des tâches spécifiques (calendrier, mail, plans...)
19/09/ Propriétés des classes - attributs Compléter les informations manquantes : “intrinsèques” (Puissance), “extrinsèques” (Nom), “parties”(intégré à une voiture), “relations”(avec une instance de Fabricant) Héritage : Les sous-classes héritent des propriétés de sa(es) super- classe(s) Il faut attacher l'attribut à la classe la plus générique Pour tous les concepts : Extrinsèque : nom Relation : fabriquéPar Pour les portables : Intrinsèque : poids Pour les portablesSolides : Intrinsèque : hauteurChute
19/09/ Facettes des attributs Liste des facettes : Cardinalité multiple/unique Type de valeurs Texte, nombre, booléen, énumération, instance Domaine et portée Domaine – attribut – portée FabriquéPar : potentiellement plusieurs. Poids : unique Types : fabriquéPar(instance de Fabricant) « Ordinateur » - fabriquéPar - « Fabricant » portée
19/09/ Instances Création des instances : Une instance hérite de tous les attributs de la classe Les valeurs des attributs doivent être définis conformément aux facettes (souvent vérifié par l'outil) Exemple :
19/09/ Erreurs classiques et Conseils Classes : Rappel : il y a plusieurs représentation correctes, mais il y a des “bonnes pratiques” Question fondamentale : « Est-ce que toutes les instances de ma sous-classe sont des instances de ma super-classe ? » Éviter les cycles dans la taxonomie Mettre des classes d'importance semblables au même niveau Éviter les sous-classes uniques et les fratries de plus de 12. Mais ne pas hésiter à le faire lorsque c'est utile. Classe ou propriété : Si les attributs ont une influence directe ou indirecte sur l'appartenance à une classe, il faut créer une classe Si on peut “switcher“ d'une classe à une autre => propriété Classe ou instance : Les instances sont les concepts les plus spécifiques de la base d connaissance Si il existe une hiérarchie “naturelle” il faut la garder. Attributs inverses : Redondant mais utile pour l'édition
19/09/ Nommage Règle de nommage : Fixée au début Classe : débutant par une majuscule et “en ChaMeAuX”. Ne pas hésiter à choisir des noms “explicites” : –Ordinateur »OrdinateurPortable »OrdinateurUltraPortable Attribut : débutant par une minuscule (et idem). –ordinateurFabriquéPar
II. Interopérabilité des ontologies
35 Interopérabilité des ontologies Les ontologies sont développées de manière distribuée : Pour un même domaine, plusieurs acteurs pour des besoins spécifiques Exemples : {TOVE/EntrepriseOntology...}, {GALEN, MeSH...} Les besoins se rejoignent un jour... Ne pas réinventer la roue => Fusion d'ontologies
36 “Mapping, Merging, Alignment” Mise en correspondance AlignementFusion
37 Trois Techniques Mise en correspondance : Table de correspondances entre les concepts Précis mais lourd Fusion de deux ontologies : Utilisation d'une ontologie pivot Potentielle perte d'information Alignement : Description d'une ontologie / une autre Pertes d'informations de l'ontologie décrite
38 Trois Étapes 1. Prétraitement des concepts et relations ● Coupure des représentation lexicales ● Exemple : “Protocole_Sécurisé” “Protocole” & “Sécurisé” ● Suppression des éléments non informatifs ● Exemple : “Protocole_Onto41” “Protocole” ● Développement des acronymes ● Exemple : “TCP” “Transmission Control Protocol”
39 Trois Étapes 2. Appariement des concepts et relations ● Manuel ou automatisé ● Pondération selon la similarité des représentations lexicales ● Exemples : ● Protocol, Protocols, Transport, Transmission ● Utilisation de ressources externes (dictionnaires, ontologies) ● Exemples : ● Wordnet, Framenet ● Grand Dictionnaire Terminologique du Québec
40 Trois Étapes 3. Propagation et raffinement ● Propagation : ● Si deux classes sont appariées, les classes liées doivent pouvoir l'être en partie ● Exemple : “IP” développé “Intellectual Property” / “Internet Protocol” ? ● On a apparié les surclasses “Transmission Control Protocol” et les classes “TCP” des deux ontologies : ● => “Internet Protocol” ● Raffinement : ● Plusieurs itérations ● Semi-automatique (intervention d'experts)
41 Trois outils Mafra Toolkit [ ] Semi-auto : Crée des relations sémantiques entre deux ontologies et les utilise pour traduire les instances de l'une dans l'autre Glue [ ] Autonome : crée des relations entre classes et instances à l'aide de techniques d'apprentissage automatique. PROMPT [ ] Semi-auto : 1. suggestions, 2. propagation selon la taxonomie
42 Conclusion Interopérabilité des ontologies Comparer deux ontologies –Deux entreprises fusionnent, qui ont chacune développé leur ontologie sur le même domaine –Développement parallèle (pas de communication entre les équipes) Ajouter un module à son ontologie –Une entreprise se développe horizontalement Gérer des versions d'ontologies –Travail de groupe, il n'est pas possible de tout faire en réunion
III. Web Sémantique / Semantic Web
44 SemanticWeb & OWL Introduction au Web Sémantique De XML à RDF puis à OWL OWL : Web Ontology Language Utilisation de OWL Inférence Règles WebServices et OWL : OWL-S, WSMO À partir des cours de I. Horrocks
45 Semantic Web / Web Sémantique Introduction Le “Semantic Web” utopique Le “Syntactic Web” Ce que « annotations » veut dire...
46 SemWeb : Introduction Parmi les créateurs du Web, le plus connu est Tim Berners- Lee, physicien du CERN. Sa vision du Web dépassait ce qui existe aujourd'hui : “... a goal of the Web was that, if the interaction between person and hypertext could be so intuitive that the machine-readable information space gave an accurate representation of the state of people's thoughts, interactions, and work patterns, then the machine analysis could become a very powerfull management tool, seeing patterns in our work and facilitating our working together through the typical problems which beset the management of large organizations.”
47 SemWeb : Introduction Parmi les créateurs du Web, le plus connu est Tim Berners- Lee, physicien du CERN. Sa vision du Web dépassait ce qui existe aujourd'hui : “... l'un des objectifs du Web était que l'interaction entre la personne et l'hypertexte soit si intuitive que le champ des informations utilisées par les machines donne une représentation du mode de pensée des gens, de leurs interactions et façons de travailler. Alors l'analyse automatique de ces données deviendrait un outil puissant, qui pourrait retrouver des modes de fonctionnement dans le résultat de notre travail et diminuer les difficulté inhérentes à la gestion des grands ensembles de données et de personnes.” Ce qu'il voyait c'était le Web Sémantique...
48 Le “Semantic Web” utopique Attention ! Utopie : “Sémantique + Web = Intell. Artif.” Un web qui saurait nous comprendre, savoir ce que l'on veut... Trop complexe... (pour l'instant..) Réalité : “Sémantique + Web + IA = un web plus utilisable” Ajouter des indications sémantiques aux ressources web
49 Le “Syntactic Web” (1) Pour l'instant : le “Syntactic Web” : Des outils pour écrire les pages web (HTML, XML, CSS, PHP, Flash...) Des outils pour les liers les unes aux autres (liens hypertexte) Des outils qui assurent l'unicité des adresses Et, il fournit un accès unifié (pages web) À des bases de données À des services divers (banque, cinéma, train..) Mail, multimedia, jeux (traitement de texte ?)
50 Le “Syntactic Web” (2) Mais beaucoup de choses sont impossibles : Requêtes complexes demandant des connaissances de fond : ”Trouve-moi un protocole qui soit sécurisé, facile à implémenter mais qui ne soit pas dérivé de https” Chercher directement dans les banques de données : faire ses propres requêtes Découvrir des “services web” : Déléguer des tâches complexes à des agents : “trouve-moi un séjour dans un endroit chaud, pas loin d'ici et où l'on parle russe ou suédois”
51 Le “Syntactic Web” (3) Pourquoi ?(!) Les pages web utilisent un langage à balises qui permet d'indiquer : Des données Des liens Le rendu (affichage) souhaité C'est très facilement interprété pour un humain mais pas pour une machine : elle se contente d'afficher les choses, nous nous chargeons de les comprendre.
52 Le “Syntactic Web” (4) Page de Joseph Roumier Joseph 31 Lille Incompréhensible pour une machine (que des paragraphes) Roumie r Joseph 31 Lille affichage
53 Le “Syntactic Web” (4) Page de Joseph Roumier Joseph 31 Lille Page de Joseph Roumier Joseph 31 Lille
54 Le “Syntactic Web” (4) Page de Joseph Roumier Joseph 31 Lille Page de Joseph Roumier Joseph 31 Lille
55 Ce que « annotations » veut dire Mettre des noms signifiants aux balises n'est pas suffisant Il faut pouvoir se référer à une ressource externe pour leur donner du sens Approche Métadonnées – annotations définies: Dublin Core (auteur, sujet, titre, format, date...) Trop limité Utilisation d'ontologies : Accord sur les sens des concepts Combinaison de concepts Cadre formel stable Relations entre concepts
56 Vers le “Web Sémantique” Ajouter ces annotations Utiliser des termes issus des ontologies (domaine conceptuel accessible aux machines) Créer et utiliser un standard pour les ontologies du web : OWL !
57 De XML à OWL, en passant par RDF et RDFS Introduction à XML : langage à balises Fonctionnement simple : on décrit les données. Exemples : « mon prénom est joseph » – joseph « liste de prénoms : joseph, marc, robert, sylvain » joseph marc robert sylvain
58 De XML à OWL, en passant par RDF et RDFS (2) Introduction à XML : langage à balises Fonctionnement simple : on décrit les données Pour info : les attributs : – Marie –Que l'on aurait pu écrire : Marie Pour info 2 : les balises peuvent-être “nichées” : – » Jean » Baptiste –
59 RDF(S) : Ressource Description Framework RDF Objectifs : représenter les métadonnées pour leur lecture par les machines Structure : Syntaxe XML + sémantique RDFS Extension du vocabulaire de RDF pour faciliter sa structuration : Class, Property Type, subClassOf, subPropertyOf Range, domain
60 RDF : modèle de données RDF : Assertion : « Joseph » « donne » > « cours » Chaque élément est une ressource désignée par une URI (Uniform Resource Identifier) comme : – – –
61 Syntaxe RDF Chaque Description décrit une ressource Un élément niché dans une description est une propriété Exemple
62 RDF Schema (RDFS) On donne un sens au vocabulaire employé {Class, property, type, subClassOf, range, Domain...} Exemples :
63 Restrictions de RDFS Trop faible pour décrire les ressources avec suffisamment de détails : Pas possible de raffiner les range et domain pour une classe particulière : « un descendant d'homme est un homme et celui d'un singe est un singe » Pas possible d'exprimer des cardinalité, ni des règles d'existence : « chaque instance de singe a une mère singe qui est est aussi un singe » Pas de propriétés transitive/inverse/symétrique : « est_partie_de est transitif, a_partie son inverse, touche est symétrique » Difficile de faire de l'inférence : Pas de raisonneur natif
IV. OWL: langage pour les Ontologies du Web
65 De RDF à OWL OWL étend XML, RDF, RDFS OIL (Ontology Inference Layer) DAML (DARPA Agent Markup Language) DAML+OIL => OWL Origines dans la représentation des connaissances (Description Logic) Sémantique bien définie Propriétés formelles bien maîtrisées (complexité, décidabilité) On a les algorithmes pour raisonner et les implémentations
66 OWL : Web Ontology Language Subdivisé en trois espèces OWL Full : union de OWL et RDF OWL DL : restreint à un fragment des logiques du premier ordre OWL Lite : pour les modélisations simples
67 OWL : Web Ontology Language(s) Subdivisé en trois espèces OWL Full : union de OWL et RDFS OWL DL : restreint à un fragment des logiques du premier ordre OWL Lite : pour les modélisations simples Et maintenant, avec OWL2 (sept09) en plusieurs « profils » : OWL 2 EL : grand nombre de propriétés et/ou classes OWL 2 QL : grands volumes d'instances, pour lesquels l'inférence la plus courante vise les instances OWL 2 RL : compromis lourdeur du raisonnement / bonne puissance d'expression
68 OWL 2 - cheatsheet
69 Exploitation de OWL Moteur d'inférence : Pellet : Requêtes : SPARQL : langage de requêtes pour RDF : WebServices : OWL-S : WSMO :
IV – Ontologies médicales
71 ICD-10/11 Ontologie ICD-10 Parcourir avec Protégé Analyse des exclusions mutuelles ICD-11 « A Content Model for the ICD-11 Revision », Tu et al., 2009 Visualisation dans firefox
72 Infectious Disease Ontology « The core Infectious Disease Ontology is an ontology of entities generally relevant to both the biomedical and clinical aspects of infectious diseases, such as ‘pathogen’, ‘host’, ‘vector’, and ‘vaccine’. The structure of IDO adheres to the Basic Formal Ontology (BFO). » ontology.googlecode.com/svn/releases/ /ido.owlhttp://infectious-disease- ontology.googlecode.com/svn/releases/ /ido.owl Ouvrir avec Protégé Imports
73 GeneOntology Pas une réelle ontologie : seulement des relations « is-a » et « part-of » lhttp:// l Attention : Trop lourde pour être intégrée dans protégé sur une machine normale.
V – Terminological Markup Framework
ISO16642 (TMF) et ISO12620 (DataCat) Terminological Markup Framework Méta-modèle terminologique ISO Data Categories Catégories de données terminologiques ISO 12620
Onomasiologie - Sémasiologie Deux types d'approches pour la terminologie Sémasiologie : Le terme est central Révèle l'existence d'homonymie et/ou polysémie Onomasiologie Le concept est central Révèle l'existence de synonymes
Terminology – Ontology Link Terminology Ontology Term A Term B Term C Concept A Concept B Concept C Concept D
Terminology – Ontology Link Terminology Ontology Infarctus Infarction Myocard Concept A Concept B Concept C Concept D
Terminological Markup Framework Terminological Markup Framework skeleton – ISO (L. Romary) Terminological Data Collection (TDC) Global Information (GI)Complementary Information (CI) Terminological Entry (TE) Language Section (LS) Term Section (TS) Term Component Section (TCS) * * * * id='1436' lang='fr' term='infarctus du myocarde'
Terminological Markup Framework Terminological Markup Framework skeleton – ISO (L. Romary) Terminological Entry has several Terms, as a concept has several names Terminological Data Collection (TDC) Global Information (GI)Complementary Information (CI) Terminological Entry (TE) Language Section (LS) Term Section (TS) Term Component Section (TCS) * * * * Id='1436' lang='en' term='myocardial infarction'
Représentation en OWL Web Ontology Language (W3C) Vérification de la cohérence Raisonnement Moteur de requête Recherche de bande passante d'interopérabilité entre plusieurs modèles terminologiques
Extras
83 Ressources OWL : Recommandation du W3C : Ian Horrocks : Implémentations : Ressource principale : Moteurs d'inférences : –Hoolet (basé sur vampire (non-libre)): –Pellet (libre, Protégé-compatible) : –Racer (non-libre, Protégé-compatible) : harburg.de/~r.f.moeller/racerwww.sts.tu- harburg.de/~r.f.moeller/racer
84 Ressources Ontologies TOVE : Enterprise integration Laboratory : The Enterprise Ontology : OpenGALEN (informations cliniques) : MeSH (Medical Subject Headings): UMLS (Unified Medical Language System) :
85 Ressources Ressouces pour l'appariement Wordnet : FrameNet : Grand Dictionnaire Terminologique du Québec :
86 Ressources Ressouces pour les annotations Dublin Core (métadonnées) :