Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Entity Extraction for Entity List

Yasmin
Kilo Guru

Our Pay topic starts with a static choice that has 8 options. This static choice control has an associated entity, which is a list type entity. This way if the user types something related to one fo the 8 branches in the topic, VA will take the user straight thru the correct conversation path, rather than prompting the user to select from the main menu. Here's how part of the topic looks:

find_real_file.png

The entity extraction is working nicely for the majority of the branches except for 2 of them (in this question I'll only refer to Incorrect pay or else branch). Per the NLU tests the utterances match 100% on the topic and the entity, yet when testing in the VA UI, the extraction does not occur. 

Utterance My pay is incorrect OR my pay is incorrect
Entity List @PayAction
Entity Value @incorrect pay or else
Topic branch: incorrect pay or else

When typing the exact utterance in VA UI, it does not recognize the correct path. It does not do the entity extraction and prompts user to select an item from the main menu. The same happens for any utterance associated to this item within the list entity. The NLU Test results are successful 100%.

find_real_file.png

Utterance associated to the list entity:

find_real_file.png

VA UI results: Entity extraction failed. Although the exact utterance exists in the Pay intent, and it is associated to the list entity, it does not take the user through the conversation path, it stops at the initial menu within the topic.

find_real_file.png

On the other hand, here's an example of an utterance for which the entity extraction is working perfectly on another branch within the same topic.

Utterance Correct hours in MyTime OR correct hours in MyTime
Entity @PayAction
Entity Value @timesheet
NLU Test results: successful

find_real_file.png

VA UI results: Successful. Entity extraction achieved. Took user straight to the correct path.

find_real_file.png

I've tried many utterances and none are working for the exact same path. I've even renamed the choice value within the static choice list, to match with the value of the arrow path and to match the value of the item within the list entity, thinking that is the issue, but no success. How does VA match the item within the list entity with the item on the static choice list to take the user through the correct path? 

Thanks in advance!

1 ACCEPTED SOLUTION

@Yasmin @Mikael at Advania Hello! I figured it out! For whatever reason, the LABEL in the Static choice list has to be the same as the entity value in the entity list. Not the value. So for Yasmin's example, you have to put "tax_form", "incorrect_pay", etc. in the Label not the value and it will literally work. 

Of course the logical statement is that "these entity values are not very read-friendly". I tried using UI Messages to change it for the user - even when changing the label from the entity value to the UI Message translation would stop the entity extraction/slot filling from working. What I had to end up doing is literally call my values in the entity list as the Static choice option labels.  

Let me know if this works for you! More importantly though, someone needs to explain the reasoning behind this. What's the point of the Value?

 

View solution in original post

12 REPLIES 12

D van Heusden
ServiceNow Employee
ServiceNow Employee

Orlando should work fine. Like @oelrafik mentions make sure you match the "Label" of the choicelist with the "value" of the entity list entry.

I've been having challenges with Paris but have not yet been able to consistently reproduce the issue. Please create tickets/cases so we can find out what and where the issue is, whether configuration or a defect.

Thank you for your patience and efforts.

Thanks @david.vanheusden , i've created a ticket on HI 🙂

Yasmin
Kilo Guru

Thank you so much for all your inputs. The advice to use the label field of the static choice instead of the value field does the trick. I had tried this way before but wouldn't work consistently. Very happy to see it working now.