I have an intent with specific utterances like "what were you dreaming when you slept yesterday". The entities labeled there are what, dreaming, slept, and yesterday.
However, even when I test the exact phrase, while it gives full confidence to the intent, it does not pull out all the entities, just the "what" part.
The entities are correctly labeled, so I don't understand why it can't extract them. Is there some best practice that I am missing here?
Edit:
I should add that I have several thousand utterances split between just a handful of intents, since the domain has a lot of overlap. I wonder if that could be an issue -- an utterance that is simpler (fewer entities) interfering with an utterance that is more complex (more entities) in the same intent?
Edit 2:
I've used the LUIS API to set up all of the utterances, and the website to train and test them.
I am using just a few intents with simple meanings like "fact", "opinion", and "explain".
There are only 15 entities, which are simple groups like "emotion" (hurt, love, fear), "individual" (father, mother, sister), and "food" (hamburger, sandwich).
In each of those intents, there are a couple of thousand sample utterances.
Here is an image of some utterances in their raw form from the LUIS website:
Here is an image of the same utterances using the "Entities View" from the LUIS website:
As you can see, the entities are somewhat complex in thier positioning in the utterances. Likewise, since there are so many utterances, I don't know if LUIS will try and pick the simplest one and ignore the more complex ones (perhaps that could be why it isn't extracting all of the entities?)
Ignore that one of the entities is named "intent", it was just a convenient name for that entity.
A direct example that shows using one of these exact utterances. It gets the intent right, but only extracts a single entity: