2017-10-06 7 views
1

Ours avec moi sur celui-ci. Je vais essayer d'expliquer de la manière la plus simple possible. J'ai construit un chatbot en utilisant API.AI. L'arbre ci-dessous est une représentation simple et grossière de la façon dont le flux va. Les 2 premiers niveaux sont simples, il ne fait que poser des questions simples puis se ramifie sur des chemins différents. Comme vous pouvez le voir, le point de terminaison est le même.Existe-t-il un moyen de pointer une intention de repli vers une intention réelle dans api.ai?

La question est ici que d'un point final commun et ayant de multiples oui/non les intentions de repli, est-il un moyen de relier les intentions de repli à un intention commune?

Get name 
└── Get email address 
    ├── [[email protected]] 
    └── Does not give email address 
     ├── Know more about person 
     │ ├── About short description 
     │ │ └── Dont want to know more 
     │ │  ├── Read more 
     │ │  └── Want to connect with person? 
     │ │   ├── Show email address 
     │ │   └── Goodbye    
     │ ├── Coding short description 
     │ │ └── Dont want to know more 
     │ │  ├── Read more 
     │ │  └── Want to connect with person? 
     │ │   ├── Show email address 
     │ │   └── Goodbye 
     │ ├── Achievements short description 
     │ │ └── Dont want to know more 
     │ │  ├── Read more 
     │ │  └── Want to connect with person? 
     │ │   ├── Show email address 
     │ │   └── Goodbye 
     │ └── Skills short description 
     │ │ └── Dont want to know more 
     │ │  ├── Read more 
     │ │  └── Want to connect with person? 
     │ │   ├── Show email address 
     │ │   └── Goodbye 
     └── Want to connect with person? 
      ├── Show email address 
      └── Goodbye 

Répondre

1

Je suppose que par la structure que vous avez donné que vous utilisez FollowUpIntents, une façon de regrouper plusieurs intentions à une intention de secours utilise un contextOut qui est la même pour tous les critères d'évaluation que vous souhaitez correspondre le repli sur.

Les intentions de FollowUp construisent leur flux avec des contextes de la même manière, mais vous pouvez le faire vous-même.

donc dans les intentions suivantes:

│ ├── Coding short description 
│ ├── Achievements short description 
│ └── Skills short description 

Il vous suffit de définir la contextout de ces intentions à quelque chose comme « contextFallback ».

Dans:

Dont want to know more 

Il vous suffit de définir la contextIn comme "contextFallback". De cette façon, chaque fois que vous déclenchez l'un des contextes qui définissent le contexte, vous pouvez déclencher et vous ramener à l'intention «Ne veut pas en savoir plus». Résultant dans une intention (au lieu des 4 intentions qui font la même chose selon votre exemple)

J'espère avoir bien compris votre question, sinon je vais modifier ma réponse.

+0

Cela semble à peu près juste. C'était ma construction initiale. L'expression de l'utilisateur est "non" et, en quelque sorte, elle n'est pas reconnue et Small Talk est déclenché à la place. C'est pourquoi j'ai dû recourir à fallbackIntent. – oninross

+0

D'après mon expérience (et je l'ai testé avec smallTalk activé), smallTalk ne devrait pas se déclencher si elle ne correspond à aucune des intentions (et le contextIn requis pour cette intention particulière). Peut-être pourriez-vous clarifier votre configuration avec quelques captures d'écran. (une intention, l'intention de repli, la vue d'ensemble et l'endroit où vous pensez que cela ne se passe pas comme vous le voulez) J'espère que je peux vous aider à mieux faire cela et vous donner un aperçu de la façon dont je l'établirais. – Anomaly