Logique de description
Les logiques de description aussi appelées logiques descriptives (LD) sont une famille de langages de représentation de connaissance qui peuvent être utilisés pour représenter la connaissance terminologique d'un domaine d'application d'une manière formelle et structurée. Le nom de logique de description se rapporte, d'une part à la description de concepts utilisée pour décrire un domaine et d'autre part à la sémantique basée sur la logique qui peut être donnée par une transcription en logique des prédicats du premier ordre. La logique de description a été développée comme une extension des langages à cadres, une famille de langage de programmation pour l'intelligence artificielle, et des réseaux sémantiques, qui ne possédaient pas de sémantique formelle basée sur la logique.
Origine et applications
modifierLes logiques de description ont été conçues à partir des réseaux sémantiques de Quillian (ref) qui sont des graphes orientés étiquetés dans lesquels on associe des concepts aux nœuds et des relations aux arcs, et de la sémantique des cadres de Minsky (ref) où l'on a des concepts représentés par des cadres qui sont caractérisés par un certain nombre d'attributs (appelés aussi slots) qui contiennent de l'information sur leur contenu.
Les logiques de description forment une famille de langages de représentation de connaissances qui peuvent être utilisés pour représenter la connaissance terminologique d'un domaine d'application d'une façon structurée et formelle. Le nom « logique de description » peut être interprété de deux manières. D'une part, ces langages ont été élaborés pour écrire la « description » des concepts pertinents d'un domaine d'application. D'autre part, une caractéristique cruciale de ces langages est qu'ils ont une sémantique formelle définie en logique du premier ordre (à la différence des propositions précédentes comme les cadres de Minsky). Dans ce sens, nous pouvons dire que les LDs ont une sémantique « descriptive » formelle.
Les logiques de description sont utilisées pour de nombreuses applications (voir International Workshop on Description Logics et Workshop on Applications of Description Logics). Sans être exhaustifs, nous pouvons dire que ces applications font partie des domaines suivants :
- le web sémantique (par exemple représentation d'ontologies, et recherche d'information basée sur la logique)
- médecine/bio-informatique (par exemple pour représenter et gérer des ontologies biomédicales)
- traitement automatique des langues et représentation de la connaissance
- Ingénierie de processus (par exemple pour représenter des descriptions de service)
- Ingénierie de la connaissance (par exemple pour représenter des ontologies)
- Ingénierie logicielle (par exemple pour représenter la sémantique des diagrammes de classe UML)
Principe
modifierLa plupart des logiques de description divisent la connaissance en deux parties :
- les informations terminologiques: définition des notions basiques ou dérivées et de la façon dont elles sont reliées entre elles. Ces informations sont « génériques » ou « globales », vraies dans tous les modèles et pour tous les individus.
- les informations sur les individus: ces informations sont « spécifiques » ou « locales », vraies pour certains individus particuliers.
Toutes les informations connues sont alors modélisées comme un couple , où est un ensemble de formules relatives aux informations terminologiques (la T-Box) et où est un ensemble de formules relatives aux informations sur les assertions (la A-Box).
Une autre manière de voir la séparation entre ces informations est d'associer la T-Box aux règles qui régissent notre monde (par exemple la physique, la chimie, la biologie, etc.), et d'associer les individus de notre monde à la A-Box (par exemple Jean, Marie, un chat, etc.).
Sémantique
modifierLes logiques de description utilisent les notions de concept, de rôle et d'individu. Un concept correspond à une « classe d'éléments » et est interprété comme un ensemble dans un univers donné. Les rôles correspondent aux « liens entre les éléments » et sont interprétés comme des relations binaires sur un univers donné. Les individus correspondent aux éléments d'un univers donné. La sémantique des logiques de description est définie comme suit :
Définition 1 :
- Soit un ensemble fini de concepts atomiques, un ensemble fini de rôles atomiques et un ensemble fini d'individus. Si , , sont disjoints deux à deux, est une signature. Une fois qu'une signature est fixée, une interprétation pour est un couple , où :
- est un ensemble non vide, le domaine de l'interprétation.
- est une fonction affectant :
- un élément à chaque individu ;
- un sous-ensemble à chaque concept atomique ;
- et une relation à chaque rôle atomique .
En d'autres termes, une interprétation de la logique de description n'est rien de plus qu'un modèle pour un type particulier de signature du premier ordre, où seuls les prédicats unaires et binaires sont autorisés, et où l'ensemble des symboles de fonction est vide.
Base de connaissances
modifierTypiquement, la base de connaissances standard utilisée par les logiques de description est définie de la manière suivante :
Définition 2 :
- Étant donné un langage de description et une signature , une base de connaissances dans est une paire telle que :
- est la T(erminologique)-Box, un ensemble fini, qui peut être vide, d'expressions appelées GCI (General Concept Inclusion) de la forme où et sont des concepts sans restriction. est une notation pour et . Les formules de sont appelées axiomes terminologiques.
- est la A(ssertion)-Box, un ensemble fini, qui peut être vide, d'expressions de la forme ou , où est un concept sans restriction, est un rôle qui n'est pas nécessairement atomique, et , appartiennent à . Les formules de sont appelées des assertions.
Les axiomes terminologiques ont été pensés à l'origine comme des définitions, et nombre de conditions plus restrictives leur ont été imposées. Les deux restrictions les plus importantes sont les suivantes :
- simplicité des axiomes terminologiques : dans tous les axiomes terminologiques , est un concept atomique dans , et chaque concept atomique dans apparaît au plus une fois dans la partie gauche d'un axiome terminologique de la T-Box.
- acyclicité des définitions : le graphe obtenu en affectant un nœud à chaque concept atomique de la T-Box, et en créant un arc orienté entre deux nœuds et s'il existe un axiome terminologique dans tel que apparaisse dans et dans , ne doit pas contenir de cycle.
Ces restrictions sont liées à l'idée de considérer les axiomes terminologiques comme des définitions de concepts.
Différentes logiques de description
modifierLes logiques de descriptions ont une base commune enrichie de différentes extensions (voir tableau ci-dessous). On peut dès lors avoir des concepts complexes composés de concepts atomiques, et de même pour les rôles.
Lettre | Constructeur | Syntaxe | Sémantique |
---|---|---|---|
nom de concept | |||
nom de rôle | |||
top | |||
conjonction | |||
quantificateur universel | |||
négation de concepts non nécessairement primitifs | |||
disjonction | |||
quantificateur existentiel typé | |||
restriction de cardinalité | |
| |
restriction de cardinalité qualifiée | |
| |
un-de | |||
role filler | |||
conjonction de rôles | |||
rôles inverses | |||
hiérarchie des rôles | |||
transitivité des rôles | Plus petite relation transitive contenant |
L'une des premières logiques de description est le langage [Brachman and Levesque, 1984], qui est défini comme une logique de description permettant l'utilisation des quantificateurs universels, de la conjonction, et des quantificateurs existentiels de la forme . Le langage a été proposé comme un formalisme pour la sémantique des cadres de Minsky. La conjonction de concepts est implicite dans la structure d'un cadre, qui requiert un ensemble de conditions pour être satisfait. La quantification des rôles permet de caractériser les slots.
La logique [Schmidt-Schauss and Smolka, 1991] a étendu la logique en y ajoutant la négation des concepts atomiques. Cette logique peut être considérée comme la logique de base des autres logiques de description.
Les logiques de description qui existent sont des combinaisons des différents éléments du tableau ci-dessus. Par exemple, si l'on rajoute la négation complète à la logique , on obtient la logique .
Certaines logiques sont équivalentes, notamment et . Ces deux logiques augmentées par sont notées . Les langages utilisés par OWL en sont une extension, respectivement pour OWL-Lite et pour OWL-DL.
Inférences
modifierEn LD, la notion d'inférence est décrite comme ci-dessous:
Définition 3 :
- Soit une interprétation et un axiome terminologique ou une assertion. Alors modélise (notation ) si :
- et , ou
- et , ou
- et .
Soit une base de connaissance et une interprétation, alors est un modèle de (notation, ) si pour tous . Nous disons dans ce cas que est un modèle de la base de connaissance . Étant donné une base de connaissance et un axiome terminologique ou une assertion , si pour tout modèle de nous avons .
Tâches de raisonnement
modifierEn LD, l'expression raisonnement sur la T-Box fait référence à la capacité de réaliser des inférences depuis une base de connaissance où est non-vide, et d'une manière similaire, raisonnement sur la A-Box est l'implication pour une A-Box non vide.
Définition 4 :
- Soit une base de connaissances, et , nous définissons les tâches de déduction suivantes :
- Subsomption,
Vérifie si pour toutes les interprétations tel que , nous avons . - Vérification d'instance,
Vérifie si pour toutes les interprétations tel que , nous avons . - Vérification de relations
Vérifie si pour toutes les interprétations tel que , nous avons . - Cohérence de concept,
Vérifie si pour toutes les interprétations tel que , nous avons . - Cohérence de la base de connaissances,
Vérifie s'il existe tel que, .
- Subsomption,
Les tâches de déduction de base peuvent être utilisées pour définir des tâches plus complexes. En particulier:
- Recherche : étant donné un concept, trouver les individus mentionnés dans la base de connaissance qui sont des instances de ce concept.
- Réalisation : étant donné un individu mentionné dans la base de connaissance, trouver le concept le plus spécifique, en accord avec les relations de subsomption, duquel l'individu est une instance.
La saturation de la A-Box sert à compléter les informations de la A-Box en accord avec les connaissances de la T-Box, on obtient donc: Définition 5 :
- Étant donné une base de connaissance , nous disons que est saturé si pour chaque individu , concept atomique et rôle :
- l'assertion si et seulement si
- l'assertion si et seulement si
Exemple
- Soit une base de connaissance où:
La formule de dit que les chevaux de sexe masculin sont des étalons, et la formule de dit que le cheval shadowfax est un étalon. La sémantique formelle que nous donnons dans la définition 3 nous permet de vérifier que a au moins un modèle (i.e., il est cohérent). Et à partir de nous pouvons déduire plusieurs informations, par exemple que le concept est cohérent avec (il existe une certaine interprétation satisfaisant qui assigne une extension non-vide à :
Notons qu'à cause des limitations syntaxiques dans la définition de base des assertions, il n'est pas possible de représenter les implications fortes (qui proviennent de ) telle que par exemple le fait que dans tous les modèles de , l'extension de est non-vide:
Avec comme connaissance de base on a la A-Box saturé :
Références
modifier- F. Baader, D. Calvanese, D. L. McGuiness, D. Nardi, P. F. Patel-Schneider : The Description Logic Handbook: Theory, Implementation, Applications. Cambridge University Press, Cambridge, UK, 2003. (ISBN 0-52178-176-0)
- Marvin Lee Minsky. A Framework for Representing Knowledge. Report A.I MEMO 306, Massachusetts Institute of Technology, A.I. Lab., Cambridge, Massachusetts, . McGraw-Hil, P. H. Winston (Éd.), « Psychology of Computer Vision », 1975.
Voir aussi
modifierLiens externes
modifier- (en) Description Logics maintenu par Carsten Lutz
- (en) Introduction to Description Logics DL course par Enrico Franconi, Faculty of Computer Science, Free University of Bozen-Bolzano, Italy
- (en) Navigator on Description Logic Complexity
- (fr) Une introduction aux logiques de description