REPRESENTATION DES CONNAISSANCES Cours préparé pour l Université de Stendhal, Grenoble (France) Cédric Lopez clopez@objetdirect.com Frédérique Segond fsegond@objetdirect.com www.viseo.net 1
1. Introduction à la Représentation des Connaissances Cours préparé pour l Université de Stendhal, Grenoble (France) Cédric Lopez clopez@objetdirect.com VISEO Objet Direct 4, avenue Doyen Louis Weil 38000 Grenoble www.viseo.net 2
Qu est-ce-que la RDC? Représentation du savoir Organisation du savoir Comment représenter la connaissance? Comment représenter la connaissance en informatique? 3
Représenter une entité = approximer cette entité Si la représentation devait posséder toutes les propriétés de l entité représentée, il s agirait de l entité elle-même! Tableau de René Magritte (1929) 4
=> On représente des concepts Comment représenter des concepts comme le temps, les croyances, les objets? 5
Pourquoi représenter la connaissance? Apprentissage automatique Fouille de données Compréhension du langage Traduction automatique Raisonnement But 1 : Partage du savoir. But 2 : Raisonnement sur le savoir. 6
Difficultés Acquisition des données Organisation des données Pas de classement universel des différents types de connaissances Ambiguïté des termes Contextualisation Validation des données Exemples : «Regarde!» «En posant l assiette sur la table il la cassa.» «La petite brise la glace» «L avocat mange la pomme» 7
Acquisition des données Comment acquérir les données? Manuellement? Automatiquement? Comment modéliser les connaissances? Traduction en structures manipulables par un programme 8
Ce qui est en jeu actuellement, c est : De constituer un modèle de connaissance organisé en modèle des données, statique. De constituer un modèle de raisonnement, dynamique. 9
Doit-on représenter la connaissance pour un domaine particulier? ou général? Connaissances propres à un domaine (ontologies de domaines) Connaissances propres à une activité (ontologies de tâche) Connaissances très générales (ontologies de haut-niveau) 10
«Les machines peuvent-elles penser?» Turing => le jeu de l'imitation. Deux systèmes (par exemple une machine et un humain) produisant la même sortie ne prouvent pas qu'ils ont un même comportement intelligent. Il faut aussi se préoccuper des processus internes qui ont permis de produire la sortie en question. 11
Comment représenter la connaissance? Logique des propositions «le lion est mort» peut être exprimée au moyen d une proposition «tous les lions sont des rois»??? => Énumération 12
Logique du Premier Ordre (LPO) «tous les lions sont des rois» lion(x) -> roi(x) ; «un lion est un félin» x lion(x) -> felin(x) => «il existe des félins qui sont des rois» Felin(x) Λ rois (x) 13
PROLOG (Colmerauer et Roussel, 1972) Langagesde PROgrammation LOGique Utilise l expressivité de la logique 14
Exemple de système à base de connaissance Une situation de conduite automobile peut être décrite en Prolog de la manière suivante : croisement(avec_feu). passer(oui). policier(interdit_passage). etat_feu(casse). croiser(gauche). 15
Ecrire la clause infraction qui réussit si l automobiliste est en infraction. On considèrera qu un automobiliste est en infraction s il passe à un croisement alors qu il n en a pas le droit. 16
Il n en aura pas le droit si : il y a un feu rouge au croisement et il n y a pas de policier à ce croisement. il y a un policier qui interdit le passage à un croisement avec feu. il y a un stop au croisement et il y a un autre véhicule qui arrive. il n y a pas d indication au croisement et un autre véhicule arrive de la droite. 17
On considérera qu un feu est rouge si : il est effectivement rouge. il est orange alors que l automobiliste est à une distance non nulle de celui-ci. il est à l orange et l automobiliste est à l arrêt. Sinon on considère que le feu est vert. 18
infraction :- croisement(avec_feu), feu(rouge), not(policier(_)), passer(oui). infraction :- croisement(avec_feu), policier(interdit_passage), passer(oui). infraction :- croisement(avec_stop), croiser(_), passer(oui). infraction :- croisement(standard), croiser(droite), passer(oui). Feu(rouge) :- etat_feu(rouge). feu(rouge) :- etat_feu(orange), not(distance_feu(nulle)). Feu(rouge) :- etat_feu(orange), vitesse_au_croisement(nulle). feu(vert) :- not(feu(rouge)). 19
Les connaissances les plus précises sont les plus faciles à représenter!!! 20
Base de connaissance? Une BC contient les connaissances spécifiques à un domaine, sous une forme exploitable par un ordinateur. Avec règles => base de règles Moteur d inférence (raisonnement déductifs logiques) Déduction de nouveaux faits 21
Base de faits + Base de règles Base de Connaissance + Moteur d inférence = Système expert 22
Données Système Expert Moteur d inférence B. de faits B. de règles BC Résultats d Expertise 23
Internet = base de connaissance 24
Vers le Web sémantique Vers le Web sémantique 25
Vers le Web sémantique Web => conçu pour les humains (HTML : présentation des données) Problèmes: Comment trouver l information pertinente? Comment extraire l information pertinente? => Le contenu du Web doit être compréhensible pour les machines! => Web sémantique 26
Vers le Web sémantique Réseaux sémantiques Structure : graphe Un nœud = un concept Un nœud = un instanciation de concept Arcs d agrégation (is-a) Arcs de composition (has-a) Arcs d instanciation is-a-kinf-of) 27
Vers le Web sémantique Exemple 1 (wikipedia.org) 28
Vers le Web sémantique Exemple 2 (jeuxdemots.org) 29
Vers le Web sémantique Exemple de réseau sémantique (exprimé en Prolog) : isa(mammifère, animal). isa(mouska, chien). isa(chien, mammifère). isa(chat, mammifère). isa(félix, chat). isa(vache, mammifère). 30
Vers le Web sémantique Dans le cadre du Web Sémantique : XML Extensible Markup Language RDF Resource Description Framework RDFS RDF Schema OWL Web Ontology Language 31
Vers le Web sémantique XML : un modèle d arbre (idéal pour exprimer la structure d un document) 32
Vers le Web sémantique RDF un modèle de graphe (idéal pour décrire des données) 33
Vers le Web sémantique RDFS 34
Vers le Web sémantique Triplestore = Base de données spécialement conçue pour le stockage et la récupération de données RDF Type de donnée = le triplet (sujet, prédicat, objet) Exemple : «Tim Berners Lee est une personne» <http://www.w3.org/people/berners-lee/card#i>, <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>, <http://xmlns.com/foaf/0.1/person > Extraction des données via SPARQL Exemple: BigData 35
Vers le Web sémantique Web des données (Linked Data) Combine les technologies du Web sémantique avec les principes fondamentaux du Web (protocole HTTP, identifiants URI) Objectif : construction d'un réseau d'informations structurées, disponibles en ligne et facilement réutilisables dans de nombreux contextes. 36
Vers le Web sémantique 2007 (http://blog.antidot.net/tag/triple-store/) <http://dbtune.org/jamendo/artist/5> <http://xmlns.com/foaf/0.1/based_near> <http://sws.geonames.org/2991627/> 37
Vers le Web sémantique FOAF 38
Vers le Web sémantique 2009 (http://blog.antidot.net/tag/triple-store/) 39
Vers le Web sémantique 2011 (http://blog.antidot.net/tag/triple-store/) 40
Synthèse Source : Serge Garlatti, Cours sur les Documents virtuels adaptatifs 41
Synthèse Architecture du Web 3 ème génération Inférences Niveau Sémantique Ontologies RDF+RDFS Niveau Syntaxique XML Niveau Adressage URI 42
Synthèse Plan du cours «Représentation des connaissances» 1. Cours d introduction 2. XML REPRESENTATION DES CONNAISSANCES XML 3. Standards du Web (RDF, SPARQL, OWL, ) RDF+RDFS 4. Schémas de classification : thésaurus, taxonomie, ontologie, 5. Raisonnement Intelligence Artificielle Inférences Ontologies