# Disambiguating user input
When your virtual assistant receives a user utterance, it calculates, for each intent in your domain, the confidence that the utterance is an instance of that intent. Sooner or later, your virtual assistant will be faced with utterances where none of the calculated confidences are particularly high.
It’s very often best to treat these cases separately, since it may mean that your virtual assistant does not understand, or is unsure. Within the Rasa framework, this is done using policies.
# Example usage
policies: ... - name: rasa_addons.core.policies.BotfrontDisambiguationPolicy fallback_trigger: 0.30 disambiguation_trigger: '$0 < 2 * $1' deny_suggestions: 'deny_suggestions' n_suggestions: 3 excluded_intents: - ^chitchat\..* disambiguation_title: en: "Sorry, I'm not sure I understood. Did you mean..." fr: "J'ai mal compris. Voulez-vous dire..." intent_mappings: password_lost: en: "Lost password" fr: "Mot de passe perdu" login_failed: en: "Login failed" fr: "Problème de connexion" deny_suggestions: en: "Something else" fr: "Autre chose" ...
|Parameter||What it does||type|
| ||if confidence of top-ranking intent is below this threshold, fallback is triggered. Fallback is an action that utters the template |
| ||e.g.: |
In addition, an 'Other' option is shown with payload defined in
| ||The intent associated in the payload for the 'Other' option.|
| ||Any intent (exactly) matching one of these regular expressions will not be shown as a suggestion.|
| ||Localized disambiguation message title.|
| ||localized representative button title for intents. If no title is defined for a given intent, the intent name is rendered instead. These titles support entity substitution: any entity name enclosed in curly brackets ( |
The title for the 'Other' option is also defined here.