Intelligence artificielle - Systèmes experts

Les systèmes experts (ES) sont l'un des principaux domaines de recherche de l'IA. Il est introduit par les chercheurs de l'Université de Stanford, Département d'informatique.

Que sont les systèmes experts?

Les systèmes experts sont les applications informatiques développées pour résoudre des problèmes complexes dans un domaine particulier, au niveau d'une intelligence et d'une expertise humaines extraordinaires.

Caractéristiques des systèmes experts

  • Haute performance
  • Understandable
  • Reliable
  • Très réactif

Capacités des systèmes experts

Les systèmes experts sont capables de -

  • Advising
  • Instruire et assister l'humain dans la prise de décision
  • Demonstrating
  • Dériver une solution
  • Diagnosing
  • Explaining
  • Interpréter l'entrée
  • Prédire les résultats
  • Justifier la conclusion
  • Suggérer des alternatives à un problème

Ils sont incapables de -

  • Remplacer les décideurs humains
  • Posséder des capacités humaines
  • Produire des résultats précis pour une base de connaissances inadéquate
  • Affiner leurs propres connaissances

Composants de systèmes experts

Les composants d'ES comprennent -

  • Base de connaissances
  • Moteur d'inférence
  • Interface utilisateur

Voyons-les un par un brièvement -

Base de connaissances

Il contient des connaissances spécifiques au domaine et de haute qualité.

Des connaissances sont nécessaires pour faire preuve d'intelligence. Le succès de tout ES dépend principalement de la collecte de connaissances très précises et très précises.

Qu'est-ce que la connaissance?

Les données sont une collecte de faits. Les informations sont organisées sous forme de données et de faits sur le domaine de tâches.Data, information, et past experience combinés ensemble sont appelés connaissances.

Composants de la base de connaissances

La base de connaissances d'un SE est une réserve de connaissances à la fois factuelles et heuristiques.

  • Factual Knowledge - Ce sont les informations largement acceptées par les ingénieurs du savoir et les chercheurs dans le domaine des tâches.

  • Heuristic Knowledge - Il s'agit de pratique, de jugement précis, de capacité d'évaluation et de devinettes.

Représentation des connaissances

C'est la méthode utilisée pour organiser et formaliser les connaissances dans la base de connaissances. Il se présente sous la forme de règles IF-THEN-ELSE.

Acquisition de connaissances

Le succès de tout système expert dépend principalement de la qualité, de l'exhaustivité et de l'exactitude des informations stockées dans la base de connaissances.

La base de connaissances est formée par les lectures de divers experts, universitaires et Knowledge Engineers. L'ingénieur du savoir est une personne possédant les qualités d'empathie, d'apprentissage rapide et d'analyse de cas.

Il acquiert des informations d'un expert en la matière en les enregistrant, en l'interrogeant et en l'observant au travail, etc. Il catégorise et organise ensuite les informations de manière significative, sous la forme de règles IF-THEN-ELSE, à utiliser par la machine d'interférence. L'ingénieur du savoir surveille également le développement de l'ES.

Moteur d'inférence

L'utilisation de procédures et de règles efficaces par le moteur d'inférence est essentielle pour déduire une solution correcte et sans faille.

Dans le cas de l'ES basée sur les connaissances, le moteur d'inférence acquiert et manipule les connaissances de la base de connaissances pour arriver à une solution particulière.

Dans le cas d'un ES basé sur des règles, il -

  • Applique des règles à plusieurs reprises aux faits, qui sont obtenus à partir d'une application antérieure de règles.

  • Ajoute de nouvelles connaissances à la base de connaissances si nécessaire.

  • Résout les conflits de règles lorsque plusieurs règles sont applicables à un cas particulier.

Pour recommander une solution, le moteur d'inférence utilise les stratégies suivantes:

  • Chaînage avant
  • Chaînage arrière

Chaînage avant

C'est une stratégie d'un système expert pour répondre à la question, “What can happen next?”

Ici, le moteur d'inférence suit la chaîne des conditions et des dérivations et en déduit finalement le résultat. Il considère tous les faits et toutes les règles et les trie avant de conclure à une solution.

Cette stratégie est suivie pour travailler sur la conclusion, le résultat ou l'effet. Par exemple, prédiction du statut du marché des actions en tant qu'effet des variations des taux d'intérêt.

Chaînage arrière

Avec cette stratégie, un système expert trouve la réponse à la question, “Why this happened?”

Sur la base de ce qui s'est déjà produit, le moteur d'inférence tente de découvrir quelles conditions auraient pu se produire dans le passé pour ce résultat. Cette stratégie est suivie pour découvrir la cause ou la raison. Par exemple, le diagnostic du cancer du sang chez l'homme.

Interface utilisateur

L'interface utilisateur permet une interaction entre l'utilisateur de l'ES et l'ES lui-même. Il s'agit généralement de traitement du langage naturel afin d'être utilisé par l'utilisateur qui connaît bien le domaine des tâches. L'utilisateur de l'ES ne doit pas nécessairement être un expert en intelligence artificielle.

Il explique comment le SE est arrivé à une recommandation particulière. L'explication peut apparaître sous les formes suivantes -

  • Langage naturel affiché à l'écran.
  • Narrations verbales en langage naturel.
  • Liste des numéros de règle affichés à l'écran.

