Analyse sémantique
Sommaire
Signifiant, signifié, de quoi parle-t-on ?
Au tout début du XXème siècle, Louis Ferdinand de Saussure, dans ses Cours de linguistique Générale, explorait la différence entre signifiant et signifié. Le signe, selon Saussure, comprend deux faces, l’une ‑le signifiant – est l’image acoustique, c’est à dire la face matérielle du signe, l’autre – le signifié – est le concept auquel, pour le locuteur, cette image acoustique renvoie.
Dès lors, la sémantique va concerner les rapports entre le signifiant et le signifié, et les rapports entre signifiés eux-mêmes.
La sémantique occupe une large place dans la linguistique, et dans le traitement automatique des langues. L’enjeu est majeur pour les systèmes automatiques car une machine ne peut se limiter à la forme des mots pour décider que deux textes disent la même chose. Il lui faut aller au-delà des mots en mettant en jeu des techniques dont les fondements seront simplement esquissés ici sur deux axes :
- la sémantique lexicale, qui concerne la relation entre le(s) signifiant(s) et le(s) signifié(s)
- les réseaux sémantiques qui concernent les relations des signifiés entre eux
Sémantique lexicale
La sémantique lexical concerne la façon de décrire le sens des termes, soit en décrivant leurs propriétés, soit en les comparant à d’autres termes.
Décrire les propriétés sémantiques d’un terme
Plusieurs types de propriétés peuvent être associés aux termes, pour décrire, par exemple :
- à quel domaine le terme appartient (sylviculture, technologies, loisirs)
- quelles classes sont associées au terme (humain/non-humain, objet, concept, véhicule).
Ces propriétés permettent de décrire le sens des objets, mais il va de soi qu’elles présupposent une vision organisée du monde qui peut dépendre, notamment, du contexte. Ainsi, par exemple, les propriétés seront différentes si l’on parle d’industrie 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 comparer à d’autres termes. Cette approche est la base des relations utilisées notamment dans la définition des thésaurus et des taxinomies, telles que la synonymie, l’antonymie, la méronymie ou l’hyperonymie.
Comparer le sens des termes entre eux peut être également consister à observer les contextes dans lesquels ces termes apparaissent. Par exemple, les différents sens du verbe nouer dans :
- j’ai noué des liens d’amitié
- j’ai noué ma cravate
peut être confirmée en changeant le contexte. La phrase suivante semble en effet bien étrange :
- je suis allé porter mes liens d’amitié au pressing*
Comparer les contextes d’apparition des termes afin d’en définir les sens est une approche couramment employée en sémantique, notamment au moyen d’algorithmes sémantiques dédiés, comme l’approche vectorielle ou le word embedding.
Qu’est-ce que l’approche vectorielle en sémantique ?
L’approche vectorielle en sémantique consiste à construire un nuage de mots dans un espace vectoriel par l’analyse de corpus volumineux. [HdM: ajouter] Il s’agit de l’application informatique de la théorie du linguiste J.R. Firth selon laquelle on ne connait le sens d’un mot qu’à partir de son contexte (You shall know a word by the company it keeps).
Les algorithmes utilisés sont proches de ceux utilisés pour le clustering et permettent de positionner les mots dans un espace vectoriel : les sens de deux mots seront d’autant plus proches que leur distance relative dans cet espace vectoriel sera faible.
Le word embedding, en quelques mots ?
Le word embedding pousse cette approche vectorielle plus loin par l’utilisation d’algorithmes à base d’apprentissage, et plus particulièrement à base de réseaux neuronaux profonds. L’apprentissage sur des corpus de données volumineux permet d’évaluer la probabilité occurrence d’un terme dans un contexte donné. Plus deux termes auront des probabilités proches dans différents contextes, plus leurs sens seront considérés comme proches.
Les premières approches (algorithmes de type word2vec) conduisaient à associer un unique vecteur à chaque mot. Les approches plus récentes de type BERT prennent en compte le contexte, ce qui fait que le mot « avocat » peut se voir associer des représentations différentes suivant que le contexte désigne un plat ou un tribunal.
Les réseaux sémantiques
Un réseau sémantique, c’est d’abord un réseau, c’est à dire un modèle mathématique. Ce peut être un arbre, comme dans le d’une taxinomie ou un graphe, comme pour une ontologie.
Un exemple de réseau sémantique
Outre la structure d’ensemble (arbre, treillis, graphe), les réseaux sémantiques différent par la nature des relations sur lesquelles ils sont construits. Le plus ancien réseau lexical ayant pour ambition de couvrir la langue générale est WordNet, développé initialement (en 1998) pour des études psycho-linguistiques sur l’anglais mais qui est largement utilisé en Traitement Automatique des Langues. Le projet est toujours actif.
schema.org, un exemple de réseau sémantique
schema.org est une initiative lancée par un consortium de moteurs de recherche afin d’aider à l’indexation des pages Internet afin de rendre la recherche d’information plus pertinente.
Ce réseau sémantique est ainsi fortement contraint par les usages, il doit :
- couvrir un large périmètre sémantique, mais ne pas aller au-delà de ce périmètre
- s’adresser à un large public (celui des spécialistes de l’optimisation de la recherche d’information)
- répondre aux contraintes techniques et sémantiques des moteurs de recherche
Ce réseau sémantique repose sur deux types de relations:
- des relations d’hyperonymie/hyponymie : chaque TYPE de schema.org est plus spécifique que le TYPE dont il dépend
- des relations de propriétés : chaque TYPE peut recevoir plusieurs propriétés, elles-mêmes définies dans une hiérarchie.
Le choix a été fait de considé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éatives
- événements
- choses intangibles
- organisations
- personnes
- endroits
- produits
On le voit, la définition d’un réseau sémantique est fortement dépendante du contexte dans lequel on le définit. En l’occurrence, l’organisation du réseau sémantique schema.org répond bien aux contraintes opérationnelles, notamment en positionnant des concepts tels que Organisation ou Produit aussi haut dans la hiérarchie.
L’analyse sémantique, à quoi ça sert ?
Les applications de l’analyse sémantique couvrent un large éventail de situations, tant dans le domaine de la recherche que dans le domaine industriel. Vous trouverez ci-dessous plusieurs cas d’usage qui illustrent leur utilisation dans le domaine industriel.
L’analyse sémantique peut, par exemple, aider à :
- résoudre des anaphores
- indexer des documents
- désambiguïser des termes
Analyse sémantique et résolution d’anaphores
Considérons l’exemple suivant :
- Le bus a renversé un passant
- je l’ai entendu freiner
- je l’ai entendu crier
Le clitique préverbal – ce petit l coincé entre je et ai – peut renvoyer soit au bus soit au malheureux passant. Seule une analyse sémantique pourra en déterminer la référence.
Le type de séquences ci-dessus est appelé schéma Winograd (du nom de Terry Winograd, un des pionniers de l’IA) et est actuellement utilisé comme une mesure de la qualité des systèmes d’analyse sémantique.
Analyse sémantique et indexation de documents
L’analyse sémantique peut intervenir lors de la phase d’indexation d’un document, ou lors de la recherche.
Lorsque l’indexation est effectuée selon une liste d’autorité ou une taxinomie, l’analyse sémantique peut aider à identifier les termes d’indexation en fonction du contenu du document.
Lors d’une recherche, l’analyse sémantique peut désambiguïser la requête, afin de la rendre plus précise, et renvoyer moins de documents, ou, au contraire l’étendre à d’autres termes sémantiquement proches afin de renvoyer plus de documents.
Analyse sémantique et désambiguïsation
La force du langage vient du fait que les termes sont ambigus, cependant, cette ambiguïté peut nécessiter d’être levée, par exemple pour l’indexation de documents. L’analyse sémantique pourra permettre de lever des ambiguïtés en fonction du contexte. On pourra par exemple faire la différence entre avocat[humain] et avocat[non-humain] dans l’exemple suivant :
- l’avocat a écrit un long plaidoyer
- l’avocat est un fruit qui peut se manger en salade
La langue est ainsi faire que ces approches ont des limites. Ainsi, par exemple, si dans la phrase l’avocat est parti sans payer, il est difficile de déterminer qu’il s’agit d’une métonymie.