Le Web Sémantique
Concepts
Qu'est ce que des données liées ?
La panoplie de technologies du Web sémantique (RDF, OWL, SKOS, SPARQL, etc.) fournit un environnement où les applications peuvent manipuler des données, effectuer des inférences en employant des vocabulaires, etc.
Les données liées résident dans le cœur de ce qu’est le Web sémantique. Leur intérêt est de réaliser un lien permettant à partir d’une donnée d'obtenir l’ensemble des données qui peuvent en découler.
DBpedia par exemple, est un projet d'extraction de données de Wikipédia pour en proposer une version web sémantique. Or DBPedia se révèle bien plus puissant en terme de source d’information car elle est interconnectée avec d’autres sources de données sur le Web comme Geonames ou MusicBrainz, etc. Par la présence de ces liens (ou triplet RDF), les applications peuvent obtenir davantage d’informations pour être bien plus précises.
Vocabulaires & Ontologies
Dans le Web sémantique, un vocabulaire représente un ensemble de termes utilisés pour étiqueter, décrire des données.
Le modèle RDF Schema, fondé sur RDF, permet de définir des vocabulaires. Le langage OWL, fondé sur RDF et RDFSchema, étend les possibilités de RDF Schema et permet de décrire des vocabulaires extrêmement riches : on parle alors d'ontologies.
Mais qu'est ce qu'une ontologie?
Le point de vue de l'Ingénierie des Connaissances :
une définition, au sens large :
On peut adopter pour la notion d’ontologie la caractérisation suivante de Uschold :
- “Une ontologie peut prendre différentes formes, mais elle inclura nécessairement un vocabulaire de termes et une spécification de leur signification. Cette dernière inclut des définitions et une indication de la façon dont les concepts sont reliés entre eux, les liens imposant collectivement une structure sur le domaine et contraignant les interprétations possibles des termes.” [Uschold, 98]
- Une telle caractérisation rend compte d’objets divers tels des glossaires, des terminologies, des thesaurus et des ontologies (au sens strict), mis en œuvre par différents professionnels (ingénieurs de la connaissance, bibliothécaires, traducteurs) et se distinguant selon si l’accent est mis sur les termes ou leur signification.
une définition, au sens strict :
- Les “ontologies” de l’Ingénierie des Connaissances émanent du
projet ARPA Knowledge Sharing Effort (1991). Une définition consensuelle
pour ces disciplines reste celle de Gruber [Gruber, 93]:
- “Une ontologie est une spécification explicite d’une conceptualisation.”
- Le terme “conceptualisation” situe les ontologies sur le versant sémantique. Une conceptualisation rend compte du sens des termes. La littérature logico-philosophique nous enseigne que le sens correspond à des intentions (ou objets intensionnels), par opposition à extensions.
- L’expression “spécification explicite” fait des ontologies un objet syntaxique. La conceptualisation est codée dans un langage. Suivant le langage utilisé, l’ontologie prendra la forme d’une théorie logique (ensemble de formules logiques) ou d’un réseau sémantique.
Derrière le terme “ontologie” se cachent des objets très divers [Noy & Hafner, 97]
- La plupart des ontologies sont structurées au moyen de la relation “est un” de subsomption, ou de généralisation entre concepts. La relation Tout-Parties “est composé de” est également utilisée.
- Certaines ontologies sont denses, contenant de nombreux axiomes contraignant le sens des termes. D’autres se résument à une taxinomie de concepts donnés sans définition.
- La taille des ontologies varie de quelques dizaines de concepts à plusieurs dizaines de milliers de concepts.
- Les ontologies peuvent être informelles, formelles ou opérationnelles. Dans ce dernier cas, elles sont spécifiées dans un langage de programmation.
Le point de vue de l'Ontologie :
- L’Ontologie est la branche de la philosophie qui traite de la nature et de l’organisation de la réalité. Elle côtoie l’Epistémologie qui traite de la nature et des origines de notre connaissance [Nef, 98].
- Produits de l’Ontologie, les ontologies formelles sont des théories de
l’objet:
- dont l’analyse est menée de façon rigoureuse, en ayant recours en général à la logique mathématique,
- transversales à toutes les ontologies matérielles, relatives à des domaines différents d’objets (des régions de savoir).
- L’Ingénierie Ontologique est la branche de l’Ingénierie des Connaissances qui exploite les principes de l’Ontologie (formelle) pour construire des ontologies [Guarino & Giaretta, 95].
Une définition encore plus stricte :
- La structure sémantique rendant compte du sens des termes correspond à l’essence des concepts. En effet, seules les propriétés essentielles (nécessairement vérifiées par les instances du concept dans tout monde possible) sont définitionnelles [Bouaud et al., 94].
- Ces propriétés étant en nombre indéfini, une théorie logique ne peut
donner qu’une caractérisation approximative d’une structure
sémantique. La définition de [Guarino & Giaretta, 95] traduit cette
limitation :
- “Une ontologie est une spécification rendant partiellement compte d’une conceptualisation”.
- Une théorie logique spécifie un engagement ontologique, lequel approxime une conceptualisation. Le degré d’approximation dépend du langage utilisé (ex: logique modale, logique du 1er ordre), lequel dépend finalement de l’objectif visé (partage d’une conceptualisation, mise en œuvre d’inférences).
Le point de vue de la Linguistique :
- La Linguistique est concernée par la question des ontologies dans la mesure où les données dont on dispose pour élaborer les ontologies consistent en des expressions linguistiques de connaissances.
- La caractérisation du sens de ces expressions conduit à déterminer des signifiés contextuels, dépendant des contextes (documents) où les expressions apparaissent.
- Ces signifiés contextuels doivent alors être normés, ce qui revient à fixer une signification pour un contexte de référence, celui de la tâche (application) pour laquelle l’ontologie est élaborée [Bachimont, 00].
- L’ontologie régionale (non universelle) que l’on obtient est ainsi une spécification de signifiés normés.
A quoi répond l'ontologie :
Elle répond à un besoin de partager la signification de termes dans un domaine donné.
- Toute activité humaine spécialisée développe son propre jargon (langue de spécialité) sous la forme d’une terminologie et d’une conceptualisation associée spécifiques.
- L’existence de tels jargons entraîne des problèmes de compréhension et des difficultés à partager des connaissances entre les acteurs de l’entreprise, les services d’une entreprise, les entreprises d’une industrie, qui font des métiers différents.
- Fondamentalement, le rôle des ontologies est d’améliorer la communication entre humains, mais aussi entre humains et ordinateurs et finalement entre ordinateurs.
Elle entraîne la standardisation du vocabulaire.
- L’existence de vocabulaires différents au sein d’une entreprise (ex : bureau d’études, bureau des méthodes) ou d’une industrie (ex : constructeur automobile, équipementier) constitue un frein à la collaboration et aux partenariats. Les enjeux touchent donc directement la compétitivité de l’entreprise.
- Pour l’entreprise, l’ontologie sert à :
- améliorer la compréhension entre les employés,
- favoriser la diffusion des information et leur exploitation,
- promouvoir une nouvelle approche de conception des systèmes d’information (réutilisation de codes, inter-opérabilité des logiciels).
- Pour ces besoins de standardisation du vocabulaire, une terminologie ou une ontologie informelle peuvent suffire [O’Leary, 98].
Elle enrichie l’ingénierie des systèmes d’information [Guarino, 98]
- Spécification ; Acquisition des connaissances : une ontologie peut aider à l’analyse des besoins et à définir les spécifications d’un SI.
- Réutilisation ; Partage : une ontologie peut être, ou peut devenir suite à une traduction, un composant réutilisable et/ou partagé par plusieurs logiciels.
- Fiabilité ; Maintenance : une ontologie peut servir à améliorer la documentation d’un logiciel et/ou à automatiser des vérifications de cohérence (SBCs), réduisant les coûts de maintenance.
- Inter-opérabilité : en jouant le rôle d’un format d’échange, l’ontologie permet à des systèmes d’information, basés sur des paradigmes de modélisation et des langages d’implantation différents, de coopérer.
Elle permet une meilleure exploitation des sources d’informations
- Recherche : une ontologie peut jouer le rôle de méta-data servant d’index dans un répertoire d’informations.
- Intégration : dans une application “entrepôt de données”, une ontologie peut jouer le rôle d’un schéma conceptuel commun reliant entre elles plusieurs sources d’informations hétérogènes.
- Interface Homme-Machine : la visualisation de l’ontologie permet à l’utilisateur de comprendre le vocabulaire utilisé par le SI et de mieux formuler ses requêtes.
- Requêtes : une ontologie linguistique peut permettre de comprendre les requêtes (représentation du contenu) de l’utilisateur formulées en langue naturelle.
Concernant les technologies actuelles, voici une liste de vocabulaires ayant atteint un certain stade de maturité pris en charge par une communauté de concepteurs ou utilisateurs suffisante pour garantir ou espérer la pérennité du vocabulaire.
- RSS : RDF Site Summary : permet de décrire des listes de choses faisant l'objet d'une page web
- EARL : Evaluation and Report Language : permet d'enregistrer les résultats d'une évaluation
- FOAF : Friend of a friend : permet de décrire des personnes et leurs relations entre elles
- DOAP : Description of a Project : permet de décrire un projet informatique
- SKOS (Simple Knowledge Organisation System) : un vocabulaire pour définir des systèmes d'organisation de la connaissance (thésaurii, vocabulaires contrôlés, etc.).
- BIO : vocabulaire pour décrire des informations biographiques
- GEO : vocabulaire pour décrire des coordonnées géographiques terrestres (système de références planimétriques WGS84)
- ROR : vocabulaire pour décrire des sites web, permettant de faciliter la découverte d'information aux moteurs de recherche
Définir et utiliser des ontologies est indispensable pour permettre de lier les informations disponibles sur le Web sémantique, encore faut-il pouvoir effectuer des requêtes pour pouvoir les obtenir.
Requêtes
Comme pour les bases de données relationnelles ou XML, le Web sémantique a besoin d'un langage de requêtes spécifiques.
SPARQL permet d'envoyer des requêtes et de recevoir des résultats, par exemple, via HTTP ou SOAP.
Techniquement, les requêtes SPARQL sont basées sur des triplets.
SPARQL permet d'extraire des informations complexes par l'agrégation de multiples sources de données.
Inférence
Une inférence est un processus de raisonnement qui s’appuie sur des connaissances acquises, et qui s’articule autour de règles fondamentales pour permettre d’obtenir de nouvelles informations.
Les grandes catégories d’inférences (1ère dimension)
- Les inférences fondées sur le texte (inférences logiques )
- Marc veut pratiquer un sport le mercredi. Au centre de loisirs, on lui propose le football, le rugby et le judo. Il n’aime pas les jeux de ballon.
- Les inférences fondées sur les connaissances ou schémas du lecteur
(inférences pragmatiques)
- Sophie pédale jusqu’à la maison.
Les grandes catégories d’inférences (2ème dimension)
- Les inférences nécessaires
- « Tiens ! Deux casse-croûtes qui se battent », dit le renard. (La brouille, C. Boujon, 1989), Il est nécessaire de comprendre à quoi renvoient « les deux casse-croûtes » pour interpréter correctement cette phrase.
- Les inférences optionnelles
- "Le bon géant rencontre une vieille dame". L’introduction de détails relatifs à la tenue vestimentaire du géant par exemple, peut venir enrichir la représentation mais ne constitue pas une condition nécessaire pour comprendre l’énoncé.
Les grandes catégories d’inférences (3ème dimension)
- Les inférences rétrogrades
- permettent de mettre en relation deux éléments d’un texte, lors
de l’interprétation du second.
«A la cantine, deux desserts sont proposés : une glace ou un fruit. Laura n’aime pas les glaces».
- permettent de mettre en relation deux éléments d’un texte, lors
de l’interprétation du second.
- Les inférences antérogrades
- permettent d’anticiper la suite probable de l’énoncé, mais
elles sont des anticipations, plus ou moins élaborées.
«Ah ! C’était terrible ! Jamais je n’avais vu un animal aussi rapide avec des yeux aussi luisants et qui ronronnait aussi fort».
- permettent d’anticiper la suite probable de l’énoncé, mais
elles sont des anticipations, plus ou moins élaborées.
Les grandes catégories d’inférences (4ème dimension)
- Les inférences grammaticales
- produites après résolution d’une ambiguïté grammaticale
(exemples : résolution des anaphores ou accord des verbes)
Le matin, c’est toujours la course pour faire sa toilette. Ma mère, mon père et moi devons faire vite pour être prêts à l’heure. Ce matin, quand j’ai frappé à la porte de la salle de bains, une voix m’a répondu : «Une minute, je ne suis pas encore habillé !».
Qui était dans la salle de bains quand j’ai frappé ?
- produites après résolution d’une ambiguïté grammaticale
(exemples : résolution des anaphores ou accord des verbes)
- Les inférences lexicales
- produites par association à partir des mots du texte. Si le lecteur
possède les connaissances relatives à ce que dit le texte en
mémoire, alors la lecture isolée de certains mots du texte peut
éventuellement permettre la résolution de l’inférence.
Monsieur Zieuvifs regardait tous ses élèves avec admiration et émotion. Ils étaient tous en tenue, avec leurs ceintures noire, marron ou orange et l’applaudissaient chaleureusement. Il part à la retraite ce soir et ne les accompagnera plus tous les week-ends pour les compétitions.
- produites par association à partir des mots du texte. Si le lecteur
possède les connaissances relatives à ce que dit le texte en
mémoire, alors la lecture isolée de certains mots du texte peut
éventuellement permettre la résolution de l’inférence.
- Les inférences sémantiques
- produites après lecture et compréhension de l’énoncé dans sa
totalité ; la lecture isolée de certains mots du texte ne pouvant pas
permettre la résolution de l’inférence.
Un virus informatique a contaminé l’ordinateur du collège. Toutes les notes des devoirs, que les professeurs avaient enregistrées, ont été effacées. L’administration du collège a été dans l’incapacité d’envoyer les bulletins ce trimestre. Quand Emilie a appris cette nouvelle, elle a sauté de joie.
- produites après lecture et compréhension de l’énoncé dans sa
totalité ; la lecture isolée de certains mots du texte ne pouvant pas
permettre la résolution de l’inférence.
Les catégories d'inférences en tête, prenons d'autres exemples pour faciliter la compréhension :
- Tous les renards ont le poil roux mais cet animal n’a pas le poil roux
- (donc) cet animal n’est pas un renard
- C'est une inférence logique.
- Jean a assassiné Brutus
- (donc) Brutus est mort
- C'est une inférence sémantique (que Brutus soit mort est compris dans le sens de « assassiner »)
- Jean a déchargé son arme sur Brutus
- (donc) Brutus est mort
- C'est une inférence non valide, ou à la rigueur une inférence pragmatique
L'approche SGBD classique suit un processus du type :
{ structurer / architecturer -> informer / renseigner }
L'approche du Web sémantique suit un processus du type :
{ informer / renseigner -> structurer / architecturer à la volée }
Le moteur d’inférence va rajouter des nouvelles informations à partir des informations existantes.
C’est lui qui vient donner tout son sens au reste de la pyramide des technologies du Web sémantique (XML, URI, RDF, OWL), en interprétant et « motorisant » une ontologie.
Actuellement, plusieurs moteurs d'inférences gratuits ou commerciaux tels que Racer, Pellet, Fact, Fact++, Surnia, F-OWL et Howlet existent.
La plupart de ces moteurs sont conçus pour raisonner sur les logiques de description, mais acceptent en entrée des fichiers OWL. Certains moteurs d'inférence ne peuvent raisonner qu'au niveau terminologique (c'est-à-dire au niveau des concepts et des propriétés) alors que des moteurs comme Pellet et Racer permettent de raisonner aussi sur les instances de concepts.