Les petites cases

Structurer, décrire et organiser l'information (2)

Ce billet constitue la suite du billet dédié à la structuration de l'information (voir aussi le troisièmes billet : comment organiser l'information pour y naviguer efficacement ?).

Décrire l'information : le rôle des métadonnées et de RDF

XML permet d'indiquer l'organisation logique de l'information d'un document, mais, a-priori, il ne permet pas d'en décrire le contenu. Cela représente une limite, mais est logique, puisque la structuration et la description sont deux processus différents.

Cette limite a, en particulier, des conséquences dans la recherche d'informations, puisque le XML ne permet pas au moteur de recherche traditionnel de désambiguïser le sens d'un mot. Par exemple, si vous faites la recherche « histoire pour les enfants ». Le moteur va vous proposer l'ensemble des pages Web contenant les mots « histoire » et « enfants », les deux autres mots sont ignorés. De ce fait, les résultats comprendront indifféremment des histoires pour les enfants (contes, fables, comptines...) et l'histoire de l'enfance, en tant que domaine de recherche scientifique. De même, tous les sites rassemblant des contes, fables... qui ne contiennent pas les mots « histoire » et « enfants » ne seront pas proposés, alors qu'ils correspondent à la recherche.

Il faut donc des moyens de décrire l'information. C'est le rôle des métadonnées. Je ne reviens pas sur la définition des métadonnées et renvoie ceux qui ont besoin d'une piqûre de rappel chez blogokat. Dans ce cas précis, deux types de métadonnées nous intéressent1 :

  • Les métadonnées descriptives qui permettent de donner des indications sur le contenu de l'information : titre, résumé, mots-clés...

  • Les métadonnées administratives permettant de préciser les informations juridiques (licence), les informations techniques (format des fichiers par exemple)

De ce point de vue, le vocabulaire le plus connu pour écrire des métadonnées est le Dublin Core2 qui offre quinze éléments dans sa version dite non qualifiée. D'après les spécifications, le Dublin Core peut s'exprimer de trois façons différentes : embarqué dans du HTML, en XML et en RDF/XML. Il existe de plus en plus d'applications qui l'utilisent. On peut citer le protocole OAI/PMH (Open Archive Initiative Protocol for metadata harvesting) qui impose au minimum l'utilisation de Dublin Core pour mettre à disposition les métadonnées dans les entrepôts ou RSS 1.0 (RDF site summary), la version en RDF de RSS, qui l'utilise pour donner les informations sur chaque item.

Pourtant, comme le remarque Eric Daspet dans un commentaire chez Fred Cavazza, Dublin Core est limité et ne permet pas de « donner du sens à ... ce qu'il y a à l'intérieur ». Je nuancerais en disant qu'il permet de donner des indications sur la globalité d'une ressource, mais effectivement, Dublin Core ne permet pas de rentrer à l'intérieur, car il n'a pas été créé pour cela. Même si ces problèmes nous apparaissent clairement aujourd'hui, d'autres les ont vus bien avant nous, en particulier Tim Berners-Lee dans son article fondateur du Web sémantique. Le Web sémantique a donc pour but de « pallier les insuffisances du Web en lui ajoutant une "couche" sémantique, permettant de libérer les utilisateurs d’une partie de leurs tâches de recherche afin de mieux exploiter l’information contenue dans les ressources du Web. En fait, le Web sémantique vise à mettre de l’ordre et surtout de la signification dans le chaos informationnel, en développant des outils et des méthodes qui rappelleront quelque chose aux documentalistes et aux bibliothécaires. Car il s’agit surtout de pouvoir identifier, décrire et indexer les innombrables ressources du Web, un peu à l’instar de ce que font les bibliothécaires depuis longtemps à propos des documents. »3.

Pour mener à bien ce dessein, le W3C a mis au point une série de recommandations, à commencer par le concept de base que constitue RDF. Même si un des moyens d'écrire du RDF est XML, il ne faut pas confondre les deux. Tout d'abord, il existe d'autres syntaxes pour écrire du RDF : N3, N-triples ou turtle. Le choix de la syntaxe XML par le W3C tient plus à la convergence des technologies, car il rend possible la réutilisation pour RDF des règles et des dialectes utilisés pour exprimer et traiter du XML, en particulier le principe des namespaces et le langage de feuilles de style XSL. Mais, alors que XML est basé sur le concept d'arbres, RDF est basé sur le concept de graphes. XML propose donc une organisation hiérarchique de l'information, tandis que RDF est plus souple et propose des systèmes plus efficaces pour lier et décrire des ressources (je reviendrai sur les conséquences de cette différence dans le 3ème billet). Ainsi, grâce à RDF schéma qui permet de définir des vocabulaires RDF, la nature des données et la nature des relations entre ces données sont clairement exprimées, ce qui n'est pas le cas pour XML pour lequel la relation entre un élément enfant et son parent est induite et sa nature non précisée4.

