Version classiqueVersion mobile
OpenEdition Books

Savoir faire et pouvoir transmettre

 | 
Denis Chevallier

III. Des enjeux actuels

Systèmes experts

Michel Clerget

Texte intégral

1Il est fréquent - dans tous les secteurs d’activité industrielle et commerciale - que l’on rêve de « mettre en boîte » un savoir-faire ou un procédé technique. La cause en est souvent que l’utilisation de ce savoir-faire ou la mise en œuvre de ce procédé se heurte à des contraintes qui en limitent la portée et la diffusion. Parmi ces contraintes, mentionnons :

  • celles qui tiennent aux porteurs du savoir-faire : rareté, disponibilité, précarité (départ à la retraite, par exemple) ;
  • celles qui tiennent aux utilisateurs : expérience, compétence, motivation, effort de formation, effort d’entretien (quand l’utilisation est rare) ;
  • celles qui tiennent à la communication entre les deux : distance, dispersion, vulnérabilité des communications.

2C’est pour s’affranchir de ces contraintes que les agents économiques cherchent à formaliser les savoir-faire et à leur donner, en quelque sorte, une « incarnation informatique » réutilisable dans différents contextes. Et c’est d’avoir apporté sur ce point des possibilités nouvelles - par rapport aux techniques informatiques qui ont précédé -qu’est né le succès des systèmes experts dans l’industrie.

3Les agences chargées de la conservation du patrimoine ont, quant à elles, des préoccupations similaires. Il entre, en effet, dans leur mission de veiller à 1’« engrangement des savoirs et techniques dans l’optique d’une restitution au public, voire d’une réutilisation » (Chevallier 1989). Elles s’interrogent donc sur les apports potentiels des systèmes experts.

4Il est clair qu’à elle seule, aucune technique informatique ne suffit à décrire, conserver et restituer des savoir-faire professionnels. Sans faire exception, les systèmes experts peuvent cependant y contribuer (même dans les limites qu’imposent encore l’état de l’art, la puissance des machines, les coûts de développement, etc.). Nous nous proposons ici de dégager quelques-unes des caractéristiques sur lesquelles repose cette contribution. Puis nous illustrerons l’apport de cette technique par un aperçu sur une réalisation pratique « d’encapsulation » de savoir-faire.

Quelques caractéristiques qui font la différence

5Les systèmes experts constituent l’un des quatre domaines qui sont habituellement regroupés sous le vocable d’« intelligence artificielle » (les autres étant la compréhension du langage naturel, la reconnaissance des formes, la communication orale homme/machine). Ces quatre domaines partagent un certain nombre de techniques.

6L’intelligence artificielle s’est fixé pour ambition originelle de doter l’ordinateur de certaines des facultés de l’esprit humain : comprendre un langage, reconnaître une forme, raisonner, apprendre. Cette ambition a donné lieu à des lectures diverses et elle a suscité des débats passionnés. Nous n’entrerons pas ici dans ces débats, limitant notre champ d’investigation aux solutions pragmatiques qu’apportent les techniques à des problèmes concrets. De ce point de vue - celui de l’ingénieur -l’objectif en réalisant un système expert est double. Il s’agit de modéliser par informatique les connaissances et le raisonnement de spécialistes humains dans un domaine bien déterminé ; puis de mettre ce modèle en action, de reproduire ce raisonnement, pour résoudre les problèmes habituellement traités par ces spécialistes (problèmes de diagnostic, problèmes d’interprétation de données ou de situation, problèmes de planification).

7Si les systèmes experts ont permis de faire traiter par des ordinateurs des problèmes qui ne trouvaient pas de solution satisfaisante en informatique « classique », ils le doivent à un certain nombre de caractéristiques que nous allons passer rapidement en revue.

Une informatique « symbolique »

8Dans les problèmes relevant des systèmes experts, les questions posées et la manière d’y répondre mettent essentiellement en jeu des informations qu’on qualifie de symboliques, par opposition aux informations numériques de l’informatique classique (par exemple, l’information symbolique « forte fièvre », par opposition à l’information numérique « 40° »). Bien entendu, rien n’interdit à un système expert de faire des calculs numériques si cela est nécessaire. Très souvent, cependant, il n’exploite pas directement les résultats de ces calculs, mais plutôt leur traduction sous forme symbolique (37°, par exemple, est traduit en « pas de fièvre »).

