• Aucun résultat trouvé

La représentation cognitive des connaissances dans la méthode MKSM

Dans le document Les systèmes de connaissances (Page 91-94)

Aspects fonctionnels

5.3. De la résolution de problèmes aux tâches cognitives

5.4.3. La représentation cognitive des connaissances dans la méthode MKSM

La méthode MOISE est une méthode de génie cognitif que nous avons initialisée vers 1989 [Ermine 93]. Elle a été conçue plus pour la recherche que pour une industrialisation directe, comme KADS. Elle a été utilisée depuis sur une trentaine de projets très divers, tant dans les domaines abordés que dans le degré d'utilisation. Au cours de ces applications, la méthode s'est affinée et précisée, certains aspects se sont développés, d'autres ont moins été étudiés (l'aspect vérification sémantique du langage de modélisation par exemple), des outils (non commercialisés) ont été développés pour sa mise en œuvre. Cette méthode, contemporaine des grandes méthodes dans ce domaine, est basée sur les mêmes principes que ces dernières, notamment sur l’hypothèse du niveau cognitif. Elle comporte une phase qui consiste à construire un modèle formalisé de l'ensemble des connaissances qui interviennent dans le problème qui est traité. C'est une étape de modélisation, au même sens que la construction du modèle d’expertise de la méthode KADS. C’est cette phase que nous allons décrire ici, en reprenant la structure d’exposition de KADS. Actuellement, MOISE, et notamment le langage de modélisation, est intégrée à une méthodologie générale de gestion des connaissances, la méthode MKSM, dont la problématique dépasse et englobe celle du génie cognitif (cf. le dernier chapitre de la deuxième édition de cet ouvrage). Les modélisations décrites ci-dessous constituent la représentation cognitive des connaissances dans MKSM.

Les catégories de connaissances

Le langage de modélisation cognitive des connaissances de MKSM comporte deux composantes nécessaires et suffisantes pour construire un modèle cognitif. Ces composantes forment la description de la connaissance (la couche descriptive du langage). Ce langage peut s’exprimer sous forme graphique (grapho- langage) ou formellement (spécifications formelles). Il possède également une sémantique (dite dénotationnelle) qui en donne une base mathématique.

- La connaissance statique. C’est la connaissance du domaine. Sa modélisation est réalisée aussi indépendamment que possible de l'utilisation qui en est faite. Ce point ne peut être complètement réalisé, puisque la connaissance statique n’est pas une connaissance en soi, mais un des deux points de vue descriptifs de la méthode sur un système de connaissances. Il ne peut donc en être séparé totalement et reflète nécessairement la

finalité de ce système. La connaissance statique spécifie la connaissance en termes d'objets et les relie entre eux par des liens fortement sémantisés grâce à l'utilisation des réseaux sémantiques. Les principaux liens utilisés sont les liens de définition (le lien att, pour attribut) et les liens classificatoires (le lien spec, pour spécialisation). D’autres liens sont des facettes qui spécifient des cardinalités ou des propriétés relationnelles. Un exemple est fourni dans la figure 5.16. Le langage formel est strictement équivalent au langage graphique dans ce cas.

- La connaissance dynamique. C'est une représentation de la stratégie mise en œuvre pour résoudre le ou les problèmes qui sont posés dans le système de connaissances considéré. La connaissance dynamique est vue sous deux angles. Le premier est celui de la résolution de problèmes, dans la lignée du GPS. Il ne s'agit pas cependant de modéliser la résolution générale de problèmes, mais un seul ou un petit nombre de problèmes donnés et identifiés. L'aspect résolution de problème de la connaissance dynamique se résume à deux questions: "quel type de tâche doit-on résoudre ?" et "comment résout-on généralement ce type de tâche ?". Le deuxième aspect de la connaissance dynamique est celui de la manipulation de la connaissance statique. On a construit, grâce aux modèles de la connaissance statique, une représentation des objets du domaine en faisant peu référence à leur utilisation. La question se pose maintenant "comment utiliser cette connaissance statique pour résoudre le ou les problèmes posés ?". C'est une approche distincte du premier aspect, mais tout à fait complémentaire, qui permet de guider le travail d'élaboration des modèles de connaissance dynamique à travers la connaissance statique (il est à noter que ces approches ont été souvent antagonistes, ce qui est regrettable - cf.. infra).

Feu de circulation 1-1 Lieu Chaîne 1-1 Numéro (1.. 40) 1-3 Lampe 1-1 1-1 1-1 Couleur

(rouge, vert, orange) Diamètre Luminosité Positionnement - angle du carrefour - suspendu au milieu ...

Feu de premier type

Pays

1-n

Feu de deuxième type

Pays

1-n

Figure 5.16. Spécification graphique du réseau décrivant le concept “ Feu de circulation ”

dans le langage de modélisation cognitive de MOISE / MKSM

Conduire à l'intersection Couleur = vert Passer Passer sans accélérer

Véhicule att. conducteur att. situation = pressé Véhicule att. conducteur att. situation

= non pressé Passer en accélérant Couleur = rouge Rester Couleur = orange Ralentir Rétrograder Freiner

