# Mon entrainement de NLU ne fonctionne pas, que faire ?

Vous cliquez sur entrainer la NLU et vous recevez une notification d'un Ă©chec. Cela peut avoir trois causes majeures:

  • Vous n'avez pas assez d'intentions. Il faut un minimum de 2 intentions pour qu'on soit capable d'entrainer la NLU.
  • Vous n'avez pas assez de phrases d'entrainement. Il faut un minimum de 10 phrases d'entrainement pour que l'entrainement de la NLU soit cohĂ©rent, nous ne permettons donc pas les entrainements si vous avez moins de 10 phrases (toutes intentions rĂ©unies)
  • Les serveurs d'entrainement sont saturĂ©s chez nous. Dans ce cas, contacter votre chef de projet ou discuter directement avec notre Ă©quipe depuis le livechat. Nous corrigerons le problĂšme trĂšs rapidement.

# La NLU de ma nouvelle version ne fonctionne plus

Pas de panique c'est normal. Tout le contenu (compétences) et l'entrainement de la NLU est lié à la version.

Ca vous permet de créer une nouvelle version pour tester une NLU différente si vous souhaitez.

Il faut donc Entrainer la NLU lorsqu'on créer une nouvelle version.

# La compétence d'incompréhension ne fonctionne pas

Votre bot ne vous renvoit rien lorsqu'il ne comprend pas la requĂȘte de l'utilisateur.
Vous avez bien diagnostiqué le problÚme, c'est en lien avec la compétence d'incompréhension.

    1. Assurez vous qu'elle existe bien
    1. Assurez vous qu'elle est bien définie comme compétence d'incompréhension incomprehension_toggle Compétence incompréhension

Si le problÚme persiste, n'hésitez pas à nous contacter directement sur le chat, nous vous aiderons le plus rapidement possible

# Comment bien paramétrer la NLU de mon bot

Ce n'est jamais simple de bien entrainer une NLU car nous ne connaissons pas forcément en amont tous les sujets que notre chatbot devra traiter.

Ici nous allons prendre un cas d'usage extrĂȘmement simple.

Nous souhaitons réaliser un chatbot ITSM qui réinitialise les mots de passe.

Nous allons donc créer 1 intention: ResetPassword. Cependant, il faut une seconde intention pour que la NLU fonctionne.

Nous vous conseillons dans un premier temps de créer une intention autre comme ci dessous:

Ajoutez un certains nombre de phrases par intention (minimum 5 chacun) comme ci dessous

TIP

Ne perdez pas trop de temps à définir les sujets que le bot doit traiter, les tests utilisateurs servent à ça.

# L'objectif de votre premier entrainement sera de faire comprendre l'intention ResetPassword

Il faut se concentrer sur cette intention et toutes les phrases qui n'ont rien Ă  voir sont Ă  mettre dans autre.

Partager le chatbot avec quelques collĂšgues, demandez leur de parler au bot sans leur donner trop d'indication.

Faites une premiĂšre passe sur les RequĂȘtes NLU pour corriger celle qui n'ont pas Ă©tĂ© comprises.

TIP

L'intention Autre va rapidement avoir trop de phrases d'entrainement. Relisez les et essayer d'en extraire une partie à mettre dans une nouvelle intention que vous pouvez créer.

En travaillant de la sorte, votre chatbot va progresser rapidement et vous serez toujours capable de comprendre les sujets les plus importants.

# Comment créer une logique en fonction de la valeur d'une entité

Vous pouvez créer des logique en fonction de la valeur des entités.

Prenons un exemple simple, d'un chatbot qui permet de réinitialiser le mot de passe Azure mais pas sur SAP.

On peut imaginer créer 3 configuration comme ci-dessous

Analysons maintenant configuration par configuration ce que nous avons fait

# réinitialiser mot de passe + application-type

Nous décidons de ne pas fournir de logique si l'entité (application-type) n'est pas l'une des valeur que nous fournissons dans les logique en fonction de la valeur des entités. (cadre vert n°1)