9Au moyen de ces informations symboliques, on traduit en termes informatiques les concepts, les règles, les faits ... tous les objets que l’expert du domaine considéré manipule lorsqu’il raisonne.

Le recours à des heuristiques

10On qualifie souvent l’informatique classique d’« algorithmique » ou de « procédurale ». Pour tous les problèmes qu’elle résout, il existe en effet un processus bien défini (l’algorithme de résolution) permettant d’aboutir à la solution en un nombre fini d’étapes (on peut même rajouter « en un temps raisonnable »). Exécuter un programme, c’est appliquer une séquence d’opérations (une procédure) prédéfinie de manière exhaustive. Tous les cheminements possibles ont été préétablis par le programmeur. Celui-ci doit avoir envisagé a priori toutes les situations possibles dans l’univers du problème qui lui est posé ... et la manière d’y faire face.

11Ce fut, on l’a vu, un des objectifs fondateurs de l’intelligence artificielle que de chercher à traiter par ordinateur des problèmes habituellement dévolus à l’homme et sans solution algorithmique satisfaisante. Un grand pas dans cette direction a été franchi par l’introduction d’heuristiques dans les algorithmes de résolution utilisés. Ces heuristiques sont des règles qui permettent des « courts-circuits » ou des « raccourcis » vers la solution, en se concentrant dans l’algorithme de résolution sur l’exploration des voies dont on pense a priori qu’elles sont les plus prometteuses. En contrepartie, ni le succès, ni l’exhaustivité ne sont garantis dans l’obtention de solutions. En cas d’insuccès, il sera nécessaire de revenir en arrière et d’essayer d’autres voies.

Une programmation déclarative

12Comme on vient de le voir, un programme procédural exprime une succession d’instructions exécutables dans un ordre rigoureusement établi. Dans ces instructions, sont inextricablement mêlées des connaissances implicites, d’une part, et la manière de les utiliser, d’autre part.

13Considérons, par exemple, la loi d’électricité liant la puissance électrique dissipée P dans une résistance R par un courant d’intensité I :

14P = RI2

15Il s’agit d’un élément de connaissance (relatif à « l’effet joule »). Un langage procédural traditionnel permet d’en programmer plusieurs utilisations différentes, par exemple :

16P <- - - R x I2 (on connaît R et I, le programme en déduit P)

17R <- - - P/I2 (on connaît P et I, le programme en déduit R)

18I <— racine carrée (P/R) (on connaît P et R, le programme en déduit I)

19(<--- désignant l’instruction d’affectation d’une valeur à une variable). Il ne permet pas, en revanche, de décrire cette connaissance « en soi », c’est-à-dire indépendamment de son utilisation. Il ne permet pas de la « déclarer » explicitement.

20C’est à quoi pourvoit la programmation déclarative, largement utilisée en intelligence artificielle. En programmation déclarative, la signification d’une entité donnée de l’univers d’application est entièrement incluse dans une description « statique » (au sens où elle ne dépend pas de la dynamique d’un programme) et elle est indépendante à la fois des autres entités et du déroulement du programme.

Une dichotomie connaissances – exploitation de ces connaissances

21C’est l’introduction d’une dimension déclarative qui donne au système expert une de ses caractéristiques essentielles, à savoir la séparation qu’il pratique entre la représentation des connaissances mises en œuvre, d’une part, et les algorithmes de résolution de problème qui les manipulent, d’autre part. C’est elle qui permet, en effet, une expression de la connaissance sous forme de « granules » indépendants. On peut alors laisser à un mécanisme de raisonnement séparé le soin de combiner ces éléments de connaissance pour aboutir à une solution.

22Les connaissances, ainsi considérées comme des données autonomes, sont regroupées « en vrac » dans des bases de connaissances. Ces bases sont propres à un domaine d’application donné, qui, en l’état de l’art, doit être suffisamment bien délimité. Elles rassemblent les connaissances qu’utilise un spécialiste de ce domaine : description des différents objets de l’univers d’application et de leurs relations, descriptions des cas particuliers et des exceptions...

