Fallback Actions

Fallback Actions

Sometimes you want to revert to a fallback action, such as replying,
“Sorry, I didn’t understand that”. You can handle fallback cases by adding
either the FallbackPolicy or the TwoStageFallbackPolicy to your
policy ensemble.

Fallback Policy

The FallbackPolicy has one fallback action, which will
be executed if the intent recognition has a confidence below nlu_threshold
or if none of the dialogue policies predict an action with
confidence higher than core_threshold.

The thresholds and fallback action can be adjusted in the policy configuration
file as parameters of the FallbackPolicy.

policies:
  - name: "FallbackPolicy"
    nlu_threshold: 0.4
    core_threshold: 0.3
    fallback_action_name: "action_default_fallback"

action_default_fallback is a default action in Rasa Core which sends the
utter_default response to the user. Make sure to specify
the utter_default in your domain file. It will also revert back to the
state of the conversation before the user message that caused the
fallback, so that it will not influence the prediction of future actions.
You can take a look at the source of the action below:

classrasa.core.actions.action. ActionDefaultFallback

Executes the fallback action and goes back to the previous state
of the dialogue

You can also create your own custom action to use as a fallback (see
custom actions for more info on custom actions). If you
do, make sure to pass the custom fallback action to FallbackPolicy inside
your policy configuration file. For example:

policies:
  - name: "FallbackPolicy"
    nlu_threshold: 0.4
    core_threshold: 0.3
    fallback_action_name: "my_fallback_action"

Note
If your custom fallback action does not return a UserUtteranceReverted event,
the next predictions of your bot may become inaccurate, as it is very likely that
the fallback action is not present in your stories.

If you have a specific intent, let’s say it’s called out_of_scope, that
should always trigger the fallback action, you should add this as a story:

## fallback story
* out_of_scope
  - action_default_fallback

Two-stage Fallback Policy

The TwoStageFallbackPolicy handles low NLU confidence in multiple stages
by trying to disambiguate the user input (low core confidence is handled in
the same manner as the FallbackPolicy).

is asked to affirm the classified intent.

Rasa Core provides the default implementations of
action_default_ask_affirmation and action_default_ask_rephrase.
The default implementation of action_default_ask_rephrase action utters
the response utter_ask_rephrase, so be sure to specify this
response in your domain file.

You can specify the core fallback action as well as the ultimate NLU
fallback action as parameters to TwoStageFallbackPolicy in your
policy configuration file.

policies:
  - name: TwoStageFallbackPolicy
    nlu_threshold: 0.3
    core_threshold: 0.3
    fallback_core_action_name: "action_default_fallback"
    fallback_nlu_action_name: "action_default_fallback"
    deny_suggestion_intent_name: "out_of_scope"