Langage de représentation des connaissances
Un langage de représentation des connaissances (LRC) est un langage formel, doté d’une syntaxe et d’une sémantique définies avec précision, utilisé pour encoder explicitement des connaissances sur un domaine particulier afin qu’elles puissent être interprétées et traitées par un système informatique, notamment pour effectuer des tâches de raisonnement automatique.
Les concepts fondamentaux sous-jacents aux langages de représentation des connaissances reposent sur l’idée qu’un système intelligent doit posséder un modèle interne du monde ou d’un domaine spécifique. Ce modèle est construit à l’aide du LRC. La syntaxe du langage définit les règles de construction des expressions ou énoncés valides (par exemple, comment former des faits ou des règles). La sémantique attribue une signification à ces énoncés, généralement en les reliant à des objets, des relations ou des états de fait dans le domaine modélisé. Un aspect crucial est le mécanisme d’inférence associé au langage, qui spécifie comment de nouvelles connaissances (conclusions) peuvent être dérivées logiquement à partir des connaissances explicitement représentées (prémisses). L’expressivité du langage détermine l’étendue et la complexité des connaissances qu’il peut capturer, allant de simples faits à des règles complexes, des relations temporelles, des informations incertaines ou incomplètes. Enfin, la tractabilité computationnelle concerne l’efficacité avec laquelle les inférences peuvent être effectuées ; il existe souvent un compromis fondamental entre l’expressivité d’un LRC et la complexité algorithmique des tâches de raisonnement associées.
L’importance des langages de représentation des connaissances est centrale en intelligence artificielle (IA) et dans les sciences cognitives. Ils fournissent les outils nécessaires pour passer des données brutes à une information structurée et interprétable par une machine, permettant ainsi aux systèmes de raisonner, de planifier, de résoudre des problèmes et de prendre des décisions de manière autonome et informée. En rendant la connaissance explicite et formelle, les LRC facilitent le partage et la réutilisation des connaissances entre différents systèmes, applications ou agents intelligents, favorisant l’interopérabilité. Ils sont à la base de nombreuses avancées en IA, notamment dans le développement de systèmes experts capables d’égaler, voire de surpasser, les performances humaines dans des domaines spécifiques. L’impact des LRC s’étend au-delà de l’IA, influençant des domaines comme l’ingénierie logicielle (modélisation de domaine), la bio-informatique (ontologies génétiques), la gestion de l’information et le web sémantique, où ils permettent une organisation et une recherche d’information plus intelligentes.
Les applications pratiques des langages de représentation des connaissances sont nombreuses et variées. Historiquement, ils ont été la pierre angulaire des systèmes experts, tels que MYCIN pour le diagnostic des infections sanguines ou XCON pour la configuration de systèmes informatiques VAX. Aujourd’hui, ils sont essentiels au fonctionnement du web sémantique, avec des langages comme RDF (Resource Description Framework) et OWL (Web Ontology Language) utilisés pour décrire les ressources web, leurs propriétés et leurs relations, permettant ainsi des recherches plus précises et l’intégration de données hétérogènes. Les grandes bases de connaissances publiques, comme Wikidata ou Cyc, utilisent des LRC pour stocker et organiser une vaste quantité de savoir factuel sur le monde. En traitement du langage naturel, les LRC aident à représenter la signification extraite de textes pour des tâches comme la réponse à des questions ou la traduction automatique sémantiquement fidèle. En robotique, ils permettent aux robots de modéliser leur environnement, de comprendre les objets et leurs fonctions, et de planifier leurs actions.
Il existe différentes familles de langages de représentation des connaissances, chacune avec ses propres caractéristiques, forces et faiblesses, reflétant différentes perspectives sur la manière de modéliser la connaissance. Les approches logiques, incluant la logique propositionnelle, la logique du premier ordre et les logiques descriptives (une famille de logiques très utilisée pour les ontologies), mettent l’accent sur la rigueur formelle et les capacités déductives. Les réseaux sémantiques et les frames (cadres) offrent des structures plus intuitives pour représenter des objets, leurs attributs et leurs relations hiérarchiques (héritage). Les systèmes basés sur des règles, souvent sous la forme « SI condition ALORS action/conclusion », sont efficaces pour capturer des connaissances procédurales ou heuristiques. Des approches orientées objet ont également été adaptées pour la représentation des connaissances. Souvent, les systèmes réels utilisent des approches hybrides, combinant plusieurs formalismes pour tirer parti de leurs avantages respectifs. Le choix d’un LRC dépend fortement de l’application visée, notamment du type de connaissance à représenter et des exigences en matière de raisonnement et de performance.
Pour une compréhension holistique, il est utile de situer les LRC par rapport à d’autres concepts. Ils sont un élément clé de la discipline plus large de la Représentation des Connaissances (RC), qui étudie comment représenter l’information pour faciliter l’inférence. L’Ingénierie des Connaissances est le processus de construction, de maintenance et d’utilisation de bases de connaissances à l’aide de LRC. Une Ontologie est une spécification formelle et explicite d’une conceptualisation partagée, souvent exprimée à l’aide d’un LRC (comme OWL), définissant les concepts et relations pertinents pour un domaine. Une Base de Connaissances est un dépôt de connaissances encodées dans un LRC spécifique, exploitée par un Moteur d’Inférence pour effectuer du Raisonnement Automatique. La Logique Formelle fournit les fondements théoriques de nombreux LRC. Le Web Sémantique est une application majeure des LRC à l’échelle du World Wide Web. Les LRC sont au cœur de l’IA Symbolique. On peut opposer les connaissances explicitement représentées dans un LRC aux données brutes non interprétées, à la connaissance tacite (difficilement formalisable) ou aux connaissances implicites encodées dans les paramètres des modèles d’apprentissage automatique (comme les réseaux neuronaux).
L’histoire des langages de représentation des connaissances est intrinsèquement liée à celle de l’intelligence artificielle. Les premières recherches, dans les années 1950 et 1960, exploraient des approches générales basées sur la logique formelle. Les années 1970 et 1980 ont vu l’émergence de formalismes plus spécialisés et structurés comme les réseaux sémantiques (Quillian), les frames (Minsky) et les règles de production (utilisées dans les premiers systèmes experts). Cette période a également mis en lumière le défi fondamental du compromis entre l’expressivité du langage et la complexité computationnelle du raisonnement, formalisé notamment par les travaux de Brachman et Levesque. Cela a conduit au développement de langages comme les logiques descriptives, qui visent un équilibre pragmatique. La fin des années 1990 et le début des années 2000 ont été marqués par l’essor du web sémantique et la standardisation de langages comme RDF et OWL par le W3C. Plus récemment, la recherche s’oriente vers l’intégration des approches symboliques (basées sur les LRC) et connexionnistes (apprentissage profond), ainsi que vers la représentation de formes de connaissances plus complexes comme le sens commun, la causalité, l’incertitude et le raisonnement temporel et spatial.
L’utilisation des langages de représentation des connaissances présente des avantages significatifs. Ils rendent la connaissance explicite, déclarative et compréhensible (au moins par les experts du domaine et les informaticiens), ce qui facilite la vérification, la maintenance et l’explication des raisonnements du système. Ils permettent l’application de mécanismes de raisonnement formel et logique pour dériver de nouvelles informations de manière fiable. Ils favorisent également le partage et la réutilisation des connaissances entre différentes applications. Cependant, ils comportent aussi des inconvénients et des défis majeurs. L’acquisition et la formalisation des connaissances humaines (souvent tacites ou ambiguës) dans un LRC constituent un processus difficile, coûteux et sujet aux erreurs, connu sous le nom de « goulot d’étranglement de l’acquisition des connaissances ». Les LRC peuvent manquer de flexibilité pour représenter des connaissances vagues, incertaines, contextuelles ou évolutives. De plus, pour les langages très expressifs, les algorithmes de raisonnement peuvent devenir computationnellement très coûteux (problèmes de passage à l’échelle ou scalabilité). La représentation du vaste corpus de connaissances de sens commun reste un défi majeur et non résolu pour l’IA. Enfin, maintenir la cohérence et l’actualité d’une grande base de connaissances au fil du temps est une tâche complexe.