23Une base de connaissances est exploitée par un programme qui simule les mécanismes de raisonnement. Face à une situation donnée, ce programme – qu’on appelle moteur d’inférence – détecte les connaissances intéressantes, les enchaîne, les combine et construit ainsi une stratégie de résolution de problème. Le moteur d’inférence est indépendant du domaine d’application, à défaut d’être – en pratique – totalement universel (on tend à spécialiser les moteurs d’inférence par grands types d’application : diagnostic, interprétation, planification...).

24En complément de la base de connaissance, qui constitue en quelque sorte la mémoire à long terme du système, un système expert comporte une base de faits. Au départ d’une consultation du système, celle-ci contient les faits ou données propres à une occurrence particulière du problème à résoudre. Pendant la consultation, le moteur d’inférence l’utilise comme mémoire de travail en l’enrichissant des faits nouveaux apportés par le raisonnement jusqu’à ce qu’il parvienne à la solution du problème posé en début de consultation.

Principaux apports des systèmes experts comme technique informatique

25Souvent exprimées par les experts sous forme déclarative, les connaissances sont plus faciles à coder (c’est-à-dire à représenter en machine) sous cette forme. Souvent exprimées sans ordre « logique », elles sont plus faciles à coder de manière granulaire. De ces deux caractéristiques découle une facilité de mise au point, de validation et d’évolution inconnue en informatique classique.

26Dans un système expert, chaque étape dans le déroulement du programme que constitue le moteur d’inférence peut être vue comme la construction de nouvelles connaissances à partir d’une combinaison des connaissances antérieures. Chacune de ces connaissances étant intelligible en tant que telle, on est fondé à considérer leur enchaînement comme un raisonnement (plus exactement, comme la reproduction d’un raisonnement).

27Enfin, on peut suivre facilement le comportement du programme et justifier a posteriori les solutions obtenues, les choix effectués et parler en cela de capacité d’explication.

28Mentionnons – sans nous y attarder – d’autres caractéristiques intéressantes des systèmes experts :

  • ils permettent de manipuler des connaissances incertaines et/ou imprécises. Il est inutile d’insister sur l’intérêt d’une telle caractéristique dans toute situation où l’on s’intéresse à un savoir-faire.
  • ils offrent aussi la possibilité de traiter des données incomplètes ou conflictuelles. Là encore l’intérêt pratique est très grand, même si des progrès certains restent à faire sur ce point.
  • ils ont enfin quelques capacités à s’(auto)améliorer avec l’expérience. Mais l’apprentissage pour les systèmes experts en est encore, en pratique, aux premiers balbutiements.

Les systèmes à règles de production

Les règles de production, granules de connaissance

29Il existe différents formalismes pour représenter les connaissances. Le formalisme le plus utilisé – auquel on a tendance à réduire les systèmes experts – est le formalisme des règles de production :

30si prémisses alors conclusions (ou actions).

31Prémisses et conclusions sont exprimées - sous forme déclarative -dans un langage donné plus ou moins riche, d’une part, plus ou moins proche du langage naturel, d’autre part, selon l’outil logiciel utilisé pour construire le système expert. La figure suivante donne un exemple simple de règle de production, tiré du système expert rufus, dont nous parlons plus bas.

32Règle 163

33- Si

34Signalement_exploitation =panne_de_porte et

35Non-connu type_panne_de_porte ou

36Type_panne_de_porte =annonce_départ et

37Non annonce_départ_OK et

38Il_et_a_plusieurs_vibreurs_HS et

39- Alors

40Il_y_a_panne_locale_d’annonce_départ et

41Il_faut_faire_une_vérification_des_vibreurs

42Comme on peut le constater :

  • il s’agit bien d’un morceau de connaissance indépendant et intelligible en soi (au moins pour une personne du domaine concerné, sous réserve qu’elle comprenne le langage dans lequel sont exprimées les prémisses et les conclusions).
  • la règle ne se réfère pas à une autre règle (indépendance) et contient dans sa partie prémisses toutes les conditions de son application.

Le raisonnement

