Entity Ambiguation

Once you define entities and their synonyms, sometimes you may encounter ambiguation.

For example, if a user wants to speak to someone named Ben, but there are multiple possible people named Ben, we refer to this scenario as "Entity Ambiguation".

To solve the disambiguation our agent will ask which of the entity values the user is referring to - “Which Ben did you mean? Ben Miller or Ben Brookes?” and the caller will need to choose between them by the last name.

The agent won't prompt the user automatically in case of entity ambiguation. You will have to create the relevant flow to allow for the agent to identify this use case and act accordingly. See the steps below.

How to solve entity ambiguation

Step 1

Create or import your entity. This entity will contain ambiguous values. In our example, we want to solve the ambiguation for the possible user request "I want to speak to Ben". Therefore, our "Colleagues" entity will contain ambiguous values "Ben Miller" and "Ben Brookes".

Make sure that you include the synonym "Ben" that both names share and that will cause the ambiguation if requested "I want to speak to Ben". If you only add the entity values, the agent won't be able to identify the ambiguation.

Step 2

Then, you will need to create a new parameter that will hold the values that might cause disambiguation. Select the entity you just created. Lastly, make sure to select "multi-value parameter" as it will hold the list of ambiguous aka similar values.

Step 3

In the Collect Input node that will ask the user who they'd like to speak to, add a parameter that will prompt something like "Who would you like to speak to today?". This will NOT be the multi-value parameter just yet. Here we are going to create a regular parameter we will call "COLLEAGUE_NAME", with our previously created entity "Colleagues" attached.

Lastly, check the box of entity ambiguation and select the previously created multi-value parameter "COLLEAGUES".

Step 4

Once you leave the node, you will notice that there is a new tab below "Missed" that will be triggered in the event of entity ambiguation. You can connect it for instance to another Collect Input node, that will re-prompt the user "Do you mean Ben Miller or Ben Brookes?".

Add the "COLLEAGUE" parameter to allow the agent to save the correct name. In the prompt, you can enable the agent to read out the ambiguous values by adding a "$" to select the multi-value parameter from the drop-down. Lastly, choose, whether you want to separate between the values with "or", or "and".

Step 5

Once you connected all the lines, let's try the flow in the tester.

Last updated