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

Documents pareils