I got this question via my blog comments:
I think the reader brings up some very interesting questions. But the issue may not actually be due to "too few training phrases".
Here is a step by step process you can use to answer these kind of questions:
1 Avoid features which make your bot hard to analyze
I provide a list of these "better to avoid" features in this article.
2 Identify the candidate intents
3 Identify the target and surplus intents
4 Check your ML Threshold
Sometimes, your ML Threshold might be too high. Although in this case, that's not likely the issue because the reader gets intents wrongly mapped (in other words, they are not being mapped to the Fallback intent, which usually happens if the ML Threshold is set very high).
5 If all of these things are satisfactory, add the missed phrase into your intent
That is, don't just start adding a ton of training phrases into your intent without doing some preliminary analysis.
However, if you have considered all the other things, you would need to add the training phrase into your intent. But when you follow a process like this, you can get a very high "surface area" of coverage - a fancy way of saying that your expected intent will get mapped - without adding too many training phrases into your intents.
So, does Dialogflow improvise based on input? Yes.
However you should keep the following in mind:
- it improvises within a fairly narrow range
- you need to help Dialogflow (by not having unnecessary surplus intents) with the improvisation
Want an in-depth coverage of these topics? Check out my Dialogflow Conversation Design course.