Analyse sémantique

Signifiant, signifié, de quoi parle-t-on ?

Au tout début du XXème siècle, Louis Fer­di­nand de Saus­sure, dans ses Cours de lin­guis­tique Géné­rale, explo­rait la dif­fé­rence entre signi­fiant et signi­fié. Le signe, selon Saus­sure, com­prend deux faces, l’une ‑le signi­fiant – est l’image acous­tique, c’est à dire la face maté­rielle du signe, l’autre – le signi­fié – est le concept auquel, pour le locu­teur, cette image acous­tique renvoie.

On ne fume pas avec le mot pipe

Dès lors, la séman­tique va concer­ner les rap­ports entre le signi­fiant et le signi­fié, et les rap­ports entre signi­fiés eux-mêmes.

La séman­tique occupe une large place dans la lin­guis­tique, et dans le trai­te­ment auto­ma­tique des langues. L’en­jeu est majeur pour les sys­tèmes auto­ma­tiques car une machine ne peut se limi­ter à la forme des mots pour déci­der que deux textes disent la même chose. Il lui faut aller au-delà des mots en met­tant en jeu des tech­niques dont les fon­de­ments seront sim­ple­ment esquis­sés ici sur deux axes : 

  • la séman­tique lexi­cale, qui concerne la rela­tion entre le(s) signifiant(s) et le(s) signifié(s)
  • les réseaux séman­tiques qui concernent les rela­tions des signi­fiés entre eux

Sémantique lexicale

La séman­tique lexi­cal concerne la façon de décrire le sens des termes, soit en décri­vant leurs pro­prié­tés, soit en les com­pa­rant à d’autres termes.

Décrire les propriétés sémantiques d’un terme

Plu­sieurs types de pro­prié­tés peuvent être asso­ciés aux termes, pour décrire, par exemple :

  • à quel domaine le terme appar­tient (syl­vi­cul­ture, tech­no­lo­gies, loisirs)
  • quelles classes sont asso­ciées au terme (humain/­non-humain, objet, concept, véhicule).

Ces pro­prié­tés per­mettent de décrire le sens des objets, mais il va de soi qu’elles pré­sup­posent une vision orga­ni­sée du monde qui peut dépendre, notam­ment, du contexte. Ain­si, par exemple, les pro­prié­tés seront dif­fé­rentes si l’on parle d’in­dus­trie nucléaire ou de musique symphonique.

Comparer le sens à d’autres termes

Une autre façon de décrire le sens d’un terme est de le com­pa­rer à d’autres termes. Cette approche est la base des rela­tions uti­li­sées notam­ment dans la défi­ni­tion des thé­sau­rus et des taxi­no­mies, telles que la syno­ny­mie, l’an­to­ny­mie, la méro­ny­mie ou l’hyperonymie.

Com­pa­rer le sens des termes entre eux peut être éga­le­ment consis­ter à obser­ver les contextes dans les­quels ces termes appa­raissent. Par exemple, les dif­fé­rents sens du verbe nouer dans :

  • j’ai noué des liens d’amitié
  • j’ai noué ma cravate 

peut être confir­mée en chan­geant le contexte. La phrase sui­vante semble en effet bien étrange :

  • je suis allé por­ter mes liens d’a­mi­tié au pressing*

Com­pa­rer les contextes d’ap­pa­ri­tion des termes afin d’en défi­nir les sens est une approche cou­ram­ment employée en séman­tique, notam­ment au moyen d’algo­rithmes séman­tiques dédiés, comme l’approche vec­to­rielle ou le word embed­ding.

Qu’est-ce que l’approche vectorielle en sémantique ?

L’ap­proche vec­to­rielle en séman­tique consiste à construire un nuage de mots dans un espace vec­to­riel par l’a­na­lyse de cor­pus volu­mi­neux. [HdM: ajou­ter] Il s’a­git de l’ap­pli­ca­tion infor­ma­tique de la théo­rie du lin­guiste J.R. Firth selon laquelle on ne connait le sens d’un mot qu’à par­tir de son contexte (You shall know a word by the com­pa­ny it keeps).

Les algo­rithmes uti­li­sés sont proches de ceux uti­li­sés pour le clus­te­ring et per­mettent de posi­tion­ner les mots dans un espace vec­to­riel : les sens de deux mots seront d’au­tant plus proches que leur dis­tance rela­tive dans cet espace vec­to­riel sera faible.

Le word embedding, en quelques mots ?

Le word embed­ding pousse cette approche vec­to­rielle plus loin par l’u­ti­li­sa­tion d’al­go­rithmes à base d’ap­pren­tis­sage, et plus par­ti­cu­liè­re­ment à base de réseaux neu­ro­naux pro­fonds. L’ap­pren­tis­sage sur des cor­pus de don­nées volu­mi­neux per­met d’é­va­luer la pro­ba­bi­li­té occur­rence d’un terme dans un contexte don­né. Plus deux termes auront des pro­ba­bi­li­tés proches dans dif­fé­rents contextes, plus leurs sens seront consi­dé­rés comme proches.

Les pre­mières approches (algo­rithmes de type word2vec) condui­saient à asso­cier un unique vec­teur à chaque mot. Les approches plus récentes de type BERT prennent en compte le contexte, ce qui fait que le mot « avo­cat » peut se voir asso­cier des repré­sen­ta­tions dif­fé­rentes sui­vant que le contexte désigne un plat ou un tribunal.

Les réseaux sémantiques

Un réseau séman­tique, c’est d’a­bord un réseau, c’est à dire un modèle mathé­ma­tique. Ce peut être un arbre, comme dans le d’une taxi­no­mie ou un graphe, comme pour une onto­lo­gie.

