2

In the v3 api for building LUIS apps I notice an emphasis on Machined learned entities. When working with them I notice something that concerns me and I was hoping to get more insight into the matter.

The idea is that when using a machined learned entity you can bind it to descriptors of phrase lists or other entities or list entities as a constraint on that machined learned entity. Why not just aim to extract the list entity by itself? What is the purpose of wrapping it in a machined learnt object?

I ask this because I have always had great success with lists. It very controllable albeit you need to watch for spelling mistakes and variations to assure accuracy. However, when I use machined learnt entities I notice you have to be more careful with word order. If there is a variation it could not pick up that machined learnt entity.

Now training would fix this but in reality if I know I have the intent I want and I just need entities from that what really does the machine learnt entity provide?

It seems you need to be more careful with it.

Now I say this with this suspicion. Would the answer lie in the fact that a machine learnt entity would increase intent detection where a list entity would only serve to increase entity detection. If that is the answer that most fits I think I can see the solution to what it is I am looking for.

Christian Matthew
  • 4,014
  • 4
  • 33
  • 43
  • Your last concluding paragraph doesn't make sense, as you are saying the same thing in what sounds like should be a statement making a contrast, " Would the answer lie in the fact that it would increase entity detection where a list entity would only serve to increase entity detection." -- Both scenarios increasing entity detection?? What are trying to say? – Zeryth May 06 '20 at 16:29
  • sorry you are correct @Zeryth i meant serve to increase intent detection – Christian Matthew May 06 '20 at 18:22

1 Answers1

0

EDITED: I haven't been keeping up with LUIS ever since I went on maternity leave, and lo and behold, it's moving from V2 to V3!

The following shows an email conversation from a writer of the LUIS team's documentation.


LUIS is moving away from different types of entities toward a single ML entity to encapsulate a concept. The ML entity can have children which are ML entities themselves. An ML entity can have a feature directly connected to it, instead of acting as a global feature.

This feature can be a phrase list, or it can be another model such as a prebuilt entity, reg ex entity, or list entity.

So a year ago a customer might have built a composite entity and thrown features into the app. Now they should create an ML entity with children, and these children should have features.

Now (before //MS Build Conference) any non-phrase-list feature can be a constraint (required) so a child entity with a constrained regex entity won’t fire until the regex matches.

At/after //Build, this concept has been reworked in the UI to be a required feature – same idea but different terminology.

...

This is about understanding a whole concept that has parts, so an address is a typical example. An address has street number, street name, street type (street/court/blvd), city, state/province, country, postal code.

Each of the subparts is a feature (strong indicator) that an address is in the utterance.

If you used a list entity but not as a required feature to the address, yes it would trigger, but that wouldn’t help the address entity which is what you are really trying to get.

If however, you really just want to match a list, go head. But when the customer says the app isn’t predicting as well as they thought, the team will come back to this concept of the ML entity parent and its parts and suggest changes to the entities.

Zeryth
  • 1,204
  • 1
  • 7
  • 15
  • I think you are misunderstanding my point a little so you're missing the mark of a good response of the question I am asking. Phrase lists aren't what I'm concerned about other than referring to the fact that they can be bolted on to a machine learnt entity. You're missing the main part of the question which is saying when you bolt on a list entity as a constraint to a machine learnt entity you effectively are doing the same thing as just using a list entity. – Christian Matthew May 06 '20 at 18:32
  • But if you're saying that it acts to expand the list, kind of like the phrase list, of entities that can be known to that machine learnt entity and give it "what type of a constraint exactly?" That's the issue is what does the constraint of a list entity on a machine learnt actually do and like your California example if the word is misspelled without a synonym will it still pick it up i.e. no exactly like an extact text match. If you read my question again you can see what I am saying and if I need to I can try to make it more clear. – Christian Matthew May 06 '20 at 18:32
  • also, keep in mine this is for v3 which is very different than v2 api. You response seems to be more focused/reference on a v2 world of what Luis used to be. – Christian Matthew May 06 '20 at 18:54
  • Hey Christian! I removed the original answer's contents, and edited to have instead information from an email from an MS documentation writer for the LUIS team that might help – Zeryth May 06 '20 at 23:24
  • Again, the question is very specific and it can't be answered correctly unless someone with knowledge of the particular information i am asking for is able to respond. – Christian Matthew May 10 '20 at 23:25