Schémas, Frames, Scripts et Reseaux Semantiques
Transcription
Schémas, Frames, Scripts et Reseaux Semantiques
Programmation des Systèmes Experts James L. Crowley Deuxième Année ENSIMAG Séance 11 : Deuxième Sémestre 2000/2001 18 avril 2001 Représentation Structurée de la Connaissance Définition des Classes en CLIPS............................. 1 Sortes de Relations entres Objets ............................ 2 Représentation d'une Hiérarchie des Catégories........................ 3 Applications de la Connaissance Structurée................ 5 Frames ................................................................................ 5 Scripts :............................................................................... 7 Exemples............................................................................. 7 Réseau Sémantique :.............................................................. 10 Conceptuel Dependance......................................................... 11 Définition des Classes en CLIPS Une classe est définit par une expression : (defclass <name> [<comment>] (is-a <superclass-name>+) [<role>] [<pattern-match-role>] <slot>* <handler-documentation>*) Représentation Structurée de la Connaissance Séance 11 Sortes de Relations entres Objets Les schémas servent à représenter les choses et les relations entre choses. Les exemples de relations comprennent les positions relatives, les composants d’une structure, les relations de famille et les relations de temps (exemple: après, avant, pendant). Une relation peut être représenté d'un manière implicite (ex-valeur dans un slot) ou explicite (ex. par un objet de type "relation"). La “Valence” ou “Arité” d’une relation est le nombre de choses associées. Monadic ou unaire: diadic (ou binaire): triadic (ou ternaire) : male(Jim) instance-of (Jim, person) action (Jim, flew, AF357) Les relations monadic servent à représenter les propriétés. Ils peuvent être représenté par la valeur dans un slot. Les relations diadic associe deux objets. Ils peuvent être représenté par un pointer dans un slot. Les relations triadic exigent un nœud (un objet) avec les pointers pour les rôles. Exemple : Un symbole est une relation triadic entre une chose, un signe et un agent (un interprète) (defclass symbol (is-a USER) (slot signe) (slot chose) (slot agent) ) 11-2 Représentation Structurée de la Connaissance Séance 11 Représentation d'une Hiérarchie des Catégories Une hiérarchie est une structure relational entre choses. On peut organiser les hiérarchies entre individus, classes, concepts ou autre choses. Par exemple, dans un réseau sémantique, les concepts sont organisés en hiérarchies. Le plus bas niveau est composé de mots. Une représentation hiérarchique permet une inférence des propriétés (par défaut) et une économie de représentation. La relation d’abstraction ENTRE catégories est appelée “AKO” (A Kind of). Nous allons faire une inférence entre membres de cette hiérarchie par une sorte d'“héritage dynamique”. On peut trouver l'héritage simple (Une AKO par concept) ou l'héritage multiple (Plusieurs AKO par classe). L’héritage dynamique est une forme de parcours de graphe. Il peut être multiple. Il peut être “strict” ou “defeasible”. Héritage multiple “defeasible” permet les exceptions. Exemple: (defclass CHOSE (is-a USER) (role concrete) (multislot AKO (create-accessor read-write)) (slot couleur (create-accessor read-write)) ) (make-instance (make-instance (make-instance (make-instance (make-instance [A] [B] [C] [D] [E] of of of of of CHOSE CHOSE CHOSE CHOSE CHOSE (AKO [B] (AKO [D] (couleur (couleur (couleur [C])) [E])) bleu)) blanc)) rouge)) 11-3 Représentation Structurée de la Connaissance Séance 11 D E AKO: AKO: Couleur: rouge Couleur: blanc B C AKO : D E AKO: Couleur: NIL Couleur: bleu A AKO : B C Couleur: NIL La Relation AKO est réaliser par une “message-handler”. (defmessage-handler CHOSE inherit-couleur () (if (neq ?self:couleur nil) then (return ?self:couleur) else (bind ?couleur) (progn$ (?super ?self:AKO) (bind ?couleur (send ?super inherit-couleur)) (if (neq nil ?couleur) then (break)) ) (return ?couleur) ) ) Une message-handler pour une héritage multiple est ;; ;; héritage multiple. Les valeurs sont aussi affecté aux slots. ;; (defmessage-handler CHOSE mv-inherit-couleur () (if (neq ?self:couleur nil) then (return ?self:couleur) else (bind $?couleur (create$)) (progn$ (?super ?self:AKO) (bind ?c (send ?super inherit-couleur)) (if (neq ?c nil) then (bind $?couleur (insert$ $?couleur 1 ?c)) ) ) (return $?couleur) ) ) 11-4 Représentation Structurée de la Connaissance Séance 11 Applications de la Connaissance Structurée L'expression de la connaissance déclarative par structure de schéma a plusieurs applications. Trois applications classique sont les Frames, les Scripts et les Réseaux Sémantiques. Frames : Un assemblage des objets pour définir un contexte. Scripts : Un assemblage des objets pour définir une séquence des événements Réseau Sémantique : Un réseau des concepts lié par des associations utilisées à décrire le sens sémantique des mots. Frames Les frames était proposées par Minsky pour représenter les scènes. Un frame est une description d'un contexte. Concretement, il est représenté par une collections d'objets associé par une schéma. Il identifie la liste des objets composant le contexte. Ceci donne une description “explicite” du contexte qui peut servir de guider l'interpretation s'un scène, d'un situation ou d'une histoire. On peut exploiter la structure d’une frame afin de faire les inférences par raisonnement par défaut, héritage par les hiérarchies. Les composants d'un contexte représente les “rôles”. 11-5 Représentation Structurée de la Connaissance Exemple d'une Frame pour un Vol Air France : LHR from AF357 to Séance 11 LYS Ceci correspond à des objets CLIPS : (defclass AIRPORT (is-a USER) (role concrete) (slot code (create-accessor read-write)) (slot AD-name (create-accessor read-write)) (slot city (create-accessor read-write)) (slot country (create-accessor read-write)) ) (make-instance [LYS] of AIRPORT (code LYS) (AD-name Satolas) (city Lyon) (country France)) (make-instance [LHR] of AIRPORT (code LHR) (AD-name Heathrow) (city London) (country Britain)) (defclass FLIGHT (is-a USER) (role concrete) (slot code (type SYMBOL)(create-accessor read-write)) (slot from (type INSTANCE)(create-accessor read-write)) (slot to (type INSTANCE)(create-accessor read-write)) (message-handler from-city) (message-handler to-city) ) (defmessage-handler FLIGHT from-city() (send ?self:from get-city)) (defmessage-handler FLIGHT to-city() (send ?self:to get-city)) (make-instance [AF357] of FLIGHT (from [LHR]) (to [LYS])(code AF357) ) On peut ensuite poser des questions telles que “d'où vient le vol AF 357” CLIPS> (send [AF357] from-city) London CLIPS> (send [AF357] to-city) Lyon 11-6 Représentation Structurée de la Connaissance Scripts : Séance 11 Un Script est une structure de schémas utilisés pour décrire une séquence d'evenements. Un script est une forme de connaissance déclarative qui peut servir 1) communiquer, comprendre et raisonner sur un histoire 2) comprendre ou raisonner sur une situation ou une séquence d'événements (Par exemple un jeux ou un match sportif) 3) Raisonner sur les actions Un script est composé de : 1) Un scène (en lieu et ses composants). 2) Des "props" (Les objets manipulés dans le script). 3) Les acteurs 4) Des actions 6) Les événements : Un action par un acteur. 5) Des contextes composer des événements. Le script est une structure de contextes. Dans chaque contexte, un ou plusieurs acteurs font les actions. Les acteurs agissent dans les lieus de la scène avec les props. Les contextes peuvent être organisé en séquence, arbre ou réseau. Le script aide à l'interpretation et à la communication par fournissant les éléments primitifs est les méthodes de leur reconnaissance. Un script est organisé par des évènements : Une suite de contextes avec des transitions. Exemples 1) Manger dans une bonne restaurant française Scène : Props : La (les) salle(s), l'entrée, les tables (comme lieu), la cuisine le menu la table (comme objet), les chaises, les couteaux, fourchettes et cuillers, la (les) verre(s) Acteurs : Le maître d’Hôtel, Le serveur, la "bus-boy", les clients Actions: Entrer, S'asseoir, lire le menu, commander, manger, boire, demander l'addition, payer, partir. Contextes: Les phases du repas (arriver, s'installer, commander, manger, payer) 11-7 Représentation Structurée de la Connaissance Séance 11 La scène, et les contextes sont représentés par les objets composé de pointers à d’autres objets. 2) Un match sportif. Par exemple le jeu de Baseball Americain est composé de : Scène : The field composed of the Infield, theoufield, the left and right foul lines, the outfield. the In-field is composed of Home plate, first base, second base, third base, the lanes between the bases and the pitchers mount. The outfield is composed of Left field, center field and right field. Props: the ball, the bat, the glove of each player, the bases, Actors : The 9 defensive players : Pitcher, catcher, first base, etc. and the batter. Actions: Each actor has certain actions which he can perform. Pitecher. catch a hit, Catcher. Catch a pitch, pout out the batter, etc. Pitch, Contexts : The game is composed of nine "innings" Each inning has 2 parts, one for each of the teams to "bat". 3) Le jeux d'echecs Scène : The board. Props : The pieces Actors : The two opponents Actions: Each piece has some set of legal moves. Some moves may be blocked by the presence of other pieces. 11-8 Représentation Structurée de la Connaissance Exemples de script Séance 11 Achat d’une boisson au distributeur automatique Scène : devant la machine Props: La machine, les pieces de monnaie, la boisson, le gobelet, Acteur : acheteur Contextes : Entrer le monnaie, selectioner sa boisson, collecter la boisson. Actions : Sortir les pièces de monnaie : 1) Déterminer montant 2) si homme : sortir pièces de la poche si femme : sortir pièces du porte-monnaie 3) trouver minimum monnaie supérieur au montant 4) y-a-t-il assez ? non : halt oui continue 11-9 Représentation Structurée de la Connaissance Exemple d’un script hiérarchique Séance 11 Un scripte est typiquement une "hiérarchie" des actions. Les actions peuvent être elles aussi des scripts. Exemple : Go to London Fly from LYS to LHR Drive from Grenoble to LYS Go to Car Drive to LYS Go to Gate 4 Wait for Plane Fly from LHR to LYS Board Plane Park in P0 Réseau Sémantique : Comment représenter la “sémantique” d’une phrase ou d'une scène? Les réseaux sémantiques utilise les schéma pour fournir une expression symbolique de la "sens" des mots. Ils sont utilisé pour les système de traduction automatique. Le sémantique des mots est exprimer par référence à une hiérarchie de concepts abstrait. L'approche des "Réseaux Sémantiques" est de définir un ensemble de prédicats “primitifs”. Les mots sont définit comme une conjonction de ses primitifs. Exemple : ∀ x (Father(x) → parent(x) ∧ mâle(x) ) Ensuite, dans une base de connaissance, on remplace chaque mot par sa définition. Cette idée a inspiré plusieurs efforts de définir un vocabulaire de concepts “de base” pour la langue naturelle. 11-10 Représentation Structurée de la Connaissance Un des premiers réseaux sémantique a été le système “NUDE” (R. H. Richens, Cambridge Language Research Unit, 1956.) Nude = Les idées “nues”. Séance 11 Une étudiante de Richen, Margaret Masterson, a définit “T” (pour thesaurus). T est un treillis 100 “concepts” organisés en hiérarchie. Conceptuel Dependance Dans les années 70, Shanks a proposé é une théorie qui s’appelle : “Conceptual Dependance” Le CD est un ensemble de “primitives” réduit. Par exemple, il y a trois primitifs basés sur le concept de transfert. ATRANS : Transfère Abstrait. (Tel que transfère de la possession d’une chose) PTRANS : Transfert Physique MTRANS : Transfert Mental. Il y aussi d’autres primitifs tels que : CONC : Conceptualise - construire une description abstrait MBUILD : Build Mental - Inférence MOVE : Mouvement d’un partie du corps GRASP : Saisir INGEST : Ingérer EXPEL : Inverse d’ingere Les plus part des verbes peuvent être exprimé en termes de ces primitifs. Il s’agit d’une branche d'ontologie : l'Étude de concept et catégories. 11-11