5
votes

I'm trying to have LUIS recognize something pretty straight forward: "2 waters" So I

  1. Set up the number built in entity
  2. Created a list entity which contains among its members the word water
  3. Created a composite entity which holds both, the number and the list entities

Then I go and test the intent with utterances that involve the words "2 waters" and it does recognize the number and list entities but separately, and doesn't allow me to compound it into their parent composite at the same time (only separately).

enter image description here

2
The best approach is to wrap the existing entities in a composite that you create at that time -- do not create composites before -- it helps illustrate what the composite label does.DFBerry
mm i dont think you can create a composite before you create the children entities first.. so that should be already the case. or am i missing something?Dustin

2 Answers

3
votes

Okay, This is really embarassing but I was facing the same issue until I read up the help documents. What I was doing involved -

  1. Select the first entity, Right click -> Wrap .... -> Select the composite entity
  2. Select the second entity, Rinse repeat.
  3. See that the two entities are wrapped separately, scratch my head in confusion

After I read the Help documents, These are the steps I followed which worked -

  1. Select the first entity, Right click -> Wrap in Composite Entity
  2. Without clicking on the composite entity, move the mouse cursor over the second entity and click ! this underlines both of them in Green.
  3. THEN, select the composite entity and viola ! problem solved
1
votes

it does recognize the number and list entities but separately

I create a luis app and do a test in Test panel, I can reproduce the issue: getting child entities (number and object) and composite entity (mytesttntity) separately.

enter image description here

If I access published endpoint with same test query/utterance, I find the composite entity in returned response. You can try to make a request to your published endpoint and check if it can return an expected response.

enter image description here