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