Botbuilder-dotnet: Contextual Intent and QNA support

Created on 14 Aug 2020  路  8Comments  路  Source: microsoft/botbuilder-dotnet

Is your feature request related to a problem? Please describe.
Questions and User Intents are often different based on the context. The most obvious example (though not that only one) is perhaps that on any dialog at any point the user might ask the question "why?", "where?" or "when?" with the current implementation there is no clean way to support this without creating a separate Recognizer and QNAMaker for each dialog and having each dialog then redo the Intent recognition on every call to see if there is an intent or QNA that matches the Text for that dialog.

Describe the solution you'd like
We would like for the context to be included in some way. This could be as simple as the Active Dialog name. It would need to be settable both when we create an intent and or a QNA and when we resolve it. So that we could give a different answer or Intent for the Question "Why?" per dialog if needed or leave the context blank and apply it globally.

Describe alternatives you've considered
We are currently looking at implementing a ML.Net solution that would allow us to do exactly this but it then requires us to rewrite the equivilant of QNAMaker.AI and Luis.AI so our clients can manage the additional column in the training data.

[enhancement]

Bot Services customer-replied-to customer-reported feature-request

All 8 comments

Will follow up with the necessary folks internally to figure out how best to route this issue. Will follow up soon.

@DavidStrickland0 Two recommendations -

  1. QnAMakerRecognizer supports the ability to automatically add active dialog name as dialogName = <activeDialogName> meta data filter pair. If your questions are authored with dialogName = <yourDialogName> meta data, then you will have QnA return appropriate results based on the active dialog
  2. If you are using adaptive dialog, then you might want to take a look at this sample. Use of CrossTrainedRecognizerSet is designed for use cases where you want to seamlessly bring together QnA as well as intent classification/ entity extraction to serve the needs of a dialog.

Not certain what you mean by

" If your questions are authored with dialogName = <yourDialogName> meta data"

image

My Options at the moment are limited to the Question and the Answer how do I author with additional MetaData?.

@DavidStrickland0 two options -

  1. When using qnamaker.ai portal, you can follow instructions here to add meta data filters
  2. If you are using .qna format, you can add meta data filters using this notation.

Ill go ahead and call this Gud-E- nuf be nice if Luis did it as well but @vishwacsena resolution would be a valid fix. thanks

@DavidStrickland0 for LUIS, you can set up different apps to serve the local needs of a dialog. The cross training sample I pointed you to works with both Luis and qna with adaptive dialog.

I looked at it. trying to get my Ba's to manage 1 app is hard enough... We might get to the point that we can get them to manage a app per dialog but .....

Using QnaMaker's abilities and shoe horning it into Intent recognition is likely where we'll end up if we dont just use ML.Net for Intent and QNA for Questions

Sure. @DavidStrickland0 have you looked at composer for your needs? https://aka.ms/composer

Was this page helpful?
0 / 5 - 0 ratings