So You Say You Want a Chatbot Revolution

A presentation at JavaOne in October 2017 in San Francisco, CA, USA by Holly Cummins

Slide 1

Slide 1

Holly Cummins @holly_cummins with Sock, the Socratic Helper

Slide 2

Slide 2

I’m from the IBM Cloud Garage. (It’s not actually a Garage.)

Slide 3

Slide 3

I’m from the IBM Cloud Garage. I’m from IBM’s London Chatbot Garage. (It’s not actually a Garage.)

Slide 4

Slide 4

Lean startup, innovation, testdriven development, pair programming, design thinking … Can you build me a chatbot please? IBM Bluemix Garage London

Slide 5

Slide 5

It’s 2017. Chatbots are everywhere. Even in games.

Slide 6

Slide 6

There are currently more than 33,000 chatbots on Facebook Messenger alone.

Slide 7

Slide 7

It’s 2017. There’s more natural language understanding. There’s more automation of boring tasks

Slide 8

Slide 8

Why does everyone want chatbots? They’re interesting and they solve problems.

Slide 9

Slide 9

Not all chatbots do the same things.

Slide 10

Slide 10

Slide 11

Slide 11

Chit-chat bot Worker bot

Slide 12

Slide 12

Chit-chat bot Neither user nor bot have a goal Worker bot

Slide 13

Slide 13

Chit-chat bot Worker bot Neither user nor bot have a goal Both user and bot have goals

Slide 14

Slide 14

Chit-chat bot Worker bot Neither user nor bot have a goal Both user and bot have goals I invented these terms!

Slide 15

Slide 15

The success metrics are different. Turing Test Containment

Slide 16

Slide 16

Slide 17

Slide 17

Chatbots are not new.

Slide 18

Slide 18

Person: Men are all the same. ELIZA: IN WHAT WAY. Person: They are always bugging us about something or other. ELIZA: CAN YOU THINK OF A SPECIFIC EXAMPLE. Person: Well, my boyfriend made me come here. ELIZA: YOUR BOYFRIEND MADE YOU COME HERE. Person: He says I’m depressed much of the time. ELIZA: I AM SORRY TO HEAR YOU ARE DEPRESSED. Person: It’s true, I am unhappy. ELIZA: DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY. Person: I need some help, that much seems certain. ELIZA 1964

Slide 19

Slide 19

2011: 5 minute Turing Test Cleverbot Human

Slide 20

Slide 20

2011: 5 minute Turing Test 63.3% Cleverbot Human

Slide 21

Slide 21

2011: 5 minute Turing Test 59.3% Cleverbot 63.3% Human

Slide 22

Slide 22

2011: 5 minute Turing Test 59.3% Cleverbot 63.3% Human

Slide 23

Slide 23

Estragon: I am a human. You are a computer. Vladimir: No I am not. Estragon: Yes you are, and I’m a human being Vladimir: But you said you are a robot. Estragon: No I didn’t! YOU said I was a robot. Vladimir: But you are. Estragon: I know you are but what am I? Vladimir: You are human. Estragon: And you are a robot. Vladimir: But you just said you were a robot. Estragon: Na I asked if you were a robot and you said yes. Vladimir: Nope. You are a manipulative bunch of metal.

Slide 24

Slide 24

Slide 25

Slide 25

Is this interesting? Yes, very.

Slide 26

Slide 26

Slide 27

Slide 27

Is this useful? Err…

Slide 28

Slide 28

Worker bots are designed to be useful.

Slide 29

Slide 29

They are limited, but (usually) helpful.

Slide 30

Slide 30

Slide 31

Slide 31

Slide 32

Slide 32

Do you need a chatbot?

Slide 33

Slide 33

Do you need a chatbot? Often, no.

Slide 34

Slide 34

Do you need a chatbot? Often, no.

Slide 35

Slide 35

Unless … conversations are kind of boring for the people doing them now.

Slide 36

Slide 36

Unless … users want to use pervasive channels.

Slide 37

Slide 37

Unless … users need aggregated information.

Slide 38

Slide 38

Slide 39

Slide 39

The chatbot fallacy:

Slide 40

Slide 40

The chatbot fallacy: “If a bot can understand a user speaking, it can have a conversation.”

Slide 41

Slide 41

The chatbot fallacy: “If a bot can understand a user speaking, it can have a conversation.”