Dans la droite ligne des recherches dans le domaine de la logique, en particulier le calcul des prédicats (ou logique de premier ordre), RDF permet de décrire tout types d'informations sous forme de triplets : <sujet> <prédicat> <objet>, c'est à dire la structure grammaticale de base d'une phrase <sujet> <verbe> <complément>. En décrivant de la même manière toutes les informations, une machine est capable d'effectuer des inférences, c'est à dire de déduire des nouvelles informations.

Si je reprends mon exemple sur les histoires pour les enfants, je peux définir plusieurs triplets (très schématiques) :

  • le mot histoire possède plusieurs sens

  • l'histoire est une discipline scientifique

  • le but de l'histoire (en tant que discipline scientifique) est d'étudier les sociétés humaines dans le temps

  • l'histoire de l'enfance est une branche de l'histoire (en tant que discipline scientifique)

  • l'histoire de l'enfance étudie la place des enfants dans le temps

  • une histoire est une fiction

  • un conte est un type d'histoire (en tant que fiction)

  • un conte est pour les enfants

En stockant les informations sous forme de triplet, j'ai constitué ce qu'on appelle une base de connaissance. Si j'effectue ma recherche « histoire pour les enfants » et que le moteur intègre ma base de connaissance, le moteur sera capable de me proposer les réponses qui sont en rapport avec les contes alors que ma recherche ne comprend pas le mot conte, en revanche il ne prendra pas en compte les réponse liées à l'histoire de l'enfance.

Les ontologies ont une place primordiale dans ce processus de description de l'information, puisqu'en permettant de définir des concepts et de décrire les relations qui peuvent exister entre ces différents concepts, elles constituent la structure des bases de connaissance. C'est pourquoi elles se situent au dessus de RDF dans la vision schématique du Web sémantique. Pour construire des ontologies, le W3C a défini le vocabulaire OWL basé sur RDF et dont j'ai déjà parlé5. Ainsi, wikipedia dont le contenu peut être assimilé à une ontologie (comme toutes les encyclopédies) a commencé une réflexion en ce sens et constitue un formidable exemple des possibilités d'une ontologie.

Décrire l'information s'avère de plus en plus essentiel avec la multiplication des informations sur le Web. Il en va même de sa survie. La recherche basée uniquement sur le texte intégral va rapidement atteindre ces limites, même avec des algorithmes de pertinence basés sur la popularité qui ont fait leur preuve, mais dont on connaît les limites6. Embarquer des métadonnées à l'intérieur des ressources Web avec des vocabulaires comme Dublin Core est essentiel, mais ne constitue qu'une première étape dans cette voie. Les technologies mis au point au W3C dans le cadre du Web sémantique doivent permettre de mener à bien ce but.

Si, malgré cette explication, le concept de Web sémantique vous reste obscur, ce que je comprends complètement vu sa complexité, je vous conseille vivement la lecture de ce petit article : le web sémantique ou la mort annoncée des moteurs.

Quelques notes en passant

1 Les métadonnées de structure constituent le troisième type, mais elles désignent les balises utilisées pour structurer l'information.

2 Voir aussi chez blogokat : http://blogokat.canalblog.com/archives/2005/05/16/487738.html

3 Cette excellente définition est tiré de l'article d'Alexandre Serres (maître de conférence à l'URFIST de Rennes), « Recherche d'informations sur Internet : où en sommes-nous ? Où allons-nous ? », Savoirs CDI, juin 2004, [en ligne], http://savoirscdi.cndp.fr/CulturePro/actualisation/Serres/Serres.htm.

1 cf Karl Dubost, XML vers RDF, http://www.la-grange.net/2004/11/27.html#xml2rdf.

2 Je vous conseille aussi cette FAQ du W3C en français sur OWL, http://www.w3.org/2003/08/owlfaq.html.fr, qui n'était pas dans mon précédent billet.

3 Quelques moteurs proposent déjà des mécanismes de désambiguïsation de la recherche par contextualisation comme exalead.

RDF XML Causeries Indexation OWL — 

Commentaires

J’aime beaucoup comment, par les URI-titres, tu as peu faire passer une information (PageRank/Google/Google_Bombing)? Pour qui sait lire une barre d’état (ou les pop-up, mais c'est plus lent), c’est un délice, bravo. À part ça, je partage la crainte d’Éric Daspet quant à la sémantique et suis bien moins optimiste que toi : l’homme ment http://blog.empyree.org/?1023-semantique-et-nature-humaine (comme d’habitude, je ne reviendrais pas ici parce que bla bla, tu connais mon argumentaire)