Je vous parlais en décembre de ce que sera réellement le web 3.0. Je vous expliquais qu’une part de mystère entoure encore la façon dont il sera concrètement utilisé. Dans ce billet, je mettais surtout l’accent sur l’interconnexion des objets. Mais il y a une autre façon de voir les choses, qui est celle de Tim Berners-Lee, le créateur du protocole www (World Wide Web). Cette façon de voir les choses, l’informaticien anglais l’appelle le GGG. Quel concept ce cache sous ce nouveau sigle ?
Le concept du GGG est en réalité complémentaire du concept de l’IdO (internet des objets), et je pense qu’il faut y voir une grande cohérence entre les deux (plutôt qu’une confusion). D’une certaine façon, on pourrait dire que le GGG est au WWW ce que l’IdO est à l’internet. Je m’explique. L’internet d’aujourd’hui, c’est encore essentiellement l’internet des ordinateurs. Certes, nous pouvons désormais surfer sur internet via notre smartphone ou notre tablette, mais il ne s’agit là que d’une extension du concept d’ordinateur, en direction des « terminaux mobiles ». Ce que promet l’IdO, c’est l’extension de l’interconnexion au monde des objets, tout type d’objet, équipements électroménagers, systèmes d’éclairage ou de chauffage (domotique), véhicules, vêtements, accessoires, bref tout ce qui peut incorporer un microcapteur. Autrement dit, le web 3.0 promet de donner du sens à l’ensemble plus vaste des objets constituant la cellule de vie d’un foyer, d’une personne, et même d’une société ou d’une communauté.
Sur cette base, l’idée du GGG est d’étendre le WWW sur le même principe : en considérant le contenu internet non plus comme le réseau des pages HTML (sous forme d’hyperliens), mais comme le réseau des « objets sémantiques » contenus dans les pages HTML, c’est-à-dire comme le réseaux des objets qui interprètent sur la toile notre quotidien, en quelque sorte.
Prenons un exemple pour être plus clair. Vous êtes en quête d’acheter un casque audio. Vous tapez « casque audio » sur votre moteur préféré, vous cliquez et vous arrivez sur une liste de casques, sur une boutique lambda. En première analyse, on peut remarquer que le web est déjà sémantique, puisqu’en deux clics on trouve un contenu pertinent. En seconde analyse, on comprendra cependant que cette sémantique est « externe », car la signification du contenu est simplement reconstituée par les algorithmes des moteurs de recherche. Lorsque Google, ou un autre moteur, analyse la page listant les casques audio, il décompte un certain nombre d’occurrences du mot « casque » et en déduit qu’il s’agit d’un contenu traitant principalement des casques. Mais son interprétation est très incomplète, pour plusieurs raisons : il ne saisit pas nécessairement la différence entre une liste de casques et une fiche décrivant un casque en particulier, si la structure HTML de la page ne l’aide pas (en utilisant des listes), il ne saisit le lien avec les produits apparentés (dans notre cas un adaptateur jack par exemple) que s’il a un modèle taxinomique préconçu. Mais surtout, il faut comprendre que cette interprétation du contenu est subjective, puisque laissée à la discrétion des moteurs.
D’où l’idée suivante : ne serait-ce pas possible d’inclure la sémantique directement dans le contenu, pour en avoir une interprétation aussi objective que possible? Là réside précisément l’idée du graphe global. Une page HTML ne serait plus seulement composée d’éléments organisant son architecture (les fameuses balises div, span, ul, li, h1, p…), mais d’éléments sémantiques. Comment? Tout simplement en incorporant les concepts sous forme de metadonnées. Comment? En qualifiant chaque balise par la sous-catégorie correspondante, dans notre cas par la balise :
<item rdf:about=lien vers la sous-catégorie Casques>Casque</item>
(plutôt que <item>Casque</item>)
Voici donc le principe du GGG. Alors que le web 2 décrit les pages et les liens entre elles, le GGG décrit les métadonnées incorporées dans les pages web. En réalité c’est encore un peu plus compliqué que cela car il existe plusieurs couches pour élaborer un langage sémantique complet (RDF, OWL, XML, XSD, SPARQL…). D’ailleurs, à strictement parler, le GGG ne comprend pas seulement le web sémantique mais également le web subsomptif ou taxinomique, qui donne les relations hiérarchiques entre les concepts.
Alors évidemment, cela suppose de construire une ontologie décrivant le réseau sémantique du web, sous forme conceptuel et taxinomique (les concepts étant précisément définis par leurs relations hiérarchiques). Dans notre cas, la sous-catégorie sera donc par exemple « casques audio », classée dans la sous-catégorie « composants audio », elle-même classée dans la sous-catégorie « audio », elle-même classée dans la sous-catégorie « appareils électroniques », et ainsi de suite. La construction d’une telle arborescence représente tout l’enjeu de ce qu’on appelle l’ontologie de données ou ontologie du web. D’après Thomas Gruber, une bonne ontologie doit respecter cinq critères :
- la clarté : elle doit traduire un sens objectif, fixé en langage naturel par des conditions nécessaires et suffisantes ;
- la cohérence : il ne doit pas y avoir de contradiction entre les concepts et leur hiérarchie ;
- l’extensibilité : on doit pouvoir ajouter de nouveaux concepts sans remettre en cause l’ontologie existante ;
- la fidélité : l’ajout d’un nouveau concept doit traduire le plus fidèlement possible le sens voulu ;
- la neutralité : l’engagement ontologique doit être minimal.
Si l’objectif des ontologies de données est de modéliser un ensemble de connaissances dans un domaine donné, force est de constater que le chemin à parcourir est encore considérable pour avoir une bonne modélisation du monde réel et idéel. De plus, on ne pourra jamais obtenir une ontologie parfaite, tout simplement parce qu’une part de subjectivité sera toujours présente, en tant que principe structurant l’ontologisation : une base de connaissance ne pourra jamais expliquer sa propre cohérence (on n’échappe pas au théorème de Gödel !). Je reviendrai cet hiver sur le sujet pour donner plus de précisions techniques sur cette évolution ô combien majeure de notre cher internet.
Exemple d’une ontologie de données – Les 570 ensembles de données sont reliés par un jeu de 2909 liens (cliquez pour agrandir)