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 says|
|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”
What is an entity?
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.
Intent vs Entity
It is important to understand the difference between intent and an entity.
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, 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 node|
|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.|
When is the appropriate time to use an entity?
Some examples of when you would use an entity in Bot Says:
- 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.
When should one combine multiple intents into single intent and use entities?
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.