Accueil Nos publications Blog Introduction au Web Sémantique : des limitations du Web

Introduction au Web Sémantique : des limitations du Web

“Web Sémantique”, c’est une belle expression non? Toute mignonne qu’elle soit, elle en dit cependant bien peu sur la nature exacte du Web Sémantique. Pire encore, l’utilisation du terme “sémantique”, traditionnellement issu des domaines de l’intelligence artificielle ou du traitement du langage a été la source de malentendus fâcheux. En effet, contrairement à ce que l’usage du mot “sémantique” pourrait suggérer, le Web Sémantique n’est pas la promesse d’une application intelligente comprenant la parole et les écrits humains ou d’un mega système expert contenant la connaissance présente sur le Web. Il s’agit plus modestement d’un ensemble de technologies et de pratiques permettant à des programmes et des agents logiciels d’accéder aux ressources du Web. Pour être rigoureux, on devrait alors parler de “technologies du Web Sémantique” ou encore de “Web de données”. Cette dernière expression est apparue plus récemment et correspond mieux à la vision originelle des promoteurs du Web Sémantique.

Tout ça n’est pas très clair mais ça va venir! Cet article est le premier épisode d’une série dédiée au Web Sémantique. Il s’agit d’un petit cours d’histoire qui nous permettra de redécouvrir le Web et de souligner ses limites. Dans les épisodes suivants, nous verrons comment le Web Sémantique peut y répondre. Nous nous plongerons alors avec bonheur dans les différents formalismes que le W3C nous propose d’utiliser pour implémenter tout ça.

A l’origine…

…il y a le World Wide Web. Ce terme désigne une application permettant de partager des documents à travers un réseau de machines. Cette application se fonde sur les technologies suivantes :

  • les URL (Uniform Resources Locator) qui permettent d’identifier un document de façon univoque. En d’autres termes, l’URL permet de répondre à la question : ou se trouve mon document?
  • le langage HTML (Hypertext Markup Language) qui permet de décrire un document de manière hiérarchique. Il propose également un mécanisme pour formaliser les hyperliens. En d’autres termes, le langage HTML permet de répondre à la question : comment est organisé mon document et à quels documents est-il lié?
  • le protocole HTTP (Hypertext Transfert Protocol) qui permet d’établir une procédure permettant de manipuler une ressource à travers un réseau (IP dans le cas d’Internet). En d’autres termes, le protocole HTTP permet de répondre à la question : de quelle façon puis-je récupérer mon document?

Le World Wide Web est trop souvent confondu avec Internet alors qu’il n’est qu’un simple service de distribution de documents. Il existe de nombreux autres services adossés à Internet (courrier électronique, transfert de fichiers, messagerie instantanée, accès à distance, etc.) et le Web n’est qu’une application parmi d’autres.
Ces 3 technologies ont été élaborées par Tim Berners-Lee au début des années 90. Il s’agissait alors d’adresser les problèmes posés par la gestion d’information au sein du CERN, l’organisation européenne pour la recherche nucléaire. Le CERN (à l’époque de la création du Web mais c’est sans doute toujours le cas) est une structure de très grande taille, et les interactions entre les différents acteurs ne forment pas un schéma hiérarchique figé mais plutôt une “toile” dont les composants évoluent avec le temps [1]. En gros, comme dans la vraie vie, ça ressemble plus à Mumbai qu’à la Suisse Alémanique.
Dès lors, il est très compliqué de maintenir un système centralisé et/ou hiérarchique et des pertes d’information deviennent inévitables. La réponse a ce problème consiste à maintenir un système d’information qui évolue de la même manière que l’organisation qui l’héberge. Tim Berners-Lee propose alors d’utiliser la technique des hyperliens [2]. Les documents liées entre eux par les hyperliens forment ainsi la “toile” qui répond au schéma organisationnel du CERN. Le Web était né.

https://www.w3.org/Talks/WWW94Tim/web[/caption]

Dans sa proposition initiale, Tim Berners-Lee propose également de connecter des ressources structurées comme des bases de données, des annuaires ou des systèmes de gestion de fichiers [1]. Dans les faits, le Web est constitué de texte et de ressources multimédias dont le seul élément structurant est l’ensemble des hyperliens. Du point de vue d’un utilisateur humain, ce Web fonctionne magnifiquement. Il est très simple de consulter les pages et de suivre les liens au gré de ses lectures. Il est également aisé de publier ses propres pages et de les connecter afin de les intégrer au Web. En revanche, du point de vue d’une machine, il s’agit juste d’un réseau composé de ressources et de liens n’ayant aucun sens. La nature des liens et des ressources sont des informations qui ne sont accessibles qu’à un humain (sachant lire bien sur!). Les capacités cognitives des machines sont (pour le moment?) bien trop limitées pour espérer pouvoir exploiter le Web tel qu’il existe aujourd’hui. Voici un petit exemple pour mettre les choses bien en place.

