Je suis nouveau sur api.ai et je travaille sur un robot guidé FB TRÈS simple (le robot pose une question, l'utilisateur choisit parmi des cartes rapides). Le problème est que certaines de mes questions sont ouvertes , ce qui signifie que l'utilisateur peut continuer à saisir des informations jusqu'à ce qu'il décide de passer à la question suivante.

Mon objectif est d'avoir quelque chose comme ça :

Bot: Hello. Please reply to this open question. 
User: This is my reply's first paragraph. However I want to keep writing. (ENTER) 
B: Anything else you would like to add? (quick button: "NO")
U: Yes, this other paragraph. (ENTER)
B: Anything else you would like to add? (quick button: "NO")
U: "NO" (Quick Button).

Je n'arrive pas à comprendre comment, peu importe ce que l'utilisateur écrit, toujours donner la même réponse ("Quelque chose d'autre que vous aimeriez ajouter?" Et bouton rapide "NON"), jusqu'à ce que l'utilisateur n'ait rien d'autre à dire. Comment garder l'utilisateur dans une boucle fermée (bien qu'une boucle qui soit spécifique à cette question, car j'en ai environ 6 différentes).

Un conseil sur où commencer à chercher?

2
Yisela 5 avril 2017 à 14:01

2 réponses

Meilleure réponse

J'ai trouvé un moyen simple de le faire en utilisant des contextes . Cela semble fonctionner, mais je garderai un œil sur les alternatives.

  1. À l'étape précédant l'introduction de la question, indiquez un contexte, par exemple, {{X0 }}.
  2. Créez un nouvel Fallback Intent (à partir de Intents > ... ) avec Input: context-A et Output: (1) context-A. Le (1) est le nombre d'itérations. Cette intention de secours est celle qui demande à l'utilisateur d'écrire s'il le souhaite, ou de cliquer sur le bouton s'ils sont terminés (le bouton les amène à la question suivante, où vous pouvez répéter le processus si nécessaire).

Et c'est tout. Fondamentalement, vous créez un nouveau contexte dans lequel vivre cette question, puis vous bouclez l'intention de secours jusqu'à ce que l'utilisateur passe à la suivante.

0
Yisela 12 avril 2017 à 15:10

Vous pouvez également utiliser des paramètres et @ sys.any.

Intention n ° 1: Quelle est votre réponse à cette question? -> Contexte de sortie: Répondre à l'intention n ° 2: Continuez à répondre ou dites Terminé. -> Contexte d'entrée: Répondre -> Contexte de sortie: Répondre -> L'utilisateur dit: "x" et définit l'intégralité de sa réponse "x" sur @ sys.any, en attrapant toute valeur comme "non terminé" -> L'utilisateur dit: " fait "puis continuez ...

0
Matt R O'Connor 16 avril 2017 à 07:34