An overview of some key concepts of chatbots, with some do's and don'ts.
We will happily present the high-resolution version of this presentation, extended with additional detailed slides, and a clear explanation at your offices. Contact us for that.
4. The Good of Chatbots
Message platforms are everywhere
Simple, known interface
Applicable to many situations
63% of the people are willing to communicate through chatbots[1]
[1]: https://venturebeat.com/2017/06/17/the-good-the-bad-and-the-ugly-of-chatbots/
avaamo.com
5. Introduction: the Bad of Chatbots
73% won’t use the chatbot again after a bad experience[1]
75% want to know it is a bot[1]
50% are disturbed when a bot pretends to be human[1]
Not all languages are equally supported
[1]: https://venturebeat.com/2017/06/17/the-good-the-bad-and-the-ugly-of-chatbots/
steemit.com/@resteemitnow
6. Natural Language Processing
NLG
Natural Language Generation
Data => ‘Natural’ text
Easy
NLU NLG
Natural Language Understanding Natural Language Generation
Natural text to structured data Data to natural text
Hard Easy
7.
8. Types of Chatbots
Easy
FAQ
Form
Hard
Complex
Conversation Within
Domain
Smart Home,
Basic Customer Service,
Basic Information
Adv. Customer Service
(Advanced FAQ + Form)
String
Distance
Conversation
Flow
Matching Commands
And Arguments
Conversation
Context
Conversation Flow
+ Commands
Advanced
Information
Database Access
+ Filter Matching
9. FAQ / Simple Information Lookup
• User: asks questions
• Chatbot: gives answers
• Easy to build
• No machine learning
11. Information Lookup
• Database access through conversation
• User asks questions or gives commands
• Chatbot gives answers, asks questions back
• Difference with FAQ: Context and Entity resolution
12. Smart Home / Simple Information Lookup
• Perform tasks
• User tells Chatbot what to do
• Chatbot answers/confirms/asks follow-up questions
13. Types of Chatbots: Personal Assistant
• Collection of other chatbots
• Redirects actions/questions to ‘sub’
chatbots
• Seamless integration between
different chatbots
• e.g. Google Assistant, Siri, ...
20. Common Concepts: Entities - Example
• “with_actors” composite entity
• Passes list of persons as “actors” argument
21. Common Concepts: Context
• Context = entities from previous phrases & replies
● pagination
○ “three more please”
● changing part of the query
○ “who played in <movie>?”
○ “who directed it?”
● follow-up
22. Common Concepts: Prompts
•Prompt when missing required entities
•e.g.:
• User: “What’s the weather for today?”
• Weatherbot: “For what city?”
23. Common Concepts: Follow-up / Flows
•Follow-up questions guide users into Flows
•Example
•InsureBot: “What brand of car?”
•User: “<car brand>”
•InsureBot: “What year was the car made?”
•…
24.
25. Technologies
Amazon Facebook Google IBM Microsoft Oracle
VPA Amazon Echo line - Google Home line -
Cortana,
Integration with
Amazon Alexa
Oracle Voice (ios
app store)
Dev Platform
Alexa Voice Services,
Alexa Skills Kit
RESTful wit.ai
backend
Dialogflow IBM BlueMix Windows
Oracle Mobile
Cloud Services
Speech
Synthesis API
Polly (+SSML) - unnamed (+SSML)
Watson Text To
Speech (Bluemix)
Bing Speech API
(+SSML)
Nuance (paywall)
NLU Lex wit.ai Dialogflow Conversation API LUIS.ai Nuance (paywall)
Bot Creation
Interface with Echo
line
Interface with
Facebook Chat
One-click Integration
in multiple platforms
BlueMix
MS Bot
Framework
Graphical UI
Free? Yes Yes
Dialogflow: Yes
Google cloud: Limited
Yes (Limited) Yes (Limited) No
Dutch? No Limited Limited Yes (Beta) Yes End 2017
27. •Lower Level libraries allow you to fine-tune (e.g. in python):
• spaCy
• nltk
• polyglot
• dateparser
DIY with Python
28. Natural Language Processing
Natural Language Understanding:
Hard
Need a lot of training data
Get semantic and entities from a
sentence
Create structured data from
unstructured natural text
Natural Language Generation:
Easy
Create file with template
sentences and insert entities
Add randomness
32. Confirmation
•Stating the confirmation is fine for inconsequential mistakes:
•“What’s the weather for Memphis for next sunday?”
•“The weather for Memphis, Egypt for October 15th is …”
•“Cancel. What’s the weather for Memphis, Tennessee?”
33. Confirmation
•Asking for confirmation is better when there’s money on the line:
•“Book a flight for Memphis for tomorrow.”
•“Do you want me to book a flight for Memphis, Egypt on Thursday
the 12th of October?”
•“No, book a flight for Memphis, Tennessee.”
35. Buttons
•for questions with clear options
•with buttons:
● users are reassured they’ll be understood
● users see all possibilities
● users can do nothing wrong
36. Openness
•Let Users Know it’s a Bot
•Bots are imperfect, users know and forgive
•Bots are limited, users adapt and stay on topic
•Users trust you/your bot, disguised bots break that trust
37. Redirect to Human
•Why?
•people will go beyond the bot’s capabilities and require human support
•When?
•complicated question, not covered in FAQ
•complaints
•on request
•How?
•low traffic: contact form may suffice
•high traffic: replace bot with human in same interface
39. Design Considerations: Voice Interface
Bad
No buttons or images
Mispronunciation
Not private
Pros Cons
Wow-factor No buttons or images
Hands-free Mispronounciations
Faster than typing Not private
40. Testing
• Write recurrent test for your service
• API’s are young and prone to change
• Ensure proper working
• Notify if test are broken
41. Conclusion: Future
● NLU improvement
○ Speed
○ Accuracy
○ Language coverage
● More used by Businesses
● More accepted by Users