Le Web Sémantique – Technologies
Transcription
Le Web Sémantique – Technologies
Le Web Sémantique – Technologies Serge Linckels Université du Luxembourg, FSTC, 4 novembre 2004 Vers la Crise du Web ? Chacun « réalise » des pages Web { { { HTML hardcoding en Notepad Conversion (Word, Excel…) Avec un outil WYSIWYG (Dreamweaver, Frontpage…) Problèmes : { Aucune rigueur Æ efforts du W3C { Problèmes sémantiques Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Web Classique vs Web Sémantique Service de l’Internet Existe depuis 1991 Évolution peu contrôlée Basé sur divers langages Absence de sémantique Moteurs de recherche basés sur mots-clés Pas limité sur l’Internet Première idée en 1993 Évolution planifiée et contrôlée Basé sur un langage commun Basé sur sémantique Moteurs de recherche sémantiques Moteurs de recherche qui comprennent l’utilisateur Moteurs de recherche intelligents Æ Intelligence Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Artificielle Le Rêve d’Ordinateurs Intelligents Sujet à la mode des années 70 et 80, p.ex. robotique Principes : { { Une machine se comporte comme un humain Une machine comprend un humain Tentative échouée de rendre intelligentes les machines stupides Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Réflexions sur l’Intelligence Qu’est-ce que l’intelligence ? Exemple de Deep Blue : { { { Super-Ordinateur de jeu d’échec d’IBM (10 billions d’opérations par seconde) 1990 : Garry Kasparow proclame qu’aucun ordinateur ne va jamais le battre 1997 : Première défaite pour l’humain « L’intelligence » des ordinateurs se définie par leur programmation Le vrai problème n’est pas de savoir si les machines pensent, mais de savoir si les Hommes pensent Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 La Sémantique, un Nouveau Début Ne pas comprendre les données, mais le sens des données Exemple : Le contenu d’un livre est saisi. La machine sait retrouver la page ou se trouve la réponse à un problème donnée. Les données sont structurées de sorte que les machines stupides peuvent les comprendre & Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Première Technologie : XML Vers 1993 : HTML est insuffisant { { { Pas suffisamment d’éléments « tag » Interprétations différentes suivant Browser Pas de description sémantique Extension de HTML Æ XML (1996 par Jon Bosak) Caractéristiques : { { { Méta-Langage Création de règles sur les données Moyen indépendant de d’échange de données Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 XML Apporte de la Structure Représentation classique (texte pur) : Serge Linckels Les Générations Pascal / Structure ? Représentation XML : <Auteur> Sémantique <Nom> <Prénom>Serge</Prénom> <NomFam>Linckels</NomFam> </Nom> <AuteurDe>Les Générations Pascal</AuteurDe> </Auteur> / Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 ? Le Domaine de la Sémantique Sémantique = Décrire le sens de quelque chose { { Application : Semantic Web { { Ajoute des données qui décrivent un contenu Données sur des données = Metadata Décrire le contenu de pages web Rend plus efficaces des moteurs de recherche Application : e-Commerce { Comprendre les souhaits des clients Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Deuxième Technologie : RDF Recommandation W3C { { RDF (Resource Description Framework) Introduit en 1998 pour construire le Semantic Web Exemple d’un modèle RDF (directed graph): Computer Subject Resource creator Predicate Property Konrad Zuse Object Value Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Formaliser la Sémantique RDF est un mécanisme pour exprimer des affirmations sur des ressources, de façon que des machines peuvent les interpréter Une affirmation (anglais : statement) est appelé triplet (anglais : triple) L’ensemble des triplets concernant une ressource décrit la sémantique de cette ressource Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Exemple RDF Affirmation : Serge Linckels est l’auteur du livre « Les Générations Pascal » qui coûte 17 € 17 € Graphe RDF : ix pr livre dc:title cr e ato Les Générations Pascal r linckels nom Serge Linckels Triplets RDF : Ressource Propriété Valeur livre prix 17 € livre dc:title Les Générations Pascal livre creator linckels Université du Luxembourg e-Learning - Serge Linckels, 2004 nom - SéminaireSerge linckels Linckels Structure RDF Triplet = (Ressource, Propriété, Valeur) Valeur = (Ressource | Littéral ) Une ressource est décrite par une ou plusieurs autres ressources Exemple : La ressource livre a un créateur, la ressource linckels Une ressource est décrite par un ou plusieurs littéraux Exemple : La ressource livre a un titre « Les Générations Pascal » et un prix « 17 € » Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Le Problème des Synonymes Pas de problème de synonymes { { { Serge Linckels a écrit le livre « Les Générations Pascal » L’auteur du livre « Les Générations Pascal » est Serge Linckels Le fameux Monsieur Linckels est l’écrivain de l’excellent manuel « Les Générations Pascal » livre creator linckels nom Serge Linckels Pas besoin d’un dictionnaire centralisé { Utilisation de Namespaces Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Encodage Plusieurs possibilités d’encodage (serialization), par exemple RDF/XML : <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="ISBN:2-495-10603-X"> <prix>17 €</prix> <dc:title>Les Générations Pascal</dc:title> <dc:creator> <rdf:Description rdf:about="http://www.linckels.lu"> <nom>Serge Linckels</nom> </rdf:Description> </dc:creator> </rdf:Description> </rdf:RDF> Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Besoin de Règles Rappel : { { XML apporte une structure aux données RDF apporte une syntaxe aux données RDF Schema permet de définir des règles comment utiliser les données Comment ? { { { Permet de créer un vocabulaire Permet de décrire les objets et les propriétés des objets Permet de créer une hiérarchie de classes Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Éléments de RDF Schema Les éléments en RDF Schema permettent de définir: { des classes (rdfs:Class) des littéraux (rdfs:Literal) des ensembles (rdfs:Container) des types de données (rdfs:Datatype) { … { { { Exemple : Un livre est écrit par un auteur { { Livre(titre, prix) Auteur(nom) Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Exemple : Définition des Classes La classe Livre : <rdfs:Class rdf:about="http://exemple.net/elements#Livre"> <rdfs:isDefinedBy rdf:resource="http://exemple.net/elements#" /> <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" /> <rdfs:label>Livre</rdfs:label> <rdfs:comment>Un livre écrit par un auteur</rdfs:comment> </rdfs:Class> La classe Auteur : <rdfs:Class rdf:about="http://exemple.net/elements#Auteur"> <rdfs:isDefinedBy rdf:resource="http://exemple.net/elements#" /> <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" /> <rdfs:label>Auteur</rdfs:label> <rdfs:comment>Une personne qui a écrit (au moins) un livre</rdfs:comment> </rdfs:Class> Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Exemple : Définition des Propriétés Propriétés pour la classe Livre : <rdf:Property rdf:about="http://exemple.net/elements#titre"> <rdfs:isDefinedBy rdf:resource="http://exemple.net/elements#" /> <rdfs:domain rdf:resource="http://exemple.net/elements#Livre" /> <rdfs:label>Le titre du livre</rdfs:label> </rdf:Property> <rdf:Property rdf:about="http://exemple.net/elements#prix"> <rdfs:isDefinedBy rdf:resource="http://exemple.net/elements#" /> <rdfs:domain rdf:resource="http://exemple.net/elements#Livre" /> <rdfs:label>Le prix du livre en Euro</rdfs:label> </rdf:Property> Propriétés pour la classe Auteur : <rdf:Property rdf:about="http://exemple.net/elements#nom"> <rdfs:isDefinedBy rdf:resource="http://exemple.net/elements#" /> <rdfs:domain rdf:resource="http://exemple.net/elements#Auteur" /> <rdfs:label>Le nom (nom et prénom) de l’auteur</rdfs:label> </rdf:Property> Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Besoin d’un Langage plus Puissant Rappel : { { XML apporte une structure aux données RDF(S) apporte une syntaxe aux données Problèmes : { { Pauvre pour exprimer des contraintes ou des règles (p.ex. restrictions Æ cardinalité, inégalité,…) Impossible d’effectuer des raisonnements sur les données Æ Il faut un langage plus puissant à un niveau supérieur Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Rappel de l’Architecture en Couches Rules Data Proof Logic Ontology vocabulary RDF + RDF Schema Digital Signature Data Selfdesc. doc. Trust XML + Namespaces + XML Schema URI Unicode Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Notion d’Ontologie Définition : Ontologies are formal and consensual specifications of conceptualizations that provide a shared understanding of a domain, an understanding that can be communicated across people and application systems (Fensel D., Ontologies: A Silver Bullet for Knowledge Management and Electronic Commerce, Springer, Berlin-Heidelberg-New York, 2004) Explication : Une ontologie est tout ce qu’il faut pour que des humains et des machines peuvent décrire, comprendre et raisonner sur un sujet donnée Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Langages Ontologiques Diverses spécifications et recommandations récentes : { { { { { OWL (Web Ontology Language) : recommandation W3C qui se base sur RDF(S) OIL (Ontology Interface Layer) : essai d’améliorer RDF Schema DAML (DARPA Agent Markup Language) : langage crée pour enrichir XML et RDF DAML+OIL : alternative à OWL qui se base sur XML et OIL, plutôt que sur RDF(S) RDFS(FA) (Fixed layered metamodeling Architecture) : proposition pour éliminer les lacunes et failles dans RDF Schema par un langage plus évolué Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Troisième Technologie : OWL Permet de définir des ontologies Permet de définir des règles et une syntaxe pour une ontologie donnée (mieux que RDFS) Permet de définir des restrictions sur des objets et propriétés (p.e. cardinalité, valeur,…) Permet de raisonner sur des données Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Exemple de Restriction en OWL Exemple : Tout auteur a écrit au moins un article (notion de cardinalité) <owl:Class rdf:about="http://exemple.net/elements#Auteur"> <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" /> <rdfs:subClassOf> <owl:Restriction> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Raisonner sur les Connaissances 3 types différents d’OWL { { { OWL Lite : très limité dans les restrictions OWL DL : plus de liberté dans les restrictions et de raisonnement OWL Full : pas de limitation mais pas de garanties de calculabilité OWL DL : Description Logic { { { Basé sur la logique de prédicats du premier ordre Permet d’effectuer des raisonnements dans un temps fini Cependant, certaines limitations d’expressivité Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Notions de Raisonnement 1. Raisonnement transitif : P(x,y) ^ P(y,z) → P(x,z) { { { Règle : Tous les humains on 2 yeux. Fait : Jean est un humain Conclusion calculée : Jean a 2 yeux. 2. Raisonnement symétrique : P(x,y) ↔ P(y,x) { { Le livre « Les Générations Pascal » fut crée par « Serge Linckels » Donc, « Serge Linckels » a écrit le livre « Les Générations Pascal » Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Notions de Raisonnement 3. Raisonnement fonctionnel : P(x,y) ^ P(x,z) → x = z 4. Raisonnement inverse : P1(x,y) → P2(y,x) 5. Raisonnement fonctionnel inverse : P(y,x) ^ P(z,x) → y = z Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Conclusion sur le Semantic Web Le Semantic Web : { { Est une vision d’un nouveau web ; le SW n’existe pas (encore) Plusieurs technologies ont été et vont être créées et améliorées en vu de construire le SW Aujourd’hui : { { Des technologies du SW sont utilisées pour construire des pages WWW ou pour concevoir des applications C’est un domaine de recherche actuel Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004 Prochaine Séance jeudi, 16 décembre (11:45 h – 13:00 h) { { Présentation des avancées dans le domaine du traitement de la langue naturelle sur machine Présentation de l’outil d’éducation CHESt moteur de recherche sémantique interaction avec l’utilisateur sur base de la langue naturelle Université du Luxembourg - Séminaire e-Learning - Serge Linckels, 2004