IA et systèmes experts

IA et systèmes experts

Les systèmes experts (ou moteurs de règles) sont une technique de l’Intelligence Artificielle, qui permettent de reproduire les mécanismes cognitifs d’une personne dans un domaine bien particulier.

Ces logiciels permettent un gain de temps et/ou constituent une aide à la décision fondée sur un moteur d’inférence (i.e. partir de faits pour aller vers une conclusion) et sur des connaissances précises (celles que l’humain, expert, aura préalablement fait ingérer à la machine). Ils peuvent répondre à des questions en raisonnant à partir de faits et de règles connues. Aussi ont-ils souvent été employés dans l’industrie.

Historique

Dendral (en anglais ) a été le premier système expert créé en 1965 par un groupe d’experts en informatique, en médecine et en chimie. Il servait à identifier les constituants chimiques d’un matériau à partir de spectrométrie de masse et de résonance magnétique nucléaire. Il a été modifié ultérieurement pour donner naissance au moteur de système expert nommé Meta-Dendral.

Le plus connu était Mycin, un système expert de diagnostic de maladies du sang et de prescription de médicaments mis sur le marché en 1972. Il avait été conçu autour d’un vrai moteur et d’une vraie base de règles qui lui avaient permis d’obtenir de meilleurs scores que des experts humains.

Les années 1980 ont été la période de gloire des systèmes experts. On imaginait à cette époque qu’ils allaient connaître un développement massif, mais ils sont très lourds à développer, surtout quand on dépasse la centaine de règles. On ne sait plus exactement comment le système raisonne, sa mise au point et sa maintenance deviennent alors problématiques. On en parle peu, mais ce principe de « boîte noire » est un des soucis majeurs de l’intelligence artificielle, notamment en terme de machine learning : lorsque la machine adapte elle-même des pondérations sur un système neuronal multi-couches, l’homme ne sait plus en interpréter les réglages. Si le résultat est correct à la sortie, « who matters ? » comme dirait Yann Le Cun.

Le Système d’Aide à la Conduite des Hauts fourneaux En Marche (projet SACHEM), utilisé dans les années 1990, a été un des derniers développements lancés dans le monde. Le programme avait été conçu pour piloter des hauts-fourneaux en analysant les données fournies en temps réel par un millier de capteurs.

Yann Le Cun

Les familles de systèmes experts

On compte deux grandes familles :

Le Rule Based Reasoning (RBR)

Le Rule Based Reasoning (RBR) ou raisonnement à partir de règles

Un système expert fondé sur des règles contient dans sa base de données les connaissances codées sous forme de règles. Le système imite le raisonnement et le comportement d’un humain suivant les règles et les actions associées.

Pour expliquer simplement le principe, il faut tout juste penser à l’usage de formules dans Excel. Lorsque vous écrivez une formule dans un tableur, vous bâtissez en réalité des « règles ». Par exemple, si dans une colonne vous avez une suite de valeurs (12 500, 14 000, 8000, etc…) vous pouvez en inscrire de nouvelles, simplifiées dans une deuxième colonne avec la fonction « if ».

Ainsi, vous pourrez choisir de dire à Excel « si la valeur trouvée dans la première colonne est en-dessous de 10 000 alors inscris dans la deuxième colonne « 1 », sinon (sous-entendu si c’est supérieur à 10 001) mets « 0 » (=si(An<10 000 ; « 1 » ; « 0 »)).

Le système expert pourrait être un logiciel contrôlant la mise en route ou l’arrêt d’une machine tout simplement basé sur cette règle Excel : si la première colonne désigne la température à l’intérieur d’une cuve, en degrés Celsius, on peut lancer à la machine l’ordre « 0 » ou l’ordre « 1 » avec 0=arrêt de la machine et 1=maintien de la machine en marche.

On comprend bien que l’expert humain qui travaillait à l’arrêt ou non de la machine en surveillant autrefois son thermomètre à aiguille peut être secondé/remplacé par le logiciel ainsi mis en place. Ce logiciel est un système expert que l’on peut complexifier à l’envi (dans notre exemple : si la température est de tant ET si la machine est allumée depuis moins de TANT d’heures, alors…). On est dans ici dans un cas de logique formelle dite aristotélicienne (déduction).

Ce raisonnement fondé sur des règles utilise un moteur d’inférence mathématique capable de traiter des règles logiques et pas uniquement booléennes (logique des propositions i.e. vrai ou faux comme « il pleut » et ses conséquences « la route est mouillée ») : la logique floue (plus ou moins vrai), modale (qui « qualifie » le vrai, les modalités du vrai ; exemple « il fait beau »= vrai et différentes modalités sont « il est nécessaire qu’il fasse beau » ou « il est possible qu’il fasse beau »), temporelle (vrai à un moment et faux à un autre moment par exemple), du 1er ordre (basée sur des prédicats alliant un individu à une proposition comme « l’individu x est gentil » soit « gentil(x) »), non monotone (un « si » => « alors » peut être remis en cause quand arrive un fait nouveau, c’est la notion de « en général » ou de la logique « en l’absence de faits contraires » qu’on utilise lorsqu’on dit que « tous les oiseaux volent…sauf les autruches »).

RBR du façon la plus mathématique possible

Sans surprise, la logique est au cœur même du principe d’intelligence et lorsqu’elle est dite artificielle, elle est modélisée de façon la plus mathématique possible (via des règles).

