Chapitre 20 Ingénierie des connaissances L’Ingénierie des connaissances consist

Chapitre 20 Ingénierie des connaissances L’Ingénierie des connaissances consiste à articuler des travaux sur la nature et la représen- tation des connaissances dans des logiciels et chez les utilisateurs, sur l’analyse des usages, des sources de connaissances et des interactions homme-machine. Mais l’Ingénierie des connais- sances consiste aussi à adapter des approches de génie logiciel, dans le but de mettre des connaissances à disposition des utilisateurs et au sein d’applications informatiques. Les inno- vations du domaine comprennent donc des méthodes, des logiciels et interfaces d’aide à la modélisation, ainsi que des représentations conceptuelles ou formelles. Nous dressons ici un panorama des questions et des avancées majeures de l’ingénierie des connaissances, dont les résultats récents sont marqués par l’essor du web sémantique, des ontologies et du web social. 20.1 Introduction L’acquisition des connaissances est apparue comme une discipline avec un objet de re- cherche, les systèmes à bases de connaissances, au milieu des années 80. À la suite des dé- veloppements des systèmes experts durant la décennie, la question de la modélisation et de l’acquisition des connaissances pour ces systèmes est devenue cruciale et problématique : la question du « goulet d’étranglement » 1de l’acquisition des connaissances justifia de nombreux travaux de thèses, que ce soit avec des problématiques très cognitives (Aussenac, 1989) ou plus orientés vers la définition de représentations (Cordier et Reynaud, 1991; Charlet, 1992). A la fin des années 90, la perspective s’est élargie et a donné naissance à l’Ingénierie des Connais- sances (IC). L’Ingénierie des connaissances se définie comme la partie de l’Intelligence Ar- tificielle (IA) qui étudie et propose des concepts, méthodes, techniques et outils permettant d’acquérir, de modéliser et de formaliser des connaissances dans les organisations dans un but d’opérationnalisation, de structuration ou de gestion au sens large. L’Ingénierie des connaissances trouve ainsi ses champs d’application dans les domaines où l’objectif est de modéliser les connaissances et les mettre à disposition comme support à Auteurs : N. AUSSENAC-GILLES (IRIT - CNRS, Université de Toulouse), J. CHARLET (AP-HP, Paris & INSERM UMRS 872, Université Pierre et Marie Curie, Paris) et CH. REYNAUD-DELAÎTRE (LRI - Université Paris-Sud). 1. Ce goulet correspondait au fait que le système expert devait permettre de « capturer » l’expertise d’un expert et la représenter au sein du système expert de façon à ce que le système se comporte comme l’expert sollicité dans la même situation. Les difficultés à capturer précisément cette expertise ont amené à parler de goulet d’étranglement. une activité ou à un raisonnement. Les applications concernées sont celles liées à la gestion des connaissances, à la recherche d’information (sémantique), à l’aide à la navigation, à l’aide à la décision. . Enfin, l’Ingénierie des connaissances entretient des relations étroites avec le Web sémantique qui fait l’objet d’un chapitre spécifique dans le tome 3 de ce livre ??. Le web sémantique a un statut tout à fait particulier en raison de forts recouvrements avec l’Ingénierie des connaissances via le partage de nombreux outils et méthodes (ontologies, langages de représentation des connaissances, raisonnements, etc.). Dans la suite de ce chapitre, nous allons, en section 20.2, présenter, selon un axe historique, les modélisations utilisées en Ingénierie des connaissances, puis, en section 20.3, développer les principaux problèmes de recherche qui se posent dans le domaine. La section 20.4 permettra de synthétiser les enjeux méthodologiques du domaine avant de conclure en section 20.5. 20.2 Modélisations utilisées 20.2.1 La notion de modèle conceptuel Autour des années 1990, il a été proposé de construire un système à base de connaissances (SBC) en commençant par la description des connaissances du système indépendamment de leur implémentation. Cette représentation, abstraite et finalisée, devait tenir compte des mul- tiples facettes et types de connaissances utiles pour que le système réponde aux besoins iden- tifiés. Le support pour rendre compte de cette représentation a été appelé modèle conceptuel. Il s’agit de construire un modèle adapté à la nature des connaissances à décrire pour pouvoir ensuite le représenter dans des formalismes adéquats pour le SBC. Depuis, cette notion est de- venue centrale en ingénierie des connaissances, et elle a largement évolué pour recouvrir des réalités différentes suivant les besoins auxquels elle devait répondre, s’adaptant aux nouvelles approches et aux recherches dans le domaine. La façon dont sont décrites les connaissances conditionne la construction du SBC et surtout le fait que l’on puisse comprendre et s’approprier son fonctionnement. L’acquisition et l’ingé- nierie des connaissances ont repris à leur compte les travaux de Newell (1982) qui, le premier, a différencié les connaissances à représenter dans un système et l’implémentation de ce sys- tème. Newell a fait apparaître la nécessité d’un niveau de description des systèmes qui ne soit pas celui des symboles et langages informatiques, le niveau des connaissances. A ce niveau, le comportement du système observé est décrit indépendamment de son implémentation formelle. Ce système est de plus considéré comme un agent rationnel qui dispose de connaissances, doit atteindre des buts, sait effectuer des actions, et est rationnel, c’est-à-dire qu’il choisit (avec ses connaissances) l’enchaînement des actions qui va le mener le plus directement au but. Cette même proposition de Newell a également justifié l’organisation des modèles conceptuels en plusieurs parties. Il distingue les connaissances du domaine des connaissances de raisonne- ment à savoir des actions et des buts, modélisés via des méthodes et des tâches. 20.2.2 Les modèles de raisonnement Les modèles de raisonnement décrivent de façon abstraite le processus de résolution à mettre en œuvre dans un SBC en termes de tâches et de méthodes, les tâches étant réalisées par des méthodes. Une tâche est une description de ce qui doit être fait dans l’application en termes de buts et de sous-buts. Elle se définit par des connaissances de sortie obtenues à partir des connaissances d’entrée, et ce en fonction de contraintes et ressources disponibles. Pour décrire une résolution de problèmes, on peut mettre en évidence des tâches de différents ni- veaux, les tâches de plus bas niveau poursuivant des sous-buts pour les tâches plus générales. Les méthodes décrivent comment un but peut être atteint à l’aide d’une série d’opérations réa- lisées dans un certain ordre. Deux types de méthodes sont généralement distingués : celles qui consistent à décomposer une tâche en sous-tâches et celles qui mettent en œuvre une procédure élémentaire qui atteint directement un but. Progressivement, les concepts de tâches et de mé- thodes ont été explicitement distingués, suite à une proposition de L. Steels dans son approche « componentielle » (Steels, 1990). Cette distinction a été adoptée pour rendre compte de rai- sonnements (Klinker et al., 1991; Puerta et al., 1992; Schreiber et al., 1994; Tu et al., 1995) car elle présente l’avantage de décrire séparément le but visé de la façon de l’atteindre. Elle rend ainsi possible la définition explicite de diverses façons d’atteindre un même but en asso- ciant plusieurs méthodes à une même tâche. Ce type de modèle est à rapprocher de résultats établis en planification (Camilleri et al., 2008), les planificateurs pouvant servir à rendre opé- rationnelle les tâches et méthodes ainsi définies, comme cela est proposé dans CommonKADS (Schreiber et al., 1999). 20.2.3 Des modèles conceptuels aux ontologies À la suite des travaux sur les raisonnements, il a semblé intéressant de construire le mo- dèle conceptuel d’une application en combinant réutilisation de composants de modèles de raisonnement et abstraction de connaissances du domaine. Une analyse des connaissances du domaine devient alors nécessaire pour mettre en correspondance les connaissances du domaine et leurs rôles dans le raisonnement (Reynaud et al., 1997). Les connaissances du domaine sont ainsi décrites en un noyau, l’ontologie du domaine, regroupant les classes d’entités du do- maine, les concepts, et les relations entre ces entités, en leur associant éventuellement un cer- tain nombre de propriétés, de contraintes ou de règles. A ce noyau, se rajoute une couche spé- cialisée, le modèle du domaine, décrivant des connaissances du domaine plus spécifiques, sous forme d’instances des entités de l’ontologie. Ainsi, l’ontologie définit le vocabulaire logique qui permet d’exprimer des faits et des connaissances du domaine sur lesquelles raisonner. Cer- tains concepts, dits primitifs, sont définis par leur place dans la hiérarchie des classes et leurs propriétés, sous forme de conditions nécessaires. D’autres, dits concepts définis, s’expriment sous forme de conditions nécessaires et suffisantes, à partir des concepts primitifs et de leurs relations. Le concept d’ontologie a été introduit en IA par le projet ARPA Knowledge Sharing Ef- fort (Neches et al., 1991) et c’est Gruber (1993) qui en a proposé une première définition en ingénierie des connaissances. Une définition actuelle, proposée dans (Studer et al., 1998), fait consensus dans le domaine : An ontology is a formal, explicit specification of a shared conceptualisation. Conceptualisation refers to an abstract model of some phenomenon in the world by having identified the relevant concepts of that phenomenon. Explicit means that the type of concepts used, and the constraints on their use are explicitly defined. Formal refers to the fact that the ontology should be machine-readable. FIGURE 1: Concepts de haut niveau d’une ontologie utilisée dans le domaine uploads/Philosophie/ aussenaccharletreynauddelaitre-book-cepadues-chap-ic-2014.pdf

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