What is an intent? What is an entity? What is an utterance?
The terms we'll be discussing are Intent, Entity and Utterance.
Before we dive deeper into managing your conversation model, it's important to set a baseline understanding of the conversational components and fundamentals that will allow you to build dynamic non-linear conversations.
This can be best explained with a conceptual example: “What cake do I buy for my birthday?”
On analyzing the above statement, we can understand three basic things:
- The person is interested in buying a cake -> intent
- The occasion is a birthday -> entity
- The phrase is "What cake do I buy for my birthday?" -> utterance
These are the building blocks for most conversation queries. Now, imagine you run a bakery, you might not just be selling cakes; you might also sell muffins, cookies, breads, and much more. In that case, you would want to add two or more entities with the intent of buying.
In the graphic above, we can understand that the user’s intention is to access the weather. The two entities associated with the intent is the date ('today's) and the location ('San Francisco').
To break it down further, let’s define the above 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 (and can be slotted into a category/type)
- Utterance - The input(s)/response that your end-users provide to your conversational experience
Your conversational interface will derive intents and entities from utterances.
What is the difference between an Intent and Entity?
The difference between an Intent and Entity is that the intent is the goal that your user has when they’re sending a message to your conversational experience, while the entity is the modifier that your user makes use of to describe their query.
Alternatively, an intent is an action that the user wants to perform and an entity is a keyword that you want to be extracted from the user’s utterance.
Therefore, while developing and designing a flexible and dynamic conversation, user/customer intents and entity recognition is crucial.