I. Introduction

Le Web sémantique (plus techniquement appelé « le Web de données ») permet aux machines de comprendre la sémantique, la signification de l'information sur le Web. Il étend le réseau des hyperliens entre des pages Web classiques par un réseau de lien entre données structurées permettant ainsi aux agents automatisés d'accéder plus intelligemment aux différentes sources de données contenues sur le Web et, de cette manière, d'effectuer des tâches (recherche, apprentissage, etc.) plus précises pour les utilisateurs. Le terme a été inventé par Tim Berners-Lee, co-inventeur du Web et directeur du W3C, qui supervise l'élaboration des propositions de standards du Web sémantique.

La plupart du temps, lorsque l'on prononce le terme de Web sémantique, on parle des différentes technologies qui se cachent derrière. Parmi les plus connues, on peut citer RDF (Ressource Description Framework) qui correspond à un modèle d'information, et les formats d'échanges de données en RDF pour communiquer entre différentes applications (RDF/XML, RDF/JSON, N3, Turtle, N-Triples et d'autres). Dans le domaine du Web sémantique, la sémantique des données est décrite par des ontologies - ce terme sera défini plus loin dans l'article - avec des langages prévus pour fournir une description formelle de concepts, termes ou relations d'un domaine quelconque. Ces langages sont RDFS (Ressource Description Framework Schema) et OWL (Web Ontology Language). Il existe aussi des langages de description des données structurées dans du XHTML afin que des outils effectuent un traitement automatique de ces différentes données. Ces langages sont RDFa et Microformat et, nouvellement arrivé avec HTML 5, Microdata. Voici d'ailleurs un article qui vous introduit le langage RDFa et un autre sur les Microdata. Ensuite, pour finir avec la liste des technologies, il existe un langage de requête, au même titre que SQL pour les bases de données relationnelles, SPARQL, qui effectue des requêtes mais sur des triplets RDF. Il en existe d'autres (RQL et RDQL), mais ils sont bien moins utilisés.

II. Histoire du Web sémantique

En 1994, lors de la première conférence WWW à Genève, plus précisément au CERN, a lieu l'annonce de la création du W3C. C'est d'ailleurs à cette période que Tim Berners-Lee dresse les objectifs du W3C et montre les besoins d'ajouter de la sémantique au Web futur. Il montre alors en quoi les liens hypertextes ou, plus précisément, la façon dont on met en relation les documents sur le Web est trop limitée pour permettre aux machines de relier automatiquement les données contenues sur le Web à la réalité. Compte tenu de l'ambition d'un tel projet, cette idée suscite quelques résistances et controverses qui sont classiquement rencontrées dès qu'on aborde des problématiques liées au domaine de l'intelligence artificielle.

Après cette conférence, mise à part la mise en place des recommandations nécessaires à la construction des documents, le W3C nouvellement créé entame les premières réflexions sur la mise en place du Web sémantique. Ces réflexions aboutissent à la publication d'un premier draft de recommandations sur le Web sémantique en octobre 1997 et d'une seconde en avril 1998. Cette même année, Tim Berners-Lee publie un document sur les toutes premières moutures de ce qui sera plus tard appelé le Web sémantique. Ces moutures consistent à mettre en place les différentes technologies du Web sémantique. Dans ce document, il présente le Web sémantique comme une sorte d'extension du Web des documents, qui constitue une base de données à l'échelle mondiale, afin que toutes les machines puissent mieux lier les données du Web. Cette feuille de route se matérialise par une représentation graphique, le « layer cake », qui montre l'agencement des différentes briques technologiques du Web sémantique.

layer cake
layer cake

Par ailleurs, en 1999, Tim Berners-Lee publie le livre Weaving the Web dans lequel il dresse un portrait du Web et les pistes pour son avenir. Les idées du Web sémantique n'en sont évidemment pas absentes. C'est d'ailleurs cette même année qu'il énonça sa célèbre citation :

I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A "Semantic Web", which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The "intelligent agents" people have touted for ages will finally materialize.

J'ai fait un rêve pour le Web [dans lequel les ordinateurs] deviennent capables d'analyser toutes les données sur le Web - le contenu, les liens et les transactions entre les personnes et les ordinateurs. Un « Web sémantique », qui devrait rendre cela possible, n'est pas encore sorti, mais, quand ce sera le cas, les mécanismes d'échange au jour le jour, la bureaucratie et notre vie quotidienne seront traités par des machines qui parlent à d'autres machines. Certains nous ont vanté depuis des lustres les « agents intelligents » et cela va enfin se concrétiser.

