Dans cet article je vais vous expliquer comment configurer une intention (Intent) sous LUIS pour extraire une liste de paramètres.
Pour cet article on va développer un Bot pour commander des pizzas, je l’ai nommé le Poliyolo.
Cas d’utilisation
Pour notre bot il y a plusieurs cas d’utilisation possibles.
Cas 1
Dans ce premier cas d’utilisation, l’utilisateur sait exactement ce qu’il veut et il pourrait par exemple demander au Bot :
– Je veux commander une pizza Regina.
Dans cet Intent nous avons besoin d’un seul paramètre qui est le nom de la pizza.
Cas 2
Dans ce deuxième cas, l’utilisateur donne une liste d’ingrédients de façon à ce que le Bot lui retourne une liste de pizzas contenant ces ingrédients, par exemple :
– Je voudrais une pizza avec de la mozzarella, de la viande hachée et des champignons.
Dans cet Intent nous devons identifier et extraire trois paramètres de façon à ce que le Bot puisse identifier les ingrédients souhaités.
Le deuxième cas d’utilisation est un peu plus évolué, c’est celui que nous allons voir dans cet article.
Création de l’Entity
Commençons par créer une Entity pour nos ingrédients.
Nous allons définir cette Entity en type liste, de façon à borner la liste des valeurs d’ingrédients possibles.
Dans cette Entity on va maintenant définir la liste des valeurs possibles pour nos paramètres.
Valeurs
Voici la liste des ingrédients que j’ai renseignés.
Astuce
Une fois que vous avez ajouté des valeurs à votre liste vous pouvez cliquer sur le bouton « Recommend » pour avoir une liste de suggestions de valeurs qui correspondent à ce que vous avez déjà renseigné.
Intent
Nous pouvons passer maintenant à l’Intent qui va permettre d’extraire les paramètres de ce que renseigne l’utilisateur.
Pour cela, il faut commencer par renseigner différentes Utterances, comme ci-dessous.
Comme vous pouvez le voir, j’ai renseigné des Utterances avec plusieurs ingrédients, ce qui va permettre d’extraire n paramètres à partir de ce que dit l’utilisateur.
Test
On va maintenant passer au test, pour cela il faut commencer par « entraîner » LUIS avec nos Utterances, cliquer sur bouton « Train » en haut à droite de l’écran.
Une fois l’entrainement terminé le bouton passe vert.
Il ne reste plus qu’à cliquer sur le bouton « Test » pour commencer à tester notre Bot.
Entrer une phrase de façon à déterminer l’efficacité de notre apprentissage.
Exemple 1
Par exemple (avec des fautes d’orthographe) : « Je veut une piza avec de la mozzarella et du jambon »
On peut voir que l’Intent trouvé est bien « Commander une pizza » et que les ingrédients extraits dans ce que dit l’utilisateur sont bien : mozzarella et jambon.
Exemple 2
Dans ce deuxième exemple on peut voir que la phrase « j’ai faim de champignon de poulet et de fromage » n’existe pas dans les Utterances renseignées, pourtant LUIS arrive à déterminer que l’Intent est bien « Commander une pizza » avec trois ingrédients.
Exemple 3
Dans ce dernier exemple on peut voir que LUIS arrive à extraire quatre ingrédients bien que nous n’ayons aucune Utterance avec quatre ingrédients.
Vous savez maintenant comment extraire une liste de paramètres de même type à partir de ce que renseigne l’utilisateur.