Bots for Business
Alex Bunardzic, October 2016
All bots available on the market today are focused on
individual user
This universally accepted approach is clearly setting bots for a failure
Current state of NLP technology is immature, resulting in bots that are confusing and frustrating to use
Even the simplest of bot interactions quickly deteriorate, leaving users disenchanted
This is caused by the focus on serving the human user
People are fickle
People keep changing their minds in the middle of conversation
Even fairly experienced human experts often face challenges when fielding customer requests
Bots stand little, or no chance dealing with all the quirks and foibles humans throw at them
The state of AI would have to advance significantly before we could rely on bots to serve finicky users
In the meantime?
Focus on building
bots for business!
Why?
Bots for business are easier to tame
Also, bots for business are very helpful to the businesses
Much more likely to get funding when building something that helps the business
Two families of bots
1. Concierge
2. Butler
Concierge
Loyal to the Corporation
Butler
Loyal to the Individual
Butler
- Focused on learning about its owner's habits
- Focused on detecting recurring behavioural patterns
- Trained to respect the owner's preferences
Butler Bot
- Stars in many Hollywood movies
- Needs heavy duty AI
Concierge
- Focused on learning about the corporate goals
- Focused on consistent customer service
- Trained to detect business opportunities (i.e. up-sell/cross-sell)
- Sets the tone of the conversation
Concierge Bot
Establishes the conversational protocol
Concierge Bot
Doesn't need beefy AI
Conversation with a
narrow focus
Example: Medical Receptionist
Typical experience with a Medical Receptionist (Concierge)
Typical experience with a Medical Receptionist (Concierge)
- Receptionist sets the tone of the conversation
Typical experience with a Medical Receptionist (Concierge)
- Receptionist sets the tone of the conversation
- Establishes the conversational protocol
Typical experience with a Medical Receptionist (Concierge)
- Receptionist sets the tone of the conversation
- Establishes the conversational protocol
- Asks for pertinent information (name, insurance, phone, date of birth)
Typical experience with a Medical Receptionist (Concierge)
- Receptionist sets the tone of the conversation
- Establishes the conversational protocol
- Asks for pertinent information (name, insurance, phone, date of birth)
- Impervious to any attempts to spark up irrelevant conversation
Typical experience with a Medical Receptionist (Concierge)
- Receptionist sets the tone of the conversation
- Establishes the conversational protocol
- Asks for pertinent information (name, insurance, phone, date of birth)
- Impervious to any attempts to spark up irrelevant conversation
- If a visitor refuses to comply, receptionist may ask them to leave
Concierge Bot model requires rudimentary NLP
Challenges
Challenges
Even rudimentary NLP is a huge challenge!
Google Assistant
What do businesses value?
What do businesses value?
- Predictability
What do businesses value?
- Predictability
- Coherent behaviour
What do businesses value?
- Predictability
- Coherent behaviour
- Consistent behaviour
What do businesses value?
- Predictability
- Repeatability
- Coherent behaviour
- Fully controllable behaviour
Four Levels of Communication Protocol
Four Levels of Communication Protocol
- Command protocol
Four Levels of Communication Protocol
- Command protocol
- Keyword protocol
Four Levels of Communication Protocol
- Command protocol
- Keyword protocol
- Structured phrase protocol
Four Levels of Communication Protocol
- Command protocol
- Keyword protocol
- Structured phrase protocol
- Free form (informal) protocol
Command protocol
Command protocol
- CLI (Command line interface)
Command protocol
- CLI (Command line interface)
- Escape syntax ('/', forward slash, or '@' or '!' etc.)
Command protocol
- CLI (Command line interface)
- Escape syntax ('/', forward slash, or '@' or '!' etc.)
- Example: '/help', or '@help', or '!help' and so on
Command protocol
- CLI (Command line interface)
- Escape syntax ('/', forward slash, or '@' or '!' etc.)
- Example: '/help', or '@help', or '!help' and so on
- Globally scoped (same meaning regardless of context)
Conversation context
Keyword protocol
Keyword serves to alert the bot that the context of the conversation has changed
Example: @doctor
- User may interrupt the conversation by mentioning the keyword @doctor
Example: @doctor
- User may interrupt the conversation by mentioning the keyword @doctor
- The bot will realize that @doctor is not found in the list of commands
Example: @doctor
- User may interrupt the conversation by mentioning the keyword @doctor
- The bot will realize that @doctor is not found in the list of commands
- The bot will find @doctor in the list of keywords
Example: @doctor
- User may interrupt the conversation by mentioning the keyword @doctor
- The bot will realize that @doctor is not found in the list of commands
- The bot will find @doctor in the list of keywords
- The bot was trained to switch the conversation context upon hearing @doctor and will pick the appropriate subsequent question, such as "would you like me to schedule doctor's appointment?" etc.
Structured phrase protocol
Less formal than keyword protocol
Less predictable/controllable/repeatable than keyword protocol
Useful for enhancing natural flow of the conversation
To be used judiciously and sparringly
Free form (informal) protocol
Bot will receive many messages that do not contain commands, keywords, nor structured, predefined phrases
Honesty is the best policy?
Being 100% honest and replying with "I don't know"
Copout
Better to meet the user halfway
Fake it till you make it?
Risks and Pitfalls
Prank calls
Malicious calls
Messages that don't contain commands, keywords or predefined structured phrases must be scrubbed
How?
Protocall
curl --data "content=Some word or phrase" http://protocall.herokuapp.com/sentiments/find
If everything else fails -- humour :)
https://medium.com/bots-for-business
Questions?
-
https://twitter.com/alexbunardzic
-
https://medium.com/@alexbunardzic
deck
By Alex Bunardzic
deck
- 1,354