I have a bot in which I need to capture multiple slots in an intent. Examples of the same are:
book a [uber go](cabType) in [London](city) for [Sam](personName)
book a cab
Now if a user utters ‘book a cab’, agent needs to ask follow up questions to capture cabType, city and personName. I can define follow up questions in stories.md, by having mechanism like:
## story-5
* bookCab{"cabType": null, "city":null, "personName":null}
- cabType_ask
* bookCab{"cabType": "uber go"}
- city_ask
* bookCab{"city": "london"}
- personName_ask
* bookCab{"personName": "Sam"}
- bookCab_action
Couple of questions here:
- Is there any better way of capturing variables instead of manually sequencing follow up questions in stories.md?
- cabType could also be captured in another intent (e.g. What is per mile fare of uberGo ). While capturing cabType for bookCab intent, internally NLU thinks it has got fareCabType. And changes the story flow. Or behaviour can be vice versa as well, i.e. while capturing fareCabType, NLU thinks it has received cabType. Is there any way by which I can make sure that this switch of intents doesn’t happen. And conversation flow is as per the story sequence I define? Or in a way all the mandatory variables of intent are captured before doing anything else?