Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rasa AI: Designing chatbots and artificial intelligence agents

Tom Bocklisch
September 01, 2017

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.

Tom Bocklisch

September 01, 2017

More Decks by Tom Bocklisch

Other Decks in Technology


  1. Designing chatbots and conversational agents Confidential and proprietary. Any use

    of this material without specific permission of Rasa is strictly prohibited. Tom Bocklisch Lead Engineer @ Rasa.ai Berlin UX Designers Meetup August 2017
  2. Conversational AI will dramatically change how your customers interact with

    you. Example: A customer can change her address via Facebook Messenger Play demo video
  3. Enterprises are building custom solutions After prototyping, enterprises have started

    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
  4. The Rasa Stack is open source, trusted by 20k+ developers

    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
  5. Keep your messages • short • precise • in character

    • 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).
  6. Use available UI features Practice # 2 I want to

    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
  7. Design interactions based on user input Practice # 4 Use

    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?
  8. Support your users exploration Practice # 5 I want to

    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
  9. Stay consistent Practice # 6 I want to book a

    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:
  10. Handle your assistants failures Practice # 7 I want to

    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
  11. Allow the user to exit Practice # 8 I want

    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
  12. Key Takeaways Design your conversational interfaces • in a quick

    back and forth with actual users • collecting data on the way • to consistently handle input • expecting failures of your assistant • using available interface features