Ontologies Roger Nkambou
Ontologie Etude de ce qui est terme emprunté à la philosophie Pour nous : formalisation d’une conceptualisation
Ontologie Se mettre d'accord sur le sens des termes employés dans une organisation, une communauté, un métier Faire en sorte que les personnes et les logiciels se comprennent Utile pour des applications distribuées telles que le Web
Ambiguïté ‘chambre’ : Chambre d'hôtel ? Chambre d'écho ? Chambre des députés ? Chambre d'enregistrement ? Chambre noire ? Chambre funéraire ?
Ontologie Identifier, modéliser les concepts d'un domaine, pertinents pour une/des applications Se mettre d'accord, au sein d'une communauté, sur les termes employés pour se référer à ces concepts
terme Mot de la langue naturelle qui désigne un (des) concept(s) : cat, chat, greffier, matou termes qui désignent le concept de chat synonymie : plusieurs termes dénotent le même concept ambiguïté : plusieurs concepts dénotés par le même terme
Ontologie Identifier/modéliser les concepts et les relations conceptuelles formaliser la conceptualisation, et le vocabulaire correspondant Formalisation pour lever toute ambiguïté
Pour quoi faire ? EIAH une base de connaissances à objets un système d’annotation un système d’indexation documentaire, de recherche d’information Commerce électronique EIAH
Ontologie Différentes acceptations du mot ontologie : Vocabulaire technique, Référentiel métier, Terminologie/thesaurus, Système de classes d’une représentation par objet : UML ? Base de connaissances terminologique
Conception Identifier/modéliser les concepts et les termes pertinents Identifier les relations pertinentes : subClassOf, isa, partOf, hasPart, closeTo, over, under, contain, connected, etc. Règles pour combiner les concepts et les relations : partOf est transitive
Modéliser Une ontologie est une modélisation des connaissances Au sens où une théorie physique est un modèle de la réalité Il peut y avoir plusieurs modèles d’une même réalité : expérience de la chute des corps théorie de la gravitation de Newton relativité générale d’Enstein
Connaissance Continuum : donnée, information, connaissance information : SOS connaissance : en cas d’alerte, déclencher les secours La connaissance permet de produire de nouvelles données, informations, connaissances : inférence
Types de connaissances Connaissances de résolution de problème : conception, diagnostic, évaluation, planification tâches, inférences Connaissances du domaine e.g. électronique, mécanique, médecine, etc. ontologie : réutilisable modèles de domaine : fonctionnel, causal, structurel, exprimés dans le vocabulaire de l’ontologie.
Ontologie concept Object concept Engine < Object concept Vehicle < Object relation partOf : Object -> Object
Modèles de domaine Structurel : Engine e1 partOf Vehicle v2 causal : Engine breakdown => Vehicle stop
Ontologie L’accent est mis sur les concepts et les relations du domaine Orienté modélisation, spécification, réutilisation, partage, standardisation. Relations spécifiques du domaine considéré
Objets L'accent est mis sur le coté opérationnel. Opérations rendues possibles par le modèle objet : classification, évolution, simulation, calcul. Orienté résolution de problème
Terminologie/Thesaurus L'accent est mis sur les termes utilisés pour dénoter les concepts du domaine (linguistique, langue naturelle). Les relations entre termes sont linguistiques. Orienté indexation.
Thesaurus (2) Recueil documentaire alphabétique de termes servant de descripteur pour : analyser un corpus indexer des documents Relations prédéfinies standardisées pour les thésaurus
Relations linguistiques BT : Broader Term NT : Narrower Term TT : Top Term RT : Related Term (other than BT, NT, TT, etc.)
Relations (2) USE : Prefered Term UF : Use for, non preferred synonym, quasi synonym SN : Scope Note, Une note pour expliquer un terme
Ontologie ? Composant réutilisable Réutilisation : généralité, abstraction (reuse) Partage : consensus, standardisation (sharing) Accord sur conceptualisation partagée : engagement ontologique (commitment)
Caractéristiques Formalisation : lever les ambiguïtés Indépendance (relative) par rapport à une tâche, ou un problème précis Utilisable pour différentes tâches : conception, diagnostic, maintenance, recherche d'information
Caractéristiques (2) Indépendante d’une implémentation : limiter le biais dû à un formalisme de représentation : niveau conceptuel Des inférences sont possibles (relations transitives, axiomes, etc.)
Types d’Ontologies Ontologies générales, abstraites, de haut niveau : Ontologie des catégories conceptuelles : objet, événement, état, processus, action, temps, espace Ontologies théoriques : physique, mathématique, cinématique
Types (2) Ontologie applicative : Médecine, automobile, patrimoine culturel, organisation, etc.
Principes de conception Clarté : communiquer le sens des termes définis Cohérence Extensibilité Indépendance vs implémentation Modularité
Outils/Langages KIF : Knowledge Interchange Format Ontolingua Logiques de description (orientée classification) Graphe conceptuel (support) RDF Schema DAML OIL OWL
Exemples Ontolingua : www-ksl.stanford.edu/sns.html WordNet : Ontologie de la langue naturelle Enterprise Ontology Kactus : ingénierie UMLS : Unified Medical Language System Cyc EngMath, PhysSys O’Comma
Deux études de cas: Modélisation du domaine d’apprentissage CREAM MOT
Système de représentation de connaissances : Aperçu de CREAM CREAM-Tools Système de représentation de connaissances : CREAM Pédagogie Didactique Domaine
CREAM CREAM-Tools = Env. auteur pour CREAM CREAM = Domaine + Pédagogie + Didactique Domaine = CREAM-C Didactique = CREAM-R Pédagogie = CREAM-O + CKTN CREAM-Tools = Env. auteur pour CREAM
Acteurs et interfaces
Méthodologie CREAM
Méthode (suite)
Ontologie des connaissances <Capability> : := <Notation> <Description> <Attributes> <Notation> : := <DomainElement> ( <Type> ) <Description> : := <Text> <Attributes> : := <VIAttributes> | <DiscriminationAttributes> | <DefinedConceptAttributes> | <ConcreteConceptAttributes> | <ProceduralKnowledgeAttributes> <DomainElement> : := <ID> <Types> : := law | proposition | setOfPrositions | definedConcept | concreteConcept | rule | highOrderRule | problemSolvingStrategy | learningStrategy <ConcreteConceptAttributes> : := <BasicAttributes> [<FunctionalAttributes>] <RecognitionRule> [<Examples>] [<NonExamples>] [<Nearmisses>] <ProceduralKnowledgeAttributes> : := <RuleAttributes> | <HighOrderRuleAttributes> | <CognitiveStrategyAttributes> <DiscriminationAttributes> : := <ListOfDiscriminationFactors> <DefinedConceptAttributes> : := <DefinitionPredicate> [<Examples>] [<NonExamples>] [<Nearmisses>] <RuleAttributes> : := <ListOfProcedures> <RecognitionRules> : := <Condition> <Condition>* <Action> <BasicAttributes> : := <Label> <Label>* <ListOfProcedures> : := <Procedure> <Procedure>*
Exemple de connaissances ConcreteConceptClass Notation: #Button-ON-OFF-CHARGE(Concrete Concept) Description: ``Baxter pump start/stop button`` BasicAttributes: #(color, label) FunctionalAttributes: #(state #(on, off)) RecognitionRule: [(color = #yellow) and: [label = ‘ON-OFF-CHARGE’]. RuleClass Notation: #Perfusion(Rule) Procedures: #((pump isTurnOff) and: [turnOn(pump). TurnOn(Boutton-ON-OFF-CHARGE). programming(infusionRate). programming(volumeToBeInfused). start.])
Définition des objectifs <Objective> ::= <Notation><Description><Level>[<Context>][<AssessmentRule>] <Notation> ::= <Ability>|<DomainElement> <Level> ::= acquisition | comprehension | application | analysis | synthesis | evaluation <Ability> ::= <AcquisitionSkill> | <ComprehensionSkill> | <ApplicationSkill> | <AnalysisSkill> | <SynthesisSkill> | <EvaluationSkill> <AcquisitionSkill> ::= enumerate | name | identify | indicate | define | recognize <ApplicationSkill> ::= solve | apply | perform | formulate | practice <AssessmentRule> ::= <Rule> ...
Exemples ObjectiveClass Notation : #Recognize[Work-Signs] Description : ‘Learn how to recognize road repair signs’ Level: #acquisition Context: ‘The student will be able to point out and name work road signs between a given set of signs’ AssessmentRule : #(2 SIT/3 + 3 DT/4) “ comment : success on at least two simple identification tests (SIT) between three, and on at least three designation test (TD) between four” AssessmentRule : #(5 MIT / 7) “comment : success on at least five multiple identification tests (MIT) between seven”
Construction du CKTN
Exemple de CKTN
Architecture d’un STI avec curriculum explicite Student Model Planner Tutor Authoring Environment Student Interface Domain Knowlege Student Instructional designers ? inst. objective Didactic Resource Curriculum What can I do ? AI IMPACT
Dynamique d’un STI basé sur CREAM
Dynamique d’un STI basé sur CREAM
Système de représentation de connaissances : Aperçu de MOT MOT Éditeur Système de représentation de connaissances : Technique de modélisation des connaissances (MISA) & Éditeur graphique Lexique Grammaire Sémantique Pragmatique
Modélisation par objets typés Les types de connaissances sont utiles aux systèmes informatisés de support à la performance. Intégration de différent points de vue dans un même modèle: conceptuel, fonctionnel, stratégique. Transparence sémantique et facilité d’utilisation. Une petite quantité de connaissances et de liens sont suffisant pour représenter des modèles complexes : Conceptuel: factuel, composé, taxonomique, hybride Procédural: séquentiel, parallèle, itératif Prescriptif: de contrôle, de décisions, lois et théories Méthodes et Processus: processus, méthodes et techniques, multi-agents
Types de connaissances Connaissances abstraites Faits concrets Concepts Exemples Procédures Traces Principes Énoncés
Types de connaissances : Sémantique Concepts Classes d’objets Sortes de documents ou d'outils Catégories de personnes (acteurs, agents d’information) Catégories d’événements Procédures Classes d’opérations, actions Sortes de tâches, activités Instructions, algorithmes Films ou étapes du scénarios Principes Contraintes d’intégrité, conditions Règles d’actions, heuristiques Principes relationnels, lois, théories Agents décisionnels. Exemple : objet concret représentant un concept Trace: objet concret représentant une procédure Énoncé: déclaration spécifique d’un principe Faits
Types de liens Le lien d’instanciation (I) relie une connaissance abstraite à un fait. Le lien de composition (C) relie une connaissance à l’une de ses composantes ou de ses parties constitutives. Le lien de spécialisation (S) met en relation deux connaissances abstraites de même type dont l’une est “ une-sorte-de ”, un cas particulier de l’autre. Le lien de précédence ( P ) relie deux procédures ou principes dont le premier doit être terminé ou évalué avant que le second ne commence. Le lien intrant-produit ( I/P ) relie un concept et une procédure. Le lien de régulation ( R ) s’utilise d’un principe vers une autre connaissance abstraite qui peut être un concept, une procédure ou un autre principe.
Types de liens : exemples Remarques Exemples La «Voiture» se compose d’une «Carrosserie» On peut spécifier les attributs d’un objet comme des composantes d’une connaissance C La « Voiture-de-Jean» se compose de «Carrosserie-de-la-voiture-de-Jean» S Du plus spécifique vers le plus général «Renault» est une sorte de «Voiture» «Faire le plan» précède «Rédiger le texte» P Du précédant au suivant «Le plan » est intrant de «Rédiger le texte» Le concept vers la procédure est un intrant de celle-ci. La procédure vers le concept indique qu’elle le produit. I/P «Le texte» est produit de «Rédiger le texte» «Les règles de disposition sur la page» régissent «le plan» Un principe défini le concept par des contraintes à satisfaire ou encore établi une loi ou une relation entre plusieurs concepts. Le principe contrôle de l’extérieur l’exécution d’une procédure ou la sélection d’autres principes. «Les règles de contrôle du trafic» régissent «Faire décoller un avion» R «Les règles de gestion de projet» régissent «Les principes de design à appliquer» Concept, procédure ou principe “ s’instancie ” par des faits «La-voiture-de-Jean» est une instance de «Les voitures Renault» I
Quelques règles de grammaire N S CONCEPTS PROCÉDURES PRINCIPES C S P I/P R I
Pour assigner des stratégies d’apprentissage aux types de modèles Taxonomie de Modèles Pour assigner des stratégies d’apprentissage aux types de modèles Modèles Conceptuels Procéduraux Prescriptifs Modèles de Processus, Techniques et Méthodes
Modèle Conceptuel Exemples de systèmes factuels
Modèle Conceptuel Exemple d’un système taxonomique
Modèle Conceptuel Exemple d’un système à composantes
Modèle Conceptuel Exemple d’un système hybride
Modèle Procédural Exemple de procédures séquentielles
Modèle Procédural Exemple de procédures en parallèle
Modèle Procédural Exemple de procédures itératives
Systèmes Prescriptifs Exemple d’une théorie (loi)
Systèmes Prescriptifs Exemple d’un arbre de décision
Systèmes Prescriptifs Exemple d’une structure de contrôle
Processus et Méthodes Exemple d’un processus
Processus et Méthodes Exemple d’une technique (méthode)
Processus et Méthodes Exemple d’un processus multi-agents