Les bases de la NLP sur Botnation
Pour bien configurer son IA, il faut comprendre comment un chatbot analyse ce que saisissent les utilisateurs. Nous avons basé notre NLP sur la détection de mots clés isolés ou associés.
Définition d’une Intention:
Dans le contexte de l’Intelligence Artificielle, l’intention fait référence à l’objectif que l’utilisateur a en tête lors de la saisie d’un texte.
Exemple:
Si l’utilisateur saisit “Je cherche à devenir propriétaire d’une villa” son intention est “l’achat d’une maison”.
Définition d’un Mot Clef:
C’est un mot qui déclenche une réponse du chatbot. Il faut sélectionner des mots qui seront les plus fréquemment utilisés par les utilisateurs pour exprimer une intention. Il faut penser aux synonymes et parfois aux conjugaisons.
EX: “acheter”, “achat”, “acquérir”
Définition d’une Expression:
C’est une association de mots clés qui permettent généralement de distinguer deux intentions proches. Lorsque on emploie une Expression dans une règle d’IA, la règle se déclenche seulement si tous les mots clés de l’expression sont présents. Par contre, l’ordre dans lequel ces mots ont été saisis par l’utilisateur ou s’ils sont séparés par d’autres mots n’influence pas le déclenchement de la règle.
Exemple:
L’Expression “acheter maison” déclenche une réponse même si l’utilisateur a saisi “Je cherche une maison à acheter.”
Définition d’une règle d’IA:
C’est un ensemble de mots clés et d’Expressions correspondant à une Intention qui déclenchent une réponse du chatbot.
Le chatbot ne comprend pas une phrase en son entier mais il va en reconnaître certains mots. C’est en comparant ces mots avec ceux qui ont été configurés dans les règles de son IA qu’il va pouvoir y associer la bonne réponse.
La sélection des bons Mots Clés et Expressions est donc primordiale pour une IA performante.
Il faut chercher les éléments de différenciation entre les règles et traduire les intentions que vous voulez que votre chatbot comprenne en mots clés pertinents.
Exemple:
Imaginons un chatbot spécialisé dans la vente (et uniquement la vente) immobilière.
On veut que le chatbot réagisse à la volonté d’achat d’une maison que l’on différencie de la volonté d’achat d’un appartement. Il y a deux intentions: le type de transaction (achat) et le type de bien (maison).
Comme c’est un chatbot centré sur la vente, on a pas besoin de détecter le type de transaction. C’est le type de bien qui est l’élément de différenciation.
Il suffit donc de faire des règles sur des synonymes de maison et d’appartement.Règle Achat Maison :
Règle Achat Appartement :
Il faut toujours saisir les mots clefs avec la bonne orthographe. Les algorithmes de Botnation vont gérer les fautes de frappe, d’accent ou de pluriel. Cependant, lorsque l’utilisateur commet trop de fautes dans un même mot, il arrive que le chatbot n’arrive pas à comprendre et renvoie à la Séquence de Réponse par Défaut. Les mots incompris apparaîtront alors dans l’algorithme de recommandation. Seules ces erreurs-ci devront être ajoutées à vos règles d’IA. Nous traiterons ce point plus loin.
Exemple:
le mot clef “acheté” sera reconnu même lorsqu’il est écrit:
- achete
- achetés
- achetes
- zcheté
- achrté
Mais il ne sera pas compris s’il est écrit:
- zchetés
- achrte
Ne vous souciez pas non plus de la casse typographique, que vos mot-clés et expressions soient en majuscules ou minuscules l’algorithme les traitera de la même façon.
Utiliser une Expression seulement si l’un des mots est commun à une autre règle.
Attention, l’IA ne déclenche une règle que si et seulement si tous les mots d’une Expression sont contenus dans la phrase de l’utilisateur. Donc plus il y a de mots dans l’Expression, moins il y a de chance que l’utilisateur utilise cette combinaison.
Il faut limiter à la stricte nécessité les expressions de plus de 2 mots.
Ne pas y inclure les pronoms, les conjonctions, prépositions, articles définis ou contractions : le, la, sa, l’, je, tu, il, elle, au, de, des, et, or, ni, ou, etc.
Exemple:
Imaginons maintenant notre chatbot immobilier veuille aussi proposer la vente de biens. Le chatbot doit réagir à l’intention d’achat ou de vente d’une maison ou d’un appartement. Cela fait quatre possibilités donc il faut créer quatre règles d’IA.Et quand on y réfléchit en mots clés, on se rend compte qu’il va y avoir des mots communs à plusieurs règles.On ne va pas pouvoir utiliser de mots clés isolés, il faut obligatoirement faire des associations pour différencier les intentions.
En premier, il faut imaginer les différentes manières dont les utilisateurs pourraient exprimer l’intention d’achat :
- je veux acheter …
- j’envisage l’achat de ….
- je voudrais être propriétaire de …
Et pour l’intention de vente on a :
- je veux vendre …
- j’envisage la vente de …
- je vends…
Lorsque qu’on isole les éléments différenciants cela donne :
- pour l’achat : acheter, achat, propriétaire
- pour la vente : vendre, vente, vends.
Pour le type de bien on a :
- les synonymes de maison : villa, demeure
- les synonymes d’appartement : studio.
Ce qui donne les règles suivantes :
Règle Achat Maison
Règle Achat Appartement
Règle Vente Maison
Règle Vente Appartement
Si dans la même règle vous avez un mot clef isolé que l’on retrouve dans une Expression, cette Expression est inutile car la règle se déclenche de toute façon dès que ce mot clef apparaît dans la phrase.
Exemple:
Si on a la règle suivante :
Règle Problèmes liés au Compte Bancaire
Comme on a “bancaire” en mot-clef isolé, la règle se déclenche quand l’utilisateur saisit n’importe quelle phrase contenant ce mot. Ce qui inclut les phrases contenant “problème bancaire”, “compte bancaire” et “interdit bancaire” et rend donc ces Expressions inutiles.
On a donc au final:
Règle Problèmes liés au Compte Bancaire
Entre deux règles en conflit, l’IA va choisir celle qui a été le plus utilisée statistiquement et non pas celle qui est potentiellement la plus pertinente (voir le paragraphe sur le Machine Learning).
L’optimisation de l’IA passe aussi par l’emploi du moins de règles possibles avec le moins de Mots-clés et Expressions possibles. Moins il y en a, plus le chatbot sera réactif pour trouver la bonne réponse.
En plus:
• Expressions négatives
• Mots clefs sortants
• Tout ce qu’il faut savoir sur la NLP sur Botnation