I have created a LUIS Utterance like this with a simple entity included: orders in process for customer abc
Where abc is replaced with the simple entity vf_NARCName
In the bot when I type the question like: Orders in process for customer Animal Dermatology Hospital
Here the customer name is Animal Dermatology Hospital which is separated by space then when I am fetching the data through LUIS Rest API I am getting Animal as the entity value instead of Animal Dermatology Hospital and some times also no entity value returning
{
"query": " orders in process for customer Animal Dermatology Service",
"topScoringIntent": {
"intent": "OrderDetails_2a598c9b-7cb5-4113-9aca-435b55bbe19e",
"score": 0.7547371
},
Return Data
{
"query": "how many orders are currently in process for customer Animal Dermatology Service",
"topScoringIntent": {
"intent": "OrderDetails_2a598c9b-7cb5-4113-9aca-435b55bbe19e",
"score": 0.6452578
},
"entities": []
}
But if I query it with only Animal then proper data is returning
Return Data
{
"query": "how many orders are currently in process for customer Animal",
"topScoringIntent": {
"intent": "OrderDetails_2a598c9b-7cb5-4113-9aca-435b55bbe19e",
"score": 0.8928922
},
"entities": [
{
"entity": "animal",
"type": "vf_NARCName",
"startIndex": 54,
"endIndex": 59,
"score": 0.500023663
}
]
}
Your LUIS app essentially needs more utterances of how that entity can occur.
I would say stategy 1.) is probably the most useful, but list other options you may include as well to help with your entity detection.
As stated in the First Tutorial in the documentation under "Build App" section, make sure that you include:
and the variations you should be conscious to include are:
The last bit is probably one that you should include more examples of. So check your utterances that contain vf_NARCName
entities that are of not just 1 word in length, but 2 or 3 or maybe even longer if that's a possibility in your app.
As docs describing what Phrase Lists are state,
A phrase list includes a group of values (words or phrases) that belong to the same class and must be treated similarly
This is another way you could help send another signal to LUIS to help detect your vf_NARCName
entity.
Tutorial on how to add Phrase List here.
As the Pattern.any docs state here,
use the pattern.any entity to extract data from utterances where the utterances are well-formatted and where the end of the data may be easily confused with the remaining words of the utterance
So if you know that you may have potential vf_NARCName
entities that are extremely long in word count for the entity itself, you may benefit from using Pattern.any entity.
For example maybe you had "The Department of People Who like Really Long Names, But Hate Novels
" as a vf_NARCName
entity. LUIS may have a hard time determining where exactly that entity ends, but can do so with the use of Pattern.any.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With