In this post, we will look at Entities and Smart Matching in Power Virtual Agents. We will go through an example of an airline bot helping passengers find their boarding time.
Entities are not what is now called tables in the Dataverse. In PVA, entities refer to information in a natural language sense. This includes things, such as people, places, etc). Let’s look at an example.
Let’s say you have an airline bot, which tells you when you are able to board a flight. Let’s set up an entity that will hold the Group number of the passengers boarding.
Click on Entities and select New Entities:
We see 2 options available – Closed List, and Regular Expression (RegEx). Let’s go with Closed list:
Enter a name and description, and start to enter in the list items. Note the Smart Matching, we will talk about this later:
We will enter 3 groups, then click Save:
Now let’s use the group.
Go to Topics and create a new topic. We will call it Boarding Time, and add a trigger phrase “When can I board”:
Now let’s ask a question:
We will ask What is your group number, and get the user to select our Group entity options:
Now add a condition:
Select a variable, group = 1:
Display the message “Your boarding time is 15 minutes”:
We can add another condition by repeating:
Add a condition:
Set the condition:
Let’s try this out. We see the bot picks up the entity and uses it properly:
What’s also nice is it understands 2 vs “Two”:
That’s because we have Smart Matching enabled on our Group entity. This can help match “misspellings, grammar variations, and words with similar meanings”.
If we turn Smart Matching off, we see the bot doesn’t understand “two”:
I AM SPENDING MORE TIME THESE DAYS CREATING YOUTUBE VIDEOS TO HELP PEOPLE LEARN THE MICROSOFT POWER PLATFORM.
IF YOU WOULD LIKE TO SEE HOW I BUILD APPS, OR FIND SOMETHING USEFUL READING MY BLOG, I WOULD REALLY APPRECIATE YOU SUBSCRIBING TO MY YOUTUBE CHANNEL.
THANK YOU, AND LET’S KEEP LEARNING TOGETHER.
CARL