La vache est un herbivore

La page A contient l’affirmation suivante : “la vache est un ruminant”. Elle contient également un hyperlien vers la page B.

Page A :
<html>
<head>
<title>La vache</title>
</head>
<body>
<p>La vache est un <a href=”pageB”>ruminant</a>.</p>
</body>
</html>
Page B :
<html>
<head>
<title>Les ruminants</title>
</head>
<body>
<p>Les ruminants sont herbivores.</p>
</body>
</html>

Que peut nous dire la machine (le browser d’un internaute par exemple) au sujet de la page A? Que la page contient un titre et un paragraphe qui contient lui même un lien vers la page B. En réalité, ce n’est pas grand chose au regard du contenu réel des 2 pages. Seul un lecteur humain peut comprendre la nature du lien entre les pages et le sens des affirmations “La vache est un ruminant.” et “Les ruminants sont herbivores.”. Ainsi, seul un humain est capable d’aboutir à la conclusion “La vache est un herbivore”, et seulement après avoir consulté les 2 pages. Est-il possible de faire mieux? La machine peut-elle comprendre le sens de ce lien et établir elle même cette conclusion?

Une vache © DDP/AFP/archives Steffi Loos[/caption]

Et dans la vraie vie…

Il s’agit bien sur d’un cas d’école mais il n’est pas très difficile d’imaginer des situations plus concrètes. Par exemple, Bob souhaite aller au théatre :

  • Bob va tout d’abord aller sur le site A et va remplir un formulaire de recherche,
  • Bob trouve une pièce sympa (l’affiche est jolie) proche de chez lui. Mais Bob souhaite en savoir un peu plus au sujet de la pièce,
  • Bob utilise donc son moteur de recherche préféré et tombe sur le site B qui publie l’avis des internautes au sujet de la pièce,
  • Bob consulte les avis et décide de tenter sa chance mais Bob est un peu fauché. Les prix du site A sont prohibitifs et le site B ne vend pas de places.
  • Bob surfe un peu sur le site B et tombe sur un lien vers le site C qui propose des tarifs discounts,
  • Bob est satisfait et achète sa place.

Afin d’aller voir sa pièce, Bob a rempli un formulaire, a utilisé un moteur de recherche et a surfé un moment. Conclusion, c’est inefficace. Imaginons désormais qu’une machine puisse comprendre les éléments (la pièce de théâtre, les avis, les prix) qui ont structuré la recherche et la nature des liens entre ces éléments. Il serait alors possible d’agréger ces informations afin de faciliter la vie de Bob.

Mais les difficultés de Bob ne s’arrêtent pas là. Bob fréquente assidûment les réseaux sociaux. Il poste ses photos sur Flickr ou Picasa, ses videos sur Youtube, ses créations musicales sur Myspace (Bob est un artiste). Il gère ses contacts professionnels grâce à LinkedIn, publie ses lectures sur Twitter et fait un peu tout ça à la fois sur Facebook. Bob doit donc gérer manuellement plusieurs identités distinctes. C’est pénible et ça soulève également quelques questions ennuyeuses au sujet du contrôle réel que Bob exerce sur les données publiées. Imaginons maintenant que les machines puissent établir que Bob reste Bob sur Flickr, Facebook, Twitter et Co. et éventuellement sur son propre site web. Imaginons que les mêmes machines puissent établir que Joe fait partie du réseau de Bob et que Joe reste Joe sur Flickr, Facebook, Twitter et Co. Il devient alors possible d’établir ce lien une bonne fois pour toute (sous le contrôle de Bob, bien sur), le rendant ainsi disponible à tous les services de réseau social utilisés par Bob. Ainsi, Bob peut gérer son identité numérique de manière cohérente et exercer un contrôle plus grand sur les données qu’il publie.

Dans tout les cas, il ne s’agit pas de rendre la machine intelligente mais de formaliser les ressources et les liens disponibles sur le Web afin qu’ils puissent être compris par les machines. Le réseau issu de cette “formalisation” est appelé le “Web de données”. Ce Web de donnée n’a pas vocation à remplacer le Web mais à l’étendre en le rendant peu à peu accessible aux machines.

https://www.w3.org/Talks/WWW94Tim/web[/caption]

Conclusion

Dans ce premier article, nous avons vu que le Web de documents tel que nous le connaissons ne répond pas si bien aux problématiques d’accès et de contrôle de l’information. Dans le prochain épisode, nous allons voir comment il est possible d’adresser ces problématiques en mettant en place le Web de données. Nous discuterons alors des différents formalismes développés par le W3C afin d’atteindre ce but.

Références

[1] https://www.w3.org/History/1989/proposal.html
[2] https://www.w3.org/Proposal.html

Remerciements

https://www.lespetitescases.net/