<!-- JSON-LD markup generated by Google Structured Data Markup Helper. --><script type="application/ld+json">[ {  "@context" : "http://schema.org",  "@type" : "Article",  "name" : "Entity",  "articleSection" : "What is an Entity?",  "articleBody" : "The entity is a data point or a value that can be extracted from a particular conversation or a user query. This data point helps you to customize the kind of information/data you are gathering, how you want your user to associate with it, or if you want to add a custom value to it.",  "url" : "https://www.engati.com/glossary/entity",  "publisher" : {    "@type" : "Organization",    "name" : "Engati"  }}, {  "@context" : "http://schema.org",  "@type" : "Article",  "name" : "Entity",  "articleSection" : "What are the different types of entities?",  "articleBody" : [ "Built-in / System entities", "Custom entities" ],  "url" : "https://www.engati.com/glossary/entity",  "publisher" : {    "@type" : "Organization",    "name" : "Engati"  }}, {  "@context" : "http://schema.org",  "@type" : "Article",  "name" : "Entity",  "articleSection" : "What are the different entity terminologies?",  "articleBody" : [ "Simple Entities", "Composite Entities", "Entity Roles", "Entity Lists", "Regular Expressions", "Prebuilt Models" ],  "url" : "https://www.engati.com/glossary/entity",  "publisher" : {    "@type" : "Organization",    "name" : "Engati"  }} ]</script>


1. What is an Entity?

The entity is a data point or a value that can be extracted from a particular conversation or a user query. This data point helps you to customize the kind of information/data you are gathering, how you want your user to associate with it, or if you want to add a custom value to it. Moreover, when a value or a group of values lead to the same answer, then you can use and implement entities instead of creating frequently asked questions (FAQs) for all the variables. 

For example, the enrollment process for courses in an institute is going to be the same. One of the most common user queries could be “How can I enroll for an AI and ML course?” and similarly, there can be x number of queries for different courses, in the same or different formats. Therefore, rather than creating and writing different FAQs for each subject, you can create an entity set with customizable values, adding names of all the courses in it, giving relevant answers every time the user query is triggered.

2. What are the different types of entities?

Considering the drop-down for the types of entities, they can be categorized either as built-in / system-defined entities, or custom-defined entity types.

Built-in / System entities

System entities is one of the common entity types used by bot admins for standard use-cases. All options apart from the custom values fall under the built-in or system entity type. Some of the prime ones are – Numbers, email addresses, mobile numbers, date, and time, and different variants of all.

Custom entities

This is a special kind of entity where a type is defined and then values are assigned according to the chatbot, organization or industry. You can add various values of a particular type of entity in different rows and if there are variations in a specific value, those you can add them by separating commas.

For example, if you are building a chatbot for an online course, the courses will become a data type commonly used in various conversations. Therefore, you can define various courses and intents can be a linked-to request for the courses where the user input data would be matched to the defined entity.

3. Where are entities used?

Entities are associated with FAQs for specific pieces of information/data from the user intent, where you can define which entities are to be looked for, in that particular intent. You can also define which of those entities are compulsory for the user intent to qualify. If those values are not retrieved, then the bot will prompt the user to enter the values and only then continue with the response resolution.

Entities are specifically used in the “request user data” section to extract the values. You can request for multiple entities through a single query and the bot will intelligently allocate the values according to the defined types. In case these values are missed out, they can be prompted the next time.

Once defined, these entities can be easily used to associate with a particular intent where the information will be collected automatically based on the entity definition, being tagged to that entity. 

Entity values can be called by using double brackets notation, for e.g. {{x.booking_date}}. Some of the entity types are complex entities and have some parts assigned to the values they contain. To give an example, let’s say we are interested to know or use the value of booking_date above, we can do that by using {{x.booking_date.month}}.

4. Can entities be deleted?

You should be very careful while deleting entities, especially when they are still used in intents or in paths. If the entities are deleted, it could lead to unstable flow behavior or inconsistent values. However, ensure that the entity that needs to be deleted is not used anywhere else in the flows/intents and then you can proceed for deletion.

5. How are entities used to train the bot?

Based on research by Juniper Analytics, there will be a three-fold rise in conversational chatbots by 2023. The demand is high as these chatbots provide a communication experience that exactly mimics the behavior of any human agent. These chatbots work on advance NLP and are trained on FAQs for providing relevant information for all user queries.

Advanced NLP enables users to add entities to FAQs for improving the search capabilities and removing redundancies from the bot. Engati’s NLP engine processes the query asked by the users and covers all spelling and grammatical mistakes that a user might make while asking any questions to the bot. The system then sends a match percentage with an answer that is already defined and answers accordingly.

Training a bot comes into the picture when a wrong answer (or a default response) is triggered and that can be reallocated to the correct answer, returning the desired output in the next attempt. For example, a user asks a ticket booking chatbot about available movie shows and if the bot is unable to provide a valid answer, then the bot can be trained with a new response or tagging it to an existing and relevant response if the same query is asked again.

6. How Entities matter to Customer Service Chatbots?

Entities can be different fields, data, or text describing anything. Using natural language processing (NLP), chatbots are able to extract entities from entries that users type in order to respond with accurate suggestions and answers.

However, knowing the difference between intent and entity is crucial to using customer support chatbot. Intent implies what the customer is looking for (his/her intention). Intent and entities in chatbots are both important for delivering what the customer wants and needs.

7. What is the difference between Intent, Entity, and Dialogs?

  • Intent: An intent is the purpose of a user's input. You can define an intent for each user request you want your application to support.
  • Entity: An entity represents a term/object that is relevant to the intents, providing a specific context for an intent. Moreover, you list all the possible values for each entity and synonyms that any user might enter.
  • Dialog: A dialog is defined as a branching conversation flow that allocates responses to the defined intents and defined entities. You can use the dialog builder for creating conversations with users to provide relevant responses.

8. What are the different entity terminologies?

a. Simple Entities

If you want to extract a simple country name or city name, the entity has to be extracted based on the context within which it is expressed. This is handy when you have an infinite list of possibilities.

b. Composite Entities

For capturing two entities that are related, a composite entity can be referred. For example, managing the location of employees, a list of offices and different campuses.

c. Entity Roles

An entity role can be used when the entity data is related, uses specific word combinations, frequent occurrences, grouped, and processed as one unit, etc.

d. Entity Lists

An entity list is an exact text match to the words in the occurrence. Each and every item on the list includes a list of synonyms. For example, a department of any company can be identified by an official name, acronyms, or billing codes, etc.

e. Regular Expressions

For extracting consistently-formatted data/information from an utterance, you can use the Regular Expression entity. 

f. Prebuilt Models

NLU environments allow for prebuilt Entities that can be added for quickly gaining contextual prediction.

About Engati

Engati powers 45,000+ chatbot & live chat solutions in 50+ languages across the world.

We aim to empower you to create the best customer experiences you could imagine. 

So, are you ready to create unbelievably smooth experiences?

Check us out!