Rasa AI: Designing chatbots and artificial intelligence agents
Meetup talk about best practices to be followed when designing dialogues, and what to look out for when working with chatbots that are built on machine learning technology.
of this material without specific permission of Rasa is strictly prohibited. Tom Bocklisch Lead Engineer @ Rasa.ai Berlin UX Designers Meetup August 2017
to invest significantly in their own, customized solutions in conversational AI, like chatbots. Leading enterprises have started to invest significantly into custom solutions for conversational AI MARKET TRENDS Messaging apps have overtaken social networks Gartner has shown that people have stopped downloading apps and instead, messaging is picking up dramatically. More customer interaction without humans According to Gartner, by 2020 85% of customer interactions will be managed without a human. 85% Messaging Apps Social Networking Apps
and lays the foundation for building automated dialogues that are more human-like. PRODUCTS: THE RASA STACK Rasa NLU Natural Language Understanding with intent and entity classification Rasa Core Dialogue Management for more human-like conversations with machine learning
• helpfull • to yourself (avoid spamming) Choose good messages Practice # 1 I want to book a flight tomorrow from berlin to new york. Unfortunately I am unable to understand this date format. I am still training and getting better every day, but today is really not my best day. Maybe tomorrow will be better, who knows. In the meantime it would be magnificent if you would provide your dates in ... People hate reading (messages).
change my address to 1st street New york. Did I get that right? Do not only rely on text, use your designer skills to enrich the conversation • links (e.g. if your bot fails to handle something in chat) • maps • plots (e.g. response to “what’s my account balance”) • carousel (e.g. for selecting shopping items) • payments
machine learning! 1. Design a “happy path” of the dialogue 2. Test that dialogue path 3. Collect alternative paths users choose to go and use ML to train them What’s the weather like tomorrow? Which city do you mean? Oh sorry, I meant this evening No problem at all. For which city?
book a flight. Great do you want to fly with Provide your user with guidance, but also foster exploration. Examples: • greet your user stating capabilities • in quick replies, provide “something else” as an answer Air Berlin Air Lingus Some other airline
flight on friday from berlin to new york. Great, so that’s Friday 01.09.17 from Berlin to New York. When do you want to return? Next monday would be great. Sorry I did not get that date :( I want to book a flight tomorrow from berlin to new york. Sorry I did not get that date :( If you handle a certain type of input once, you need to be able to handle it everywhere! If you can’t, it sets better expectations if you never handle it:
book a flight on friday from berlin to new york. Sorry I did not get that date :( Did you mean: Building on the previous example - how about better handling of the failure: 01.09. 08.09. Something else
to book a flight tomorrow from berlin to new york. Sorry I did not get that date :( Did you mean: User needs to be able to stop the current input as well as the whole conversation: 01.09. 08.09. Oh shit, just forgot my aunt hates flying. Let’s rather go by train. Sorry I did not get that date :( Let’s start from scratch then. Which date do you want to travel by train? rather: • Handle alternative input when awaiting form fields • Always provide a way to completely restart
back and forth with actual users • collecting data on the way • to consistently handle input • expecting failures of your assistant • using available interface features