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.
Études de cas associés
Je suis directeur de la conformité dans le domaine de l’assurance, nous vendons par téléphone des produits variés dans un contexte particulièrement réglementé. J’ai donc besoin d’outils pour m’assurer que les obligations d’information sont comprises et appliquées par les équipes en tenant compte des spécificités de chaque produit, sans pour autant nuire à la performance commerciale. Comment puis-je faire ?
Je suis dirigeant d’une société immobilière dont l’activité principale est la gestion syndicale de nombreux lots de copropriétés. Chaque jour, la boîte mail de ma société doit faire face à l’afflux de centaines d'emails : de la simple prise d’information à la demande d’intervention urgente. Comment puis-je automatiser le traitement d’un grand volume d'emails pour gagner en temps et en efficacité ?
Je suis dirigeant d’une entreprise informatique et mes équipes effectuent une veille technologique régulière afin de me tenir au courant de l’évolution de notre secteur d’activités, de la concurrence et des avancées technologiques potentielles. Cependant, je souhaiterais que mes équipes aillent au-delà de la veille et puissent me prévenir de ce qui va se passer autour de moi, dans mon activité, afin de m’aider à définir ma stratégie d'entreprise à court et moyen terme. Comment puis-je faire ?
En tant que Directeur de Production en transformation numérique dans une entreprise de vente en ligne, je souhaite mettre en place une solution d'IA avec apprentissage. Nous ne disposons que d'un faible volume de données et nous travaillons notamment sur l'analyse sentimentale des commentaires de clients qui nous sont parvenus grâce à notre site.
Je suis responsable de l’unité de gestion des sinistres dans une compagnie d’assurance. Mon équipe doit traiter une quantité importante de réclamations pour acheminer le plus vite possible les demandes vers l'équipe appropriée afin d'éviter le mécontentement des clients et en vue d’un traitement efficace.
Je suis responsable réseaux sociaux pour une marque de cosmétiques et je souhaite pouvoir mesurer la satisfaction de nos clients sur les réseaux sociaux afin de prendre en compte ces retours pour mieux communiquer autour de mon entreprise, ainsi que réagir au plus vite lors de potentiels cas de crise.
Je suis responsable des ventes d'une entreprise de vente en ligne. Nous avons une section de commentaires où les clients publient leurs expériences d'utilisation ainsi qu'une section de questions où les prospects se renseignent sur des produits. La section de commentaires constituant une source d'informations précieuse contenant souvent des éléments non contenus dans les fichiers descriptifs envoyés par des fournisseurs, je voudrais savoir comment les avis clients peuvent être exploités afin de proposer des réponses automatiques aux questions des prospects.
Je suis responsable du service après-vente d'un site de vente en ligne et nous avons actuellement un système de prédiction automatique permettant de classer les avis de clients comme positifs, négatifs et neutres. Cependant, nous aimerions un système de détection qui, au lieu de donner une étiquette globale à un texte entier, fournisse des informations à un niveau plus fin. Existe-t-il des solutions de ce genre ?
Chef de produit d'un quotidien d'actualités en ligne, je fais attention à la qualité de la section des commentaires rédigés par nos abonnés. Une façon de modérer serait de bloquer des commentaires contenant de fausses informations ou présentant un raisonnement douteux. Cependant, je dois aussi veiller à ce qu'il y ait une bonne interactivité entre les abonnés. Le blocage de commentaires, bien que simple à mettre en place, impactera non seulement la liberté d'expression mais aussi l'échange d'opinions entre les abonnés. J'aimerais savoir s'il existe des solutions moins contraignantes.
Je suis responsable RH et je m'occupe actuellement du recrutement dans le cadre de l'extension de nos équipes. Nous avons identifié, en accord avec la GPEC et les besoins des managers, un certain nombre de postes pour lesquels nous souhaitons embaucher les meilleurs candidats. Après avoir formalisé les missions et compétences requises dans des fiches de postes, rédigé les offres d'emploi et diffusé ces dernières en ligne, mon service a reçu des centaines de candidatures pour chaque poste. Ces candidatures sont stockées dans la base de données de notre SIRH, et pour chaque offre publiée, j'ai accès en un clic à l'ensemble des CVs que j'ai reçus. Pour éviter à mon équipe de lire toutes les candidatures, je souhaite dans un premier temps identifier dans la masse de CVs ceux qui sont pertinents pour chaque poste afin de ne transmettre qu'une poignée de candidatures qualifiées aux managers qui sont demandeurs du recrutement. Comment faire pour évaluer automatiquement si un CV est pertinent pour un poste ?
Je suis responsable du service client de mon entreprise. Mon équipe et moi devons traiter quotidiennement un volume important de demandes clients dans un environnement multicanal, avec une réactivité optimale.
Je suis responsable produit dans l'industrie pharmaceutique et j'aimerais qu'un outil m'aide à exploiter le contenu textuel des essais cliniques, de comptes-rendus, expériences patients, signalements d'effets indésirables dans l'optique d'optimiser la veille de molécules médicamenteuses. Un tel outil peut m'être d'une aide particulièrement précieuse. D'une part, les données disponibles dans le domaine pharmaceutique, de par leur volume et leur diversité, sont difficiles à archiver et analyser à la main, d'autre part, la qualité des articles parus sur les revues médicales est conditionnée par les choix éditoriaux ainsi que d'éventuels conflits d'intérêt. Il me sera donc utile de disposer d'un outil pour que je puisse effectuer, de manière efficace et surtout à partir des sources brutes, une veille ciblée sur un sujet précis.
Directeur de publication dans un groupe de presse, je suis responsable de la visibilité de mon journal dans l'espace numérique. Nos titres sont présents sur de nombreux réseaux sociaux et des blogs, où les publications sont ouvertes aux commentaires du public. La modération de ces pages est une responsabilité pour notre publication, une nécessité pour son image et une charge pour les équipes en charge de l'animation numérique. De plus, il est nécessaire de s'assurer que la modération des propos déposés par les internautes soit en ligne avec la Charte de bonnes pratiques de la publication. L'intelligence artificielle et les technologies du langage naturel peuvent-elles préparer, faciliter et accélérer la modération ?
Je mets en œuvre des systèmes qui font appel à des données massives ("big data"). Afin d'être compatible avec le RGPD, j'ai mis en œuvre des techniques d'anonymisation pour les données nominatives dans les champs structurées, mais comment faire pour les données non-structurées (les textes) qui y sont associées ?
Officier des forces de sécurité, j'anime une cellule de surveillance des réseaux criminels de toutes sortes, notamment à partir des interceptions de relations entre les membres de ces réseaux : texte, mais surtout enregistrements audio, dans les langues les plus diverses, parfois rares. Je sais que l'intelligence artificielle permet de mettre en évidence des faits d'intérêt majeur par l'analyse dans le temps de ces données textuelles et aimerais en savoir davantage.
Je suis décideur dans un institut d'études marketing et de sondage d'opinion. Je souhaite lancer des enquêtes incluant des questions ouvertes pour leur richesse. Mais comment dépouiller toutes ces contributions en texte libre ?
Je dispose de contenus précieux reflétant l’expérience, la satisfaction, les attentes de mes clients. Mais autant les contenus en texte libre sont riches, autant ils sont complexes à exploiter. L'analyse linguistique peut-elle m'apporter une aide ?
Je suis responsable de la pharmacovigilance au sein d'une structure publique de veille sanitaire. Je souhaite pouvoir exploiter plus largement les sources d'information sur les effets des traitements et garantir une certaine objectivité des analyses à partir des textes libres : l'analyse linguistique automatisée répond-elle à ces objectifs et comment ?
Quand je contacte le service client d'un fournisseur, je veux que ma demande soit correctement prise en compte afin d'obtenir rapidement le bon interlocuteur.
Je suis responsable d'une plateforme touristique d'un office de tourisme, et je souhaite proposer aux touristes potentiels des descriptions de mes prestataires et socioprofessionnels prenant en compte les avis clients.
Je suis directeur de la publication d'un journal d'information généraliste. A l'heure des médias sociaux, tout le monde ou presque peut publier de l'information visible de toute la planète. Cette formidable opportunité est hélas une aubaine pour les rumeurs voire la désinformation délibérée. Ne pas se faire le relais des infox est un devoir des médias désormais inscrit dans la loi. Débusquer et dénoncer la désinformation n'est pas une obligation légale mais un objectif éthique pour les médias.
Je suis responsable de la communication pour une ONG dans un domaine où l'information au public est essentielle et controversée et où le lobbying est très actif. Je dois repérer quotidiennement les informations diffusées et relayées sur les réseaux sociaux et dans la presse afin d'ajuster ma stratégie de communication. Existe-t-il des solutions de fact checking pour lutter contre la diffusion des infox (fake news) ?
En tant que directeur de publication, je suis responsable de la conformité juridique des petites annonces publiées dans mes supports.