Sample by Frank Nimphius, November 2017
Independent of the quality of utterances used for training the intent model, chances are that bot users enter a phrase the bot doesn't understand. In such cases the System.Intent component navigates to the state configured for the "unresolvedIntent" action. It is up to the bot designer then to handle the situation gracefully so bot users don't experience an interruption.
This sample shows how the "unresolvedIntent" case can be handled such that the bot displays a list of intents in order of the intent confidence level. Intents that have a confidence level of 0% are ignored. And just in case, a "help" option is displayed at the end for the user learn about how to use the bot or being directed to a human agent (not implemented in the sample). Whatever the user selects in the list will navigate her to the matching state in the dialog flow.
The sample is a BotML only implementation. Of course, similar functionality can be built using custom components. You use custom components if you don't wat to just list the intents as a choice but e.g. pre-filter them on some kind of condition.
The sample can be imported to Oracle Intelligent Bots version 17.4.5 and above.
Oracle Intelligent Bots has been rebranded Oracle Digital Assistant to better describe its capabilities beyond a standard chatbot. To learn more, visit cloud.oracle.com/digital-assistant