Par contre nous fournissons une logique si l'entité trouvée est SAP (cadre vert n°2)

# Logique sans intention + application-type

Pour cette configuration, nous avons 3 options différentes:

  • la premiĂšre logique: Si nous comprenons une application (mais pas azure ou sap) nous allons rediriger vers la FAQ
  • la seconde logique: Si nous comprenons l'application SAP, nous allons rediriger vers la FAQ SAP
  • la troisiĂšme logique: Si nous comprenons l'application Azure, nous allons rediriger vers la FAQ AZURE

# Logique RĂ©initialiser mot de passe

Ici, nous avons compris que l'utilisateur veut modifier son mot de passe, mais nous n'avons pas compris d'application. Si c'était le cas nous aurions redirigé vers la configuration précédente.

Nous redirigeons vers la fonctionnalité de réinitialisation de mot de passe.

# Pourquoi le chatbot ne comprend pas une question ?

Vous avez paramétré un certains nombre de sujets en FAQ ou en actions et votre chatbot répond qu'il n'a pas compris ?

Il faut avant tout bien comprendre comment le chatbot fonctionne.

  1. Quand une requĂȘte est tapĂ©e, l'algorithme calcule la probabilitĂ© de trouver une intention paramĂ©trĂ©e (score /1)
  2. Si l'algorithme trouve une intention avec un score > 0.5 (palier par défaut) alors il exécute la logique paramétrée
  3. S'il trouve une intention avec un score < 0.5 ou aucune intention du tout alors il dit qu'il n'a pas compris

# Si le chatbot répond qu'il n'a pas compris :

Cela veut dire qu'il a trouvé une intention avec un score < 0.5

# Si le chatbot répond à cÎté de la plaque :

Cela veut qu'il a :

  1. Compris une mauvaise intention
  2. Compris la bonne intention mais la logique attenante est mauvaise

# L'erreur peut donc venir de deux choses :

  1. La NLU ne comprend pas la requĂȘte, ou la comprend mal (il manque une entitĂ© par exemple) => il faut l'entraĂźner sur le sujet
  2. la NLU comprend bien la requĂȘte et exĂ©cute la logique paramĂ©trĂ©e => il faut vĂ©rifier qu'une action est bien paramĂ©trĂ©e dans NLU > Configuration
  3. si une action est bien paramĂ©trĂ©e, il faut vĂ©rifier la ressource en question (elle contient peut ĂȘtre des erreur de filtres, ou ne contient aucun texte par exemple)

# Pourquoi le chatbot répond mal à une question

Ce cas arrive si : l'algorithme a trouvé une intention avec un score > 0.5 (palier par défaut) alors il exécute la logique paramétrée

Pour voir cela, ouvrez le panneau de test de la NLU > Tester la NLU

Tapez une requĂȘte et regardez si l'intention est la bonne.

1. La NLU a trouvé la bonne intention avec un score > 0.5 mais pas les bonnes entités

Si l'intention est bonne, cliquez sur Inspecter et vérifiez les entités trouvées
S'il manque des entitĂ©s vous devrez aller dans les requĂȘtes liĂ©es Ă  l'intention et tagger les entitĂ©s qu'il faut

2. La NLU a trouvé la bonne intention avec un score < 0.5

Retournez dans les requĂȘtes liĂ©es Ă  l'intention et ajoutez de nouvelles requĂȘtes sur ce sujet prĂ©cis. Votre NLU n'est pas assez bien entraĂźnĂ©e

3. La NLU a trouvé la bonne intention avec un score > 0.5 et les bonnes entités

Dans ce cas c'est la logique qui n'est pas bonne.
Allez dans l'onglet NLU > Configuration et cherche le couple en question

Puis vérifiez que la logique est bien la bonne en ouvrant l'espace de configuration

# Comment définir une Expression RéguliÚre (Regex)

Exemple de Regex :

  • Je veux que seuls les identifiants commençant par IO_ ou  115_ soient acceptĂ©s.
  • (115_|IO_)([aA-zZ]|[0-9])*

Voici un lien utile pour tester les Regex en ligne : https://www.regextester.com/ (opens new window)

Et un lien expliquant comment Ă©crire des Regex : https://openclassrooms.com/fr/courses/146276-tout-sur-le-javascript/145569-lobjet-regexp (opens new window)

# Comment rendre un configuration NLU prioritaire

Si vous avez déjà paramétré des compétences actions, vous savez que sans aucune action de votre part, chaque ressource **texte libre ne peut pas faire appel à la NLU.

**Or, si vous avez par exemple paramétré une configuration pour l'intention de bavardage Bonjour et vous souhaitez que le chatbot réponde toujours "Bonjour" lorsque l'utilisateur exprime l'intention Bonjour. C'est à dire que vous souhaitez que votre configuration NLU passe en priorité sur le format de réponse imposé texte libre.

Pour ça, rendez-vous dans l'onglet NLU puis dans Configuration. Et enfin, cochez la case intention prioritaire.

Cette configuration vous permettra de passer de ce comportement :

A ce comportement :

A vous de jouer !

# Comment requalifier une entité mal étiquetée ?

Imaginons que vous Ă©criviez au chatbot la phrase suivante :

"J'ai besoin d'un nouvel accĂšs Ă  SAP"

Imaginons que vous ayez paramétré une entité "accÚs" avec les deux synonymes suivants :

  • accĂšs bloquĂ©
  • nouvel accĂšs

Il est possible que votre chatbot comprenne l'entitĂ© "accĂšs" au lieu de son synonyme "nouvel accĂšs". Vous pouvez vous en rendre compte dans le panel des requĂȘtes NLU tapĂ©es par les utilisateurs.

Vous allez donc, dans l'onglet de requĂȘtes NLU, vouloir requalifier cette entitĂ© en englobant le mot "nouvel" avec "accĂšs". La vidĂ©o suivante dĂ©crit comment faire :

https://www.loom.com/share/6b4eaa08bb2c48879195af25146829cd (opens new window)

Il faut donc dans l'ordre :

  1. re-cliquer sur l'entité déjà assignée (dans la vidéo => email)

  2. Supprimer l'Ă©tiquetage actuel

  3. cliquer sur les deux mots (ou plus) que vous voulez englober dans l'entité (dans la vidéo => fraudulent email)

  4. assigner à l'entité souhaitée

  5. corriger la phrase avec le bouton rose tout Ă  droite (en conservant ou non l'intention comprise)

  6. entraĂźner la NLU

  7. publier une fois la NLU entraßnée

A vous de jouer !

# Paramétrer les entités de son chatbot avec des mot clés et synonymes

"Pourquoi mon chatbot ne détecte pas les entités que j'ai paramétré ? "

Vous vous ĂȘtes surement dĂ©jĂ  posĂ© cette question. Je vais vous expliquer pourquoi. Vous ĂȘtes prĂȘt ? Allez c'est parti !

Il y a 2 maniÚres d'associer des mots / ensembles de mots à des entités :

  • l'Ă©tiquetage de mots dans les phrases d'entrainement des intentions

Dans cette vidéo, (opens new window) j'associe le mot "chaussure" à l'entité "chaussure" dans une phrase d'entrainement de l'intention "Livrer".

  • l'ajout de mots clĂ©s ou synonymes dans le paramĂ©trage de l'entitĂ© elle mĂȘme

Dans cette vidéo (opens new window), je paramÚtre l'entité PateATartiner avec deux synonymes :

Nutella et Chocolata ET tous les mots clés associés (avec les écritures possibles).

ATTENTION : paramĂ©trer les mots clĂ©s et synonymes d'une entitĂ© ne suffit pas pour que le chatbot comprenne ! IL FAUT IMPÉRATIVEMENT que plusieurs des ces mots de cette entitĂ© soit placĂ©s dans une phrase d'entrainement d'une intention du bot en Ă©tant bien sur Ă©tiquetĂ© correctement !

Il ne faut pas qu'un mot clĂ© soit prĂ©sent dans une phrase d'entraĂźnement sans ĂȘtre Ă©tiquetĂ©.

Par exemple, je vais ajouter une phrase d'entrainement pour l'intention "Livrer" avec l'entité "PateATartiner" :

Il suffit de le faire une fois par entitĂ© ! DĂ©sormais, mon bot comprendra le mot Chocolata comme Ă©tant l'entitĂ© PateATartiner 😉

A vous de jouer !

DANGER

Il faut le moins possible qu'un mot dans les "mots clĂ©s" ne soit pas tagguĂ© dans les requĂȘtes, MEME lorsque ce mot est tagguĂ© avec un autre mot ! PAR EXEMPLE :

I have a problem on SAP BW

si vous tagguez SAP BW comme étant une office app, et que BW et SAP existent séparément dans les mots clés => alors problÚme

Bonus:

Vous pouvez voir des optimisations possibles pour votre entrainement dans l'onglet entrainement.

# ATTENTION :

Lorsque vous ajoutez des mots à un synonyme, ces mots s'ajoutent directement aux mots-clés de l'entité (ce n'est juste pas responsive) => rafraßchissez la page pour le constater et n'ajoutez surtout pas les mots-clés à la main !

# Comment gérer les questions que le bot n'a pas compris

# Pour paramétrer un message d'erreur, il vous faudra:

Créer une compétence "Non Compréhension" + une ressource avec votre message d'erreur.

Nous vous conseillons d'ajouter un bouton "retour au menu" et "créer un ticket/contacter un conseiller" ...

Activer la compétence de non compréhension.

Aller dans: Compétence > Avancés > Activez "Compétence "Incompréhension"

# Paramétrer la compétence avec l'intention "Intent_not_understood":

NLU > Configuration > Ajouter une Configuration > SĂ©lectionner "intent_not_understood" > Valider

# NLU > Score de certitude:

Par défaut il est de 0.5 ce qui est plutÎt bas, nous vous conseillons de le paramétrer au minima à 0.7

Entrainer votre NLU et publier votre chatbot

# Tester la compréhension du bot

L'onglet "RequĂȘtes NLU" de la section NLU affiche des informations qui sont des photos faites Ă  l'instant oĂč la requĂȘte a Ă©tĂ© tapĂ©e. Ce qui signifie que les informations ne sont peut ĂȘtre plus valides au moment oĂč vous les consultez (en effet, avoir des informations valides au moment de la consultation signifierai rĂ©-entrainer la NLU Ă  chaque affichage de la page ; difficilement rĂ©alisable du fait du temps de calcul nĂ©cessaire ⚙ đŸ”„ ).

Vous pouvez nĂ©anmoins obtenir ces informations mises Ă  jour, requĂȘte par requĂȘte, en cliquant sur le bouton dĂ©diĂ© : "tester"

Sur l'exemple ici, en cliquant sur le bouton "tester" de la 4Ăšme ligne, le rĂ©sultat va ĂȘtre :

On constate qu'ici les informations diffĂšrent de ce qui est prĂ©sentĂ© sur la vue par ligne. Par exemple l'intention reconnue est bien "partager mon chatbot" alors que sur la vue par ligne, l'intention reconnue (au moment oĂč la requĂȘte a Ă©tĂ© tapĂ©e par un utilisateur) Ă©tait "mettre Ă  jour...". Entre temps (le moment oĂč la requĂȘte a Ă©tĂ© tapĂ©e et le moment ou on consulte cette page), la NLU a dĂ» ĂȘtre rĂ©-entrainĂ©e, ce qui explique l'"amĂ©lioration" des informations 👍

That's all folks ! 👋

# Créer une logique en fonction de la valeur d'une entité

Imaginons que vous créez un chatbot qui doit traiter des demandes autour d'applications métier comme SAP ou Salesware.

Vous pourrez avoir des requĂȘtes du type :

"Je n'arrive pas Ă  me connecter Ă  SAP"

"Mon accÚs à Salesware est bloqué"

Imaginons que vous avez mis en place une procédure pour chacune de ces deux problématiques dans votre chatbot. Vous allez donc vouloir avoir un comportement différent en fonction de l'entité "office-app", par exemple :

Si intention = "se connecter" et entité = office-app et office-app = SAP, alors va dans la procédure SAP

Si intention = "se connecter" entité = office-app et office-app = Salesware alors va dans la procédure Salesware

Pour paramétrer cela, rendez-vous dans l'onglet de configuration NLU.

Ensuite, choisissez le paramétrage de l'intention souhaitée puis cochez la case "logique en fonction de la valeur de l'entité". Vous pouvez directement créer une logique en fonction du nom que vous avez paramétré dans les synonymes de votre entité ("SAP" et "Salesware").

NB : Ici, il faut impérativement que j'ai paramétré les deux synonymes "SAP" et "Salesware" dans mon entité application-type.

A vous de jouer !

# Consulter la liste des expressions saisies pour l'entrainement de la NLU par intention

Lorsque vous paramĂ©trez la NLU de votre application, il peut ĂȘtre intĂ©ressant de consulter la liste des expressions associĂ©es Ă  chaque intention ou Ă  chaque entitĂ©.

Pour ce faire, dans la section "NLU" du dashboard Vizir, rendez-vous sur l'onglet "Intentions" oĂč se trouve la liste des intentions que vous avez configurĂ©es pour votre NLU.

Dans l'encart correspondant à l'intention de votre choix, cliquez sur le troisiÚme bouton "Intention liées" :

S'ouvre alors sur la droite de votre Ă©cran un panneau latĂ©ral qui affiche la liste de toutes les expressions que vous avez prĂ©cĂ©demment saisies et correspondant Ă  cette intention. Ce panneau est exactement le mĂȘme que celui qui s'affiche au clic sur "tester la NLU" (prĂ©sent dans toutes les sections du dashboard, en haut Ă  droite) ; vous pouvez donc y rĂ©aliser les mĂȘmes actions (ajouter/modifier des entitĂ©s, ajouter une expression, filtrer/rechercher des expressions, ...)

De la mĂȘme maniĂšre, vous pouvez avoir une vision "par entitĂ©" de vos expressions en vous rendant sur l'onglet "EntitĂ©s" de votre section NLU. Seule diffĂ©rence ici, le bouton permettant de consulter les expressions correspondantes Ă  une entitĂ© est situĂ© en seconde position dans chaque encart :

Ce qui affiche le volet latéral présentant les expressions contenant l'entité sélectionnée :

⚠ Attention : Pour pouvoir entraĂźner la NLU, il faut avoir saisi au moins deux expressions par entitĂ© ⚠

(Les intentions "prĂ©-configurĂ©es" telles que "time", "amount of money", ... n'ont pas besoin d'expressions saisies par vos soins pour ĂȘtre fonctionnelles)

That's all folks ! 👋

# Le bot comprend mais n'a pas encore de réponse

Cet article dĂ©crit comment gĂ©rer les situations oĂč votre bot comprend une requĂȘte de l'utilisateur mais n'a pas de contenu Ă  lui proposer pour y rĂ©pondre. On rencontre ce genre de problĂ©matiques lorsque son modĂšle NLU est plus dĂ©veloppĂ© que son contenu.

Dans mon chatbot de démonstration, j'ai une quinzaine d'intentions et davantage d'entités, MAIS, assez peu de contenus. Par exemple, je n'ai rien à proposer à l'utilisateur pour l'intention "déclarer un départ".

Imaginons que l'utilisateur tappe la requĂȘte encadrĂ©e suivante :

Le comportement que vous avez probablement jusqu'à maintenant mis en place est de rediriger vers l'incompréhension. Mais ce que vous avez-pu constater, c'est que cela fait mauvaise impression auprÚs des utilisateurs => ils ont l'impression que le chatbot ne comprend rien. Nous allons donc créer un contenu qui montrera aux utilisateurs que le chatbot a compris mais ne dispose pas encore de contenu à ce sujet.

Rendez-vous donc dans l'onglet "compĂ©tence" et crĂ©ez une nouvelle compĂ©tence. Personnellement, je la nomme toujours "To be setup" ou "No info yet". Ensuite, crĂ©ez une ressource (vous pourrez nommer de la mĂȘme façon). Ensuite, vous n'avez plus qu'Ă  faire deux choses :

  1. Choisir le message que vous souhaitez envoyer à l'utilisateur tout en utilisant l'attribut dans le lequel vous stockez vos intentions (dans mon cas je les stocke dans @categorie puisque ces intentions me sont utiles pour déterminer la catégorie des tickets créés dans l'outil ITSM). Par exemple :

  1. Créer les configurations NLU pour les intentions qui n'ont pas de contenu correspondant en redirigeant vers votre contenu nouvellement créé.

A vous de jouer !

# Créer des expressions NLU en masse via Copier/coller

Dans pas mal de cas vous avez déjà des expressions (questions) disponibles dans un Excel ou dans un fichier Word.

Vous allez en effet partir d'un document de setup (en Excel). Ou a minima vous allez exporter des requĂȘtes de votre outils ITSM ou de n'importe quel outil.

Bref peu importe. avant vous deviez entraĂźner votre NLU en tapant les requĂȘtes une par une 😭😭😭😭😭😭😭

Mais ça, c'était avant.

# Bon trĂȘve de plaisanterie, voyons comment qu'on fait

Alors mettons que vous ayez un Excel avec des requĂȘtes NLU que vous voulez importer en masse, un peu comme ça 👇👇👇

Tout ce qu'il vous reste Ă  faire c'est :

  1. de copier ces cellules (avec le fameux ctrl+c / ou cmd+c pour les adeptes du mac),
  2. d'aller dans Vizir > NLU de choisir l'intention qui va bien
  3. de taper coller, à savoir ctrl+v ou cmd+v dans la barre prévue à cet effet

Comme ci-dessous :

Et voilĂ  !

Merci la team

# Entrainer la NLU avec des "vraies" requĂȘtes utilisateurs

# Concept d'apprentissage

La premiĂšre chose Ă  comprendre est que le robot n'apprend pas tout seul.

Quand une requĂȘte est tapĂ©e par un utilisateur, notre algorithme va scorer la probabilitĂ© de trouver tel ou tel sujet que vous avez paramĂ©trĂ©.

L'algorithme Vizir est actuellement fondé sur la reconnaissance de couples intention/entité(s).

Une intention est trĂšs souvent un verbe d'action (supprimer, modifier, annuler, commander etc..).

L'entitĂ© peut ĂȘtre de deux types :

  • un mot. Par exemple, si mon bot traite de commandes de pizza, je peux marquer le mot margherita comme entitĂ©
  • une notion / groupe de mots. dans l'exemple de bot prĂ©cĂ©dent, je peux marquer l'ensemble des types de pizza comme Ă©tant associĂ©es Ă  l'entitĂ© pizza.

L'algorithme va d'abord scorer l'intention sur une note allant de 0 à 1 puis va essayer de trouver les entités.

Si l'algorithme trouve un score inférieur au niveau de confiance paramétré (mettre le lien) alors il dit qu'il n'a pas compris.

# EntraĂźnement de la NLU

Le robot n'apprend pas automatiquement de ses erreurs, c'est impossible. C'est Ă  vous de consulter rĂ©guliĂšrement les requĂȘtes utilisateurs, en particulier les non comprise pour le corriger. Pour accĂ©der Ă  toutes les requĂȘtes utilisateur, allez dans l'onglet NLU, puis RequĂȘtes.

Dans cette fenĂȘtre, vous pourrez donc voir chacune des requĂȘtes tapĂ©es par les utilisateurs, les entitĂ©s reconnues par l'algorithme, l'intention dĂ©tectĂ©e et le score associĂ©. Si aucun score n'est associĂ©, la requĂȘte n'a pas Ă©tĂ© comprise. Une requĂȘte peut-ĂȘtre Ă©galement mal comprise, c'est Ă  dire redirigĂ©e vers la mauvaise ressource (le mauvais couple intention/entitĂ©).

Une requĂȘte peut ĂȘtre mal comprise ou incomprise pour plusieurs raisons :

  • La mauvaise intention a Ă©tĂ© dĂ©tectĂ©e : Dans ce cas, utilisez le menu dĂ©roulant Modifiez l'intention pour associer la requĂȘte Ă  la bonne intention.

  • Aucune intention n'a Ă©tĂ© dĂ©tectĂ©e : Dans ce cas, vous pouvez crĂ©er un sujet et un couple intention/entitĂ© associĂ©, puis lier la requĂȘte Ă  ce nouveau couple. Si le sujet concernĂ© existe dĂ©jĂ  vous pouvez de nouveau utiliser le menu dĂ©roulant Modifiez l'intention pour associer la requĂȘte Ă  la bonne intention.

  • Une ou des entitĂ©(s) n'a(ont) pas Ă©tĂ© dĂ©tectĂ©e(s) : Dans ce cas, il vous suffit de cliquer sur le mot que vous voulez associer Ă  une entitĂ© dans la phrase et choisir la bonne entitĂ© dans le menu dĂ©roulant ouvert au moment du clic sur le mot.

  • Une ou des entitĂ©(s) a(ont)  étĂ© mal associĂ©e(s) : Dans ce cas, cliquez sur le mot dont l'entitĂ© ne correspond pas Ă  ce que vous voulez et choisissez dans le menu dĂ©roulant la nouvelle entitĂ© associĂ©e.

# Comment trouver la derniĂšre requĂȘte NLU de l'utilisateur

La derniĂšre requĂȘte de l'utilisateur qui a Ă©tĂ© traitĂ©e par nos algorithmes de NLU est stockĂ©e dans la mĂ©moire de l'utilisateur avec l'attribut: last_nlu_request

On peut la récupérer et l'appeler comme ci-dessous:

{{ last_nlu_request }}

# Comment récupérer plus d'information sur une date

Il est possible de récupérer beaucoup d'information sur le format entité time.

En effet, nous utilisons un module Open Source dĂ©veloppĂ© par Wit.ai (entreprise đŸ‡«đŸ‡· rachetĂ©e par Facebook). Voici par exemple les informations que nous rĂ©cupĂ©rons sur une date:

{"values":[{"value":"2016-12-14T09:00:00.000-08:00","grain":"hour","type":"value"}],"value":"2016-12-14T09:00:00.000-08:00","grain":"hour","type":"value"}

Ou encore

{
    to: { value: '2021-01-01T00:00:00.000+01:00', grain: 'year' },
    from: { value: '2019-01-01T00:00:00.000+01:00', grain: 'year' },
    type: 'interval'
}

Si vous décidez de sauvegarder l'entité dans la mémoire du répondant (via saveAsAttribute), nous ajoutons automatiquement ces valeurs dans le nom de l'attribut "underscore" additional_attribute

Par exemple si vous souhaitez stocker la date dans l'attribut: date_depart nous allons ajouter un tag (et un attribut) date_depart_additional_attribute avec les détails que nous avons extraits sur la date.

# Pourquoi le nombre d'expressions d'une intention ne correspond pas au nombre d'expressions que je peux voir

Il peut arriver que le nombre d'expressions soit différent entre la vue de l'intention et le nombre affiché dans le détail de la liste à droite.

L'explication est trĂšs simple.

Le nombre de gauche correspond au nombre d'expressions total (en comptant les expressions fr, en, ...) alors que le nombre de droite correspond au nombre d'expressions dans la langue sélectionnée.

Si vous avez un différentiel, c'est que vous avez des expressions dans une autre langue.

Pour les supprimer, activez les différentes langues, vérifiez qu'il n'y a pas d'expression, supprimez les expressions des langues qui ne sont pas utilisées dans le bot puis désactivez les langues.