NLP vs. NLU vs. NLG

Le traitement automatique de la langue, aussi bien écrite que parlée, a pris une nouvelle dimension ces dernières années. L’échange d’information grâce au « langage naturel » prend de plus en plus le pas sur des solutions archaïques comme taper sur le bouton d’un téléphone ou reconnaître uniquement des mots clés. Ce changement est rendu possible car la technologie capable de convertir des messages écrits ou vocaux – parfois vagues ou peu structurés – en une « commande » claire est disponible. Mais comment fonctionne cette « conversion » ? Et quels sont les obstacles que l’on rencontre avec des données « naturelles » ? C’est que nous allons voir avec Arjan van Hessen dans cet article.

La première étape, bien sûr, est le traitement de la donnée. Avec un message texte, nous pouvons supposer que le message est « tel qu’il est écrit », mais avec un message vocal, nous devons prendre en compte les erreurs commises par le moteur Speech-to-Text.  Quoi qu’il en soit, nous obtenons une représentation écrite de la question du client et nous devons travailler avec.

Pour « traiter » le langage parlé de manière naturelle et non structuré, il existe plusieurs groupes d’algorithmes. Le plus ancien est le traitement du langage naturel (Natural Language Processing ou NLP en anglais) tandis que deux groupes plus récents, qui sont en réalité des sous domaines du NLP, sont la Compréhension du langage Naturel (Natural Language Understanding, NLU) et la Génération Naturelle du Langage (Natural Language Generation, NLG). Avec les avancées en matière d’Intelligence artificielle, on peut considérer le NLU et en partie le NLG, comme des « filles » adultes du NLP.

Le NLP, s’intéresse au « traitement » du texte libre (via l’écriture ou l’ASR – Reconnaissance Automatique de la Parole) dans une structure standardisée. Le NLU est l’étape d’après et traite « l’interprétation » du texte pour lui donner un sens. Enfin, le NLG est le processus de génération du langage naturel (sonore) puis de génération de la parole.

* Pour simplifier la compréhension et la cohérence avec la littérature sur le sujet, nous utiliserons les acronymes en anglais dans cet article.

Histoire du NLP

L’histoire de la traduction automatique remonte au XVIIe siècle, lorsque des philosophes tels que Leibniz et Descartes ont proposé des codes qui feraient le lien avec les mots entre les langues. Toutes ces réflexions sont cependant restées théoriques et n’ont pas conduit au développement d’une véritable machine. Il faut attendre le milieu des années 1930 que les premiers brevets sur la traduction automatique soient déposés. 

En 1950, Alan Turing publie son célèbre article « Computing Machinery and Intelligence », dans lequel il propose ce qu’on appelle aujourd’hui le test de Turing comme critère d’intelligence. Ce critère détermine la capacité d’un programme informatique à se faire passer pour un être humain dans une conversation écrite en temps réel avec un être humain. Ce dernier doit décider si « l’autre partie » est un être humain réel ou un algorithme informatique.

NLU & NLG

Avec l’avènement d’Internet, des grandes capacités de calculs et de grandes quantités de données disponibles d’une part, et la demande (du marché) en croissance exponentielle pour des algorithmes de « traitement du langage » rapides et fiables d’autre part, le NLP a connu une accélération sans précédent. Aujourd’hui, nous ne pourrions probablement plus nous passer des NLP, NLU et NLG.  
Quelques exemples ? Eh bien, pensez à la traduction automatique, à la capacité de déterminer l’intention d’une conversation, à la possibilité de produire un résumé ou encore de communiquer des informations personnelles dans une conversation téléphonique.

Dans tous ces exemples, nous observons un schéma similaire. Il commence au milieu des années 1990 avec des systèmes principalement basés sur des règles, mais avec l’avènement de nouveaux outils et des capacités de calcul accrues, pour tendre vers l’utilisation massive de l’intelligence artificielle.

Trois exemples

