Systèmes intelligents Logiques de Description Ontologies Master STIC - BD-IA Nadine Cullot BD-IA - Systèmes Intelligents - N. Cullot
Systèmes intelligents 1ère partie : Logiques de description 2ème partie : Ontologies Web sémantique et OWL : Ontology Web Langage Environnement de travail « Protégé » Langage de requêtes (SPARQL, …) Les bibliothèques de développement (Jena, OWL API) Le langage de règles : SWRL Semantic Web Rule Language BD-IA - Systèmes Intelligents - N. Cullot
Référence bibliographique The Description Logic Handbook : Theory, Implementation and Applications, edited by F. Baader, D. Calvanese, D.L. McGuinness, D. Nardi, P.F. Patel-Schneider,Cambridge University Press Theory : Basic Description Logics, Complexity of Reasoning, Relationships with other Formalisms, Expressive Description Logics, Extensions to Description Logics Implementation : From Description Logics Provers to Knowledge Representation Sytems, Description Logic Systems, Implementation and Optimization Techniques Applications : Conceptual Modeling with Description Logics, Software engineering, …, Description Logics for DataBases, Description Logic Termninology BD-IA - Systèmes Intelligents - N. Cullot
Introduction aux logiques de description Evolution des LD Les 2 niveaux de description : TBox et ABox Les inférences BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Introduction Les logiques de description sont une famille de langages pour Représenter des connaissances À l’aide de spécifications formelles Et raisonner sur ces connaissances À l’aide de moteurs d’inférences BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Evolution des LD Origine liée aux réseaux sémantiques apparus vers les années 1970 Graphe de représentation des connaissances dont les nœuds sont des concepts et liens sont des relations entre les concepts manque de sémantique précise et de structures formelles pour mettre en œuvre des mécanismes d’inférence BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Evolution des LD Définition du système KL-ONE (Brachman and Schmolze, 1985) Propose une évolution des réseaux sémantiques vers la définition la logique terminologique Syntaxe et sémantique précises Mécanismes d’inférences KL-One est considéré comme l’ancêtre des logiques de description (initialement appelées logiques terminologiques) BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Evolution des LD Implémentation de système basés sur les LD, 3 approches LOOM [MacGregor and Bates, 1987], BACK [Nobel and von Luck, 1988], langage expressif (+ opérateurs) et algorithme efficace mais incomplet CLASSIC [Brachman et al, 1991], nombre + restreint d’opérateurs mais algorithme efficace et complet KRIS [Baader and Hollunder,1991], langage expressif et algorithme complet mais un peu moins efficace BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Evolution des LD Le besoin d’algorithme efficace et complet pour des langages expressifs a été étudié Évolution des algorithmes de raisonnement Systèmes performants, utilisables dans l’industrie FACT [Horrocks, 1998] RACER [Möller and Haarslev, 1999] PELLET [Sirin, Parsia, Grau, Kalyanpur, Katz, 2005] BD-IA - Systèmes Intelligents - N. Cullot
Les 2 niveaux de représentation Un système de représentation des connaissances basé sur la LD permet de Spécifier les connaissances selon 2 niveaux Le niveau terminologique ou TBox : (Terminology Box) qui introduit le vocabulaire de l’application Concepts, rôles, axiomes Le niveau factuel ou ABox : (Assertions Box) qui introduit les instances/individus de la base de connaissance BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Les inférences Un système de représentation des connaissances basé sur la LD permet de Raisonner sur les connaissances décrites (TBox et ABox) Tester la satisfiabilité d’un concept Classifier les concepts (tests de subsumption) Tester la consistance d’un base de connaissances Tester sur une instance appartient à un concept BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Les inférences TBox Terminologie Raisonnement Logique description ABox Assertions Base de connaissances Applications Règles BD-IA - Systèmes Intelligents - N. Cullot
La logique de description minimale AL Introduction Syntaxe du langage AL Sémantique du langage AL BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Introduction Les LD sont une famille de langages basés sur le langage AL (Attributive Language) introduit par Schmidt-Schauβ en 1991 Les autres langages sont des extensions de la LD AL La puissance d’expression de ces langages dépend des opérateurs fournis BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Syntaxe du langage AL Les connaissances sont représentées à l’aide de Concepts Concepts atomiques qui sont les entités de base Enseignant, Chercheur, Publication Concepts définis / non atomiques qui sont construits à partir des concepts atomiques ou définis et des opérateurs du langage Enseignant Chercheur Rôles Les rôles sont des relations entre des concepts Rôle a_publié (entre les concepts Chercheur et Publication) BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Syntaxe du langage AL Syntaxe du langage AL C, D A | | T A négation dur un concept atomique C D intersection R.C restriction de valeurs R.T quantification existentielle limitée où A est un concept atomique, C et D sont des concepts, et R un rôle BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Syntaxe du langage AL Axiomes terminologiques et définitions de concepts Axiome d’inclusion C D ou R S avec C, D concepts et R, S rôles Hiérarchie de généralisation/spécialisation entre concepts et rôles (subsumption) Axiome d’équivalence C D ou R S Permet de définir des concepts complexes BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Syntaxe du langage AL Exemples Personne, Femelle, Male concepts atomiques aEnfant rôle Femme Personne Femelle Parent Personne aEnfant.T PeronnesSansEnfant Personne aEnfant. Pour comprendre le sens des expressions, il est nécessaire de définir la sémantique des constructeurs du langage. BD-IA - Systèmes Intelligents - N. Cullot
Sémantique du langage AL Définir la sémantique d’un langage = définir le « sens » de ses opérateurs Définir une interprétation I consiste à spécifier un domaine d’interprétation noté I une fonction d’interprétation qui associe À chaque concept atomique A, un sous-ensemble de I AI I A chaque rôle binaire R, une relation de I dans I . RI I x I BD-IA - Systèmes Intelligents - N. Cullot
Sémantique du langage AL L’interprétation est étendue pour les opérateurs T I = I I = (A)I = I \ A I (C D)I = CI DI T est interprété comme l’ensemble du domaine. est interprété comme l’ensemble vide A est interprété comme l’ensemble du domaine moins les termes qui interprètent A C D est interprété comme l’intersection des termes du domaine qui interprètent C et D. BD-IA - Systèmes Intelligents - N. Cullot
Sémantique du langage AL L’interprétation est étendue pour les opérateurs ( R.C)I = {a I | b. (a,b) RI -> b CI } R.C est interprété comme l’ensemble des termes (a) du domaine I , tels que pour tous les couples (a,b) de RI , on a (b) appartient à CI . BD-IA - Systèmes Intelligents - N. Cullot
Sémantique du langage AL L’interprétation est étendue pour les opérateurs ( R.T)I = {a I | b. (a,b) RI} R.T est interprété comme l’ensemble des termes (a) du domaine I , tels que qu’il existe un couple (a,b) de RI. BD-IA - Systèmes Intelligents - N. Cullot
Sémantique du langage AL Axiomes terminologiques Deux concepts sont équivalents si leurs interprétations sont égales (C D)I = CI = DI Un concept C est subsumé par un concept D si l’interprétation de C est incluse dans l’interprétation de D (C D)I = CI DI BD-IA - Systèmes Intelligents - N. Cullot
La famille des langages AL Les opérateurs complémentaires Nomenclature des langages BD-IA - Systèmes Intelligents - N. Cullot
Les opérateurs complémentaires Des logiques de description plus expressives peuvent être définies en ajoutant plus d’opérateurs Le nom du langage est construit en fonction des opérateurs disponibles Union Quantification existentielle complète Restriction sur les nombres (cardinalités) Négation (complément) BD-IA - Systèmes Intelligents - N. Cullot
Les opérateurs complémentaires Interprétations des autres opérateurs Union (C D)I = CI DI Quantification existentielle ( R.C)I = {a I | b. (a,b) RI et b CI} Négation, C (C)I = I \ C I BD-IA - Systèmes Intelligents - N. Cullot
Les opérateurs complémentaires Interprétations des autres opérateurs Restriction sur les nombres at-least restriction ≥ n R (≥ n R.C) at-most restriction ≤ n R (≤ n R.C) Avec (≥ n R) = {a I | |{b|(a,b) RI }| ≥ n} (≤ n R) = {a I | |{b|(a,b) RI }| ≤ n} BD-IA - Systèmes Intelligents - N. Cullot
Nomenclature des langages Les noms des langages sont exprimés en fonction des opérateurs disponibles Union U Quantification existentielle complète E Restriction sur les nombres (cardinalités) N Négation C (complément) Les langages sont alors exprimés par AL [U] [E] [N] [C ] selon les opérateurs considérés Exemple : ALC = Attributive Language et opérateur de négation (complément) Des noms simplifiés peuvent parfois aussi être utilisés. BD-IA - Systèmes Intelligents - N. Cullot
Exemple de spécification Spécification de la terminologie (TBox) Spécification des individus (ABox) BD-IA - Systèmes Intelligents - N. Cullot
Spécification de la terminologie Concepts atomiques Personne, Livre Rôle a_ecrit Concepts définis LivreInfo Livre Auteur Personne a_ecrit.Livre AuteurInfo Personne a_ecrit.LivreInfo BD-IA - Systèmes Intelligents - N. Cullot
Spécification des individus Description des individus dans la ABox Personne(p1) p1 au domaine d’interprétation du concept Personne p1 est une instance du concept Auteur Livre(l1), Livre(l2), LivreInfo(l3) a_ecrit(p1,l1) (p1, l1) au domaine d’interprétation de a_ecrit Etc. BD-IA - Systèmes Intelligents - N. Cullot
Spécification des individus Hypothèse d’unicité des noms Si cette hypothèse est mise en œuvre, elle spécifie que deux individus de noms différents ont des interprétations différentes si a, b différents alors aI bI BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Exemple Personne {p1,p2,p3, p4} Livre {liv1,liv2, liv3} LivreInfo Livre {liv3} Auteur Personne a_ecrit.Livre {p1, p2, p3} AuteurInfo Personne a_ecrit.LivreInfo {p3, p4} Personne Livre liv3 LivreInfo p1 p2 P3 liv1 liv2 écrit p4 On sait que p3 a écrit exactement un livre et p4 n’a pas écrit de livre BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Inférences dans les LD Les différents types de raisonnements Raisonnement sur les concepts Raisonnement sur la Tbox Raisonnement sur la Abox Algorithmes de raisonnement L’Hypothèse du monde ouvert BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Inférences Différents types d’inférences peuvent être réalisés sur des connaissances décrites en DL (ensemble d’axiomes) sur : Les concepts La TBox La ABox La TBox et la ABox ensemble BD-IA - Systèmes Intelligents - N. Cullot
Raisonnement sur les concepts Vérification de la satisfiabilité d’un concept Un concept C est dit satisfiable pour une terminologie T, si il existe un modèle de T tel que l’interprétation de C (CI) est non vide. i.e. il est possible d’avoir des instances de C qui vérifient sa spécification De façon triviale, le concept Extra_terrestre Humain Humain Est insatisfiable Cette vérification sur un ensemble complexe d’axiomes est fondamentale pour ne définir des concepts qui comportent des contradictions. BD-IA - Systèmes Intelligents - N. Cullot
Raisonnement sur les concepts Classification des concepts Un concept C est subsumé par un concept D pour une terminologie T, si l’interprétation de C est incluse dans l’interprétation de D pour tout modèle I de T : CI DI (on dit C T D ) i.e. que le concept C est plus un concept plus spécifique que D, Hiérarchie de généralisation/spécialisation. Femme Personne Femelle Mère Personne Femelle aEnfant.Personne Le concept Mère est subsumé par le concept Femme, i.e. une instance de Mère est obligatoirement aussi une instance de Femme. BD-IA - Systèmes Intelligents - N. Cullot
Raisonnement sur les concepts Equivalences Deux concepts C et D sont équivalents pour une terminologie T, si leurs interprétations sont égales pour tout modèle I de T : CI = DI (on dit C T D ) i.e. que les concepts C et D dénotent le même ensemble Mère Personne Femelle aEnfant.Personne Maman Femme aEnfant.Personne Les concepts Mère et Maman sont équivalents. BD-IA - Systèmes Intelligents - N. Cullot
Raisonnement sur les concepts Concepts disjoints Deux concepts C et D sont disjoints pour une terminologie T, si l’intersection de leurs interprétations est vide pour tout modèle I de T : CI DI = Femme Personne Femelle Homme Personne Male Femelle Male Le troisième axiome indique explicitement que les concepts Femelle et Male sont disjoints, ce qui implique aussi les concepts Homme et Femme sont disjoints. BD-IA - Systèmes Intelligents - N. Cullot
Raisonnement sur les concepts Les 4 types d’inférences (satisfiabilité, subsumption, concepts disjoints et concepts équivalents) peuvent se ramener à un problème de test de subsumption si le système DL considéré possède l’opérateur et le concept insatisfiable . C est insatisfiable C est subsumée par C et D sont équivalents C est subsumé par D et D est subsumé par C C et D sont disjoints C D est subsumé par BD-IA - Systèmes Intelligents - N. Cullot
Raisonnement sur les concepts Si le système de DL possède en plus la négation ( C), les 4 types d’inférences peuvent être ramenés à un problème de satisfiabilité. C est subsumé par D C D est insatisfiable. C et D sont équivalents C D et C D sont insatisfiables C et D sont disjoints C D est insatisfiable BD-IA - Systèmes Intelligents - N. Cullot
Raisonnement sur les concepts Les systèmes comme FACT (Horrocks, 1998), FACT++ ou RACE (Haarslev and Moller, 2001), RACER sont basés sur la vérification de la satisfiabilité des concepts. On a les équivalences des propositions C est insatisfiable C est subsumé par C et T sont disjoints C et sont équivalents BD-IA - Systèmes Intelligents - N. Cullot
Raisonnement sur la TBox L’expansion d’un concept consiste à réécrire ce concept uniquement avec des concepts primitifs Femme Homme Personne Femelle Personne (Personne Femelle) Elle permet de ramener le problème de raisonnement sur la TBox à un problème de raisonnement sur les concepts. pour des TBox sans cycle BD-IA - Systèmes Intelligents - N. Cullot
Raisonnement sur la ABox Une ABox A est consistante pour une TBox T, si il existe une interprétation I qui est un modèle pour T et A. La ABox {Père(Marie), Mère(Marie)} est inconsistante avec une TBox qui spécifie que les concepts Père et Mère sont disjoints. Vérifier la consistance d’une ABox (acyclique) peut être ramené à la vérification de la consistance de son expansion. BD-IA - Systèmes Intelligents - N. Cullot
Algorithmes de raisonnement Pour les systèmes de DL basés sur des langages n’autorisant pas la négation sur les concepts (non primitifs), la subsumption est vérifiée à l’aide d’algorithmes dits structuraux « Structural subsumption algorithms » Ils se basent sur des comparaisons de la syntaxe des structures (normalisées) décrivant les concepts (expansion). BD-IA - Systèmes Intelligents - N. Cullot
Algorithmes de raisonnement Pour les systèmes DL autorisant la négation sur les concepts, des algorithmes basés sur la vérification de la satisfiabilité des concepts sont utilisés « tableau-based algorithms » Ils s’appuient sur des règles de transformations des axiomes. BD-IA - Systèmes Intelligents - N. Cullot
Hypothèse du monde ouvert L’analogie TBox schéma d’une base de données ABox instances de la base de données Est fréquente cependant L’absence d’information dans une BD est interprétée comme une information négative Tandis qu’elle est interprétée comme une information incomplète dans une ABox BD-IA - Systèmes Intelligents - N. Cullot
Les outils de raisonnement Il existe différents raisonneur qui implémentent les logiques de description FaCT++ Hermit OWL Reasoner Pellet : OWL 2 Reasoner for java Racer Pro Utilisation du raisonneur Pellet sou l’environnement de développement « Protégé » BD-IA - Systèmes Intelligents - N. Cullot
BD-IA - Systèmes Intelligents - N. Cullot Conclusion La logique de description fournit un formalisme pour : Représenter des connaissances Raisonner sur ces connaissances Hypothèse du monde ouvert Cette logique est à la base des langages développées dans le cadre du développement du web sémantique OWL : Ontology Web Langage (OWL-DL) Ontologie : représentation de connaissances partagées, agréées par des communauté de personnes qui peuvent être incomplètes Formalisme de représentation nécessaire Formalisme de raisonnement (vérification des connaissances) nécessaire BD-IA - Systèmes Intelligents - N. Cullot