What is the difference between intent and entity?
If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.
- Getting Started
- Bot Building
- Conversation Design
- Developer Guides
- Agent Setup
- Analytics & Reporting
- Troubleshooting Guides
- Release Notes
Table of ContentsWhat is an intent?What is an entity?Intent vs EntityWhen is the appropriate time to use an entity?When should one combine multiple intents into single intent and use entities?
What is an intent?
An intent constitutes a task or action the user wants to perform. It is a goal or purpose that is expressed in a user utterance. Expressions that mean the same thing but constructed in different ways are added to the same intent.
|Intents||Example user messages|
|Book_flight||"I want to book a flight to Delhi next week"
"I would like to purchase a plane ticket to Singapore for Friday"
"Book a flight to Srilanka on Nov 24"
|Reschedule_flight||"I need to reschedule my flight to Mumbai from Nov 28 to Dec 1"
“Reschedule flight to Delhi to next week”
“I have to change travel date from 30 Nov to 5 Dec”
|Play_content||“Play harry potter on Netflix”
“I want to watch Mission Impossible”
“On Hotstar play Avengers”
Entities: An entity represents values which is collected from the user in a conversation. Depending on the context of the conversation, the required response can either be a single value or group of specific values.
An entity in an IVA is used to add values to the search intent.
It is important to understand the difference between intent and an entity.
An intent represents an action that the user wants to perform and the entity represents a keyword that you want to be extracted from the user utterance.
Intent refers to the goal the user has in mind when typing in a question or comment. While entity refers to the modifier the user uses to describe their issue, the intent is what they really mean.
|Intent||User utterance||Entity extracted||Explanation|
|Book_flight||Book a flight from Mumbai to Delhi||From: Mumbai, To: Delhi||Departure and arrival locations are important information for Book_flight intent|
|Play_content||Play Avengers on Hotstar||Content_name: Avengers, App_name: Hotstar||Content name and App name information are extracted from the user utterance|
|Need_support||Customer care number||-||No entity to be extracted from the utterance|
|Apply_loan||I would like to apply for a home loan||Loan_type: home loan||Loan type entity is extracted from the user utterance. Entity value transition can be used here to traverse to the next step|
|Cylinder_price||What is the price of 12 kg cylinder||Cylinder_size: 12kg||Cylinder size entity is extracted from the user utterance to fetch the price|
|Login_issues||I am unable to login||-||No entity to be extracted from the utterance.|
Some examples of when you would use an entity in Bot Responses:
- When you need a user's email ID and need to verify that inputs are valid IDs or not. The ‘email’ entity allows the detection of an email id.
- When you need a user's phone number and need to verify that inputs are valid phone numbers. The ‘phone_number_without_validation’ entity detects a 10 digit number.
- When you need to gather the city a user wants to fly into and need to verify that the user has indicated a city with an airport in it.
Intents should be varied so that we can capture the main goal that the user intended to perform. Intents that are too similar, have similar sentence structure and vocabulary can make it more difficult for our algorithms to distinguish.
For example, TransferMoney and GetTransactionDetails are separate intents in a banking app, but TransferMoneyFromSavings and TransferMoneyFromCurrent are too similar. It is recommended to use entities rather than intents.