Voici quelques exemples des trois processus du langage naturel pour bien comprendre les différences.

NLP

Supposons que vous ayez une conversation téléphonique au cours de laquelle vous souhaitez avoir des renseignements sur la demande de permis de construire pour un hangar. La conversation donnerait à peu près ceci : 

« Bonjour, c’est Pauline. J’ai envoyé mon dossier pour construire un hangar il y a trois semaines et je voudrais savoir où cela en est. »

Les premières étapes sont typiques du NLP : le texte non structuré est converti sous une forme qu’un ordinateur peut « comprendre. Les différentes étapes du NLP :

Les différentes étapes du NLP
  1. Tokenisation : la détection de chaque mot indépendamment des autres. Dans notre exemple, cela signifie 24 jetons (Tokens).
    a. Racinisation ou Désuffixation (Stemming) : réécriture d’un verbe ou d’un nom dans sa base (par exemple « envoyé -> envoi » ou « semaines -> semaine »)
    b. Lemmatisation : déterminer via un dictionnaire (ou une base de données) le sens du mot. Par exemple, le mot « meilleur » vient du mot « bon » dans le dictionnaire. 
  2. Labellisation du langage (Speech tagging) : il permet de déterminer la classe du mot. Par exemple, s’agit-il d’un verbe, d’un nom ou d’un préfixe ? 
  3. Reconnaissance d’entité nommée (Named Entity Recognition) : il s’agit de déterminer l’entité associée au mot. Dans notre exemple, « c’est Pauline », l’entité ici est un nom propre.

Bien sûr, il existe de nombreux autres outils disponibles pour aller plus loin. En fonction ce que nous voulons faire avec le texte entrant et non structuré, nous avons à disposition une palette d’outils de NLP afin de transformer le texte en informations structurées utilisable par l’ordinateur.

NLU

Comprendre le message est parfois une tâche très complexe (voire impossible). En plus de la simple « demande » écrite (ou parlée), nous ajoutons beaucoup d’informations supplémentaires dans nos messages qui se réfèrent à des éléments extérieurs, aux choses qui viennent de se produire ou aux souhaits qui sont clairs pour celui qui parle mais pas pour son interlocuteur (implicite).  Nous utilisons le ton de notre voix pour mettre l’accent sur certains aspects et utilisons l’humour pour donner à notre message une certaine tournure.  Dans une conversation interhumaine, nous utilisons diverses composantes non verbales pour déterminer si l’autre comprend exactement ce que nous voulons dire.  Et en cas de non-compréhension, nous pouvons changer notre langage pour le rendre compréhensible en reformulant par exemple. 

À l’heure actuelle, il est encore assez difficile d’utiliser des algorithmes pour identifier correctement les parties non verbales d’une conversation. Cependant, c’est sur quoi nous devons travailler si nous voulons être en mesure de vraiment comprendre les conversations interhumaines.  Voici quelques exemples de difficultés avec le NLU :

  • Ambiguïté lexicale – comment traiter le mot « courant » ?
    • Alice nage contre le courant.
    • C’est un phénomène courant.

Dans la phrase 1, courant est un nom qui appartient au champ lexical de la natation tandis que dans la phrase 2 c’est un adjectif qui dit se au nom « phénomène ». Si nous cartographions correctement toutes ces interrelations, nous pouvons déterminer la signification des deux textes.

  • « Il a soulevé le ver de terre avec une casquette verte » – A-t-il utilisé une casquette pour soulever le ver de terre, ou a-t-il soulevé un ver de terre qui avait une casquette verte ?
  • Marie est allée voir Jeanne. Elle a dit : « Je suis fatiguée » – Qui est fatiguée exactement ?
    • Marie est allée voir Jeanne et lui a dit : « Je suis fatiguée »
    • Marie est allée voir Jeanne qui lui a dit : Je suis fatiguée.
  • Comment vous prononcez cette phrase : « Oui, et c’est ce que vous allez faire »
    • Prononciation sceptique : Je ne crois pas que vous le ferez / puissiez le faire.
    • Prononciation directive : Je vous demande de le faire.

