Tim Izzo @5ika.ch

19.02.24

Web sémantique et communs digitaux

Cet article est une version originale de celui que j’ai écrit pour le blog d’Octree.

Le Web d’aujourd’hui est rempli de contenus. Chaque seconde, nous partageons des milliards d’informations entre humains: postes sur les réseaux sociaux, articles de blog, produits à vendre, pages de wiki, menu de restaurant, bulletins scolaires etc…

Bien que partagées numériquement, ces ensembles de lettres, mots et phrases ont du sens uniquement pour les humains qui les lisent. Aux yeux d’une machine, le Web ne représente que des suites de symboles qu’elle doit stocker et afficher sur un écran. C’est ainsi que l’a conçu son créateur Tim Berners-Lee au début des années 90: des documents textuels décentralisés et reliés entre eux par hyperliens.

Une dizaine d’années plus tard, Sir Berners-Lee et d’autres se sont rendu-compte que cette approche “par document” ne suffirait pas aux besoin grandissant de la société numérique: celle-ci a besoin que la machine comprenne la donnée afin de pouvoir la traiter, l’organiser et la générer (coucou l’IA). C’est ainsi qu’est né le concept de Web sémantique.

If you think of the web today as turning all the documents in the world into one big book, then think of the Semantic Web as turning all the data into one big database, or one big mathematical formula.

Tim Berners-Lee, The Semantic Web

Pour faire simple, le Web sémantique est une manière différente du HTML de représenter les données que l’on s’échange à travers Internet pour que la machine puisse la comprendre.

Comment ça fonctionne ? Rien de très compliqué. Prenons ce (petit) document HTML:

<p>
  Jane Doe est une développeuse qui travaille chez
  <a href="https://octree.ch">Octree</a>.
</p>

La machine ne saurait le comprendre pleinement mais si l’on souhaite faire du Web sémantique, on stockerait plutôt quelque chose qui ressemble à cela:

Jane est une personne avec le prénom Jane et le nom Doe
Jane a pour métier "développeur/euse"
Jane a pour lieu de travail Octree
Octree est une organisation
Octree a pour site web https://octree.ch

Techniquement, il y a plusieurs manières de représenter ces infos en utilisant une syntaxe de la famille RDF. Voilà un exemple avec la syntaxe Turtle:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/> .

:Jane rdf:type foaf:Person ;
    foaf:firstName "Jane" ;
    foaf:lastName "Doe" ;
    foaf:jobTitle ex:development ;
    foaf:workplace :Octree .

:Octree rdf:type foaf:Organization ;
    foaf:homepage <https://octree.ch> .

Grâce à cette représentation des données dite sémantique, la machine est capable d’identifier différents sujets (Jane, Octree, le métier ‘développement’) et des liaisons entre ces sujets.

Avec ce principe de liens caractérisés entre sujets, on peut ainsi créer une grande toile d’informations reliées et obtenir un réseau de connaissances. C’est l’idée derrière le projet Linked Open Data Cloud qui vise à connecter les données d’une multitude de sources (médicales, gouvernementales, géographiques, scientifiques, médiatiques,…) dans le but de créer de nouvelles connaissances en croisant les informations.

Le Web sémantique permet donc d’abattre les silos en créant des bases de données qui ne sont pas propres à un service ou un produit. Mieux! Il permet de créer de nouveaux services plus respectueux des utilisateurs en leur redonnant la main sur leurs données comme c’est le cas avec le projet Solid qui développe une manière alternative de consommer et d’échanger des données. Un autre exemple saillant: le Fediverse (porté notamment par le service Mastodon) fonctionne grâce au protocole ActivityPub, lui-même reposant essentiellement sur les technologies du Web sémantique.

L’IA profite également des avantages du Web sémantique. Le fonctionnement des LLMs, forme la plus publiquement connue d’IA aujourd’hui, consiste à ingérer une très grande quantité de données textuelles et constituer des modèles statistiques afin de prédire quel mot va suivre le précédent pour générer un nouveau texte (en très résumé). C’est une grande avancée ! Mais cela est également extrêmement énergivore (dans un contexte où la consommation d’énergie est un problème) et pourrait être grandement amélioré grâce au Web sémantique: pas besoin de faire de nombreux calculs et indexations si les informations sont déjà traitées et présentes dans un format compréhensible par la machine. Il n’y a qu’à se servir!

Chez Octree, nous avons commencé à mettre en place et utilisé des données sémantiques. Afin de prendre en main les concepts et technologies, nous avons suivi un projet de “sémantisation” qui consistait à centraliser les données des diverses outils que l’on utilise (Notion, Harvest, GitLab, Jelastic,…) dans une même base de données en format RDF. Cela nous permet désormais de pouvoir faire des requêtes transversales sur notre activité afin de créer des métriques facilitant la prise de décision. Par exemple, pour nous aider à cerner un besoin d’engagement: Combien de temps telle personne a passé sur des projets de type “civic tech” ?

Ce succès nous a permis ensuite de proposer un projet de sémantisation à l’un de nos clients cherchant à se rendre moins dépendant d’une solution ERP privée limitée dans ses possibilités. Ce projet est toujours en cours et il reste encore des questions à résoudre mais nous avons pu sans trop de difficulté libérer les données de l’entreprise et les mettre à disposition d’un Odoo.

Cette maîtrise du Web sémantique est importante pour nous car elle ouvre de grandes portes pour l’Open Data qui nous est chère. De part sa conception, ce Web pas si alternatif que ça met avant tout l’accent sur l’ouverture et le partage des données afin de créer un réseau de connaissance commun. C’est donc une brique de base inévitable pour nos prochains projets, mais aussi pour défendre un Web libre.

Ça vous intrigue ? On discute volontiers avec vous sur le sujet !



Publication précédente: ChatGPT et enseignement 11.06.23