Citation provenant de : http://en.wikipedia.org/wiki/Semantic_Web

III. Objectifs du Web sémantique

Un des principaux objectifs du Web sémantique est de permettre aux utilisateurs d'utiliser la totalité du potentiel du Web : ainsi, ils pourront trouver, partager et combiner des informations plus facilement. Aujourd'hui tout le monde est capable d'utiliser des forums, d'utiliser des réseaux sociaux, de chatter, de faire des recherches ou même d'acheter différents produits. Néanmoins, il serait mieux que la machine fasse tout ceci à la place de l'homme, car actuellement, les machines ont besoin de l'homme pour effectuer ces tâches. La raison principale est que les pages Web actuelles sont conçues pour être lisibles par des êtres humains et non par des machines. Le Web sémantique a donc comme principal objectif que ces mêmes machines puissent réaliser seules toutes les tâches fastidieuses comme la recherche ou l'association d'informations et d'agir sur le Web lui-même.

IV. Le Web sémantique et le Web 3.0

La communauté du Web dans son ensemble à tendance à dire que les deux termes " Web sémantique " et " Web 3.0 " représentent à peu près le même concept, si ce n'est pas totalement interchangeable. La définition continue de varier en fonction des gens avec qui vous parlez. L'avis général est que le Web 3.0 est très certainement la prochaine grande révolution, mais il se trouve que, pour le moment, ce ne sont que des spéculations quant à ce qu'il pourrait être. Il y aura encore de grosses améliorations, mais en gardant la plupart des propriétés du Web 2.0. Il y en a certains qui prétendent que le Web 3.0 sera plus applicatif et centrera ses efforts vers des environnements plus graphiques, d'autres qui prétendent qu'il sera plus axé sur la recherche d'information géographique basées sur la géolocalisation ou encore même utiliser les nombreux progrès en intelligence artificielle.

V. Le Web sémantique souvent critiqué

Comme vous avez pu le deviner, le Web sémantique permet à tous d'en savoir plus sur les sujets qui les intéressent. Cela signifie a contrario que diverses institutions peuvent récolter des informations sur vous librement et donc constituer des dossiers. Ces institutions peuvent être des agences de publicité, de sécurité ou même des services de renseignements. Et ceci tout en restant dans la légalité car, dans 90 % des cas, ces informations sont mises en ligne volontairement ou non par les utilisateurs, sans qu'ils se doutent du « danger » que peut représenter cette action.

Le Web sémantique est aussi critiqué à cause de sa lourdeur : les langages utilisés pour le Web sémantique sont très verbeux car dérivés du XML et donc souvent pénible à utiliser. De ce fait, l'écriture d'ontologies est souvent très problématique car elle exige une spécialisation dans un domaine particulier et, lorsque l'on ne maîtrise pas ce domaine, elle devient très difficile à créer. Ainsi, certaines personnes disent qu'il est préférable d'utiliser des « words tags » (ce sont une série de mots clés qui permettent de qualifier une ressource) à la place des ontologies.

VI. L'ontologie, outil principal du Web sémantique

Nous allons dans cette partie expliquer de manière non technique ce qu'est une ontologie. Gardez aussi à l'esprit que c'est une introduction et que la façon dont je définis cet outil n'est pas à 100 % exact si l'on rentre dans les détails mais vous permettra de comprendre facilement le principe.

VI-A. Définition

L'ontologie est la base de ce que l'on appelle la représentation des connaissances. Ce domaine est né de la volonté des chercheurs de représenter diverses connaissances du monde actuel, de façon à ce qu'elles soient utilisables par des ordinateurs, pour qu'ils puissent effectuer des raisonnements sur ces connaissances. Ces connaissances sont exprimées sous forme de symboles auxquels on donne une « sémantique » (un sens).

Imaginons la problématique suivante : vous voulez interroger une base de données contenant diverses ressources (textes, images, vidéos...) et une requête (question ou mot(s) clé(s)), comment trouver les données se trouvant dans cette base qui correspondent à cette requête ?

Par exemple tapez dans votre moteur de recherche préféré les mots suivants : « ordinateur portable » puis « laptop ». Vous pouvez vous apercevoir que les résultats ne sont pas du tout les mêmes, alors que, vu que les deux mots représentent la même chose, on pourrait s'attendre à trouver les mêmes réponses.

