Au cours des années 1980, les chercheurs IA français se sont spécialement penchés sur la programmation de logiques pouvant donner de l'intelligence aux ordinateurs. C'est ainsi que l'on a vu apparaître les logiques floue, d'ordre zéro, d'ordre 1 (Prolog), épistémique , temporelle, modale, etc. La logique floue, la première à apparaître (Mycin), a produit nombre de systèmes experts. Elle présente cependant le défaut de n'être pas naturelle : elle progresse par le calcul et non par le raisonnement. Les conclusions des règles « floues » sont affectées de coefficients de certitude sur lequel le calcul va s'exercer pour aboutir aux résultats. L'automatisation des logiques épistémique, modale et temporelle sont encore du domaine de la recherche. La logique d'ordre 1 a permis, grâce à Prolog, de développer nombre de programmes depuis 20 ans. Elle est aujourd'hui en voie de disparition, n'offrant apparemment pas d'avantages par rapport aux techniques procédurales classiques qui, elles, s'améliorent sans cesse.
De ce foisonnement de réflexions sur le raisonnement est née une structure de logiciel révolutionnaire : le système expert. Alors que les programmes classiques sont des pages et des pages de textes cryptés sans organisation visible, le système expert est une forme de programme divisée en 2 parties radicalement différentes : une base de données contenant des connaissances en clair et un moteur chargé de raisonner dessus pour exécuter ce programme. Cela fait trente ans que l'on produit des systèmes experts mais très peu d'entre eux méritent ce nom. Ils ne sont écrits que par des programmeurs et présentent de nombreux défauts.
C'est en France (Université Paris VI) que le système expert est devenu un outil d'une grande puissance, apportant la preuve que l'IA n'était pas une chimère, avec l'apparition d'un moteur doté de la logique dite « d'ordre 0+ ». Sous ce nom bizarre, on ne décrivait en fait que notre logique quotidienne, celle qui nous permet d'expliquer aux autres ou de déduire des faits nouveaux. Il suffisait de la programmer, ce qui n'était pas difficile. Seuls des chercheurs français l'ont fait (système expert Pandora)…puis l'ont oublié, ne se rendant pas compte de la portée de leur découverte. Ce fut le premier pourtant à montrer les aspects « mentaux » réclamés par Minsky : réelle capacité de raisonnement, aptitude à résoudre les problèmes, à décider, à apprendre et à dialoguer (« conversationnel ») s'appuyant sur le raisonnement, aptitude à expliquer ce qu'il « pense » et même aptitude à critiquer la connaissance par la détection des contradictions (le « raisonnement critique » de Minsky). Son représentant le plus illustre fut le générateur de systèmes experts "Intelligence Service", produit commercial dérivé de Pandora commercialisé par les Ssciétés GSI-TECSI et Arcane, qui l'ont vendu à des centaines d'exemplaires. Le système expert d'ordre 0+ est ainsi le 1er outil parfaitement opérationnel issu des techniques de l'IA. Par la même occasion, il est le premier à avoir démontré la faisabilité de ce que certains nomment l'IA « forte ».
Une méthode de production de systèmes experts : la "Maïeutique"
En 1986, la société française Arcane, fondée par Jean-Philippe de Lespinay, réalisait pour la Banque de Bretagne avec Intelligence Service le 1er système expert de conseil en placement financier opérationnel de l'histoire : Joséphine, qui eut un grand retentissement. A l'époque, un système expert important réclamait une équipe d'informaticiens pendant un an et coûtait au minimum 1 million de dollars. Joséphine avait été développée en si peu de temps grâce à une méthode de recueil de connaissance imaginée par Jean-Philippe de Lespinay : la "Maïeutique", baptisée ainsi en l'honneur de la méthode socratique du même nom. La Maïeutique ne peut fonctionner qu'avec la logique d'ordre zéro +, donc avec Intelligence Service à l'époque. Le développeur utilisant cette méthode et étant familier du zéro + est un maïeuticien. La Maïeutique consistait à décrire le savoir faire de l'expert à mettre dans le logiciel sous forme d'arborescences dessinées sur papier. Ensuite, le maïeuticien extrayait de ces arbres les règles à introduire dans Intelligence Service. Pour la première fois de l'histoire, entre l'expert métier - celui qui possède la connaissance à mettre dans le programme - et le programme opérationnel lui-même, pas d'informaticien. Un seul intermédiaire : le maïeuticien. Cet intermédiaire pouvait même disparaître au profit de l'expert au bout de quelques jours, la méthode étant intuitive.
En 1990 Arcane développa "Maïeutica", un générateur de systèmes experts exploitant la Maïeutique, grâce au concours de l'Anvar (futur OSEO). Maïeutica disposait de son propre moteur d'ordre O+, « Moca », et ne reposait plus sur Intelligence Service. L'innovation résidait dans le fait que le générateur ne permettait pas au développeur d'écrire lui-même les règles. Il avait pour seule représentation de l'expertise une bibliothèque d'arbres de décision rédigée dans le langage de l'expert. La génération des règles et leur maintenance se faisaient automatiquement, pour éviter l'erreur humaine. En 2000, Maïeutica élargit son champ d'action et devint générateur d'applications sous le nom de T.Rex (« Tree Rules Extractor »). Cet outil d'IA est capable de générer des systèmes experts sous forme de « dll » directement à partir de l'expertise métier. Il démontre, pour la 1ère fois, que des programmes classiques peuvent être développés sous la forme système expert, avec l'avantage considérable de la rapidité de développement et de maintenance puisqu'il n'y a plus de programmeur.
La Maïeutique, une technique IA de génie logiciel
Toute application est constituée de 3 parties :
- des données
- une ou plusieurs IHM (interfaces Homme-machine)
- une expertise-métier
Il existe sur le marché des outils très évolués pour gérer les données et créer des IHM, si intuitifs que certains d'entre eux sont à la portée des non informaticiens (Windev). Mais programmer une expertise a toujours demandé une compétence de développeur informaticien. L'association d'un outil comme T.Rex, qui programme automatiquement les expertises, avec les outils de gestion de données et de génération d'IHM les plus « conviviaux » donne l'équivalent d'un langage de programmation pour non informaticien.
Bibliographie
* Etat de l'art de l'Intelligence Artificielle en 1991 (article Science et Vie mai 1991) par Jean-Philippe de Lespinay
* "Développer un système expert" de Michel Le Seac'h, 1989, chez édiTests
* Les Ordinateurs et l'Intelligence, in , , La machine de Turing, 1995 []., pp. 133-175
Liens et démonstrations
# (fr) T.Rex, chez Tree Logic en version commerciale sur le Site Tree Logic
# Agent intelligent : cliquer dans la bulle de la page d'accueil du Site Tree Logic
# Démonstrations de systèmes experts couvrant plusieurs domaines d'applications
Articles, conférences et publications
* "Développer un système expert" de Michel Le Seac'h, 1989, chez édiTests
* Exposé "les 7 avantages des systèmes-experts" (JP de Lespinay) et exposé "le système expert Banque de Bretagne de conseil en placement financier" par Jean-Louis Préteseille de la Banque de Bretagne, aux "Journées Internationales de l'Intelligence Artificielle 1987", Palais des Congrès Porte Maillot à Paris, le 17 juin 1987
* "La Maïeutique : une méthode de réalisation de systèmes experts opérationnels" au CESTA (Centre d'Etudes des Systèmes et Technologies Avancées, rue Descartes à Paris), 19 novembre 1987
* Exposés "Intelligence Artificielle et systèmes experts : principes et avantages" et "La Maïeutique : une démarche IA tournée vers les PMI" au Colloque "Les systèmes experts et les IAA, Réalités et Perspectives" organisé par l'APRIA (association pour la,promotion industrie agriculture)
* "Un système expert de conseil en placement à la Banque de Bretagne" par Jean-Luc Préteseille à la 7ème Semaine Française de Marketing Direct au Palais des Congrès à Paris
* Exposé sur l'IA au colloque CIGREF-AIA des 14-15/12/1988
* Exposé au 3ème colloque européen Fiabex (11-13 décembre 1990)
* Les Echos du 11 juillet 1986, page 2 : "L'intelligence artificielle chez soi"
* 40 articles sur le système expert Joséphine (Banque de Bretagne) : Ouest France, Les Echos, Le Figaro, LePoint, Le Nouvel Economiste, La Croix, Le Grand Livre du Marketing, Banque et Informatique, Bancatique, Bretagne Economique, la revue du CXP, 01 Informatique, Technologies Bancaires, Ordinateurs, Le Monde Informatique, Ressources/Temps Réel, Défis, Science et Technologie, LLIA, FTS, L'Obs Economie, Courrier Cadres, Decision Informatique, Science et Vie Micro, Le Nouvel Observateur, Maintenance, Industries et Techniques, French Technology Survey, MOCI, Univers Cité, Newbiz (avril 2002), Centres-Appels.com, etc.
* En 1990, après expertise, le Crédit d'Impôt Recherche en logiciel est accordé à JP de Lespinay par le Ministère de l'Industrie et de la Recherche pour sa .
* En 1990, le Ministère de l'Industrie et de la Recherche accorde à JP de Lespinay, diplômé d'école supérieure de commerce, le titre de "technicien de recherche" en IA.
* En 1990, une aide est accordée par l'Anvar à JP de Lespinay pour le développement d'un prototype de Maïeutica
· En 2000, l'Anvar accorde le label FCPI ("Fonds Commun de Placement Innovation") à la de JP de Lespinay pour faciliter sa recherche d'investisseurs.
LE SYSTEME EXPERT
Technique informatique permettant le développement d'applications en langage courant, donc adaptée à tous.
Un système expert est une forme de logiciel capable de résoudre des problèmes de tous types en reproduisant le raisonnement d'un expert et en dialoguant avec ses utilisateurs. Il s'agit de l'une des percées essentielles de l'intelligence artificielle.
Le système expert, défini au début des années 1980, se compose de trois parties :
- une base de règles (appelée aussi base de connaissance)
- un moteur d'inférence
- une interface de dialogue avec l'utilisateur
La base de règles est une base de données. Elle contient la connaissance d'un ou de plusieurs experts nécessaire à la résolution d'un type de problème donné. Elle est rédigée sous forme de règles de ce format : [SI telle chose est vraie ALORS telle autre le devient automatiquement ] ou [SI telle chose a telle valeur ALORS telle autre prendra automatiquement telle autre valeur]. Exemples :
- SI c'est vivant ALORS c'est mortel
- SI son âge en années = CONNU ALORS sa date de naissance = date d'aujourd'hui - son âge en années.
Intérêt du système expert
Pour le développeur, l'intérêt du système expert est ainsi que la moitié du logiciel (c'est à dire la base de règles) est rédigée en langage courant, parfaitement lisible et compréhensible. Cela lui permet de le modifier facilement, avantage propre aux bases de données. Or, il faut savoir que modifier un programme classique est la tâche la plus difficile pour un informaticien et celle qui lui prend le plus de temps.
Contrairement à la base de règles, le moteur d'inférence est un programme figé, théoriquement écrit une fois pour toute, que le développeur n'a pas à modifier. Sa particularité, qui fait de lui un outil relevant de l'Intelligence Artificielle, c'est sa capacité à effectuer un raisonnement comme le nôtre. Son rôle consiste à enregistrer une question ou une information fournie par un utilisateur et à raisonner dessus en utilisant la base de règles. Prenons la base de règles suivante :
- 1ère règle : SI c'est vivant ALORS c'est mortel
- 2ème règle : SI c'est un homme ALORS c'est vivant
- 3ème règle : SI son nom = "Socrate" ALORS c'est un homme
Si l'utilisateur demande : " Est-ce que c'est mortel ? " le moteur saura qu'il a trois façons de trouver la solution et que, si l'utilisateur ne peut pas répondre à l'une il pourra toujours demander l'autre. Quand le système expert doit répondre ainsi à une question, on dit que son moteur fonctionne en chaînage arrière car, connaissant le but, il doit revenir en arrière pour trouver les chemins qui mènent à ce but.
A l'information donnée par l'utilisateur : son nom = "Socrate", le moteur déduira automatiquement, sans poser aucune question, que c'est un homme, que c'est vivant et que c'est mortel. Quand le système expert raisonne ainsi sur des données de départ sans qu'aucune question ne lui soit posée au départ, on dit que son moteur fonctionne en chaînage avant. En effet, ne connaissant pas le but, il déduit tout ce qu'il peut jusqu'au moment où il s'arrête, faute de pouvoir déduire davantage. A cet instant, si la base de règles le permet, il peut décider de poser des questions pour reprendre son raisonnement et fournir de nouvelles déductions. Si l'utilisateur combine les deux - en donnant des informations tout en posant une question - le moteur fonctionne en chaînage mixte. Pour être efficace, un système expert doit pouvoir fonctionner en chaînage mixte. En effet, dans le cadre d'un chaînage arrière (donc sur une question de départ), le chaînage avant permet d'exploiter au maximum les réponses de l'utilisateur et d'en déduire toutes les implications avant de décider quelle question lui poser. C'est ainsi qu'il peut éviter de poser des questions dont il vient de trouver tout seul la réponse et aller beaucoup plus vite vers la solution.
Avantages et inconvénients du système expert
L'avantage essentiel de cette forme de logiciel c'est qu'il est capable de digérer des connaissances considérables et de les exploiter exactement comme un expert le ferait, en menant un dialogue pertinent avec ses utilisateurs. Ce dialogue s'appelle du Conversationnel.Aucune autre forme de logiciel à ce jour n'est capable d'offrir un tel service. Les débouchés naturels des systèmes experts sont : l'aide à la décision
- l'aide au diagnostic
- les logiciels conversationnels
- les logiciels en permanente évolution
- la conservation des connaissances pointues (Knowledge Management)
- le génie logiciel (puisqu'ils permettent d'écrire des programmes fiables sous une forme lisible de tous).
Le défaut du système expert, c'est que la quasi-totalité des développeurs ne connaît ni la méthode permettant de transformer la connaissance d'un expert en une base de règles ni le moteur permettant d'exploiter cette base, bien que tous les deux existent depuis 1986 (la méthode "Maïeutique" associée au moteur "Intelligence Service"). Du coup, cette opération est réservée au cogniticien, c'est à dire un informaticien de haut niveau qui, faute de méthode appropriée, transforme la forme simple du départ (base de règles + moteur) en un assemblage complexe très difficile à faire évoluer et qu'il est le seul à comprendre. C'est ainsi que sont apparues les "méta-règles", règles de cogniticiens spécifiques au domaine traité par le système expert, dont le rôle consiste à indiquer à un moteur peu doué en raisonnement ce qu'il doit faire selon la situation. Ces réalisations peu satisfaisantes, coûteuses en temps et en argent, et le plus souvent sans lendemain, ont marqué la mémoire des entreprises de la planète, pourtant très demandeuses en exploitation de leurs expertises. C'est ainsi que les systèmes experts, censés rendre l'informatique plus humaine et qui avaient suscité beaucoup d'espoir, ont perdu leur haute côte du départ et sont progressivement devenus synonymes d'esbroufe et d'inefficacité, entraînant avec eux dans leur chute l'image de l'Intelligence Artificielle . Aujourd'hui, de multiples logiciels se disant systèmes experts sont opérationnels dans l'industrie et dans les services sans qu'on en parle.
Le système expert revient ces dernières années dans les usages informatiques, mais de façon déguisée : certaines applications très évolutives nécessitant d'être remises à jour fréquemment exploitent des "règles métier" ou "règles de gestion". Là encore, il s'agit de séparer la "logique" du programme - assez stable et que seul l'informaticien peut maîtriser - de la logique "métier" qui évolue constamment et que seul l'expert, rebaptisé "expert métier", maîtrise. La création et la mise à jour de ces règles, donc de l'ensemble de l'application, est réservée à l'expert métier et est censée être simple. Mais, ici aussi, cette technique piétine, toujours pour la même raison : ignorance de la méthode pour recueillir les règles et du moteur capable de les exploiter.
Système expert = automatisation de la logique
Pour raisonner, le moteur du système expert s'appuie sur la logique. Il y a plusieurs sortes de logiques : logique des propositions, des prédicats d'ordre 1 et plus, épistémique, modale, temporelle, floue, etc.. Le moteur le plus simple s'appuie sur la "logique des propositions d'ordre 0". Le premier fut "Intelligence Service" en 1985, développé par l'Université Paris VI. Cette logique a le mérite d'offrir un raisonnement immédiatement compréhensible de l'utilisateur. Un tel moteur gère une base de règles empilées dans un ordre indifférent et rédigées en clair. Il peut présenter ses déductions en langage courant au fur et à mesure qu'il les produit, expliquer clairement chacune d'entre elles, justifier ses questions, détecter les contradictions au sein des données ou au sein des règles, accepter les changements d'avis sans reprendre le dialogue à zéro. C'est de loin la forme la plus aboutie de système expert. Les autres logiques fonctionnent le plus souvent avec un raisonnement mêlé de calculs, sans oublier les méta-règles. Les moteurs qui les exploitent relèvent encore du domaine de la recherche. Ils ne peuvent expliquer leur raisonnement ni détecter les contradictions.
Histoire des systèmes experts
Le premier système expert fut DENDRAL en 1965. Il permettait d'identifier les constituants chimiques d'un matériau, mais ses règles étaient mélangées au moteur. Le plus connu, peut-être, fut MYCIN en 1972-73, système expert de diagnostic de maladies du sang, avec un vrai moteur et une vraie base de règles. Cependant ses règles étaient affectées de coefficients de vraisemblance qui donnaient à chacune d'entre elles un poids particulier face aux autres. Le moteur produisait un chaînage avant simple tout en calculant les probabilités de chaque déduction, ce qui le rendait incapable d'expliquer la logique de son fonctionnement et de détecter les contradictions. Quant aux experts, ils étaient obligés de trouver des coefficients de vraisemblance pour chacune des conclusions de leurs règles, une démarche compliquée et anti-naturelle qui déniait leur capacité de raisonnement.
Liens
- Article Science et Vie : "Du zéro pointé au Zéro Plus" de Jean-Philippe de Lespinay, Science et Vie mai 1991
- Démonstrations de systèmes experts sur le site Tree Logic
- Pandora – Intelligence Service
- T.Rex® générateur d'applications écrites sous forme systèmes experts d'ordre 0+ en version commerciale sur le site Tree Logic
- Prolog
A propos de l'auteur :
Je suis expert en Intelligence Artificielle. Je suis né en 1946, diplômé de l'Ecole Supérieure de Commerce de Marseille (1971), quatre enfants. Formation complémentaire d'Ingénieur Commercial en Informatique chez Bull en 1973. Ma spécialité depuis 1982 : L'INTELLIGENCE ARTFICIELLE, avec de nombreuses innovations dans ce domaine : la Maïeutique, Maïeutica, Miao, T.Rex, Tiara (plus de 200 articles dans la presse).
Bien que je sois un franc-tireur dans le domaine de l'Intelligence Artificielle avec mon diplôme de commercial, mes projets de recherche et sa R&D ont reçu (entre autres) le soutien de l'Anvar en 1990, la reconnaissance du Ministère de la Recherche français en 1991, qui m'a reconnu la qualité de "Technicien de Recherche" en IA, le soutien de l'Etat qui m'a octroyé le label FCPI en 2000, après deux expertises du cabinet Ernst & Young (label destiné à favoriser l'investissement dans l'innovation). J'ai mis au point une technologie informatique décrite ici : http://www.tree-logic.com/technologie.htm.
Tiara, mon dernier projet, est une interface vocale intelligente qui révolutionne complètement l'informatique : elle permet à l'ordinateur de se passer d'OS comme Windows, d'exploiter son ordinateur simplement en lui parlant, de se laisser guider et dépanner par lui dans toutes les opérations informaticiennes et, le plus extraordinaire, de programmer sans la moindre compétence informatique ! Tiara transforme l'ordinateur en robot de science fiction (voir Asimov), capable de comprendre et d'apprendre. Une vidéo montrant le prototype est visible sur le site youboss : http://www.youboss.tv/node/130.
| < Préc | Suivant > |
|---|




