How the heck does a chatbot work? Now with disambiguation
I wrote a blog a few months ago called How the heck does a chatbot work? about how an SAP Conversational AI chatbot figures out what actions to take after a user enters some text. It was the result of my own extensive — sometimes painful — research on how the heck the chatbot figured out which skills and which actions to execute.
I wanted to update the post, to make it clearer, and in light of the new feature called disambiguation skill.
This feature lets you create a new skill in old chatbots, or creates the skill automatically in new chatbots, that is triggered automatically when more than 1 skill is triggered by the user’s utterance. The skill simply displays a button for each skill and lets the user decide which he meant.
Example of disambiguation
For example, I created an intent and skill when the user wants to buy fruit, and another intent and skill for when the user wants to buy vegetables. I made the matching strictness of both intents 10 (very low).
So when I say “buy guava”, both intents are detected, and both skills are triggered. So the disambiguation skill is executed.
Nice feature. Here’s a video if you want more information.
Where does that leave us
This changes a little bit how the chatbot figures out which skill to execute, specifically, when more than 1 skill is triggered.
If more than 1 skill is triggered, the disambiguation skill is triggered — instead of the fallback skill. By default the disambiguation skill shows intro text, followed by buttons for the user to select the skill they want to execute.
Here is the revised workflow diagram, showing how the chatbot selects the skill for the current utterance (click the graphic to make it bigger).
Hope this helps with understanding how SAP Conversational AI chatbots make decisions. I’m always open to suggestions and corrections.