Un exemple de réseau sémantique

Outre la struc­ture d’en­semble (arbre, treillis, graphe), les réseaux séman­tiques dif­fé­rent par la nature des rela­tions sur les­quelles ils sont construits. Le plus ancien réseau lexi­cal ayant pour ambi­tion de cou­vrir la langue géné­rale est Word­Net, déve­lop­pé ini­tia­le­ment (en 1998) pour des études psy­cho-lin­guis­tiques sur l’an­glais mais qui est lar­ge­ment uti­li­sé en Trai­te­ment Auto­ma­tique des Langues. Le pro­jet est tou­jours actif.

schema.org, un exemple de réseau sémantique

schema.org est une ini­tia­tive lan­cée par un consor­tium de moteurs de recherche afin d’ai­der à l’in­dexa­tion des pages Inter­net afin de rendre la recherche d’in­for­ma­tion plus pertinente.

Ce réseau séman­tique est ain­si for­te­ment contraint par les usages, il doit :

  • cou­vrir un large péri­mètre séman­tique, mais ne pas aller au-delà de ce périmètre
  • s’a­dres­ser à un large public (celui des spé­cia­listes de l’op­ti­mi­sa­tion de la recherche d’information)
  • répondre aux contraintes tech­niques et séman­tiques des moteurs de recherche

Ce réseau séman­tique repose sur deux types de relations:

  • des rela­tions d’hyperonymie/hyponymie : chaque TYPE de schema.org est plus spé­ci­fique que le TYPE dont il dépend
  • des rela­tions de pro­prié­tés : chaque TYPE peut rece­voir plu­sieurs pro­prié­tés, elles-mêmes défi­nies dans une hiérarchie.

Le choix a été fait de consi­dé­rer que tout ce qui peut être décrit dans une page Web est une CHOSE (THING), et que ces choses se déclinent en grandes catégories :

  • Thing
    • actions
    • oeuvres créa­tives
    • évé­ne­ments
    • choses intan­gibles
    • orga­ni­sa­tions
    • per­sonnes
    • endroits
    • pro­duits

On le voit, la défi­ni­tion d’un réseau séman­tique est for­te­ment dépen­dante du contexte dans lequel on le défi­nit. En l’occurrence, l’or­ga­ni­sa­tion du réseau séman­tique schema.org répond bien aux contraintes opé­ra­tion­nelles, notam­ment en posi­tion­nant des concepts tels que Orga­ni­sa­tion ou Pro­duit aus­si haut dans la hiérarchie. 

L’analyse sémantique, à quoi ça sert ?

Les appli­ca­tions de l’a­na­lyse séman­tique couvrent un large éven­tail de situa­tions, tant dans le domaine de la recherche que dans le domaine indus­triel. Vous trou­ve­rez ci-des­sous plu­sieurs cas d’u­sage qui illus­trent leur uti­li­sa­tion dans le domaine industriel.

L’a­na­lyse séman­tique peut, par exemple, aider à :

  • résoudre des anaphores
  • indexer des documents
  • désa­m­bi­guï­ser des termes

Analyse sémantique et résolution d’anaphores

Consi­dé­rons l’exemple suivant :

  • Le bus a ren­ver­sé un passant
    • je l’ai enten­du freiner
    • je l’ai enten­du crier

Le cli­tique pré­ver­bal – ce petit l coin­cé entre je et ai – peut ren­voyer soit au bus soit au mal­heu­reux pas­sant. Seule une ana­lyse séman­tique pour­ra en déter­mi­ner la référence.

Le type de séquences ci-des­sus est appe­lé sché­ma Wino­grad (du nom de Ter­ry Wino­grad, un des pion­niers de l’IA) et est actuel­le­ment uti­li­sé comme une mesure de la qua­li­té des sys­tèmes d’a­na­lyse sémantique.

Analyse sémantique et indexation de documents

L’a­na­lyse séman­tique peut inter­ve­nir lors de la phase d’indexa­tion d’un docu­ment, ou lors de la recherche.

Lorsque l’indexa­tion est effec­tuée selon une liste d’au­to­ri­té ou une taxi­no­mie, l’a­na­lyse séman­tique peut aider à iden­ti­fier les termes d’in­dexa­tion en fonc­tion du conte­nu du document.

Lors d’une recherche, l’a­na­lyse séman­tique peut désa­m­bi­guï­ser la requête, afin de la rendre plus pré­cise, et ren­voyer moins de docu­ments, ou, au contraire l’é­tendre à d’autres termes séman­ti­que­ment proches afin de ren­voyer plus de documents. 

Analyse sémantique et désambiguïsation

La force du lan­gage vient du fait que les termes sont ambi­gus, cepen­dant, cette ambi­guï­té peut néces­si­ter d’être levée, par exemple pour l’in­dexa­tion de docu­ments. L’a­na­lyse séman­tique pour­ra per­mettre de lever des ambi­guï­tés en fonc­tion du contexte. On pour­ra par exemple faire la dif­fé­rence entre avocat[humain] et avocat[non-humain] dans l’exemple suivant :

  • l’a­vo­cat a écrit un long plaidoyer 
  • l’a­vo­cat est un fruit qui peut se man­ger en salade

La langue est ain­si faire que ces approches ont des limites. Ain­si, par exemple, si dans la phrase l’a­vo­cat est par­ti sans payer, il est dif­fi­cile de déter­mi­ner qu’il s’a­git d’une métonymie. 

Par Alain Couillault
PhD Chargé de Mission Innovation APIL