Slide 42

Slide 42

The chatbot fallacy: “If a bot can understand a user speaking, it can have a conversation.” Voice is a well-solved problem.

Slide 43

Slide 43

The chatbot fallacy: “If a bot can understand a user speaking, it can have a conversation.” Voice is a well-solved problem. That doesn’t mean the rest of conversation is.

Slide 44

Slide 44

Demo!

Slide 45

Slide 45

Slide 46

Slide 46

Slide 47

Slide 47

Slide 48

Slide 48

IBM Bluemix Watson Speech to Text Watson Conversation React.js client Public Internet WebSphere Liberty PDFs Bluemix weather service

Slide 49

Slide 49

IBM Bluemix Watson Speech to Text Watson Conversation React.js client Public Internet WebSphere Liberty PDFs Bluemix weather service Did I mention Open Liberty is now open source?

Slide 50

Slide 50

This is what we’ve learned building a lot of chatbots.

Slide 51

Slide 51

Explain limitations. Give examples of what can be asked. I’m sorry, I’m not smart enough to fix that yet. You can ask me about applying for a credit card or changing your address.

Slide 52

Slide 52

Complex complex my grandmother’s octopus needs a new sofa on rollerskates? Don’t be afraid to say “I don’t know.” ???

Slide 53

Slide 53

Complex complex my grandmother’s octopus needs a new sofa on rollerskates? Don’t be afraid to say “I don’t know.” ???

Slide 54

Slide 54

Complex complex my grandmother’s octopus needs a new sofa on rollerskates? Don’t be afraid to say “I don’t know.” ???

Slide 55

Slide 55

Hand off to a human

Slide 56

Slide 56

Users are lazy.

Slide 57

Slide 57

Don’t make your users type more than they need to. Do give buttons for responses. Sorry, I don’t understand ‘mauve’. You must type ‘Yes please I want a mauve sofa’ or ‘Yes please I want a blue sofa.’

Slide 58

Slide 58

Don’t repeat yourself

Slide 59

Slide 59

A conversation flow

Slide 60

Slide 60

Slide 61

Slide 61

Slide 62

Slide 62

Slide 63

Slide 63

Slide 64

Slide 64

• • Provide multiple responses for each node. Detect repeat visits to a single node, and do something about it.

Slide 65

Slide 65

“I can see this isn’t going so well. Would you like to talk to a real person?” Detect frustration, and handle it.

Slide 66

Slide 66

IBM Bluemix Example architecture for a socially sensitive bot Watson Speech to Text Watson Conversation React.js client WebSphere Liberty PDFs Watson Sentiment Analysis Public Internet Bluemix weather service

Slide 67

Slide 67

Context is important

Slide 68

Slide 68

How complex the conversation gets is up to you.

Slide 69

Slide 69

Should your chatbot admit it’s not a person? Cunning humanlike disguise

Slide 70

Slide 70

Annoying: Hoping to talk to a human, and talking to a bot. More annoying: Believing you’re talking to a human, then realising it’s a bot.

Slide 71

Slide 71

You need a lot of automated tests and you should write them first

Slide 72

Slide 72

Devops still matters. Generation Source controlled inputs Tests. (Lots of tests.) Application Conversation representation.

Slide 73

Slide 73

Source control User (not seeing regressions ) A good devops flow for workspaces. Workspace json Developers, UX designers, and business Development Conversation instance Test Conversation instance Production Conversation instance

Slide 74

Slide 74

Then, observe your users

Slide 75

Slide 75

If a chatbot isn’t usable, it’s nothing.

Slide 76

Slide 76

Your test users may not be representative. Tell me a joke. edkjdflk fehfs fhfiuhf My credit card has been stolen! I need to cancel it. How smart are you? Real user Test user

Slide 77

Slide 77

Test, Monitor, Tune

Slide 78

Slide 78

Record your logs. Then look at them.

Slide 79

Slide 79

Stuff stuff reply … Ooh, I don’t like that language very much. Argh! You piece of %@*&@! Oh, sorry! Even if they know a bot is a bot, users may treat it like a person.

Slide 80

Slide 80

Continuous feedback Machine learning

Slide 81

Slide 81

Chatbots are awesome - but remember, the user has to come first. @holly_cummins https://www.ibm.com/devops/method/