Search code examples
azureazure-language-understanding

LUIS trying to get pattern matching for club location


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}".


Solution

  • 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: