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
Tweet

More Decks by Tom Bocklisch

Other Decks in Technology

Transcript

  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

    View Slide

  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

    View Slide

  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

    View Slide

  4. An open source, highly scalable ML
    framework to build
    conversational software

    View Slide

  5. 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

    View Slide

  6. 8 important chatbot UX practices

    View Slide

  7. 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).

    View Slide

  8. 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

    View Slide

  9. Design interactions based on user input
    Practice # 3
    Don’t do flowcharts!

    View Slide

  10. 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?

    View Slide

  11. 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

    View Slide

  12. 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:

    View Slide

  13. 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

    View Slide

  14. 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

    View Slide

  15. To sum it all up...

    View Slide

  16. 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

    View Slide

  17. Get in
    touch! Tom Bocklisch
    Lead Engineer
    [email protected]

    View Slide