43Le moteur d’inférence fonctionne suivant deux stratégies de « raisonnement » de base, le chaînage avant (ou le raisonnement guidé par les données) et le chaînage arrière (ou raisonnement guidé par les buts), qui peuvent être combinés en chaînage mixte.

44En chaînage avant, le moteur d’inférence examine les prémisses des règles pour déterminer si elles sont vraies ou fausses, compte tenu des informations contenues dans la base de faits. Si elles sont vraies, la règle est déclenchée, c’est-à-dire que ses conclusions sont ajoutées à la liste des faits connus dans la base de faits. On recommence jusqu’à ce qu’une conclusion soit atteinte (un diagnostic, par exemple) ou jusqu’à ce qu’il n’y ait plus de règle à déclencher. En chaînage arrière, on se fixe une proposition à démontrer (« but ») et l’on examine une des règles concluant sur ce but. Si ses prémisses sont vraies, la conclusion est vraie et la consultation est terminée. Sinon, ces prémisses sont ajoutées à une liste de nouvelles propositions à démontrer (« sous-buts ») et l’on recommence un cycle avec l’une des règles concluant à l’un des sous-buts.

Un exemple de système expert industriel

45A titre d’illustration, considérons rufus, un système expert réalisé par la société cognitech pour la ratp (Bonnet et al. 1986). C’est un système d’aide au dépannage des motrices de rer, pour les contremaîtres-visiteurs. Son objectif est double : d’une part, l’assistance au dépannage, d’autre part, la formation des nouveaux contremaîtres-visiteurs (il est important de mentionner que le roulement du personnel dans ce domaine est relativement important).

46Dans sa conception initiale, le système traite trois grands types de pannes (mais ce nombre peut être étendu sans difficulté) :

  • les pannes dites « de motrice inactive », qui ont trait à l’absence ou à l’insuffisance de traction sur une ou plusieurs motrices. Ce type a été choisi notamment pour sa fréquence élevée d’apparition.
  • les pannes de frein rhéostatique, relatives au freinage électromagnétique du train. Ces pannes sont souvent très complexes.
  • les pannes de porte qui concernent les problèmes d’ouverture et de fermeture, locaux ou généraux. Ces pannes sont très pénalisantes pour l’exploitation.

47Le diagnostic de pannes nécessite un grand savoir-faire. Il passe, en effet, par des mesures très nombreuses, à relever sur toute la longueur du train (300 mètres). Certaines de ces mesures sont, par ailleurs, beaucoup plus longues ou difficiles à réaliser que d’autres (quand il faut, par exemple, couper le 1500 volts, aller sous le train, ouvrir un coffre, utiliser une clé spéciale, etc.). Seul son savoir-faire permet au contremaître-visiteur de choisir une séquence de mesures conduisant efficacement au diagnostic.

48La version initiale de rufus comportait environ 200 règles et manipulait de l’ordre de 300 objets.

Limites de l’état de l’art

49Les systèmes experts remportent, depuis quelques années, des succès certains dans l’industrie. Le secret de tels succès repose sur une conscience des limites que fixe l’état de l’art, limites que D. Andler (1986), cité par Grunstein et al. (1988), résume en trois points :

  • renoncer à la simulation des processus humains pour s’en tenir à la construction d’engins capables de résultats comparables, voire supérieurs (et non de transformations internes identiques).
  • renoncer à une intelligence versatile et s’en tenir à des programmes strictement spécialisés dans une tâche donnée.
  • renoncer à une intelligence générale et s’en tenir à des programmes n’opérant que dans un contexte étroitement (et préalablement) limité.

Conclusion

50Sous ces réserves – qui sont importantes – on peut adhérer à l’analyse optimiste selon laquelle, « grâce aux technologies de l’intelligence artificielle, nous atteignons le point où il devient possible de traiter nos connaissances comme une matière première. Cette ressource, extraite des gisements de savoir-faire que constituent les entreprises, peut être traitée et manipulée comme on le ferait d’une matière première susceptible d’être affinée, adaptée, mise en forme, assemblée, transportée, diffusée et utilisée par le plus grand nombre de personnes » (Grunstein et al. 1988 : 203).

© Éditions de la Maison des sciences de l’homme, 1996

Conditions d’utilisation : http://www.openedition.org/6540