The choice block allows the business to guide the NLU on an end-user response using intents as opposed to a specific value type (text, number, date).
When prompting a user, we’re sometimes expecting them to come up with certain intents.
For example, when completing a purchase with the retail chatbot, the bot might ask: “Is there anything else I can do?”.
Instead of open-ended possibilities (using an end turn), as a conversation designer, we can specifically expect a Yes
intent, a No
intent, or some other functionality from the bot.
Before the existence of the intent choice block, you would need to keep track of the context and pass it in the respective intent flows. Now you can do it locally where the prompt is, which makes the design a little more readable.
Add a new block and select the Ask a question
, followed by the intent choice
.
In the User Input tab of the property panel, you can indicate the variable scope (inside turn, dialog, or conversation) of where to store the result, and below that, the list of intent names.
The list is free-form text, so you will need to make sure it matches exactly the name of any intents that you have in the conversation.
In the Other tab of the property editor, you’ll find a confidence score field that will allow you to set the threshold to consider the intent as a valid result. For example, if you set the threshold at 50, the intent must be returned with 50% or more as the confidence score.
You can also configure the re-prompt values when the intent isn’t found. The re-prompt allows you to implement some conversation repair for the user.