Le langage de MKSM pour construire un modèle de la connaissance dynamique est un langage de tâches similaire au langage MAD exposé au § 5.3.3. Il comporte la description de l'ordonnancement des tâches à accomplir par une décomposition hiérarchisée, arborescente qui raffine récursivement les tâches de plus haut niveau en sous-tâches plus détaillées, jusqu'à aboutir à des tâches qu'on considère comme terminales. Chaque tâche qui se décompose possède un type qui décrit le contrôle qu'elle exerce sur l'exécution de l'ensemble de ses sous-tâches. Ainsi, une tâche séquentielle exécutera successivement chacune de ses sous-tâches dans l'ordre donné, une tâche alternative exécutera la sous-tâche dont la condition d'application est vérifiée, une tâche parallèle exécutera ses sous-tâches en parallèle, une tâche répétitive exécutera une même sous-tâche successivement avec des paramètres différents etc. L'arbre de décomposition des tâches en sous-tâches, avec leurs types s'appelle, pour cette raison, le flot de contrôle de la connaissance dynamique. Ce flot de contrôle est caractéristique de la stratégie de résolution de problème et peut être représenté graphiquement à la manière du langage MAD (figure 5.17). Par ailleurs, les tâches manipulent la connaissance statique, elles échangent donc des données qui proviennent des réseaux sémantiques élaborés précédemment. Cet échange de données constitue le flot de données (sémantiques) de la connaissance dynamique. Pour des raisons de lisibilité, ce flot de données ne peut être représenté graphiquement, il est représenté seulement dans le langage formel (Figure 5.18).

tâche : Conduire type : alternative

paramètres entrée : (Vinitiale : vitesse, Ainitiale : accélération) paramètres sortie : (Vfinale : vitesse,

Afinale : accélération,

Nvitesse : n° de vitesse)

sous-tâches : (Passer avec-condition Feu de circulation att lampe att couleur = vert;

Ralentir avec-condition Feu de circulation att lampe att couleur = orange; Rester avec-condition Feu de circulation att lampe att couleur = rouge) flot { Conduire.*initiale (Passer.*initiale;

Ralentir.*initiale; Rester.*initiale Passer.*finale; Ralentir.*finale; Rester.*finale (Conduire.*finale Ralentir.Nvitesse (Conduire.Nvitesse} tâche : Rétrograder type : terminale

paramètres entrée : (NvitesseInitiale: n° de vitesse) paramètres sortie : (Nvitesse : n° de vitesse)

flot { Rétrograder.Nvitesse (Ralentir.Nvitesse} etc.

Figure 5.18. Représentation formelle (incluant le flot de données) de la connaissance dynamique dans MOISE /

MKSM

La méta-connaissance

La méta-connaissance se définit comme une “ connaissance sur la connaissance ”, initialisant une boucle récursive pouvant définir de nombreux niveaux de méta-connaissance. Dans MOISE, on distingue deux composantes de méta-connaissances (ces notions n’ont pas été reprises dans MKSM) :

- La composante générique, qui décrit les fonctions qui contrôlent (au sens anglo-saxon de “ faire fonctionner ”) les connaissances statiques et dynamiques. Pour cela, on utilise les structures abstraites (ou génériques, puisqu’elles ne dépendent pas d’un contenu spécifique) de ce type de connaissances : langage de description de réseaux ou de tâches. Cette composante contient donc essentiellement des gestionnaires de réseaux sémantiques et des gestionnaires de tâches qui expriment des propriétés générales des structures de connaissance utilisées. Elle est indispensable si l’on veut que les modèles de connaissance élaborés soient “ exécutables ”, c’est-à-dire si on veut les faire fonctionner, notamment en simulation. La composante générique permet de décrire des mécanismes bien connus dits d’héritage, où certaines propriétés des concepts sont transmises automatiquement à d’autres objets. Voici par exemple certaines règles d’héritage.

Règle d’héritage N°1 : Si Concept att Attribut = Objet1 et Objet2 spec Objet1

Donnons un exemple d’application de cette règle : Conducteur att Propriété = Voiture, Véhicule spec Voiture, donc Conducteur att Propriété = Véhicule, autrement dit un conducteur qui possède une voiture possède aussi un véhicule, puisque une voiture est une sorte de véhicule

Règle d’héritage N°2 : Si Concept1 att Attribut et Concept1 spec Concept2 Alors Concept2 att Attribut

Par exemple : Véhicule att Vitesse, Véhicule spec Voiture, alors Voiture att Vitesse, autrement dit un véhicule est caractérisé par sa vitesse, donc une voiture aussi, puisque une voiture est une sorte de véhicule, et ainsi de suite...

La composante générique permet également de décrire comment se déroule l’exécution d’une tâche, par exemple, une tâche alternative, une fois déclenchée, déclenche une de ses sous-tâches dès que sa condition de déclenchement est vérifiée, ceci peut s’écrire formellement par exemple de la façon suivante :

Si T est une tâche alternative et T est déclenchée et ST est une sous-tâche de T

et une condition de déclenchement de ST est C et C est vérifiée

Alors ST est déclenchée

Une dizaine de règles du style de celle ci-dessus est suffisante pour décrire complètement le fonctionnement des différents types de tâches. Ces règles sont d’ailleurs aisément programmables sur un ordinateur, fournissant ainsi un moteur de tâches capable de faire de la simulation à partir des modèles de connaissances qui ont été décrits sous forme de tâches. On pourra faire le parallèle avec la stratégie générale de GPS (Figure 5.4) ou le modèle de gestion des tâches dans GOMS (Figure 5.8).

- La composante sémantique, permet de décrire des contraintes sémantiques sur la connaissance afin d’en assurer un certain type de cohérence. Cette composante est actuellement la moins développée dans MOISE, mais sans doute aussi une des plus délicates à mettre en œuvre. Elle utilise les résultats de la théorie sémiotique évoquée au chapitre 2, § 2.3, et des expressions de contraintes sémantiques issues d’une théorie formelle qui définit la sémantique mathématique du langage. Il n’est pas dans notre propos d’aborder ici un tel sujet.

5.5. Le traitement des données sémantiques : mythes et limites

Dans le document Les systèmes de connaissances (Page 91-94)