1
votes

I'm trying to build a language model in LUIS, but am having an issue in that certain example utterances are recognising entities that aren't there. For example, I have an entity for date / time in one intent, but I have another intent that requires no entities, but includes the word "day" in the example phrase, i.e.

Intent (Get data for day)
"Tell me my data for the <specified date>"

Intent (Step forward)
"Give me the data for the following day"

The second intent has no entity (and only works in the context of having had previous data). LUIS is picking up "the following day" and recognising it as an entity. I can deal with it in my fulfilment code if necessary, but it feels wrong.

Is there any way I can highlight the matched entity and tell LUIS to stop doing this? I've tried using patterns, but they only help where the intent has at least some entities. In this situation, it's a really simple intent with no input parameters and I can't use them.

1

1 Answers

2
votes

David, this is working as designed. "When a prebuilt entity is included in your application, its predictions are included in your published application". It will find them regardless of the training. You can see this working.

  1. Go to LUIS App and create a brand new LUIS model.
  2. Add the prebuilt DateTimeV2 entity. Do NOT add ANY intents.
  3. Train the app.
  4. Click 'Test' and type in "Give me the data for the following day", hit enter.
  5. Click 'Inspect' and you will see that Luis has detected 'the following day' and a datetimev2 entity.

MS docs has some info about this but what I said pretty much sums it up. If you're falling into the correct intent, can you ignore the entity results?