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:
User: Can I get a large hawaiian and bbq pizza
Assistant: Sure, that's one large hawaiian and one regular bbq pizza.
User: Anything else?
Assistant: No they should both be large!
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.
Example:
User: I just moved
Assistant: I'm not sure I understood you correctly. Do you mean ...
- I want to cancel my contract
- I want to update my personal details
Configuration Example:
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 should be able to explain to a user what they can do, including responding to requests that are out of scope.
Example:
User: What can you do?
Assistant: I can help you update your personal details, change your plan, and answer any questions you have about our products.
When to explain the limitations:
## 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 essential for understanding your users and improving the assistant.
Example:
User: Was that helpful?
User: No.
Assistant: Thanks. Why wasn't I able to help?
User: You didn't understand me correctly.
Form Action Example:
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 should always have a way to speak with a human agent if needed. Common reasons for a handoff include:
- the user requests to speak to a human
- the assistant struggles to understand the user
- human intervention is required
Example Request:
User: let me speak to a human
Assistant: let me put you in touch with someone.
Mapping Policy Example:
intents:
- request_human: {"triggers": "action_human_handoff"}
👋 I can help you get started with Rasa and answer your technical questions.