Le traitement du langage naturel, comment ça marche ?

Depuis 2016, les chatbots se multiplient sur les applis et sites internet, qu’ils soient commerciaux, de service et même sur les intranets. Ils sont dotés de fonctionnalités de plus en plus pointues : personnalisation des réponses, prise en compte du contexte, détection des émotions, avatar animé… Cela contribue à rendre la conversation la plus complète et naturelle possible pour garantir la meilleur expérience utilisateur. Malgré un gros travail sur la personnalité, le design, et les connaissances du bot, la satisfaction des utilisateurs réside principalement dans sa capacité à comprendre et traiter le langage naturel.

L’essence même du traitement du langage naturel est de comprendre l’intention de l’utilisateur pour pouvoir lui apporter la réponse la plus adaptée à sa demande. Dans cet article, nous vous expliquons comment fonctionne cette discipline.

Qu’est-ce qu’un algorithme NLP ?

Dans un logiciel NLP (Natural Language Processing ou traitement du langage naturel), il y a trois composants :

  • Une interface visuelle (boîte de dialogue ou chatbox) où l’utilisateur peut interagir directement avec le chatbot
  • Un moteur de traitement automatique du langage naturel (NLP) qui utilise un algorithme pour comprendre la demande (on parle également d’intention) de l’utilisateur
  • Une console d’administration (dans le cas de dydu) qui permet de gérer l’ensemble des réponses à apporter à l’utilisateur et de piloter le chatbot au quotidien via des indicateurs de performance

Un algorithme est un ensemble de règles opératoires dont l’application permet de résoudre un problème. De manière générale, les ordinateurs sont doués pour faire des tâches répétitives sans jamais se lasser. On peut donc leur décrire un algorithme avec des calculs et des méthodes informatiques, ils vont ainsi répéter leur mission aussi souvent que nécessaire. L’algorithme NLP est un programme informatique à qui on a appris à identifier l’intention du locuteur grâce à une série d’exemples prédéfinis.

Comment fonctionne-t-il ?

NLP intentions phrase chatbot

Pour comprendre l’intention d’un utilisateur, l’algorithme va analyser la structure linguistique de la phrase, en la découpant en mots ou mots-composés.

Pour pouvoir comprendre le sens d’une phrase, il faut savoir interpréter chaque mot qui la compose. Or, les homonymes et les mots polysémiques compliquent cette interprétation. L’algorithme NLP associe alors à chaque mot un ensemble de sens et chaque sens est corrélé à “une pénalité” en fonction de sa probabilité d’occurrence. Le poids des mots est donc dépendant de leur fréquence d’utilisation dans la langue utilisée.

Pour interpréter l’intention d’un utilisateur, plusieurs étapes sont nécessaires :

Corriger l’orthographe

Les fautes d’orthographe sont monnaie courante dans la manière de s’exprimer des utilisateurs, et particulièrement sur internet. L’algorithme suggère plusieurs corrections possibles, et chaque correction est associée à une note.

Identifier les lemmes

Pour chaque mot, l’algorithme recherche les différents lemmes accessibles. Un lemme est la forme de base non accordée et non conjuguée d’un mot, comme un verbe à l’infinitif ou encore un adjectif au masculin singulier. Des liens vers des lemmes peuvent être définis pour les abréviations courantes, comme par exemple : « çàd → c’est-à-dire » ou encore « dqp → dès que possible ». 

Identifier les synonymes et hyperonymes

Un hyperonyme est une généralisation du sens. Les hyperonymes sont essentiellement utilisés pour définir un ensemble de produits ou de termes propres à la logique métier de l’assistant. Par exemple, “chien” et “chat” ne sont pas synonymes mais “animal” est un hyperonyme de ces deux termes.

Les synonymes des lemmes ainsi que les hyperonymes sont identifiés et associés aux mots correspondants. Cela permet de réduire le nombre de formulations nécessaires et d’améliorer la compréhension de l’algorithme. 

Calculer la distance entre les mots (mesure de la distance)

L’algorithme calcule directement la distance entre la question de l’utilisateur et les formulations qui existent dans la base de connaissances. Plus la question de l’utilisateur et sa référence sont proches (présence des mêmes mots/lemmes, dans le même ordre ou non), plus le score est élevé.

Obtenir un score final

On rapproche la question de l’utilisateur à sa référence présente en base grâce à ce qu’on appelle le score de matching. Pour la solution dydu, ce score est compris entre 0 et 1024. 0 signifie qu’il n’y a aucun point commun entre les deux phrases, 1024 signifie que les deux phrases sont identiques.

En fonction du score de matching, le chatbot a trois possibilités de réponses :

  • entre 800 et 1024, le bot estime qu’il a compris l’intention de l’utilisateur et lui fournit immédiatement la réponse associée à la question de référence présente dans la base
  • entre 400 et 800, le bot propose une ou plusieurs reformulations à l’utilisateur pour confirmer la compréhension de la question initiale
  • entre 0 et 400, le bot informe l’utilisateur qu’il ne comprend pas sa demande et lui propose de reformuler. Il peut également lui proposer de basculer vers un autre canal de communication (après plusieurs incompréhensions)

Quel est l’avantage de cette technologie ?

La technologie dydu s’appuie sur le calcul de distance, mais d’autres méthodes de compréhension du langage naturel existent, comme l’analyse syntaxique et le matching de mots clés :

  • L’analyse syntaxique se concentre sur la structure de la phrase, elle est dépendante de la langue dans laquelle l’énoncé est exprimé (sujet-verbe-complément en français). Cette méthode permet une bonne compréhension de la phrase et d’éviter les contresens (même dans des cas où la nuance est subtile), mais dépend fortement de la grammaire, elle est donc difficilement applicable au langage de tous les jours. 
  • La méthode de matching mots-clés fonctionne de la même manière qu’un moteur de recherche. C’est une méthode simple à mettre en place mais qui a du mal à distinguer deux phrases aux sens très proches. 

L’avantage de la méthode de calcul de distance est qu’elle permet une compréhension précise de la phrase et ne nécessite pas que les phrases d’entrées soient grammaticalement correcte. Elle nécessite tout de même une période d’apprentissage du bot sur les premières questions des utilisateurs. 

Si le bot avec lequel on dialogue s’appuie sur un algorithme performant et une base d’intentions bien travaillée, l’utilisateur pourra obtenir les réponses souhaitées même s’il fait des fautes, digresse, parle de plusieurs sujets en même temps ou ne donne pas toutes les informations nécessaires.

Si vous souhaitez mettre en place un chatbot ou un robot conversationnel vocal (voicebot ou callbot), il est primordial de choisir un éditeur qui possède une technologie NLP performante, qui peut également se connecter à d’autres moteurs de matching pour améliorer davantage la compréhension globale des intentions des utilisateurs.  

Vous souhaitez mettre en place un robot conversationnel à destination de vos clients ou collaborateurs ? N’hésitez pas à demander une démo de la solution dydu.

Vous pouvez également tester notre solution gratuitement pendant 14 jours.