La formation dynamique d’une base de connaissance
dans SYNERGY
Adil KABBAJ, Hamid ER-REMLI et Khadda MOUSAID
INSEA, Rabat, Maroc, B.P. 6217
Fax : (212) 7 77 94 57
e-mail : akabbaj@insea.ac.ma
http
: www.insea.ac.ma/AdilKABBAJ.htm
Résumé. Cet article présente les derniers développements du modèle de formation dynamique d’une base de connaissance (BC) basée sur l’intégration. Le modèle est à présent une composante importante de l’environnement de programmation SYNERGY.
Le processus d’intégration reçoit en entrée un flux continu de structures conceptuelles et construit de façon incrémentale et non-supervisée une BC qui correspond à un graphe de généralisation hétérogène. Une structure conceptuelle peut être la définition d'un type de concept, la description d’une instance, la description d'une situation et enfin la description d'un synonyme pour un type de concept. Les structures conceptuelles sont représentées avec le formalisme des graphes conceptuels.
A l’instar de la classification, l’approche basée sur l’intégration est concernée par le stockage, la recherche et l’utilisation de la connaissance contenue dans la BC. Les deux diffèrent toutefois par le type d’information à intégrer, l’opération d’intégration et la stratégie d’intégration utilisée.
Thèmes. Systèmes à Base de Connaissance, Raisonnement, Apprentissage.
1. Introduction
Cet article présente une approche particulière de la classification ([Haton et al., 90], [Woods, 91], [MacGregor, 91], [Woods and Schmolze, 92], [Ellis, 93]). L’approche, appelée formation d’une BC par intégration, est concernée par la formation automatique, incrémentale et non-supervisée d’une base de connaissance (BC) composée de différents types d’information comme la hiérarchie des concepts, la définition des concepts, la description des instances et les situations (ou schémas).
Comme la plupart des algorithmes de classification, la formation d’une BC par intégration crée et développe un graphe de généralisation et est concernée par le stockage, la recherche et l’utilisation de la connaissance contenue dans la BC. Elle se caractérise toutefois par les points suivants :
1. Différents types d’information à intégrer dans la BC : la formation par intégration concerne une BC ‘hétérogène’ ; une nouvelle structure conceptuelle à intégrer peut correspondre à la définition d'un type de concept, à la description d’une instance, à la description d'une situation (particulière ou générale) et enfin à la description d'un synonyme pour un type de concept.
2. L’opération de comparaison : alors que la plupart des algorithmes de classification utilisent l’opération de subsomption structurale [Woods, 91], la formation par intégration utilise une opération plus générale qui tient compte des niveaux structural et sémantique des structures à comparer et qui tient compte également des différents cas de figure qui peuvent résulter de la comparaison (la nouvelle structure peut être ‘‘plus général que’’, ‘‘identique à’’, ‘‘plus spécifique que’’, ‘‘partage des éléments en commun avec’’ ou ‘‘n’a rien en commun avec’’ une structure existante dans la BC).
3. La stratégie d’intégration : différentes stratégies ont été proposées pour la classification [Ellis, 93]. Comme nous le montrons dans le présent article, la formation par intégration utilise une stratégie qui lui est propre.
Par ailleurs, la formation d’une BC par intégration est caractérisée par le fait qu’elle tienne compte de la notion de pertinence (certains éléments d’une structure conceptuelle sont plus important que d’autres) et qu’elle utilise une forme de compression et d’explicitation des connaissances.
Cet article présente les derniers développements concernant le processus de formation par intégration d’une BC. Une première formulation est fournie dans ([Kabbaj et Frasson, 93], [Kabbaj, 95]) et ensuite dans [Kabbaj, 96]. Actuellement, ce processus de formation dynamique d’une BC est intégré comme une composante de l’environnement de programmation SYNERGY [Kabbaj, 96, 99]. Par ailleurs, son intégration au langage PROLOG+CG [Kabbaj, 96, 2000] (voir aussi www.insea.ac.ma/CGTools/PROLOG+CG.htm ) est en cours.
L'article est organisé comme suit : la section 2 présente brièvement le formalisme des graphes conceptuels qui est utilisé pour représenter aussi bien les différents types de structures conceptuelles que la BC elle même, la section 3 introduit l’organisation de la BC ainsi que les différents types de structures conceptuelles que le processus d'intégration et de formation est capable de traiter, la section 4 décrit le processus d'intégration, les sections 5 et 6 fournissent deux exemples qui illustrent certains aspects du processus de formation. La section 7 conclut l'article et présente les grandes lignes des travaux futurs envisagés.
2. Le formalisme des graphes conceptuels (GC)
Le formalisme des graphes conceptuels (GC) est présenté par John Sowa comme un fondement logique des réseaux sémantiques [Sowa, 84, 99]. En effet, Sowa propose une logique des GC, fondée sur l'algèbre relationnelle et la logique des graphes existentiels de Ch. Peirce [Sowa, 84, 99]. Il a montré également l'équivalence de la logique des GC avec la logique des prédicats et la correspondance avec KIF (Knowledge Interchange Format) [Sowa, 84, 99].
Un Graphe Conceptuel (GC) est un ensemble de concepts connectés par des relations n-adiques. Un concept est une spécification typée d'un référent : [Type : Referent] (i.e. [Femme : Fatiha]) et un référent peut désigner une instance particulière, une variable, un ensemble ou un GC (d'où la possibilité d'avoir une imbrication de GCs). Par ailleurs, un ordre partiel de généralisation est défini sur l'ensemble des types des concepts, formant ainsi la hiérarchie des types de concepts.
La figure 1 montre le GC qui représente la proposition "la femme Valerie, qui est mariée à Jo, aime l'homme Andre, un ami de Jo".
Figure 1 : Exemple d'un GC
Une formulation textuelle et linéaire du GC de la figure 1 peut être comme suit :
[AIMER]-
-objet®[HOMME : Andre]-amiDe®[HOMME : Jo],
-agent®[FEMME : Valerie]¬epouseDe-[HOMME : Jo].
Parmi les opérations définies sur les GC, citons la jointure maximale (produire un GC qui fusionne l'information contenue dans les deux GC en entrée), la généralisation minimale (produire un GC qui contient l'information commune aux deux GC en entrée), la subsomption (vérifier si un GC est plus général qu'un autre GC) et la contraction (contracter un GC d'un autre GC). Voir [Kabbaj, 96] pour plus de détail sur les opérations sur les GC et [Sowa, 84, 99] sur la théorie des GC en général.
3. Organisation de la base de connaissance et la nature de l'information à intégrer
Une information à intégrer dans une BC peut être une définition partielle d'un type (comme "Homme est un Humain") ou une définition complète ("Homme est un Humain avec sexe masculin"), la description partielle d’une instance ("Hamid est un Homme") ou la description complète d’une instance ("Hamid est un Homme qui mesure 1.80, qui a des cheveux noir frisé …"), la description d'une situation particulière ("Ce matin, Hamid est sorti en courant de sa maison") ou une situation générale ("Une maman croit que si son bébé pleur alors il a faim et il faut lui donner un biberon") et enfin la description d'un synonyme pour un type de concept ("Réseau associatif est un synonyme de réseau sémantique"). Nous tenons compte de la synonymie parce que la source de l’information peut être différente ; une description peut contenir le concept [ESCARGOT] alors qu’une autre description pourrait contenir le concept [LIMACON]. L’opération de comparaison peut utiliser le fait que les deux types sont des synonymes pour ressortir les similitudes entre les deux descriptions et relier les descriptions qui concernent en fait le même type, désigné par des identificateurs différents.
La figure 2 montre l’organisation générale de la BC qui contiendra de telles structures conceptuelles. Malgré le changement continu de la BC (suite à l’intégration de nouvelles information), cette dernière garde toujours la même organisation.
Figure 2 : Organisation générale d’une BC
Comme le montre la figure 2, la BC est un graphe conceptuel (GC) composé de quatre ‘‘types’’ de concepts et quatre types de relations dyadiques (dans notre travail, on n’utilise que des relations dyadiques et au lieu de les encadrer par des ronds, ce qui encombre le diagramme, on les représente comme des étiquettes associées aux arcs) :
ü Les quatre ‘‘types’’ de concepts sont des contextes ; le référent est décrit par un GC:
§ [Type] : représente la spécification d’un type de concept, avec ou sans sa définition. Exemple : [HOMME] ou [HOMME :_x =
[HUMAIN :super]-attr®[Sexe = masculin] ].
§ [Instance] : représente la spécification d’une instance, avec ou sans sa description. Exemple : [HOMME : Hamid] ou
[HOMME : Hamid = [HUMAIN : Hamid]-attr®[Hauteur = 1.80] … ]
§ [Situation] : représente la description d’une situation. Exemple :
[SITUATION =
[HOMME : Hamid]¬agent-[SORTIR]-
-lieu®[MAISON]-poss®[HOMME : Hamid],
-manr®[COURANT],
-temps®[MATIN]¬partieDe-[JOUR = (20,02,20)]
]
§ [Synonymes] : représente la liste de synonymes qu’un type peut avoir. Exemple : [SYNONYMES = (LIMACON, COLIMACON)]
ü Les quatre types de relations :
§ spécialisation (sp) : [Type1]-sp®[Type2] ; Type2 est une spécialisation de Type1. Exemple : [HUMAIN]-sp®[HOMME] .
Un type de concept peut avoir plusieurs spécialisations, c’est ce que désigne la boucle autour du lien ‘‘sp’’ dans la figure 2.
Par ailleurs, une situation peut être spécialisée par une ou plusieurs autres situations. Exemple :
[SITUATION = [CADRE]-poss®[VEHICULE] ]-sp®
[SITUATION = [CADRE]-poss®[VOITURE]-chrc®[LUXUEUSE] ]
§ instantiation (inst) : [Type1]-inst®[Type1 : IdInst] ; le concept [Type1 : IdInst] spécifie une instance du type Type1. Exemple : [HOMME]-inst®[HOMME : Hamid] .
Un type de concept peut avoir plusieurs instances.
§ situation (sta) : [Type]-sta®[SITUATION] ; le concept [SITUATION] spécifie une situation dans laquelle le type de concept Type est utilisé. Exemple :
[HUMAIN]-sta®[SITUATION = [HUMAIN]¬agent-[AIMER]-obj®[ARGENT] ] .
Un type de concept peut avoir plusieurs situations qui illustrent son utilisation.
La relation ‘‘sta’’ peut lier aussi une instance à une situation et une instance peut avoir plusieurs situations qui l’illustrent.
§ synonymie (syn) : [Type]-syn®[SYNONYMES : Liste_Types] ; le concept [SYNONYMES : Liste_Types] spécifie les synonymes du type Type. Exemple : [ESCARGOT]-syn®[ SYNONYMES : (LIMACON, COLIMACON)] .
4.
Le
processus de formation dynamique d’une BC
Le traitement effectué par le processus de formation dépend de la nature de l’information à intégrer :
§ Intégration d’une déclaration de synonymie : ‘‘Type1 est_synonyme_de Type2’’. Exemple : ‘‘LIMACON est_synonyme_de ESCARGOT’’. L’intégration consiste dans ce cas à ajouter Type2 (pour notre exemple : LIMACON) à la liste des synonymes pour le type Type1 (ESCARGOT) (s’il n’y est pas déjà). Si c’est le premier synonyme, le concept [SYNONYMES] est crée et est relié au concept [Type1] ([ESCARGOT]) par le lien ‘‘syn’’.
§
Intégration d’une déclaration
d’instance : ‘‘InstId est_une_instance_de
Type’’. Exemple : ‘‘Hamid est_une_instance_de
HOMME’’. L’intégration consiste à ajouter dans la BC le concept [Type : InstId] ([HOMME : Hamid])
et à le relier au concept [Type] ([HOMME]) par le
lien ‘‘inst’’.
§
Intégration d’une description
d’instance : ‘‘InstId est_une_instance_de
Type avec_description GC’’. Si le concept
[Type : InstId] n’existe pas déjà, il sera crée
et ajouté dans la BC : [Type : InstId =
GC]. S’il existe déjà et il n’a pas de description, le concept est alors mis à
jour en lui ajoutant sa description. S’il a déjà une description, une jointure
de cette dernière avec la nouvelle description est alors effectuée.
§
Intégration d’une définition
partielle d’un type de concept : ‘‘Type1 est_un Type2’’. Exemple : ‘‘HOMME est_un HUMAIN’’. L’intégration consiste dans ce cas à
ajouter un nouveau concept [Type1] ([HOMME]) et à le
relier au concept [Type2] ([HUMAIN]) par le
lien ‘‘sp’’.
§
Intégration d’une définition
complète d’un type de concept et d’une situation : l’intégration se fait
dans ce cas en trois étapes : a) explicitation de la description afin de
la préciser le plus possible, b) spécification des éléments pertinents dans la
description et c) propagation de la description dans la BC, à partir des
éléments pertinents. La propagation permettra d’établir les rapports entre la
nouvelle structure et les structures existantes dans la BC qui sont indexées,
directement ou non, par les éléments pertinents.
Nous allons
décrire maintenant ces trois étapes.
Explicitation
d’une définition ou d’une situation
Le but de cette opération est de fournir la formulation la plus précise de la structure conceptuelle en entrée (définition ou situation), conformément au contenu courant de la BC. En particulier, l’explicitation est une opération itérative qui vérifie à chaque itération si la structure contient la définition d’un type T, définition qui existe déjà dans la BC. Si c’est le cas, l’opération d’explicitation remplace le super-type correspondant par le type T ; elle rend explicite l’utilisation du type T dans la formulation de la structure en entrée. En plus, les parties de la structure qui correspondent à la définition du type T sont coloriées afin de montrer à l’utilisateur ce qui devrait être éliminée, à priori. L’opération d’explicitation ne contracte pas automatiquement la définition du type T car l’utilisateur peut juger que certains éléments de cette définition sont pertinents pour la suite (pour détecter éventuellement des similitudes avec d’autres structures).
L’opération d’explicitation est itérative afin de pouvoir identifier la présence d’une définition qui se base sur l’identification préalable d’autres définitions.
Exemple : supposons qu’on ait dans la BC les deux définitions suivantes :
‘‘Pélican est un oiseau qui a un grand bec et qui mange du poisson’’,
‘‘Pélicaniste est un scientifique qui étudie le comportement de pélican’’.
Supposons maintenant que la situation à intégrer soit : ‘‘le scientifique qui étudie le comportement d’oiseau qui a un grand bec et qui mange du poisson travaille dur’’. L’opération d’explicitation ne peut identifier à ce stade la présence de la définition du type Pélicaniste, mais elle peut identifier celle de Pélican. L’opération rend alors la description de la situation plus explicite en remplaçant le type oiseau par pélican : : ‘‘le scientifique qui étudie le comportement de pélican …’’. A présent, l’explicitation est en mesure d’identifier la définition de Pélicaniste ; la situation est explicitée davantage en remplaçant le type scientifique par pélicaniste. Si les définitions ainsi identifiées sont éliminées, la situation est compressée et devient : ‘‘le pélicaniste travaille dur’’. C’est cette dernière description qui serait alors intégrée dans la BC.
Ainsi, l’opération d’explicitation rend l’opération de comparaison sensible aux niveaux structural et sémantique des deux structures à comparer.
Enfin, notons que l’opération d’explicitation peut inférer la synonymie de deux types si la nouvelle structure correspond à la définition d’un type et il existe déjà dans la BC une définition identique mais pour un type différent. Par exemple, si l’utilisateur donne cette définition à intégrer : ‘‘réseau associatif est un graphe de concepts utilisé pour représenter une structure conceptuelle’’ et si la BC contient cette autre définition : ‘‘réseau sémantique est un graphe de concepts utilisé pour représenter une structure conceptuelle’’, alors l’explicitation va constater que les deux types reseau_associatif et reseau_semantique sont des synonymes.
Spécification
des éléments pertinents
Après l’explicitation, l’utilisateur est sollicité pour indiquer les concepts qu’il juge pertinents pour la structure à intégrer. Du point de vue opérationnel, si un concept est pertinent dans une description, alors cette dernière devrait être comparée aux descriptions qui sont déjà indexées par ce concept dans la BC. Comme le montre la prochaine section, la propagation dans la BC d’une nouvelle définition ou situation est basée sur cette interprétation.
Intégration
d’une définition ou situation
Pour chaque concept pertinent Cp de la structure S à intégrer (définition ou situation), le processus d’intégration tente de localiser, dans la BC, le concept Cs qui le spécifie (si par exemple, le concept [HOMME] est pertinent, le processus localise dans la BC le concept [HOMME] qui spécifie/défini le type HOMME) et propage ensuite, via les liens ‘‘sp’’ et ‘‘sta’’, la nouvelle structure S aux fils du concept ainsi localisé. La figure 3 schématise ce traitement.
Figure 3 : Propagation de S via les concepts pertinents
A cause de la propagation multiple de la structure S (via différents concepts et chemins), S peut atteindre plusieurs fois un même concept N de la BC. L’opération de comparaison est appliquée une seule fois sur S et le contenu de N, afin de déterminer le rapport entre les deux. Le résultat de la comparaison est ensuite mémorisé afin qu’il soit utilisé lorsque S atteint de nouveau le concept N.
Considérons maintenant la première rencontre de S (une définition ou une situation) avec N (une définition ou une situation) et le résultat de leur comparaison (figure 4 schématise cette situation) :
(a) S subsume N (b) S est plus spécifique que N (c) S et N ont G en commun
Figure 4 : 3 cas possibles (parmi les 5) suite à la comparaison de S et N
§ Si S subsume N (i.e. S est plus générale que N) alors S est placée entre N et son père C, comme le montre la figure 4.a. En plus, si S est une définition alors cette dernière est contractée de la description de N et éventuellement de certains descendants de N (si N est une situation). Par exemple, supposons qu’on ait à intégrer la situation S1 suivante :
>> [Situation =
[Scientifique]-
¬agnt¾[Etudier]¾obj®[Pelican],
¬agnt¾[Travailler]¾manr®[Dur] ] avec comme concepts pertinents : [Scientifique] et [Pelican]. Cette situation est intégrée comme le montre la figure 5.b. Supposons maintenant qu’on ait à intégrer une autre situation S2 :
>> [Situation =
[Scientifique]-
¬agnt¾[Etudier]¾obj®[Pelican]¾attr®[Asiatique],
¬agnt¾[Travailler]¾manr®[Dur] ] avec comme concepts pertinents : [Scientifique] et [Pelican]. Propagée via les concepts [Scientifique] et [Pelican], S2 sera comparée à S1 et on constatera que S2 est plus spécifique que S1. Elle sera alors placée comme fils de S1 (figure 5.c).
Supposons maintenant qu’on ait à intégrer la définition S3 suivante :
>> [Pelicaniste :_x = [Scientifique : super]¬agnt¾[Etudier]¾obj®[Pelican] ] avec [Pelican] comme concept pertinent. Le concept-super (i.e. [Scientifique : super]) est considéré par défaut comme un concept pertinent. Nous avons donc deux concepts pertinents.
La propagation de cette définition S3 via le concept [Scientifique] conduira à sa comparaison avec S1. Puisque S3 subsume S1, elle sera placée comme indiquée dans figure 5.d et elle sera contractée non seulement de S1 mais aussi de ses descendants, dans notre cas : S2. La description de S1 devient donc :
[Situation
= [Pelicaniste] ¬agnt¾[Travailler]¾manr®[Dur] ],
et la situation S2 devient aussi :
[Situation = [Pelicaniste]-
¬agnt¾[Etudier]¾obj®[Pelican]¾attr®[Asiatique],
¬agnt¾[Travailler]¾manr®[Dur] ]
La propagation de la définition S3 via le concept [Pelican] conduira également à la comparaison de S3 avec S1. Mais puisqu'elle a été déjà effectuée, le processus d'intégration va adopter le résultat précédent et effectuera uniquement la mise à jour des liens, comme le montre la figure 5.e.
(a) avant l'intégration de
S1
(b)
(c)
Figure 5: Intégration incrémentale de S1, S2 et S3
§ Si S est plus spécifique que N alors S est propagée, via les liens ‘‘sp’’ ou ‘‘sta’’, aux fils de N (comme le montre la figure 4.b).
§ Si S est égale à N alors il y aura fusion des deux concepts : S et N vont être représentés par un même concept et ce dernier sera lié aux relations qui étaient connectées aux deux concepts. Certains cas particuliers sont à considérer. Par exemple, si N représente une situation et S correspond à une définition, alors N (la situation) est ré-interprétée comme une définition et cette dernière sera contractée des descendants de N.
§ Si S et N ont une information commune G (i.e. un sous-graphe), autre que le père commun C (figure 4.c), alors un concept de type Situation sera crée avec G comme valeur et il sera placé comme indiqué par la figure 4.c.
§ Si S et N ont seulement le concept C en commun, alors aucun traitement n’est effectué.
Le détail du processus d’intégration (incluant la gestion des relations) est fourni dans [Kabbaj, 96] et [Er-remli and Mousaid, 98].
5. Exemple 1
Cet exemple montre le processus d’intégration en action, exploité dans le contexte de l’environnement SYNERGY. La figure 6 montre une application Synergy (syner1) qui contient une base de connaissance (BC) appelée Mémoire. En fait, la BC est considérée comme un concept ([Mémoire]) dont le contenu est représenté par la valeur du concept en question. Le contenu de la BC (i.e. le contenu du concept [Mémoire]) est montré dans la seconde fenêtre (figure 6). On suppose que la BC est vide ; elle contient uniquement le concept [Universal].
La première information à intégrer est de spécifier que le type ‘Objet’ est une spécialisation de Universal (comme le montre la fenêtre de dialogue dans figure 6). La même spécification est effectuée pour les types ‘Vie’ et ‘Intelligence’. Le résultat de ces trois intégrations est montré dans la fenêtre gauche de la figure 7.
Intégrons à présent la définition de Humain (c’est un objet qui possède de la vie et de l’intelligence, figure 7). Tous les concepts qui figurent dans sa définition sont marqués comme pertinents. La définition sera donc propagée via les concepts correspondants dans la BC (i.e. via les concepts pour les types ‘Objet’, ‘Vie’ et ‘Intelligence’ Figure 7).
Le résultat de l’intégration de la définition du type ‘Humain’ est représenté dans la fenêtre gauche de la figure 8. Notons la nature de l’indexation ; ‘Humain’ est une spécialisation de ‘Objet’ mais pour ‘Vie’ et ‘Intelligence’, sa définition illustre seulement leur utilisation.
Intégrons maintenant la définition du type Végétale (c’est un objet qui possède de la vie mais qui est dépourvu d’intelligence, figure 8). Comme le montre la fenêtre droite de la figure 8, tous les concepts composant la définition du type 'Végétale' sont marqués comme pertinents.
Figure 8 : Résultat de l’intégration du type Humain et la saisie de la définition du type Végétale
Puisque le concept [Objet : super] est pertinent pour la définition du type ‘Végétale’, cette dernière sera propagée, via le concept [Objet] qui est contenu dans la BC, aux structures indexées par [Objet], en l’occurrence vers la définition du type ‘Humain’. La comparaison des deux définitions montrent qu’elles ont une information commune ([Objet :super]¾poss®[Vie]). Le processus d’intégration va donc créer un concept où il mettra cette généralisation. Le nouveau concept indexe à présent les deux définitions comme indiquée dans la figure 9 (le contenu du nouveau concept est montré dans une des fenêtres droites de la figure 9).
Enfin, notons que la définition de ‘Végétale’ sera propagée également via les concepts [Vie] et [Intelligence] et impliquera uniquement une mise à jour de certaines relations (figure 9).
Figure 9 montre également le résultat de l’intégration d’une nouvelle situation ‘sitIA’ : ‘‘l’intelligence artificielle étudie l’intelligence’’ avec [Intelligence] comme concept pertinent. La situation est donc comparée aux structures indexées par le concept [Intelligence] ; en l’occurrence les définitions de ‘Humain’ et ‘Végétale’. Elle n’a rien en commun avec les deux, excepté le concept [Intelligence]. D’où son intégration comme indiquée dans la figure 9 ; comme une nouvelle situation illustrant le concept [Intelligence].
Figure 9 : Résultat de l’intégration de la définition de
Végétale et de la situation sitIA
Considérons maintenant l’intégration de la définition du type ‘Vivant’ : [Objet :super]¾poss®[Vie :super]. Les deux concepts sont pertinents. La propagation de cette définition via le concept [Objet] conduira à sa comparaison avec la situation [Situation = [Objet :super]¾poss®[Vie :super]] et à la constatation de l’identité des deux descriptions. La situation est donc fusionnée avec la définition du type Vivant et en plus, les structures qui étaient indexées sous la situation en question (les définitions de ‘Humain’ et ‘Végétale’) sont examinées à la lumière de cette fusion. En particulier, la définition de ‘Vivant’, qui indexe à présent les deux définitions, est contractée de ces dernières (figure 10).
6.
Exemple
2
Cet exemple fournit un extrait d’une application qui concerne des informations sur les peintres et leur peintures [Er-remli and Mousaid, 98]. Contrairement à l’exemple précédent, elle illustre l’intégration d’instances et de situations les concernant.
Supposons que la BC contienne déjà l’information suivante : Peintre est une spécialisation de Artiste et l’individu ‘Renoir’ est une instance de Peintre (figure 11.a).
Intégrons maintenant une situation qui concerne ‘Renoir’ :
>> [Confusion]-
agnt®[Peintre : Renoir.]
dateDe®[Annee
= 1881]
obj®[Crise]-
char®[Profonde]
obj®[Artistique] avec
[Peintre: Renoir.] comme
concept pertinent.
Cette situation est intégrée comme indiquée dans la figure 11.b
Figure 11 : Intégration d’instances et de situations
Intégrons maintenant une autre situation concernant ‘Renoir’ :
>> [Peintre: Renoir.]-
¬agnt¾[Peint ]¾loc®[Nature],
¬agnt¾[Utilise]¾obj®[Couleur]¾char®[Différente],,
¬agnt¾[Représente]-
obj®[Nature]
obj®[Femme]
obj®[Enfant] avec [Peintre: Renoir.], [Représente] et [Couleur] comme concepts pertinents.
Le processus d’intégration va constater que les concepts [Représente] et [Couleur] sont inconnus. Il demande donc à l’utilisateur de spécifier leur super-types avant de poursuivre l’intégration. Figure 11.c montre le résultat de cette intégration (aucune information commune entre les deux situations, exceptée le fait qu’il s’agisse dans les deux cas de Renoir).
Intégrons maintenant la description de Vangogh, comme instance de Peintre, et ensuite la situation suivante le concernant :
>> [Peintre: Vangogh.]-
¬agnt¾[Utilise]¾obj®[Couleur]¾char®[Impressionnant],,
¬agnt¾[Représente]-
obj®[Situation]¾char®[Religieuse]
obj®[Tournesol]
avec [Peintre: Vangogh.], [Représente] et [Couleur] comme concepts pertinents.
Cette situation sera propagée via le concept [Représente] ce qui entraînera sa comparaison avec la seconde situation concernant Renoir. Comme le montre la figure 12, le processus d’intégration reconnaît que les deux situations ont une information commune :
[Peintre]-
¬agnt¾[Utilise]¾obj®[Couleur]
¬agnt¾[Represente]
Il crée donc un concept qui contient cette généralisation et qui indexe les deux situations (figure 12). Il met à jour également les liens entre les différents concepts.
Figure 12 : Résultat de l’intégration de Vangogh et d’une situation le concernant
7.
Conclusion
et travaux futurs
Nous avons présenté et illustré avec différents exemples le processus de formation d'une BC par intégration. Le processus effectue en effet une construction automatique, incrémentale et non-supervisée d'une BC au fur et à mesure qu'il reçoit des information de l'utilisateur, information qui peut correspondre à une déclaration/définition de type de concept, à une déclaration/description d'instance, à une description d'une situation (particulière ou générale) et à une spécification de synonymie de types.
Le processus de formation d'une BC est actuellement intégré à l'environnement de programmation SYNERGY [Kabbaj, 96, 99]. Son intégration au langage PROLOG+CG [Kabbaj, 96, 2000] est en cours.
Nous envisageons l'utilisation du processus de formation d'une BC dans différents domaines : recherche d'information, bases de données avancées, raisonnement à base de cas, systèmes d'apprentissage, traitement du langage naturel et systèmes multi-agents (en considérant la mémoire d'un agent comme une BC dynamique).
References
1.
Ellis G., Efficient Retrieval from
Hierarchies of Objects using Lattice Operations, in Mineau
G., B. Moulin and J. Sowa (Eds.), Conceptual Graphs for Knowledge
Representation, Springer-Verlag, 1993.
2. Er-Remli H. and Mousaid K., Formation dynamique et incrémentale d’une base de connaissances : Etude et applications, Mémoire de troisième cycle, INSEA, Juillet 98, Rabat, Maroc, 1998.
3. Haton J-P et al., Le raisonnement en intelligence artificielle, InterEditions, 1991.
4.
Kabbaj A., Self-Organizing Knowledge Bases: The Integration Based Approach, in
Proc. Of the Intern. KRUSE Symposium : Knowledge
Retrieval, Use, and Storage for Efficiency,
5.
Kabbaj A. et C. Frasson, An incremental model of memory formation for a
multi-strategy learning environment, in Proc. Of the first Int. Conf. On
Conceptual Structures,
6. Kabbaj A., Un système multi-paradigme pour la manipulation des connaissances utilisant la théorie des graphes conceptuels, Ph.D Thesis, DIRO, Université de Montréal, June, 1996.
7.
Kabbaj A., A conceptual graph activation-based language :
Synergy and its environment, in the 7th International Conference on Conceptual
Structures, ICCS’99.
8. Kabbaj A., From PROLOG++ to PROLOG+CG, soumis à la 8th International Conference on Conceptual Structures, ICCS’2000.
9.
MacGregor R., The evolving technology of
classification-based knowledge representation systems, in J. Sowa (ed.),
Principles of Semantic Networks, Morgan Kaufmann, 1991.
10. Sowa J. F., Conceptual Structures : Information Processing
in Mind and Machine, Addison-Wesley, 1984.
11. Sowa J. F., Knowledge Representation : Logical,
Philosophical, and Computational Foundations, Brooks Cole Publishing Co.,
12. Woods W. A., Understanding subsumption and taxonomy : A
framework for progress, in J. Sowa (ed.), Principles
of Semantic Networks, Morgan Kaufmann, 1991.
13. Woods W. A. and J. G. Schmolze, The KL-ONE family, in Lehmann
F. (ed.), Special Issue on Semantic Networks in Artificial Intelligence, in an
Int. J. Computers & Mathematics with Applications, 23:2-9, 1992.