1

I have a LUIS app where I'm trying to get it to recognize {Organization Name } of {Location}.

Example:

  • Book club of Illinois
  • Book club of Chicago
  • Book club of Orlando, Florida

I tried creating a composite entity, where the child was a GeographyV2 (I added that as a prebuilt entity). Upon trying to do this, the training breaks. I had to remove the composite entity.

The club part will always contain the same text, like "Book club of {location}".

Zeryth
  • 1,204
  • 1
  • 7
  • 15
Patrick Goode
  • 1,412
  • 5
  • 20
  • 35
  • @Zeryth thanks for the edit, I was hoping you could also answer the qeustion? – Patrick Goode Apr 17 '20 at 16:55
  • 1
    You might try pattern entities, but I've found they can be quite tempremental. For example you could set it up as `{organizationNamePatternEntity}` of `{Location}`, but if you're not specific enough, you could end up with something like `I'm looking for the book club` as the organization name if someone types "I'm looking for the book club of Illinois". – billoverton Apr 17 '20 at 17:18

1 Answers1

0

The problem seems to be rooted in that you haven't given enough data for OrganizationName entity to even be detected on its own, so detecting it in a composite entity should fail too.


Create an intent with enough utterances with entities that can stand on their own

  • Below I've quickly just made a JoinClub intent, and provided at least 15 utterances for the intent.
  • Turned on prebuilt geographyV2 entity
  • Created a simple entity, Organization to gather name of the organization

enter image description here enter image description here

Then after training, you can see in the Test panel that LUIS's machine-learning was able to pick up the Organization entity: enter image description here


Bundle related entities together with a composite entity

  • I created a Club entity with 2 children: Organization and geographyV2

Make sure to label the utterances in the intent with the new composite entity.

Upon testing, again we prosper! The entities are properly grouped as the Club composite entity, while the children are also correctly extracted as well: enter image description here


For additional information about how properly build your LUIS apps so that entities properly extract, see my previous two responses on StackOverflow:

Zeryth
  • 1,204
  • 1
  • 7
  • 15
  • Thank you. I got it to work using a composite entity. I sort of stumbled on it, then I saw this. I think I'm doing it the same way as you mentioned. Seems to be working ok. Thanks for your help! – Patrick Goode Apr 18 '20 at 02:39
  • Hi, as an update to this, it is very difficult to go to intents in the portal and try to pick out known entities and mark them as a composite. This is both from the intents and patterns page. The portal is buggy, cursor and selections jump around. Is there a better way to do it? – Patrick Goode Apr 20 '20 at 15:39
  • I managed to get it one time with super ninja click accuracy and luck – Patrick Goode Apr 20 '20 at 15:40
  • Not sure what instruction to give, other than what is already listed in [documentation](https://cognitive.uservoice.com/forums/551524-language-understanding-luis/filters/my_feedback) with how to assign composite entities in the LUIS portal. You could explain what feature you would like or what is troubling you in [LUIS's uservoice](https://learn.microsoft.com/en-us/azure/cognitive-services/luis/luis-tutorial-composite-entity#create-composite-entity-from-example-utterances) forum, where the community can help prioritize new features – Zeryth Apr 21 '20 at 04:30
  • I understand. Thank you for the response. It is difficult to explain here without a video. I will try the other route – Patrick Goode Apr 21 '20 at 16:25