[Next] [Previous] [Up] [Top]
chapitre 7 Epistémologie et
méthodes de la modélisation IA
7-2.1 Introduction
La grande majorité des systèmes expert sont des systèmes à bases de connaissances ("knowledge based systems")*1 et la majorité des "knowledge based systems" sont des systèmes expert*2. Le génie cognitif ("knowledge engineering") a pour but de déterminer les connaissances d'un expert dans un domaine précis et de les simuler. Le mot "connaissance" englobe à la fois des faits, des problèmes typiques et des heuristiques de résolution de problème. Au début des systèmes expert, le mot "connaissance"se réfèrait aux connaissances d'un expert acquises au terme d'une longue expérience. Ces connaissances sont souvent peu formalisées et inaccessibles au non-expert. En raison de cet intérêt porté aux connaissances spécialisées et floues, la méthodologie du génie cognitif repose souvent sur des recettes comme celles de Buchanan et al. (83: 139-149). Pour construire un système expert, Waterman (85:136-139) propose l
es étapes suivantes ( illustrées Figure 7-2: "Les stades du génie cognitif selon Waterman" [p. 291]):
- L'identification: il s'agit de définir les buts du projet, les tâches détaillées que le système devrait résoudre et d'identifier les contraintes techniques et pratiques (machines, logiciels, personnel, temps, etc. à disposition)
- La conceptualisation et l'élicitation (obtention) des connaissances: il faut identifier et/ou constituer un vocabulaire plus précis pour décrire une activité de résolution de problème. Les concepts, relations, heuristiques, etc. identifiés lors de l'étape précédente doivent être rendus explicites.
- La formalisation: les concepts exprimés en langage naturel doivent être traduits dans un langage formel (dans un sens pas très strict du terme). Cela permet d'exprimer un problème ainsi que les heuristiques utilisées pour le résoudre avec des expressions quasi formelles. Ensuite, il faut rendre apparentes les interdépendances des données et des connaissances (flux d'information, identification de sous-problèmes, etc). En même temps, il faut choisir (ou construire) un logiciel approprié (un moteur d'inférence par exemple) .
- L'implémentation: avec les connaissances formalisées, il faut construire un système informatique. Dans la plupart des cas, il s'agit d'écrire des règles informatiques. Parfois on construit un prototype rapide (un peu comme nos systèmes *-Lex) si cela n'a pas déjà été fait, afin de tester le bon choix des outils et la pertinence de l'analyse formelle.
- La phase test: chaque version du système doit être testée extensivement. Cela peut conduire à des multiples ajustements et affinages du système informatique, à une remodélisation complète du système qui renvoit à l'étape 3 ou encore à une reconceptualisation des tâches qui renvoie aux étapes 1 et 2. Le savoir-faire est dynamique et ne peut être saisi que dans une simulation dynamique. Aussi, ces itérations sont inévitables.
Dans toutes les phases du projet, l'ingénieur cognitif (cognicien ou "knowledge engineer") doit travailler en coopération étroite avec l'expert. Une implication importante de l'expert est surtout inévitable pour les phases 2 (élicitation du savoir) et 5 (test). A condition de pouvoir l'intéresser à un langage plus formel, il est aussi conseillé de l'associer aux phases plus techniques.
La vision "classique" de l'ingéniérie de la connaissance est très centrée sur le problème de bien "extraire" et de bien modéliser les connaissances de l'expert. Le rôle clé dans le dispositif appartient à l'ingénieur-cognicien. C'est lui qui "gère" les trois niveaux du "knowledge engineering" les plus importants:
- Elicitation de la connaissance: il s'agit d'extraire les connaissances de l'expert et d'autres sources disponibles.
- Analyse de la connaissance: il s'agit de structurer et d'organiser ces connaissances qui sont normalement hautement non-structurées et de formes diverses. Au début du processus, il s'agit de voir d'abord quels sont les types de connaissance utilisés et dans un deuxième temps, il faut préparer l'implémentation, éventuellement par une formalisation non-informatique des connaissances.
- Implémentation de la connaissance: ensuite, il faut traduire ces connaissances structurées dans un format informatique.
On utilise souvent le terme "acquisition des connaissances" pour décrire l'extraction, la structuration, l'organisation et la traduction des connaissances.
La sélection d'outils informatiques
L'exemple de notre modélisation d'une décision administrative dans le chapitre 5 "La modélisation d'une décision administrative par le génie cognitif" [p. 165] montre l'importance du choix des outils. L'outil le plus important à choisir est la coquille "système expert". Chaque outil réunit certains avantages et inconvénients liés au mode de représentation, à son moteur d'inférence, son prix, sa maniabilité, son interface utilisateur, etc. Dans certains cas, il est important de pouvoir transformer les fonctionnalités d'un outil. Parfois il faut construire l'outil soi-même. Dans certains domaines mal connus du génie cognitif, l'interaction entre l'acquisition des connaissances et le choix, l'adaptation ou le développement d'un outil sont importants. Aujourd'hui il existe un grand nombre d'outils gratuits ou commerciaux que l'on peut classifier selon plusieurs axes.
- Les techniques de représentation des connaissances: dans Smyc par exemple, nous utilisons des règles "si-alors" bâties sur des triplets "objet-attribut-valeur", des contextes, des valeurs de certitude, etc. Dans les systèmes de chaînage avant comme notre "AIPSS"*3, les faits et règles peuvent avoir des structures plus complexes et des variables arbitraires.
Les schèmes de conclusion ( inférences) indiquent comment utiliser les règles. Dans SMYC, il s'agit d'une variante du "modens ponens".
les structures de contrôle (inférences) déterminent la sélection et l'ordre d'application du savoir-faire. Dans SMYC par exemple, on utilise un chaînage arrière "depth first".
L'interface pour le cognicien: les facilités pour construire et inspecter un système.
L'interface utilisateur peut être plus ou moins convivial lui donner plus ou moins de possibilités d'interroger le système, de "voir ce qui se passe et pourquoi". Notons que la facilité d'usage fait aussi référence à la difficulté conceptuelle d'utilisation.
L'adaptabilité et l'ouverture: le degré avec lequel on peut adapter un logiciel à ses besoins. Il existe une palette de systèmes complètement ouverts (souvent imbriqués dans Lisp) et d'autres qui sont complètement fermés.
La taille du système que l'on peut modéliser fait référence au nombre de connaissances que l'on peut y mettre et à sa vitesse d'éxécution.
- La sélection d'outils informatiques
-
THESE présentée par Daniel Schneider - 19 OCT 94
Generated with WebMaker