Aspects fonctionnels
5.3. De la résolution de problèmes aux tâches cognitives
5.4.2. La méthode KADS
La méthode KADS est sans doute la méthode de génie cognitif la plus connue ([Hickman 89], [Breuker 94]). Issue d’un projet européen dans la fin des années 80, elle avait pour but de réduire ce fameux goulet d’étranglement du transfert d’expertise dans la technologie des systèmes experts. Elle a pris l’approche du niveau cognitif, et fournit des outils de modélisation de la connaissance pour réaliser ce qu’elle appelle un
modèle d’expertise. L’important développement de KADS a abouti à une méthode complète de gestion de projet
industriel aux multiples aspects. on ne parlera ici que des aspects de modélisation qui nous intéressent. Le but du modèle d’expertise est de décrire la connaissance et la manière dont elle est utilisée dans une tâche particulière
Les catégories de connaissances
Le modèle d’expertise décrit une structure au niveau cognitif qui exprime les différents rôles des parties de la connaissance impliquées dans une tâche particulière. Ces rôles sont décrits dans trois catégories fondamentales de connaissances :
- Les tâches (“ Task Knowledge ”), qui décrivent une décomposition récursive d’une tâche au plus haut niveau en sous-tâches successives, qui spécifient ce que représente l’exécution de ces tâches, et qui décrivent quand les sous-tâches doivent être exécutées pour résoudre la tâche mère (c’est ce qu’on appelle le flot de contrôle). Le modèle de tâche utilisé dans KADS est similaire à ceux qu’on a décrit ci-dessus. Il comprend une partie définition qui décrit le “ quoi ” de la tâche et une partie corps qui décrit le “ comment ”. La figure 5.12 en donne un exemple.
Tâche : S’arrêter Définition
But : amener la vitesse et l’accélération du véhicule à zéro Entrées : V, G
Sorties : V, G Corps
Type : composée
Sous-tâches : Freiner, Rétrograder
Rôles additionnels : Numéro de vitesse (de la première à la cinquième) Structure de contrôle : Exécuter séquentiellement :
Freiner(+V,+G,-V,-G),
Rétrograder(+Numéro de vitesse, -Numéro de vitesse) Tâche : Identifier le feu de circulation
Définition
But : Déterminer la couleur du feu de circulation Entrées : Message
Sorties : Couleur Corps
Type : composée
Sous-tâches : Récupérer le message, Interpréter le message Structure de contrôle : Récupérer le message (+Message)
Si Message = 100
Alors Interpréter le message (-Couleur : Rouge) Sinon
Si Message = 010
Alors Interpréter le message (-Couleur : Orange) Sinon
Si Message = 001
Figure 5.12. Structure de tâche dans KADS
- La connaissance du domaine (“ Domain Knowledge ”) contient les faits et les hypothèses qui sont pertinents dans l’exécution d’une tâche dans le domaine d’application. La forme et la structure de ces éléments de connaissance sont définies dans ce que KADS appelle une ontologie qui fournit les primitives permettant de décrire la connaissance du domaine. Le plus souvent, il s’agit de modélisation de type objet ou réseau sémantique comme il en a été question au chapitre 2, § 2.4, et de propriétés relationnelles. La figure 5.13 en donne un exemple.
Concept : Feu de circulation Propriétés :
Lieu géographique : {Chaîne de caractères} cardinalité : min 1; max 1; Numéro : {1..40} cardinalité : min 1; max 1;
Type de lampe : {Type de lampe} cardinalité : min 1; max 3;
Positionnement = {angle du carrefour, suspendu au milieu de la chaussée,...}
cardinalité : min 1; max 1;
Concept : Type de lampe :
Couleur : {rouge, vert, orange} Diamètre : {Entier cm] Luminosité : {...}
Relation : Ensemble de feux de circulation disponibles pour un conducteur
“ L’ensemble des feux de circulation disposés à un carrefour utilisables par un conducteur donné ” arguments :
feux de circulation
rôles : feux de circulation visibles par un conducteur donné, ensemble de feux de circulation
cardinalité : min 1 ; max 3 conducteur
rôles : conducteur ayant une visibilité sur un ensemble de feux de circulation conducteur
cardinalité : min 1 ; max 1
Figure 5.13. Représentation des connaissances du domaine dans KADS
Inférence Récupérer Rôle d’entrée : signal
Rôle de sortie : signal codé => message Rôle statique : critères de codage Inférence Interpréter
Rôle d’entrée : signal codé => message Rôle de sortie : signal interprété => couleur
Figure 5.14. Description des inférences Récupérer et Interpréter
Signal Récupérer
Critères de codage
Signal codé Interpréter interprétéSignal
Figure 5.15. Structure d’inférence pour la tâche “ Identifier le feu de circulation ”
- Les inférences (“ Inference Knowledge ”) qui spécifient les pas élémentaires de raisonnement dans une application et les rôles qui font référence aux éléments de la connaissance du domaine manipulés par les inférences. Une inférence n’est pas nécessairement une tâche élémentaire, elle peut être complexe, mais en tant
que modélisation de la connaissance, sa description n’apporte rien au niveau cognitif. Les inférences sont décrites en relation dans une structure d’inférence qui exprime comment les éléments de connaissances, à travers les rôles qui leur sont attribués, sont utilisés et produits par elles. Un exemple est donné dans les figures 5.14 et 5.15: les tâches “ Récupérer le message ”et “ Interpréter le message ”, sont réalisées par des inférences “ Récupérer ” et “ Interpréter ” et leur fonctionnement est décrit dans la structure d’inférences
La méta-connaissance
Les modèles de tâches, du domaine et des inférences sont nécessaires et suffisants pour établir un modèle d’expertise. Cependant, il est intéressant de dégager des structures générales, voire génériques, des modèles d’expertise, afin de mieux comprendre leur nature et leur fonctionnement et afin également de pouvoir réutiliser ces structures génériques sur d’autres cas. Ces structures sont appelées méta-connaissances. Dans KADS, on en distingue trois sortes :
- Les ontologies. Elles ont déjà été évoquées. Une ontologie spécifie une terminologie de référence attachée à la connaissance du domaine et ses différents constituants. Il peut y avoir plusieurs ontologies sur un seul domaine, chacune d’elles décrivant un point de vue particulier.
- Les modèles de cas (“ Case Model Schemata ”). Un modèle de cas décrit les éléments essentiels utilisés dans une tâche, ainsi que la structure globale de l’argumentation qui valide une solution.
- Les méthodes de résolution de problèmes. On retrouve ici l’idée de GPS. Celle-ci suppose qu’il peut exister des méta-modèles de résolutions de grandes classes de problèmes (on réduit ici l’ambition d’avoir un résolveur “ général ”) qui peuvent s’instancier pour donner un modèle de tâches particulier sur un cas particulier. “ En résumé, la résolution de problème vue sous l’angle de la modélisation implique qu’un bon modèle d’expertise impose les bonnes structures sur le modèle du domaine (des ontologies), de telle façon qu’elles puissent être exploitées par une méthode de résolution de problème, pour remplir les éléments d’un modèle de cas qui puisse fournir une justification à la validité d’une conclusion ” ([Van de Velde 94] § 2.5.2)