La Maïeutique

De Wiki-Anjou.

La Maïeutique, en intelligence artificielle, est une méthode mise au point en 1986 par Jean-Philippe de Lespinay pour extraire intuitivement la connaissance d'experts avant d'écrire un système expert. Il l'a élargie par la suite en montrant qu'elle s'applique en fait à tous les développements de logiciels.

[modifier] Les contraintes de la programmation

Pour comprendre ce qui est visé par la Maïeutique de Jean-Philippe de Lespinay, il faut d'abord savoir en quoi consiste aujourd'hui la programmation en informatique, ou le développement de logiciels. Un logiciel est composé de 3 parties : une ou plusieurs interfaces homme-machine (ou IHM), des données et l'expertise humaine à mettre dans le programme. Cette dernière est de loin la plus importante des trois : c'est elle que le programme est chargé d'automatiser, sans elle, le programme n'existe pas. IHM et données sont faciles à insérer dans le programme, de nombreux logiciels vendus dans le commerce savent s'en charger et facilitent grandement le travail du développeur au point qu'il peut être pris en charge par des non-informaticiens (Windev, Excel, SQL).

En revanche, l'insertion de l'expertise dans le programme est un travail complexe, objet d'une science spéciale toujours en évolution : l’ingénierie de la connaissance. Elle se déroule en deux étapes : recueil de la connaissance puis programmation proprement dite. Le recueil de la connaissance auprès de la (des) personne(s) possédant cette connaissance se déroule traditionnellement par interview : le programmeur (ou développeur) interroge cette personne, baptisée par souci de simplification "expert" ou "expert-métier", et décrit sur papier ou sur un ordinateur la connaissance recueillie. Ensuite il "code" cette connaissance à l'aide d'un langage informatique que comprend l'ordinateur. Ce travail est si complexe qu'il réclame beaucoup de temps et n'aboutit pas du premier coup à un programme opérationnel. Les premières versions sont presque toujours "boguées" et inutilisables aux yeux des utilisateurs, qui pensent déjà avoir beaucoup attendu. Cette déception fréquente altère traditionnellement la relation entre utilisateurs et développeurs[1][2].

En somme, on demande à l'informaticien de comprendre en quelques jours - ou quelques heures - une expertise qui n'est pas la sienne et qu'un individu a mis parfois des années à assimiler, puis ensuite d'en faire une équation (le codage) dans un langage compréhensible de l'ordinateur (mais pas de l'utilisateur).

Jean-Philippe de Lespinay recense lui-même les "9 défauts" de cette méthode traditionnelle[3] :

  1. Le procédural nécessite la présence d’un intermédiaire
  2. il représente la connaissance de façon illisible pour le commun des mortels
  3. il faut coder tous les cas qui se présenteront sans en oublier un seul
  4. le programmeur fait un boulot de dingue …et il en est fier
  5. pendant tout le développement, l’expert ne voit pas son programme !
  6. On ne touche plus au programme une fois écrit
  7. impossible de certifier la fiabilité du programme écrit (théorème de Godel)
  8. impossible de modifier un programme en cours d’utilisation
  9. impossible d’aborder certains domaines d’application


[modifier] La méthode Maïeutique

