/inform to be difficult as well, so i used the same intent for setting the slot.
Meaning if you have en intent
/book_table in restaurant bot i would train the intent
/book_table with different possible entities. I dont use a separate
/inform intent to get the required form slots/info.
This works for me pretty well especially when user asks “book a table” and bot replies with “enter number of people” and user enters again “book table for 5” instead of just “5”. You could use multiple intents in story like
*intent OR book_table .
So the training file for book_table would look like this:
- book table for [five](number)
- book table for (number)
- book for (number)
- (number) people
I know if we enter just a number it will consider the intent as book_table. So I would go with giving unique entities for each intent and maybe forcing a user to use a particular keyword like “5 people”
Another solution would be to take the text as it is using
tracker.latest_message['text'] and in the custom action you can extract entities. Probably not the best solution as you have a lot of stuff to handle!
Perhaps this is not the best solution as more wrong intents can be classified but adjusting the fallback policy slightly I was able to overcome this! try it out. It did work for. If anyone has a better solution please do tell!