Par exemple, si l’on dit que

  • homme(x) signifie « l’individu x est un homme »
  •  x signifie « pour tout individu x »
  • mortel(x) signifie « l’individu x est mortel »
    on pourra écrire homme(x) => mortel (x) pour signifier « quel que soit l’individu x tell que x est un homme, alors x est mortel »

Le moteur d’inférence se définit comme la partie du système expert qui effectue la sélection et l’application des règles pour résoudre un problème donné. Il permet au logiciel de raisonner et de tirer des conclusions.

Le Case Based Reasoning (CBR) ou raisonnement à partir de cas

Pour faire l’analogie avec le cerveau humain, il faut décrire comment fonctionne généralement celui-ci devant un problème de la vie courante qui lui est posé : il tente de retrouver un problème similaire rencontré dans le passé (et surtout sa solution) pour envisager de résoudre le nouveau problème (à peu près) de la même façon.

La stratégie de représentation des connaissances dans le CBR se base sur un ensemble de caractéristiques d’un événement ou d’un objet appelé cas. Chaque cas a une solution, une action ou une information à extraire et à (ré)utiliser.

Les problèmes passés résolus sont appelés les cas sources. Les nouveaux problèmes sont les cas dits cibles.

Le Case Based Reasoning (CBR)

Il s’agit donc d’une construction d’analogies entre des expériences précédentes et un problème actuel. Cette démarche tient compte d’un contexte beaucoup plus large que les règles heuristiques qui éliminent les alternatives au fur et à mesure pour ne garder qu’une solution optimale.

On rencontre deux limites phares dans le CBR : faire ingérer les connaissances passées (c’est-à-dire des expériences) mais aussi et surtout modaliser la faculté d’adaptation par la machine car il est excessivement rare que le problème soit (toute chose égale par ailleurs) exactement conforme à un cas source (passé).

Fonctionnement et utilité des systèmes experts

Un système expert modélise numériquement une expertise métier. Il est efficace pour effectuer des tâches précises pour lesquelles aucune procédure algorithmique préexistante simple n’est connue, dans un domaine de connaissances réduit et plutôt technique.

Le principe consiste à réaliser des opérations avec des données qui ne sont généralement pas uniquement «vraies» ou «fausses», mais parfois dîtes «floues» : il faut les inverser, établir un minimum ou un maximum, faire des choix de type ET/OU, etc…. Les systèmes experts ont été historiquement naturellement développé dans l’automatisation industrielle voire l’ordonnancement et la planification (optimisation des taux d’occupation horaire des outils industriels).

Mais ce système est complexe et tente donc de limiter l’explosion combinatoire par la restriction des programmes à des domaines bien délimités et recelant si possible peu d’ambiguïtés, c’est-à-dire des bases de données spécialisées avec des règles très précises et les plus mathématiques possibles.

La première difficulté est de récupérer la connaissance auprès des experts humains et la deuxième est de la traduire sous forme de règles où la machine devra contourner, entre autres, des problèmes de cohérence.

Par exemple,

Fonctionnement et utilité des systèmes experts

lorsque le problème est circulaire

  • Si décollage impossible ALORS absence de kérosène
  • Si absence de kérosène ALORS décollage impossible

Ou lorsque le problème crée de la redondance

  • Si décollage impossible ALORS absence de kérosène
  • Si décollage impossible ET batterie chargée ALORS absence de kérosène

Ou enfin, lorsque le problème crée de l’incompatibilité entre les règles

  • Si décollage impossible ALORS absence de kérosène
  • Si décollage impossible et indicateur de carburant dans le vert ALORS présence de kérosène

Cette mécanique basée sur un moteur d’inférences du type « Si tel fait est attesté, alors effectuer telle action» peut être illustrée par un exemple ludique dans des modules de questions-réponses où la machine doit « deviner » la personne ou l’objet que vous avez en tête en la guidant simplement par des « oui » ou « non ».

C’est un système qui implémente le jeu sous forme d’arbre de décision binaire et qui peut discriminer 2 exposant 20 objets (soit 1 million) en seulement 20 questions.

L’arbre de décision est un graphique en forme d’arbre avec des nœuds et des branches, qui participe au processus de prise de décision. On l’utilise souvent en complément du machine learning, car il permet de :

  • Calculer des résultats en fonction de la décision prise ou à prendre
  • Mais aussi de faire des prédictions en se basant sur des calculs de probabilités lorsque l’arbre compte trop de branches (ex : AlphaGo)

Amazon Echo jouant au jeu “le génie du web”

D’autres articles sur le même thème

Systèmes multi-agents et IA distribuée

Les domaines complexes et hétérogènes tels que l’aide à la décision dans des situations subtiles,

Résolution de problèmes

L’Intelligence Artificielle se caractérise par une approche nouvelle dans le traitement informatique des problèmes.

La chaîne TAL

Le traitement automatique des langues (TAL) ou du langage naturel ou de la langue naturelle (TALN) est un ensemble de techniques d’Intelligence Artificielle

Le Machine learning

« Il n’y a pas d’intelligence sans apprentissage », affirme Yann Le Cun, patron de l’Intelligence Artificielle (IA) chez Facebook.

Les réseaux neuronaux

De nos jours, on ne peut pas parler de machine learning sans parler de réseau de neurones artificiels,

Le web sémantique

Le web sémantique permet à la machine de comprendre le langage humain et de le contextualiser.