Guiding Users

Guiding Users

Implicit Confirmation

Implicit confirmation involves repeating details back to the user to reassure them that they were understood correctly. This also gives the user a chance to intervene if your assistant misunderstood.

Example:

Explicit Confirmation

Explicit confirmation means asking the user to clarify how you should help them. An important thing to remember about AI assistants is that the user is never wrong. When a user tells you something like I just moved, they are being perfectly clear, even if your assistant is not sure how to help them.

Example:

Configuring TwoStageFallbackPolicy:

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"

Explaining Possibilities

AI assistants are always limited to helping users with a specific set of tasks, and should be able to explain to a user what they can do. That includes coherently responding to requests that are out of scope.

Example:

Handling out-of-scope requests:

## user asks whats possible
* ask_whatspossible
  - utter_explain_whatspossible
## user asks for something out of scope
* out_of_scope
  - utter_cannot_help
  - utter_explain_whatspossible

Collecting User Feedback

Asking for feedback is one of the best tools you have to understand your users and determine whether you solved their problem! Storing this feedback is a powerful way to figure out how you can improve your assistant.

Example:

Using a form to collect user feedback:

from rasa_sdk.action import FormAction

class FeedbackForm(FormAction):

def name(self):
        return "feedback_form"

@staticmethod
    def required_slots(tracker):
        return ["feedback", "negative_feedback_reason"]

Handing off to a Human

Users will be very frustrated if your assistant cannot help them and there is no way to reroute the conversation to a human agent. There should always be a way to break out of a conversation! There are multiple reasons why you might trigger a human handoff:

Example:

Using mapping policy for direct requests:

intents:
  - request_human: {"triggers": "action_human_handoff"}

👋 I can help you get started with Rasa and answer your technical questions.