NLG

Avec le NLG, vous pouvez créer des phrases grammaticalement correctes et compréhensibles dans la langue de votre choix, basée sur un ensemble de paramètres d’entrée. Pour le NLG aussi, toute une série d’algorithmes différents sont disponibles pour générer des phrases. Par exemple, vous pouvez créer une phrase élaborée et polie ou, au contraire, courte et puissante.  De plus, vous pouvez adapter la tonalité de la phrase en fonction des personnes à qui vous vous adressez, selon qu’elles sont expertes ou non d’un sujet par exemple.

Bien que le développement du NLG ait commencé à l’ère pré-IA, les outils sont aujourd’hui principalement basés sur l’IA. Ces algorithmes fonctionnent rapidement, utilisent des données pertinentes et sont relativement faciles et rapides à adapter à une situation qui évolue vite.

Applications du NL-X

Où trouve-t-on les différents algorithmes de NLP, NLU et NLG utilisés aujourd’hui ? Eh bien, dans beaucoup d’applications vocales, de messageries ou encore de rédaction de texte, comme le routage des appels, les applications de questions-réponses, les applications de dictée, ou encore les outils de synthèse vocale ou textuelle. 

Applications du NL-X

Dans le domaine de la relation client, la première question qui se pose est souvent de savoir qui appelle. La question suivante est « pour quelle raison appelez-vous ? ». Et c’est là que cela devient délicat. Parce que les gens ne répondent pas avec une phrase grammaticalement correcte qui peut être interprétée directement. Imaginons que la réponse soit « oui, moi, euh, j’appelle en fait, euh, pour savoir quelque chose sur la, euh, sur un produit. Je veux dire, est-ce que j’ai, vous avez cette chaise en rouge finalement ?»  L’intention est peut-être « changement de la commande en cours » ou tout simplement « avez-vous cette chaise en stock ? », mais il est très compliqué de déterminer immédiatement l’intention de cette demande sans traitement pour qu’un ordinateur comprenne la demande.

Développements futurs

Bien que le NLU et le NLG connaissent des développements très rapides et qu’il existe de plus en plus d’outils pour comprendre ce que quelqu’un veut dire, nous avons encore beaucoup de chemin à parcourir. En effet le prochain défi est de comprendre le sens réel d’une phrase, car la façon dont quelque chose est dit contient souvent de l’implicite. Par exemple, vous pouvez dire oui mais indiquer clairement par la façon dont vous le dites que vous voulez dire non. Actuellement, nous nous concentrons sur ce qui est dit et obtenons ainsi parfois la mauvaise réponse. La détection des émotions est aussi quelque chose sur laquelle de nombreuses entreprises travaillent, mais c’est un sujet assez difficile car la personnalité de l’interlocuteur joue un rôle important. Une vieille dame calme et polie parlera différemment d’une jeune personne dynamique. Mais comment déterminez-vous si elle est vraiment mécontente ?

Nous en écrirons probablement plus à ce sujet bientôt !

Pour aller plus lion :
https://www.bmc.com/blogs/nlu-vs-nlp-natural-language-understanding-processing/
https://www.ibm.com/blogs/watson/2020/11/nlp-vs-nlu-vs-nlg-the-differences-between-three-natural-language-processing-concepts/
https://www.youtube.com/watch?v=fLvJ8VdHLA0
https://www.youtube.com/watch?v=1I6bQ12VxV0
https://en.wikipedia.org/wiki/History_of_natural_language_processing

PARTAGE
PARTAGE

Demo

Curieux de voir nos solutions en action ? Remplissez vos coordonnées et nous vous contacterons pour planifier une démo.

Contactez-nous

Comment pouvons-nous vous aider ?

Get In Touch

How can we help you?