Chapitre 17 TRAITEMENTS DE CONNAISSANCES Introduction 1 Représentation des conn

Chapitre 17 TRAITEMENTS DE CONNAISSANCES Introduction 1 Représentation des connaissances 2 Différents formalismes de représentation de connaissances 2.1 Approche logique 2.1.1 Règle de production 2.1.2 Formalismes logiques 2.1.3 Prolog: langage de représentation de connaissances basé sur la logique du premier ordre 2.2 Approche sémantique 2.3 Représentations hybrides 2.3.1 Représentations centrées schémas RCS 2.3.2 Les langages orientés objets LOO 2.3.3 Comparaison entre les schémas RCS et les LOO 2.4 Conclusion sur la représentation des connaissances 3 Les modèles de raisonnement 3.1 Les différents raisonnements dans les systèmes basés sur la connaissance 3.2 Exemples 3.2.1 Le raisonnement dans les systèmes de production: chaînage avant et chaînage arrière 3.2.2 Le raisonnement dans les RCS: résolution de pb par classification 3.2.3 Le raisonnement dans les LOO: le contrôle par agenda 4 Couplage base de données et base de connaissances 1 C h a p i t r e 1 7 TRAITEMENTS DE CONNAISSANCES Introduction Les traitements de connaissances peuvent être décomposés en plusieurs catégories: - l'acquisition des connaissances propres aux domaines et aux problèmes à traiter. Ces connaissances sont essentiellement symboliques. Elles expriment souvent des relations entre des objets, mais aussi des calculs formels ou numériques sur ces objets. - la représentation des connaissances selon des modèles aussi généraux que possible, aussi indépendants des traitements que possible et suffisamment sémantiques pour que l'acquisition des connaissances soit aisée. - la mise en oeuvre des raisonnements sur ces connaissances qui se traduisent par des modèles de manipulation de connaissances plus ou moins généraux, liés aux modèles de représentation traduisant les principes de raisonnement par l'absurde, par récurrence, ou par analogie. - le contrôle des raisonnements et leur mise en oeuvre sur des problèmes spécifiques pour réduire l'espace de recherche de solution. - l'explication des raisonnements dans deux objectifs: - pour laisser une trace détaillée des raisonnements entrepris au développeur du système - pour donner une explication concise à l'utilisateur du système - la révision de connaissances doit déterminer dans quelle mesure on peut modifier des connaissances établies au préalable et envisager une révision automatique des connaissances (maintien de la cohérence) 1. Représentation des connaissances Le problème de la représentation des connaissances consiste à trouver une correspondance entre un monde extérieur et un système symbolique. Les connaissances que les ordinateurs manipulent habituellement sont d'ordre numérique. Les connaissances symboliques (i.e. qui utilisent des symboles) sont alors stockées dans des fichiers texte. Par exemple, la phrase " Robert est allé à Paris " peut être représentée comme une simple chaîne de caractères ou d'une manière plus structurée : 2 - chaîne de caractères A stocker dans des fichiers de texte. Un problème se présente lorsqu'on recherche des informations pour répondre à une question, comme par exemple : "Qui est allé à Paris ?". Il est difficile de répondre à cette question parce que la représentation retenue n'intègre pas des informations sur l'action "aller" ni aucune compréhension de la chaîne de caractères. - représentation incluant des éléments de signification de la phrase ACTION : aller AGENT : Robert SOURCE : ? DESTINATION : Paris TEMPS : passé MOYEN : ? On remarquera que cette représentation est beaucoup plus "appropriée" que la précédente pour répondre à des questions sur les faits enregistrés. De même qu'il n'y a pas de langage universel de programmation, il n'existe pas de formalisme "idéal" pour représenter les connaissances. On dénombre ainsi dans la littérature plusieurs formalismes de représentation des connaissances : - les "frames" : mis en évidence par les chercheurs en psychologie dans le cadre de la perception et la vision des objets; - les réseaux sémantiques : utilisés par les linguistes pour représenter la sémantique des phrases - ... Le principe de base de ce formalisme est la distinction explicite entre les connaissances déclaratives et les connaissances procédurales. Dans la programmation classique (programmation procédurale, de type Pascal), ces deux catégories de connaissances sont "mélangées" entre elles. Nous allons illustrer cette différence entre les deux catégories de connaissances à travers la modélisation du domaine médical. Les connaissances sur les maladies peuvent être représentées selon deux approches : (a) approche classique : on définit des procédures de type procédure maladieA début vérifier symptôme 1 ... vérifier symptôme m fin. où le principe de modélisation consiste donc à intégrer au sein de la même procédure, les connaissances sur la maladie (i.e la "maladieA" concerne les symptômes 1, etc.) et la manière de diagnostiquer les maladies (vérifier tel but avant tel autre, etc.) (b) nouvelle approche (approche déclarative) : Le principe de base consiste à séparer les connaissances sur la maladie A des connaissances sur la manière d'apporter un diagnostic : - première étape : définir les connaissances du domaine d'application (informations descriptives) C1 : Si symptôme 1 & .... & symptôme m Alors maladie A 3 ... Cn : ..... - seconde étape : définir les procédures d'exploitation de ces connaissances descriptives Pour "vérifier" un but X faire début "chercher l'ensemble" des Ci tel que symptômei1 & ...symptômeim -> X "choisir" un Cj approprié "vérifier" les nouveaux buts (symptômejk) de Cj fin Les avantages "immédiats" d'un tel style de programmation, basé sur les spécifications ("quoi") plutôt que sur la manière de trouver la solution ("comment"), sont : - les mises à jour des connaissances sans remise en cause de la structure globale du système : on peut ajouter des informations sur des maladies ou modifier celles qui existent sans pour autant modifier les procédures d'interprétation qui sont tout à fait générales (indépendantes du domaine) - la possibilité d'offrir des explications : la caractéristique fondamentale de ces "nouveaux systèmes" est la possibilité de proposer des explications de leurs raisonnements. Dans l'approche classique, l'explication d'un résultat d'exécution de procédures est quasi impossible (peut-être comme un enchaînement de commentaires associés aux procédures!). Dans cette nouvelle approche, les procédures d'interprétation utilisent les connaissances du domaine d'application pour produire une trace. Cette dernière est utilisée pour la production des explications en utilisant des techniques de filtrage. Pour représenter ces connaissances du domaine, il est nécessaire d'avoir des langages plus "évolués" que Fortran ou Pascal, qui ne permettent pas d'exprimer des concepts de niveaux relativement élevés (but, sous-buts). Résumé : Les langages procéduraux permettent l'écriture d'algorithmes qui sont - exclusivement composés d'instructions - définis par une séquence précise de celles-ci Dans de tels langages, il est impossible d'exprimer des concepts ou des connaissances symboliques, comme par exemple : " il neige aujourd'hui à Genève ", ou " quand il fait beau le lac Léman est bien agréable ". Ces connaissances ne correspondent à aucun ordre exécutable et sont indépendantes l'une de l'autre. La différence fondamentale entre ces deux types de programmation est que dans: - l'approche procédurale : une procédure exprime un flot d'informations, elle traduit syntaxiquement comment transite l'information; - l'approche déclarative, les fragments de connaissances (information) sont indépendants les uns des autres et combinés entre eux par un mécanisme général de déduction. 2. Différents formalismes de représentation des connaissances 4 La représentation des connaissances est actuellement un sujet de recherche pluridisciplinaire qui touche les domaines suivants: - les sciences cognitives - la psychologie - la linguistique - les mathématiques - l'informatique: bases de données, systèmes experts, graphes conceptuels, programmation logique, intelligence artificielle en général,... Trois principaux types d'approche pour la représentation de connaissances sont actuellement utilisés: - l'approche logique, dont le principe de base est d'utiliser la logique mathématique comme outil de la représentation des connaissances - l'approche sémantique, utilisée à l'origine par les linguistes pour représenter la sémantique des phrases - une approche hybride entre la sémantique et la logique, avec par exemple la notion de "frame" (schéma), mise en évidence par les chercheurs en psychologie 2.1. Approche Logique Le principe consiste à utiliser la logique mathématique comme outil pour la représentation des connaissances. Les chefs de file de cette approche sont les concepteurs et les utilisateurs de PROLOG. Les connaissances du domaine sont construites à partir des prédicats de base assemblés en clauses ou en règles. 2.1.1 Règle de production Elle est de la forme : Si P1 et P2 et ... et Pm alors C1 et C2 ... et Cn. Les prémisses (Pi) décrivent une certaine situation et les conclusions (Ci) sont un ensemble d'actions à entreprendre si les prémisses sont satisfaites. Les prémisses ou conditions sont normalisées sous forme de quadruplets : <prédicat> <objet> <attribut> <valeur>. Ce formalisme sous forme de règles de production n'est que la représentation externe de la connaissance. La plupart des système <<compilent>> l'ensemble des règles pour obtenir une représentation interne efficace. La représentation interne a pour effet de structurer la connaissance en groupant en listes (au sens de LISP) les règles et les premisses. • Exemple de règles de production : règle1 : fleur et graine => phanérogame règle 2 : phanérogame et graine nue => sapin .... Ces règles sont mises sous forme déclarative afin que les procédures d'interprétation puissent les utiliser. • Avantages : simplicité, uniformité et modularité 5 Exemple : on peut rajouter une nouvelle règle (règle 3) sans mettre en cause toute la structure globale du système. règle uploads/Philosophie/ chapitre-17-traitements-de-connaissances 1 .pdf

  • 32
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager