Comment entraîner la NLU dans la durée ?

Après avoir lancé votre chatbot, il est crucial de jeter un oeil sur les requêtes réalisées par vos vrais utilisateurs pour optimiser la compréhension du chatbot et modifier / ajouter de nouveaux contenus si nécessaire.

Tout d'abord, l'entraînement se fait sur deux types de requêtes :

  1. Les requêtes non comprises : l'algorithme de machine learning a trouvé une intention avec un score inférieur au score de certitude paramétré dans le dashboard.
  2. Les requêtes comprises : l'algorithme a trouvé une intention avec un score de certitude supérieur à celui paramétré dans le dashboard.

Étape 0 - Trouver l'espace d'entraînement de la NLU

Quand vous êtes dans votre espace d'admin (cf petit lexique), cliquez sur NLU > Training.

Capture d’écran 2019-02-06 à 16.24.06

Etape 1 - Attribuer les requêtes non comprises

Dans l'interface de training, vous retrouverez un menu déroulant (vide par défaut). Cliquez dessus et sélectionnez "Mal comprises" (tout en bas)

Capture d’écran 2019-02-06 à 16.26.30

Vizir va ensuite vous donner la liste des requêtes qui ont été tapées par les utilisateurs et qui ont été mal comprises.

Voici par exemple ce que nous retourne Vizir quand on sélectionne mal comprise sur le chatbot d'un de nos clients.

Capture d’écran 2019-02-06 à 16.28.37

Ici votre objectif va être de dire à l'algorithme à quoi correspond chaque requête mal comprise.

4 cas peuvent exister :

  1. La requête non comprise peut être attribuée à un couple intention / entités déjà existant et paramétré dans la config.
  2. La requête non comprise peut être attribuée à un couple intention / entités déjà existant mais pas paramétré dans la configuration (il faut créer une configuration).
  3. La requête non comprise ne peut pas être attribuée à une intention existante (il faut en créer une).
  4. La requête non comprise ne doit pas être comprise par l'algorithme (hors sujet).

Requête qui peut être attribuée à une configuration existante

C'est le cas ici de la première requête affichée. Je sais "création d'identifiants" va être liée à l'intention "info" et aux entités "creer" + "id".

Donc dans la colonne intention je choisi "info". Puis je tag le mot "création" vers "creer" et "d'identifiants" vers "id".

Puis je cliques sur "+".

Capture d’écran 2019-02-06 à 16.37.30

La requête disparaît ensuite de la liste.

Requête qui peut être attribuée à un couple intention et entités existant mais non paramétré dans la configuration NLU

Lorsque vous configurez votre NLU, vous avez un stock d'intentions et un stock d'entités.

Puis vous paramétrez la logique en créant des couples qui déclenchent une réponse.

Il arrive parfois que vous n'ayez pas prévu de réponse pour un couple intention / entité pourtant existant dans votre stock global.

Pour ce faire, procédez comme à l'étape du dessus puis allez dans NLU > Configuration et paramétrez une nouvelle ligne de logique.

Voir la procédure complète dans cet article

Requête non comprise qui ne peut pas être attribuée à une intention existante

Vos utilisateurs vont certainement faire des requêtes auxquelles vous n'aviez pas pensé.

Par exemple ici : "ou est le logo crayon" n'est pas prévu par la NLU.

Dans ce cas, vous devez créer une intention dans "NLU > intention" , éventuellement aussi une entité puis revenir dans NLU > Training et réaliser l'opération 1.

Voir la procédure complète dans cet article

Requête non comprise qui ne doit pas être comprise

Vos utilisateurs vont parfois vous dire des choses qui sont hors sujet, et que vous ne souhaitez pas traiter.

Dans ce cas, nous vous invitons simplement à attribuer la requête à l'intention "None", qui est une sorte d'intention poubelle (vous apprenez à la NLU à ne pas prendre en compte ce genre de requêtes).

Étape 2 - Attribuer des requêtes comprises

Ici la méthode est la même sauf qu'au lieu de sélectionner le "Mal comprises" dans le menu déroulant, vous allez pouvoir sélectionner une intention ou une entité en particulier.

C'est très utile pour entraîner la NLU sur un sujet bien particulier, important pour vous (celui le plus demandé par exemple).

Dans ce cas, Vizir vous donne le score de prédiction et pré-rempli l'intention à attribuer.

Vous n'avez plus qu'à ajouter l'intention avec le "+" si elle vous parait bonne, ou à la modifier si la compréhension est fausse.

Attention : pensez à bien valider que les entités souhaitées sont bien taguées dans les requêtes.

Étape 3 - Lancer l'entraînement

Une fois que vous avez terminé votre attribution, pensez à bien entraîner l'algorithme.

Pour ce faire, allez dans NLU > Option puis cliquez sur "Train".