Exemple d’utilisation des Contextes, Expressions et Expressions négatives

Cas pratique détaillé des fonctionnalités avancées de la NLP Botnation.

RETROUVEZ UNE NOUVELLE VERSION DU GUIDE COMPLET SUR l’IA NLP DE BOTNATION EN CLIQUANT ICI

Prenons le cas d’un chatbot sur les animaux de compagnie. On a deux espèces : les chats et les chiens. Et chacune a son type de croquettes.

Le chatbot comporte les séquences suivantes :

  • choix de l’animal de compagnie
  • choix de type de croquettes
  • séquence pour les chats
  • séquence pour les chiens
  • séquence pour les croquettes pour chats
  • séquence pour les croquettes pour chiens

Dans l’onglet AI, on va créer les règles suivante:

  • l’expression “animaux compagnie” va ouvrir la séquence de choix de l’animal de compagnie
  • le mot clef “croquettes” va ouvrir la séquence de choix de type de croquettes
  • le mot clef “chat” va ouvrir la séquence pour les chats
  • le mot clef “chien” va ouvrir la séquence pour les chiens
  • l’expression “croquettes chats” va ouvrir la séquence pour les croquettes pour chats
  • l’expression “croquettes chiens” va ouvrir la séquence pour les croquettes pour chiens


Pour l’AI, une règle ne se déclenche que si tous les mots clefs de l’expression sont présent dans la phrase saisie par l’utilisateur.

Donc si l’utilisateur écrit “Je veux en savoir plus sur les croquettes pour chats” ou “Quelles sont les meilleures croquettes pour chats?” ou “Pour les chats, quelles croquettes choisir?”, pour l’IA, les conditions sont remplies pour déclencher la séquence sur les croquettes pour chats.

La problématiques est la suivante : si l’utilisateur a déjà indiqué qu’il avait un chat, il ne va certainement pas écrire “Quelles sont les meilleures croquettes pour les chats?”, il va simplement demandé “Quelles sont les meilleures croquettes?”. Le mot clef qui devrait déclencher la séquence sur les croquettes pour chats est donc “croquettes” mais ce mot clef est déjà utilisé pour la séquence de choix du type de croquette. idem pour les chiens.

Pour que le même mot clef déclenche des réponses différentes, il faut utiliser les contextes dans l’AI.

On va donc créé 2 contextes CHAT et CHIEN avec les règles suivantes :

  • dans le contexte CHAT le mot clef “croquettes” va ouvrir la séquence des croquettes pour chats
  • dans le contexte CHIEN le mot clef “croquettes” va ouvrir la séquence des croquettes pour chiens


Pour que cela fonctionne, il faut indiquer le contexte de chaque séquence dans le menu déroulant à droite dans le titre de la séquence :

  • choix de l’animal de compagnie = contexte par défaut
  • choix de type de croquettes = contexte par défaut
  • séquence pour les chats = contexte CHAT
  • séquence pour les chiens = contexte CHIEN
  • séquence pour les croquettes pour chats = contexte CHAT
  • séquence pour les croquettes pour chiens = contexte CHIEN

Maintenant, dans le contexte par défaut, on voit que les règles déclenchent des contextes.

Si l’on teste le chatbot, le mot clef “croquettes” déclenche bien les bonnes séquences dans chaque contexte.

Mais on se retrouve avec une nouvelle problématique : lorsqu’on est dans le contexte CHAT, si’ l’on écrit “Je voudrais en savoir plus sur les croquettes pour chiens.”, c’est la séquence pour les croquettes pour chats qui se lance. 

La raison de ce comportement du chatbot est que le contexte local est prioritaire sur le contexte par défaut. Donc dans cet exemple, l’AI cherche d’abord parmi les règles du contexte CHAT et trouve que le mot clef “croquettes” ouvre la séquence sur les croquettes pour chats. Il ignore donc le second mot clef “chiens”.

Il faut donc modifier la règle qui ouvre la séquence des croquettes pour chats pour qu’elle ne se déclenche pas quand les mots clefs “croquettes” et “chiens” sont associés. Et que la règle définie dans le contexte par défaut sur l’expression “croquettes chiens” se déclenche.

Une solution possible est l’emploi d’expressions négatives.

Dans le contexte CHAT, en remplaçant le mot clef “croquettes” par l’expression négative “croquettes -chiens” pour déclencher l’ouverture de la séquence sur les croquettes pour chats, on indique à l’AI de n’ouvrir la séquence seulement si le mot clef “croquettes” n’est pas associé au mot clef “chiens”. Et par conséquent, quand les deux mots clefs sont associés, comme s’il n’y a pas de règle dans ce contexte local, c’est le contexte par défaut qui prend le relais. Et comme une règle existe, c’est bien la séquence sur les croquettes pour chiens qui s’ouvrira.


Il suffit de faire l’équivalent pour le contexte CHIEN et le problème est résolu!

Comme on peut le voir par cet exemple, apprendre à son chatbot a bien interpréter ce que lui disent vos utilisateurs, demande une certaine gymnastique mentale. Et plus le chatbot est complexe, plus la phase d’apprentissage sera longue.

Notre conseil :
Pour lancer votre chatbot au plus vite, utilisez d’abord les boutons, les réponses rapides et les carrousels pour guider vos utilisateurs vers votre contenu. Une fois publié, consacrez quelques heures chaque semaine pour nourrir l’AI en utilisant notre outil de recommandation (colonne de gauche dans l’onglet AI).

En savoir plus :
Mot clés et Expressions
Introduction aux contextes
Tout ce qu’il faut savoir sur la NLP sur Botnation

➜ Découvrez Botnation et lancez votre chatbot facilement !