Understanding Conversational Systems
Understanding Conversational Systems
Understanding Conversational
Systems
Conversational Prelude
All of us enjoy conversations
What if learning was also conversational?
Gear up to hop on to the world of Bots and Conversational Agents . Hope you have a
good conversation ahead!
What is a Chatbot?
Voice-Based Assistants
I have used Google Now, Siri and Cortana. Are they also chatbots?
Yes, they are also chatbots, specifically voice-based personal assistants .
Evolution of a Bot
Science and Engineering should be taught with a little bit of history.
Ok, so how did Chatbots evolve over the years into something that we are using
today?
Web Interfaces paved the way for Mobile Interfaces. As more and more
users started using mobile apps, service providers started creating native
mobile apps.
Messaging apps had captured the mindshare of users. This meant that users
are available and responsive via messaging.
This lead to opening-up of multiple products and services through the chat
platform. A slew of companies started launching their respective chat
platforms.
Personal Bot
So now that we got a peek into the history of bots, what are the various types of
bots available?
Several types of bots are getting developed today. First, you must know
about Personal Bots .
These bots have a very specific focus and communicate directly with the
users on a one-on-one basis.
Hold your horses; you will learn them - one bot at a time. The next type of bots
is Domain Specific.
They represent single service and are very focused on the domain and the
service.
For example - Airline Travel Bot is the be-all and end-all stop companion for all
travel related queries from Booking flights, Travel Enquires to Membership
Benefits.
Consumer Bot
Ok. Are there any bots that are chatty and help us stay in touch with our
favorite items?
Yes. Some bots fit that bill. They are called Consumer Bots .
For example: Mitsuku is a bot built for a Conversational purpose on the Kik
Messenger Platform.
Business Bot
Gotcha. So are all bots just consumer-facing?
You just asked the right question at the right time. Not exactly. There are several
bots for Business Process Functions.
Voice Bots
I am tired of listening about just Chat Bots. Are there any other interesting bots?
Yes. Voice Bots. All your voice-based personal assistants come under this
category.
Google Assistant, Amazon Alexa, Microsoft Cortana, and Apple's Siri are a few
examples. They take voice commands to execute a specific task.
Super Bots
You can ask any question to them on any topic. They respond well if they can find
the answer, if not they admit that it is beyond their understanding.
Parts of a Chatbot
That was a well-animated image of a Chatbot. Could you throw more light on
the anatomy of a Bot?
Human
User Interface
Chat Application
Responder
User Interface
Why do you need a user interface here?
UI acts as a medium of communication between the human and the rest of the
components.
Chat Application
Now, I get the NLP part but what is the significance of Intent and Entity?
Action
I got reasonable clarity on the intent and entity part. So what's next?
After extracting the intent and entity, its time for some action. Based on the
context the right action should be triggered. In some cases, it is an API call, in
other scenarios, it is a DB query.
Responder
You mentioned about the responder, what does that do?
A Responder will respond to the human, based on the response of the action.
Bot Platforms
Service providers provide a platform for you to build and sometimes host your
bots.
Once you host a bot, you create a channel for interaction between humans
and bots.
Post Messages
Administrative Actions
Content Posting
Receiving Messages
Canned Responses
Legacy Platforms
Is that all or should I know about any other new platform?
Well there are many new platforms available but don't forget the legacy platforms
for communication like
SMS
Device Preference
Bots can be used for booking tickets and guide you on your travel itinerary.
You can also book a cab with the help of your Uber or Lyft bot.
Legal Bots are reviewing Non-Disclosure Agreements and sharing inputs with
the Legal Team.
Reminders
you can get a notification from a bot after you have successfully completed a
financial transaction.
You can get reminders from bots on some specific goals that you have set and
not progressed.
Intermediaries
Alright. You have given me some bots related use cases. I am tired of listening
to similar examples. Are there any exciting use cases where bots are getting
leveraged?
Yes. As the human in the loop, bots are now acting as intermediaries between
humans.
Travel bots help connect a group of people who are working towards a similar
goal like Mountain Climbing or Deep Sea Diving.
FAQ
That's interesting. I have always felt that the Frequently Asked Questions
(FAQs) could be enhanced with the help of bots. Am I right?
Yes, you are getting there my friend. FAQs are getting replaced by bots for
a better customer experience. Here, bots are acting as the first line of support for
all customer queries.
Artificial Intelligence
Bots and AI
Gotcha. Can you give more insights on this AI part?
AI is not the one-stop shop for building bots; instead, AI is a set of tools and
techniques that can be leveraged to build a conversational system.
Natural Language
Now that I got some clarity on the AI part, let's get into the Natural Language
aspects.
Sure. All conversations happen through Natural Language
NLU
NLU is a series of steps that take the input text and extract
the intent and entities of the input.
Training
Some Examples
Can you give me some examples of input text?
Say you are conversing with a Travel Bot. You could say,
All the three sentences have the same intent, just that they are worded differently.
Grammar
Conversation Management
Ok. I have a fair idea on AI and NLU now. What next?
After understanding the Intent and Entities, it is now time to take action and
respond to the input.
Context Switching
Ok. So what are the hardships in switching context?
One word might have different meanings in different contexts.
For example,
Decision Dilemma
From our previous conversations, I get the confidence that I can develop a Bot
even without AI. Am I right?
Absolutely.
AI is not the de facto component in all bots. You should use it as the situation
demands.
Using AI
In what scenarios should I use AI?
Scenarios that demand
Predictive Analytics
Sentiment Analysis
Image Recognition
Using AI
Got it. So from what I understand, situations where there are many
unstructured components, AI can be used. Am I right?
Yes. Where there is a lot of complexity in the input, AI can help reduce the
complexity.
Takeaway
So what is the takeaway from this AI conversation?
Well, you must say that if you ask me then
Conversation Types
That was a lot of information on Bot. Now I want to understand more about
conversations. What are the types of conversations that one can have with a
bot?
Ah! So now you want to get into the weeds. Conversations can be broadly
classified into
Task Led
Topic Led
Task Led
Can you throw some light on Task Led Conversations?
Example
An example would give more clarity. Can you share one?
Say you are using a bot to order coffee. The successful outcome of conversation
would be taking the order of a coffee.
Coffee Example
Cool. So if I just converse with a bot saying give me coffee, is the task
accomplished?
It is not as easy as you think my friend. People across the globe have a variety of
preferences to order a cup of coffee. So each preference has to be modeled as a
flow-through its entirety.
Modeling Flow
Gotcha. So what exactly happens during each flow?
I think you need some coffee first to be more attentive. Ok, let me not wait until
then.
During each conversation
In a way yes. Topic led conversations can go in multiple directions. They do not have
a well-defined end state. They are more designed to keep the customer engaged
on specific topics.
Example
Again, I am used to learning by examples. Can you share one?
Sure. Say you are conversing with a bot on a movie you recently watched or on
some company you have invested in the stock market. You can converse on
different dimensions on the same topic.
Takeaway
So what I understand is that Topic led conversations are mostly used for user
engagement, and task led conversations are used for business scenarios. Am I
right?
Awesome. High Five. You are getting there.
Files
Audio
Video
Emojis
Buttons
Files
Say you are interacting with a Tax Filing Bot. Instead of entering all the fields in
your tax filing document, you can just upload the file. Since the data is structured,
it can be easily parsed for further processing.
Files
Now it makes perfect sense. When should I leverage this feature while
designing a bot?
Good Question. Files are used in scenarios where a lot of information has to be
processed, and your chat window is small to accept all that information in one go.
You can also use them when you have tables.
Audio
That was useful. But how do we address the accent issue with voice interface?
Good question. Voice might not be a useful interface in every scenario. Voice is
recommended only for private interactions. A lot of training is required to get the
bot to understand various accents.
Video
Now I understand how Audio interactions happen. I am really intrigued about
videos. Can you help?
Sure. Video interactions happen in the following scenario. Say you are interacting
with a bot to troubleshoot a specific problem and you need an approach. Your bot
can respond with a video that will help you troubleshoot the problem. This is one
of many scenarios where videos can be used as a means of interaction.
Emojis
Somewhere above, you did mention emojis as means of interaction? Is that the
way forward in terms of communication?
Not exactly. Emojis are more of reactions to conversations. These reactions can
also be used to take actions, acknowledge, and respond.
Emojis
More on Emojis
Buttons
Buttons
Not just for Canned Responses. It can also be used for other scenarios. Look at
the image above. You want to collect orders based on some predefined inputs.
You can leverage buttons in those scenarios.
Context
Context
Bots are normally used to a request to response setup. They should not time out
after multiple conversations and should remember the context from the beginning.
I still feel there is an overlap between Context and Intent. Can you please help
me clarify?
Look at the Image above. Hope you got the answer to your question.
Pronouns
Rich Controls
Memory
I got the hang of what context and intent are for a Bot. How different is a
memory?
Memory is generic when compared to context. Here, a bot should be able to pull
intents at various time steps and take actions.
Amnesia
Do bots suffer from Amnesia?
If you do not train them well, then they can suffer from Amnesia.
Closing Thoughts
That was very informative. Now I have some clarity on Context and Memory.
Very Good. Getting a bot to understand the context and memory is one of the
most challenging parts in designing a bot. It is also a good area of growth from a
technical standpoint.
Humans or Bots
HITL
I am getting confused now. Can you help me understand this concept?
Sure. The steps to handle Natural Language Understanding are Understand -> Act
-> Respond.
Respond: Reply based on the output received from the previous step.
Human Intervention
When should Humans Intervene in this process?
Humans should intervene when
Unsuccessful actions
Best Practices
Are there any best practices for this scenarios?
Well, nothing is written in stone, but a few good practices can make things better if
implemented correctly.