L'interface utilisateur permet de retracer facilement la crédibilité des déductions.

Exigences d'une interface utilisateur ES efficace

  • Il doit aider les utilisateurs à atteindre leurs objectifs le plus rapidement possible.

  • Il doit être conçu pour fonctionner selon les pratiques de travail existantes ou souhaitées de l'utilisateur.

  • Sa technologie doit être adaptable aux besoins des utilisateurs; Pas l'inverse.

  • Il devrait faire un usage efficace des entrées de l'utilisateur.

Limitations des systèmes experts

Aucune technologie ne peut offrir une solution simple et complète. Les grands systèmes sont coûteux, nécessitent un temps de développement important et des ressources informatiques. Les SE ont leurs limites qui incluent -

  • Limitations de la technologie
  • Acquisition de connaissances difficile
  • Les ES sont difficiles à entretenir
  • Coûts de développement élevés

Applications du système expert

Le tableau suivant montre où ES peut être appliqué.

Application La description
Domaine de conception Conception d'objectif de caméra, conception automobile.
Domaine médical Systèmes de diagnostic pour déduire la cause de la maladie à partir des données observées, des opérations médicales de conduction sur l'homme.
Systèmes de surveillance Comparaison continue des données avec le système observé ou avec un comportement prescrit tel que la surveillance des fuites dans un long pipeline de pétrole.
Systèmes de contrôle de processus Contrôle d'un processus physique basé sur la surveillance.
Domaine de connaissances Recherche de pannes dans les véhicules, les ordinateurs.
Finance / Commerce Détection d'éventuelles fraudes, transactions suspectes, négociation boursière, planification des compagnies aériennes, planification du fret.

Technologie de système expert

Il existe plusieurs niveaux de technologies ES disponibles. Les technologies de systèmes experts comprennent -

  • Expert System Development Environment- L'environnement de développement ES comprend du matériel et des outils. Ils sont -

    • Stations de travail, mini-ordinateurs, mainframes.

    • Langages de programmation symbolique de haut niveau tels que LISt Pprogrammation (LISP) et PROgrammation fr LOGique (PROLOG).

    • Grandes bases de données.

  • Tools - Ils réduisent dans une large mesure les efforts et les coûts liés au développement d'un système expert.

    • Editeurs puissants et outils de débogage avec multi-fenêtres.

    • Ils assurent le prototypage rapide

    • Avoir des définitions intégrées du modèle, de la représentation des connaissances et de la conception des inférences.

  • Shells- Un shell n'est rien d'autre qu'un système expert sans base de connaissances. Un shell fournit aux développeurs l'acquisition de connaissances, un moteur d'inférence, une interface utilisateur et une fonction d'explication. Par exemple, quelques coquilles sont données ci-dessous -

    • Java Expert System Shell (JESS) qui fournit une API Java entièrement développée pour créer un système expert.

    • Vidwan , un shell développé au National Center for Software Technology, Mumbai en 1993. Il permet l'encodage des connaissances sous la forme de règles IF-THEN.

Développement de systèmes experts: étapes générales

Le processus de développement des SE est itératif. Les étapes de développement du SE comprennent:

Identifier le domaine du problème

  • Le problème doit être adapté à un système expert pour le résoudre.
  • Trouvez les experts dans le domaine des tâches pour le projet ES.
  • Établir la rentabilité du système.

Concevoir le système

  • Identifier la technologie ES

  • Connaître et établir le degré d'intégration avec les autres systèmes et bases de données.

  • Réalisez comment les concepts peuvent représenter au mieux la connaissance du domaine.

Développer le prototype

À partir de la base de connaissances: l'ingénieur des connaissances travaille pour -

  • Acquérir la connaissance du domaine de l'expert.
  • Représentez-le sous la forme de règles If-THEN-ELSE.

Tester et affiner le prototype

  • L'ingénieur de la connaissance utilise des exemples de cas pour tester le prototype pour tout défaut de performance.

  • Les utilisateurs finaux testent les prototypes de l'ES.

Développer et compléter l'ES

  • Tester et garantir l'interaction du SE avec tous les éléments de son environnement, y compris les utilisateurs finaux, les bases de données et autres systèmes d'information.

  • Documentez bien le projet ES.

  • Former l'utilisateur à utiliser ES.

Entretenir le système

  • Maintenez la base de connaissances à jour grâce à une révision et une mise à jour régulières.

  • Préparez de nouvelles interfaces avec d'autres systèmes d'information, au fur et à mesure que ces systèmes évoluent.

Avantages des systèmes experts

  • Availability - Ils sont facilement disponibles grâce à la production de masse de logiciels.

  • Less Production Cost- Le coût de production est raisonnable. Cela les rend abordables.

  • Speed- Ils offrent une grande vitesse. Ils réduisent la quantité de travail qu'un individu effectue.

  • Less Error Rate - Le taux d'erreur est faible par rapport aux erreurs humaines.

  • Reducing Risk - Ils peuvent travailler dans un environnement dangereux pour l'homme.

  • Steady response - Ils fonctionnent régulièrement sans être motivés, tendus ou fatigués.