Tech Corner

How does intent and entity in chatbots work?

Engati Team
last edited on
January 24, 2024
5-6 mins

Table of contents

Automate your business at $5/day with Engati

Switch to Engati: Smarter choice for WhatsApp Campaigns 🚀
Intent and Entity in chatbot design

Let’s take a trip down memory lane and go back to literature class. When analyzing books, many teachers argue that it’s the thoughts of the author that matter. While us as students believed the reader’s interpretation since the reader is on the receiving end. It’s actually both that play a significant role, since art is entirely subjective. 

But, what about in the case of human-technology interactions? Then, the customer’s interpretation is always going to be the winner. There’s nothing subjective there. “The customer is always right!” as the saying goes. Therefore, while developing and designing a chatbot, it’s always a matter of customer intent and entity recognition. Don’t worry, we’re going to explain what are intents and entities in a chatbot.

First, how do chatbots work?

A chatbot is a software that simulates human conversations. Users communicate using a chat interface, as if they’re texting another person. These bots interpret the words given to them and provide pre-set answers.

When training or creating a commercial chatbot, you have to feed it a lengthy set of FAQs that cover the topic you want it to answer. You can then deploy it either on a website or through other channels where customers are more likely to reach out with their queries.

Now, here’s where the problem lies, if you were to ask the bot a question slightly out of its curriculum, it would fail tragically, regardless of how good the NLP system behind the bot is.

Here’s a quick example,

Imagine you own a flower shop. On your website, you have a chatbot that runs suggestions to your customers based on various questions that they might have, so you have fed the bot with the following FAQs:

  • What flowers do I buy for a birthday?Ans: Tulips
  • What flowers do I buy for Valentine’s day?Ans: Roses

Now suppose a customer comes to your website and just asks, “What flowers do I buy?”

Based on the NLP system running in the background, it might provide an error message, or it displays those pre-determined answers stated above based on a probability score.

Had this conversation happened in person, the florist may follow up with more questions like “For what occasion?”

Adding the functionality to segregate Intent and Entity in your chatbot FAQ's solves this issue. It gives your chatbot the ability to pose intelligent questions to draw more information from a user instead of resorting to fallback responses.

What are intents and entities in NLP?

Let’s go back to the example of the flowers. 

“What flowers do I buy for my birthday?”

On looking at this statement, we can understand two basic things:

  • The person is interested in buying flowers.
  • The occasion is a birthday.

The former is the Intent, the latter, Entity. They more or less are the building blocks for most queries. Now, if you run a gift shop, you might not just be selling flowers; you might also sell gift cards, chocolates, cakes, and much more. In that case, you would want to add two or more Entities with the Intent of buying.

Intent, Entities, and Utterances

To break it down further, let’s define a few terms. 

  • Intent - Intention, or purpose of the user in the conversational flow.
  • Entity - A data point or value which you can extract from a conversation

In the graphic above, we can understand that the user’s intention is to read the news. 

What are utterances in a chatbot?

Utterances in chatbots are the inputs that the users provide to your chatbot, either through text or audio messages. Your chatbot will derive intents and entities from these utterances.

For the purpose of training your chatbot to derive intents and entities from your users’ messages with a greater degree of accuracy, you would need to have a range of different example utterances for each and every intent.

Chatbot development environments tend to use sample utterances as the training data that is used to construct a model used that is used to detect intent and entities.

3x your revenue with Chatbots and Live Chat
Schedule a demo

How are intents and entities used in a chatbot?

After integrating these scenarios into Chatbot intents and entities, we now open up the possibility of having a more human-like interaction between a Customer and a Bot.

Take this interaction as an example:

intent and entity chatbot conversation

In this example, the customer tells the bot their Intent. The bot keeps asking questions to determine the Entities associated with this Intent, effectively helping them place an order tailored to their needs.

A chatbot will identify intents from every utterance and carry them across multiple messages so that it knows what the user wants to achieve from the conversation. An intent is basically the goal or aim that the user or customer has in mind when they are typing in their questions as utterances. The entity modifies user intent in the chatbot. These entities are tied to knowledge repositories so that there is a greater degree of personalization and accuracy in responses on user search. Chatbots can make use of the entities that they pull from the users’ utterances that they send to the bot and then make use of these entities to add values to the search intent. Intents and entities are especially important in customer service chatbots because your customers are already stressed and they need to get the right answers quickly in the most convenient way possible.

What are the 2 types of entities in NLP?

The two types of entities in a chatbot are:

  • System Defined EntitiesThe system entities are commonly used entities that are pre-defined in the system.
  • Custom EntitiesThese are the entities that can be defined by the user as per their use case.

What is the difference between intent and entity?

The difference between intent and entity is that the intent is the goal that your user has when they’re sending a message to your chatbot, while the entity is the modifier that your user makes use of to describe their issue.

