BotBuilder-Samples icon indicating copy to clipboard operation
BotBuilder-Samples copied to clipboard

PVA friendly prototype

Open chrimc62 opened this issue 3 years ago • 1 comments

I'd like to build a prototype where we simplify the LU model down to what PVA supports. To do this:

  1. We would create a new directory templates/simple with a new root schema simple.schema.
  2. We would copy over and modify the existing templates to generate a simpler LU model without operators and maybe without any labels.

Changes would be:

  • The only operation would be assign and we would drop all other utterances and the labels for assign. We would also drop all triggers other than missing property, assign and the form wide ones.
  • Eventually we would only support the entity types that PVA supports, but for now we can use the LUIS ones to simplify testing. I believe this includes enum, but we would have to get some details there.
  • The LU files would only have entity labels for property and value. Eventually the entity labels would likely be dropped altogether. (Because all of the entities are prebuilt or list and they correspond 1 to 1 to properties.)
  • Triggers would only have the value field. (It might be we are required to have a property field in which case we would have the one property for each entity type.)
  • Eventually we might be able to test this by using the Orchestrator recognizer as well, but we should hold off on that.

This would result in a bot that supports the event triggered model including richer prompts, but would run on the current PVA runtime.

chrimc62 avatar Jul 16 '21 20:07 chrimc62

  1. It means we keep operation assign() and discard operations clear(), remove(), show(), help(), change() and choose() for each property? Do we keep chooseEntity? The form wide ones are helpGlobal(), skip() and cancel() ?

  2. Current, the assign entity is defined as follows:

@ phraselist AssignPhrases(interchangeable) disabledForAllModels = - add, set, with, is, are, of, assign

@ ml Assign() usesFeature AssignPhrases -@ ml BreadProperty usesFeature BreadProperty - @ BreadValue BreadValue But I think this could not be recognized by PVA LU model. If we want to keep the assign entity, how to define the assign entity in simplified style?

  1. "The LU files would only have entity labels for property and value. Eventually the entity labels would likely be dropped altogether." The new generated example utterances are as follows:

add {quantity.number=2} sandwiches add {bread.breadValue=rye} Should entity labels (e.g., quantity.number, bread.breadValue) also be deleted?

  1. "Triggers would only have the value field. " Currently, the trigger is like:

    { "$kind": "Microsoft.OnAssignEntity", "operation": "Assign()", "property": "Quantity", "value": "number", "actions": [ { "$kind": "Microsoft.SetProperty", "property": "$Quantity", "value": "=@number" } ] }

Should we remove property in the trigger ?

coldplaying42 avatar Jul 28 '21 00:07 coldplaying42