Que se passe-t-il ? En fait, le moteur de recherche compare des mots sans prendre en compte leur sémantique (sens). Il exécute uniquement une recherche strictement syntaxique et donc sans réflexion car « ordinateur portable » et « laptop » représentent le même concept (la même chose), que nous appellerons maintenant des classes pour respecter la terminologie du Web sémantique. Plus précisément, on peut dire que la relation de spécialisation sur les classes n'est pas gérée. Par exemple, « notebook » est une spécialisation de la classe générale « laptop ». Ainsi, pour raisonner, il ne faut plus se baser sur les mots mais sur les classes. Mais que signifie raisonner ? Raisonner c'est utiliser sa raison pour démontrer quelque chose. C'est un terme très souvent employé en intelligence artificielle.

Illustration en comparant deux moteurs de recherche :

Avec Orange : Image non disponible

Avec Google : Image non disponible

Vous pouvez donc voir que sur le moteur d'Orange, la première occurrence est la réponse à notre question et qu'ensuite il y a les réponses résultant de la recherche syntaxique. Alors que sur Google il n'y a que la recherche syntaxique. Cette différence et tout simplement due à l'utilisation d'ontologies de la part du moteur d'Orange.

Ainsi pour résoudre ce problème on construit ce que l'on appelle des bases de connaissances qui sont constituées :

  • d'une ontologie : une collection de classes et de relations (que nous appellerons propriété pour les mêmes raisons que concept) entre ces classes ;
  • de règles : une expression de contraintes sur les propriétés et les classes de l'ontologie ;
  • de faits : des instances de l'ontologie.

VI-B. Exemple de construction d'une ontologie

Faisons maintenant un petit exemple d'ontologie sur la famille Simpson pour illustrer tout ceci. Tout d'abord les concepts : {Human, Child, Boy, Girl, Male, Man, Female, Woman, Adult} qui nous donne la représentation suivante entre ces classes :

Image non disponible

Ensuite, occupons-nous des propriétés : {relatedWith(Human, Human), siblingOf(Human, Human), sisterOf(Female,Human), brotherOf(Male,Human), ancestorOf(Adult, Human), parentOf(Adult, Human), fatherOf(Man, Human), motherOf(Woman, Human), marriedTo(Adult, Adult), childOf(Human, Adult)}. Ce qui nous donne la représentation suivante entre ces propriétés :

Image non disponible

Maintenant admettons quelques règles, logiques pour un humain sur ces classes et propriétés :

  • règle 1 : si une classe "Male" appartient à une propriété "brotherOf" avec une classe "Female" alors la classe "Female" appartient à la propriété "sisterOf" avec la classe "Male" ;
  • règle 2 : réciproque de la règle 1 ;
  • règle 3 : si une classe "Adult" appartient à une propriété "parentOf" avec une classe "Human" alors la classe "Human" appartient à la propriété "childOf" avec la classe "Adult" ;
  • règle 4 : réciproque de la règle 3.

De cette manière, on peut facilement imaginer toutes les règles possibles entre ces propriétés et classes. Pour finir prenons quelques instances : {Bart, Lisa, Homer}. On dit ensuite que l'instance "Bart" appartient à la classe "Boy", "Lisa" appartient à la classe "Girl" et "Homer" appartient à la classe "Man". On dit ensuite que "Bart" est le frère de "Lisa" et que "Bart" et "Lisa" sont les enfants de "Homer" avec nos propriétés.

Notre ontologie ainsi construite, il nous est maintenant facile d'effectuer les requêtes suivantes dessus :

  • est-ce que Lisa est la sœur de Bart ?
  • est-ce que Homer est un parent de Lisa et Bart ?

Bien entendu cette ontologie est ridiculement petite et facile comparée aux ontologies de domaines plus complexes. Mais, maintenant que vous savez ce qu'est une ontologie, vous pouvez vous amuser à continuer l'ontologie de la famille Simpson en ajoutant des propriétés, des classes, des règles et des instances.

VI-C. Quelques ontologies déjà existantes

Je vous donne ici une liste non exhaustive d'ontologies existantes :

VII. Conclusion

Vous en savez maintenant beaucoup plus sur le Web sémantique et j'espère que je vous ai donné envie d'en apprendre plus sur ce domaine encore trop méconnu.

VIII. Remerciements

Merci à dourouc05 pour son aide à la rédaction de cet article. Ainsi qu'à ClaudeLELOUP et jacques_jean pour leur correction orthographique.