The intent is an action that the user wants to perform and the entity is a keyword that you want to be extracted from the user’s utterance.

Why use an intent-based chatbot?

An intent-based chatbot offers several benefits in terms of the end user experience.

  • Natural conversationThe use of natural language processing (NLP) means that users can talk to an intent-based chatbot in a similar way as they would a friend. They don’t need to provide specific terms or press buttons for the bot to understand them. This makes for a smoother and more engaging conversation experience.
  • More flexible than other botsIntent-based chatbots are less restricted than flow-based bots. (Which can only follow a set conversational path.) They can better adapt to a user changing their mind, for example. This means that they can more easily carry out a wider range of tasks and adapt to changing conversation topics.

How to design your chatbot considering intent and entities?


Customer input and underlying intent

One of the 1st steps a UX designer must focus on while working on a chatbot is picking up common customer questions.

An easy way of going about it is by collecting data from customer queries through calls, live chat, or other channels. However, at times the language is not concrete enough for humans to understand, let alone chatbots. 

Here are 2 versions (or inputs) of the same situation-

  • Suggest a good Italian restaurant nearby
  • My father likes Italian, and I’d like to take him out for dinner

Here, the first is clear and direct, while the second expects the chatbot to understand the underlying customer intent, which is to look for a nearby highly-rated Italian restaurant. 

The entity that the chatbot picks could be ‘restaurant,’ ‘dinner,’ ‘take <noun pronoun=""> out,’ and respond accordingly.</noun>

Another example could be something like this-

  • Where can I get my broken iPhone screen fixed?
  • I have a broken iPhone screen

Now, the second input suggests that the customer is looking for an iPhone repair shop. The entity in this example would be ‘broken,’ and what do you do with something broken? You have to fix it. 

Therefore, you've got to design the structure to support the same. So, NLP is training and designing UI for chatbots to understand the intent and context of the conversation, which will further help conversation designers create the dialogue flow and relevant content.


Humans, feelings, and chatbots

Let’s look at intent, layout, and entity identification from the customer’s perspective. What is it that customers, or people generally do when they want to express their feelings, emotions, intentions, or requirements? 

As we’ve mentioned above, customers either state their requirements directly or they beat around the bush. They can either ask questions, use exclamations, or keep browsing with the available options that the chatbot provides. They do what they feel is expressive enough and don’t call for extra effort unless incredibly frustrated.

So, how do you go about the design for the chatbot? Of course, it’s easy to understand what the customer is looking for when they directly state it, but even human inputs can be vague and outrageously confusing.

So, when you’re running a business and want to build a bot. You have 2 options. 

You can either:

  • Constantly ask the customer, “Could you please repeat that?”
  • Constantly train the chatbot to understand customer intent with the help of NLP

The first one is a red flag for your business. However, the second one is a powerful tool to bet your money on, and why not? Machines aren’t unruly anymore.

There’s a common misconception that devices work in a systematic order yet unintelligent manner. Perhaps, this was the case back in the 50s but not today.

The advancements in technology and NLP are enabling chatbots to compete with humans in the most technically challenging and intellectual fields. 

This is the kind of intelligence and design that’s inbuilt in chatbots. It trains them to understand customer intent in a conversation.


Contextual awareness and emotional intelligence

We’re building a conversational interface that’s helping machines train themselves to interact with humans. Thanks to neural networks, bots are now intelligent enough to collect customer queries, provide efficient customer solutions, figure out what answers they don’t have, and train themselves to learn and bridge the gap. This training is making chatbots contextually more aware and emotionally robust, and intelligent. And the overall design works well for business.

3x your revenue with Chatbots and Live Chat
Schedule a demo

Engati Team

At the forefront for digital customer experience, Engati helps you reimagine the customer journey through engagement-first solutions, spanning automation and live chat.

Close Icon
Request a Demo!
Get started on Engati with the help of a personalised demo.
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
*only for sharing demo link on WhatsApp
Thanks for the information.
We will be shortly getting in touch with you.
Oops! something went wrong!
For any query reach out to us on
Close Icon
Congratulations! Your demo is recorded.

Select an option on how Engati can help you.

I am looking for a conversational AI engagement solution for the web and other channels.

I would like for a conversational AI engagement solution for WhatsApp as the primary channel

I am an e-commerce store with Shopify. I am looking for a conversational AI engagement solution for my business

I am looking to partner with Engati to build conversational AI solutions for other businesses

Close Icon
You're a step away from building your Al chatbot

How many customers do you expect to engage in a month?

Less Than 2000


More than 5000

Close Icon
Thanks for the information.

We will be shortly getting in touch with you.

Close Icon

Contact Us

Please fill in your details and we will contact you shortly.

This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.
Thanks for the information.
We will be shortly getting in touch with you.
Oops! Looks like there is a problem.
Never mind, drop us a mail at