La Maieutique de Jean-Philippe de Lespinay se présente comme la réponse à ces défauts de l'informatique classique en transformant le programme en un système expert. En tant que tel, son développement ne nécessite pas d'informaticien, la connaissance est lisible de tous, il n'y a plus de codage, la programmation est devenue facile et rapide, le programme fonctionne et est testable dès le début de son développement, sa maintenance est à la portée de tous, sa fiabilité est aussi élevée que celle d'une base de données (puisque c'est une base de données), il est modifiable en cours d'utilisation et permet d'aborder des domaines d'application nouveau : les «Conversationnels», la simulation logique d'idées, l'aide à l'invention, les aides au diagnostic et à la décision, les didacticiels, les logiciels constamment évolutifs, le diagnostic de panne. En somme, les domaines où la demande en raisonnements est très élevée.

L'idée de cette maïeutique lui est venue en 1986. Ayant créé sa société, ARCANE, pour se spécialiser en développement de systèmes experts, il s'est retrouvé face au problème classique commun à l'Intelligence Artificielle et à l'informatique classique : le recueil de l'expertise à mettre dans le programme. Il ne savait pas du tout traiter cet aspect du développement n'ayant pas de formation à la programmation (il était diplômé d'une école de commerce). C'est à force d'interroger des experts d'entreprises et de traduire leurs connaissances en règles de système expert qu'il fit sa première découverte : les experts ne savent pas décrire leurs connaissances, c'est ce qui rend l'exercice de la programmation si périlleux, mais ils savent décrire la méthode qu'ils emploient pour traiter les problèmes qu'on leur soumet. Cette méthode, c'est leur "savoir-faire". Or, sous ce savoir-faire, il découvre qu'il y a la connaissance utilisée, qu'elle est facile à détecter et qu'elle s'avère suffisante pour traiter la quasi-totalité des cas relevant de ce savoir-faire. Elle se représente naturellement sous la forme d'arbres de décision, visuelle et intuitive, écrits en langage courant (celui de l'expert) et donc facilement lisibles. Suite à un questionnement logique, la Maïeutique trace ces arbres puis en extrait la connaissance inconsciente de l'expert, d'où le nom de « maïeutique » emprunté à Socrate. Elle la transcrit sous forme de règles de systèmes experts, elles-mêmes écrites dans le langage de l'expert[4]. La règle de système expert a pour intérêt d'être en théorie immédiatement exploitable dans un logiciel dédié doté d'un « moteur », sans recours à la programmation. En théorie car dans les faits, faire tourner un système expert demeurait un exploit à l’époque de la découverte de Jean-Philippe de Lespinay et le demeure aujourd'hui[5]. Il fallait des informaticiens spéciaux (« cogniticiens »), beaucoup de travail, de temps et d'argent pour faire « tourner » ces règles correctement. C'est alors que Jean-Philippe de Lespinay fit sa deuxième découverte : si le moteur effectue un vrai raisonnement[6], il sait immédiatement traiter une base de règles quel que soit l'ordre des règles dans la base ce qui évite tout recours au codage. Il développa alors un "mécanisme de raisonnement" qu'il baptisa "MOCA"[7].

Avec Moca et en utilisant la Maïeutique, un non informaticien pouvait développer lui-même un système expert[8], ce qui fut une grande première à l’époque et le demeure aujourd'hui car il n'existe pas d'autre méthode connue aussi simple et efficace pour développer des systèmes experts[9],[10],[11],[12],[13],[14].

Jean-Philippe de Lespinay démontra ensuite en 1990 que la Maïeutique est parfaitement opérationnelle en l'automatisant dans un logiciel : MAIEUTICA[15],[16] et en s'en servant pour développer des systèmes experts chez ses clients. Il affirma ensuite qu'elle était applicable au développement de toutes les applications[17],[18], montrant à travers un programme de paie (un cas de programme classique complexe bien connu) qu'un programme peut être ramené à une base de règles exploitable par un mécanisme de raisonnement. En effet, dans tout programme, il y a une connaissance d'experts que la Maïeutique sait recueillir et convertir en système expert. En conséquence, il affirme dès 1995 que tout programme informatique peut et doit être entièrement écrit avec la Maïeutique.

[modifier] Références

  1. [1]La difficile relation utilisateur-développeur
  2. "Nécessité de réconcilier l'informaticien et son entreprise"
  3. Robot-Maker.com, 2011, "La vraie IA... à ne pas confondre avec la fausse !"
  4. 01 Hebdo, 26/09/0993, "Transformer les besoins fonctionnels en règles de gestion"
  5. Kenneth Laudon, Jane Laudon, Eric Fimbel, Management des systèmes d'information, Business & Economics (2010), page 448: "L'implantation d'un grand nombre de systèmes experts exige le déploiement d'efforts de développement considérables, longs et coûteux. L'embauche ou la formation d'un plus grand nombre d'experts peut s'avérer moins coûteuse que la construction d'un système expert.(...) Certains systèmes experts, particulièrement les plus importants, sont si complexes qu'en quelques années, les coûts des maintenance adaptative et curative deviennent aussi élevés que les coûts de développement"
  6. L'Intelligence Artificielle raisonnante
  7. Moca, Moca, "mécanisme de raisonnement"
  8. Le système expert Joséphine, développé en 1986 par Michel Le Seac'h, cadre de banque non informaticien
  9. Manager, 110 questions de management, Foucher, 2006, Annexe 7 Les limites des outils informatiques (page 11): "Le faible succès des systèmes experts est le reflet de la difficulté majeure en matière de gestion des connaissances, à savoir le recueil de la connaissance"
  10. Gunnar Johannsen† and James L. Alty, Knowledge engineering for industrial expert systems, July 30, 1989 (SciencesDirect): "The inherent difficulties involved in the process of extracting knowledge from experts are discussed and identified"
  11. Abdur Rashid Khan, Zia Ur Rehman and Hafeez Ullah Amin, "Knowledge-Based System's Modeling for Software Process Model Selection", (IJACSA) International Journal of Advanced Computer Science and Applications,Vol. 2, No.2, February 2011: "The integration of matured AI methods and techniques withconventional software engineering remains difficult and posesboth implementation problems and conceptual problems"
  12. Philippe Lamarre, Faculté des Sciences et Techniques de Nantes, UOM2, Intelligence Artificielle, Systèmes experts: "L'acquisition des connaissances: nécessite la confrontation entre la connaissance du domaine et la représentation que peut en avoir le SE (quel langage...). Long, difficile..."
  13. Armand Hatchuel et Benoit Weil, Ecole des Mines de Paris (1993) page 43: "La modélisation des savoir-faire n'est donc pas une simple affaire de recueil et d’accumulation des connaissances: elle nécessite un travail intense de conceptualisation et d'abstraction"
  14. Eric Brangier et Emmanuelle Tedeschi, Le recueil d'expertise comme co-construction des connaissances: "Le principal goulot d’étranglement de la conception des systèmes experts est la collecte et la formalisation des connaissances d’un ou de plusieurs experts humains"
  15. Alain Pauly, CXP Magazine, décembre 1993
  16. Logiciels & Systèmes, juillet 1996: Maieutica
  17. Bancatique, décembre 1992
  18. IX-Magazine, mars 1995

Modèle:Portail