TD-Projet Conception d'ontologies
Découverte de RDFa
Un tutorial
RDFa est une syntaxe permettant d'ajouter des informations (métadonnées au sens large) dans une page HTML, en réutilisant des éléments et attributs de HTML, mais aussi en ajoutant quelques nouveaux éléments et attributs. Les métadonnées ajoutées sont invisibles au lecteur humain, mais peuvent être traitées par un programme, qui pourra les utiliser utilement.
Lisez le tutorial RDFa primer (http://www.w3.org/TR/xhtml-rdfa-primer/), et regardez les exemples, notamment comment on construit un graphe d'URI exprimant des métadonnées. Le document fichier RDFa exemple contient les différents exemples proposés.
pyRDFa
L'outil pyRDFa (http://www.w3.org/2007/08/pyRdfa/) permet de construire automatiquement le graphe RDF correspondant à une page web RDFa. Il rend ses résultats dans différents formats, dont le format Turtle (une syntaxe simple pour décrire des graphes). check.rdfa.info permet également d'extraire les données RDFa.
Utilisez cet outil sur la page http://buzzword.org.uk/2008/rdfa-cv. Analysez le résultat. Vérifiez que cela correspond à votre graphe précédent. Allez également voir la page d'Alexandre Passant (http://apassant.net/), qui contient des métadonnées exprimées en RDFa.
Vous pouvez également utiliser l'extension Chrome RDFa Lister.
Découverte de Protege / OWL
Installez Protege (http://protege.stanford.edu/) dans sa version complète. Protege est normalement maintenant livré en standard avec deux raisonneurs.
Explorez et découvrez à la fois l'ontologie Pizza et l'outil Protege. Vous pouvez également explorer le tutorial disponible sur http://www.co-ode.org/resources/tutorials/iswc2004/ ou ceux de http://www.co-ode.org/resources/tutorials/. Vous pouvez vous essayer à SPARQL en utilisant le service de requête SPARQL en ligne (http://xmlarmyknife.com/api/rdf/sparql/query).
Ontology Development 101: A Guide to Creating Your First Ontology décrit une méthode simple de conception d'ontologie (par des chercheurs de Stanford).
Le site http://ontologydesignpatterns.org/ présente des ressources sur des bonnes manières de concevoir des ontologies.
Conception d'une ontologie OWL
Objectif : construire une ontologie pour pouvoir faire une application de recherche sémantique sur un domaine particulier. Pour cela, vous créerez une ontologie de domaine, décrirez quelques pages en rdfa, récupérerez le RDF en simulant un robot de moteur.
Le projet se fera par binômes.
Etape 1
- Déterminez le domaine qui vous intéresse. L'ontologie que vous allez construire servira à décrire des documents de ce domaine. Décrirez ce domaine en quelques phrases, et choisirez un certain nombre de documents à décrire (4 documents : D1-D4).
- Déterminez cinq requêtes "intelligentes" que vous voulez pouvoir faire à la base de connaissance que vous mettrez en place pour décrire les documents du domaine. Vous exprimerez ces requêtes sous forme textuelle (une phrase).
Etape 2
- Déterminez un corpus élargi de documents décrivant le domaine qui vous intéresse (D1-D10 par exemple).
- Utilisez un outil de TAL pour en extraire des candidats termes (au moins), qui seront utilisés comme base de votre ontologie
Outils possibles
Etape 3
Conseils
- Si la structuration de votre ontologie se limite à une hiérarchie de spécialisation, elle va être peu intéressante : utilisez des propriétés
- Hiérarchie de spécialisation : vérifiez que la sous-classe est bien "une sorte de" super-classe, i.e. que toute instance de la sous-classe est bien instance de la super-classe.
Etape 4
- Créez une base de connaissance pour un sous-ensemble choisi de votre corpus documentaire (3 documents)
- Pour cela, copiez-collez uniquement ce qui est intéressant dans l'article (titre, paragraphe, images) dans un fichier HTML simple, ajoutez des éléments / attributs pour représenter les connaissances en RDFa
- vous pouvez essayer d'utiliser l'outil radify
- "Moissonnez" le RDFa avec pyRDFA. Récupérer le RDF généré par le moissonnage dans un fichier unique appelé par exemple instances.rdf
Etape 5
- Ajoutez ces instances moissonnées à votre ontologie.
- Créez des requêtes (dans Protege ou en SPARQL) de complexité croissante qui correspondent aux requêtes proposées à l'étape 1. Les requêtes doivent mettre en évidence les inférences rendues possible par votre ontologie.
- Vous pouvez également créer vos requêtes comme des concepts, la résolution de la requête se résumant ensuite en une classification par le raisonneur.
- Exécutez ces requêtes sur votre base de connaissances
Etape 6
- Rédigez un rapport décrivant rapidement
- domaine
- requête
- méthodologie suivie
- ontologie résultat
- documents avec RDFa
- fichier instances.rdf
- requêtes et résultats
- commentaires intelligents destinés à vous mettre en valeur
- Préparez une présentation qui sera présentée devant la classe