Create Entities
Once SUVA has figured out what users want, through intent detection, the next challenge is to dive into the specifics.
NOTE.
If you haven't already, follow the instructions on Add Intents and Utterances before proceeding with Entities.
Reasons to Use Entities
It could be 1) To get an update on a ticket's status, 2) To log a ticket for a issue, 3) To talk to a support rep because either self-help has failed or the problem must be solved in a hurry, and 4) To find a knowledge article.
Consider the first scenario, where a user is interested in the progress on his ticket that was logged a week ago. For SUVA, the first challenge is to correctly identify the user intent. Your virtual agent is going to succeed if you have configured utterances and intents correctly. Because several users can be interested in learning about the status of their tickets simultaneously, the logical step is to extract the ticket ID or a unique identifier from the intent. Entities make such an extraction possible.
From utterances such as "What is the status for ticket ABC1234?", "Has there been a progress on ABC1234?", and "My ticket number is ABC1234 and my issue hasn't been fixed?", Entities can extract "ABC1234" and, through adapters/webhooks, share it with your knowledge system to obtain the status.
SUVA supports two entity types: System entities and custom entities. The former is further divided into four kinds:
sys.number
. To identify and extract numbers from an utterance. Examples:- My phone number is
23491323
. - He is
27
years old.
- My phone number is
system.date
. To identify and extract a date from an utterance. Examples:- I logged a ticket on
24 January, 2020
. - Since
May 17, 2020
, there has been no response from your company.
- I logged a ticket on
system.date.month
. To identify and extract a month from an utterance. Examples:- I logged 10 tickets in
July
. - There must be some cheap flights to Bethlehem in
September
.
- I logged 10 tickets in
sys.date.year
. To identify and extract a year from an utterance. Examples:- The data breach occurred in
2019
. - Can you completing the construction of my house before
2022
?
- The data breach occurred in
As for custom entities, these are capable of extracting string values from utterances. Let's assume that you sell pizzas. Depending on the crust, cheese, and other ingredients used, the variety available of cooked pizzas is infinite. However, each ingredient has only a few types. In such scenario, you can create an entity out of each ingredient and insert each type of that ingredient as a value.
Entity | Values |
Cheese | Mozzarella, Cheddar, Harvarti, Gorgonzola, Provolone, Pecorino |
Crust | Thin, Flatbread, Thick, Focaccia, Stuffed, Neapolitan |
When a user enters "a flatbread pizza with gorgonzola", then SUVA can extract the correct cheese and crust type.
Entities and Synonyms
Entities support synonyms, which means that you can club together complaints, tickets, cases, into an entity named "help."
Create Entities
- Navigate to Entities and click Create New Entity.
- In the dialog that has opened, give a name to your entity and mention the values that are going to be part of this group. You don't have to be thorough because you can always expand the group or contract it by removing values. Click Save. Your entity should be in the list.
Add and Remove Values from Entities
In case you realize that you have added a value that you don't really need or your entity can benefit from more values, you can do that with a click.
- On the entities screen, click from actions ahead of the entity you want to edit.
- Click to add a new entity value.
- Enter values in the Entity Value and Synonyms fields and click Save.
- To delete an entity value, click on the button ahead of it.
A confirmation message will pop up on your screen to confirm if you want to delete an entity value, else you can cancel the action.
Delete an Entity
1. On the entities screen, click from actions ahead of the entity you want to edit.
2. Click on the button to delete a whole entity.
A confirmation message will pop up on your screen to confirm if you want to delete an entity, else you can cancel the action. However, an entity cannot be deleted if it is being used in one or more stories. You will see the following message if you try to delete such an entity (<entity name> will be the name of the entity).
Import Entities in Bulk
A faster alternative is to import entities. Gather all your entities in a CSV file and use the Import Entity function to upload it. To learn about the correct format to be used in your CSV file, click Download Sample File .
Link Entities with Intents
Entities in themselves are of little business value unless they put to a use through intents.
- To get started, go to Intents and open an intent for editing.
- Highlight a part of an utterance. The highlighted part functions as a value. A small yellow tooltip popup will inquire if you want to insert an entity. Click Add Entity to confirm.
- From the leftmost dropdown, select either System or Custom.
- If you have selected System, you will be asked to further specify the type.
NOTE. Select the value and a representative piece of text if you are selecting system entities.
Correct: (a) I'm17 years
old. (b) Myticket ID is 123343
.
Incorrect. (a) I am17
years old. (b) My ticket ID is123343
. - For Custom, the second dropdown disappears.
- If you have selected System, you will be asked to further specify the type.
- In the field followed by an @, either select one of existing entities or create one from scratch.
- In the rightmost field, enter synonyms for the value.
- Save your settings.