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