Not able to add example utterance for an intent through Luis portal - azure-language-understanding

Not able to add example utterance for a new or existing intent in Luis portal.
I can create Intent but example utterance section looks all grey. I am following the documentation/sample below
https://learn.microsoft.com/en-us/azure/cognitive-services/luis/luis-quickstart-intents-only
Already tried in different browsers.

By providing example utterances, you are training LUIS about what kinds of utterances should be predicted for the intent.The below snapshot shows how to add the example utterances.I hope this helps!

I can reproduce this behavior - see screenshot of inability to enter utterances into a defined intent (from the LUIS portal). Here an intent has been drilled-into and no UX for entering utterances is apparent.

Related

Is there a way to get detailed logs on LUIS classifications?

I'm building chatbots with the Microsoft Bot Framework (and the Composer). To help troubleshoot problems with my bot, or identify issues, it would be helpful if I could see detailed information on LUIS's classification of user intents. I have used other bot frameworks that have a way to see, for example, intent classification confidence. This information would be extremely useful to identify times when the bot is more likely to have screwed up in its responses.
You can use LUIS API to get predictions from your LUIS APP rather than using the default composer mechanism of getting predictions from LUIS.
Make a LUIS API call with your query.
LUIS returned the predictions.
Store the LUIS response in application insights (or any logging application you are using)
Periodically, you can see the logs, which will give you insights into LUIS prediction for each query.

Best practice for reviewing LUIS Endpoint Utterances in a new version

As a best practice, I am trying to make use of LUIS app versions when making changes to my LUIS model. This ensures that I can compare how different LUIS app versions perform, and allows me to easily roll back in case the predictions are not as expected.
I have Active Learning enabled, and want to review LUIS Endpoint Utterances. However, I notice that the LUIS Endpoint Utterances are only available in the currently active version, and not copied over to a clone of the active version.
Is it correct that reviewing Endpoint Utterances can only be done directly in the active (production) version, and not in any new (cloned) version of the app, or did I miss something? What are your best practices for reviewing endpoint utterances without having to add them directly to the production-published version?
The only workaround I found is to export all endpoint utterances of the last month via the API or via LUIS CLI (one by one for each intent..), and then manually apply these on the v2 cloned version, but I feel there should be a better way?
Seems like there must have been some hiccup or it might take some time in the back-end for the endpoint utterances to appear, since today they are displaying correctly under the new cloned version. Problem solved!

In LUIS, is that possible to generate intent, utterance and proposed answering automatically?

I am very new to Microsoft LUIS, and thinking the feasibility to utilize LUIS to build the Q&A ChatBot to provide the IT technical support to our users.
We have the 2-years support log in one email, my original idea is, to extract this support log to train/test LUIS, if the test result could be accepted, we may enable chatbot in SKYPE to provide the support to our users.
After I go through the following document or course:
https://learn.microsoft.com/en-us/azure/cognitive-services/luis/
https://courses.edx.org/courses/course-v1:Microsoft+DEV328x+2T2018/course/
My understanding is, to build technical support chatbot, I have to:
1) Manually create the entities / intents / utterances in LUIS, then train / test LUIS, or achieve this by programming via LUIS API (it may like what is mentioned in the following thread:Approaches to improve Microsoft ChatBot with each user conversation by learning from it?). The purpose of this step is , when users raise the questions, chatbot could match users' questions to the defined intents.
2) Customize the reactions based on the intents. And based on the intents identified in the above, answer the questions to users or redirect the questions to human if questions could not be found out.
My question is whether it is possible for LUIS to be trained by those 2 years' support log (fed in some formats such as in JSON), then automatically generate the intent / entities / utterance as well as answering for our test?
Your kind input or advises would be highly appreciated.
Best regards
Patrick
My question is whether it is possible for LUIS to be trained by those
2 years' support log (fed in some formats such as in JSON), then
automatically generate the intent / entities / utterance as well as
answering for our test?
Yes, by using Batch Testing you can upload no more than 1000 utterances to test which will serve the purpose. In this case you have to create the intents and entities.
My question is whether it is possible for LUIS to be trained by those
2 years' support log (fed in some formats such as in JSON), then
automatically generate the intent / entities / utterance as well as
answering for our test?
Yes, LUIS provides a programmatic API that does everything that the LUIS website does. This can save time when you have pre-existing data and it would be faster to create a LUIS app programmatically than by entering information by hand.

Azure BOT Framework, Integrate QnA Maker with LUIS

I am searching for documentation on the integration of QnA Maker API with LUIS in Azure BOT Framework. But after a lot of research, I couldn't find any such document.
If anyone came across the same scenario, please post your efforts.
I am using C# as scripting here.
There are several general ways to do it, but it's ultimately up to you as the Bot developer to decide how to structure it.
A general overview is provided in the docs here, but if you want a more code oriented sample, this blog post should help you -
Dialog management with QnA, Luis, and Scorables
In the sample, the LuisDialog acts as a kind of message controller, which guides the user to a certain kind of dialog based on intent. This also can be used to direct a user to a QnA dialog ->
[Serializable]
[LuisModel("YourLuisAppID", "YourLuisSubscriptionKey")]
public class LuisDialog : LuisDialog<object>
{
// methods to handle LUIS intents
[LuisIntent("")]
[LuisIntent("None")]
public async Task None(IDialogContext context, LuisResult result)
{
// You can forward to QnA Dialog, and let Qna Maker handle the user's
query if no intent is found
await context.Forward(new QnaDialog(), ResumeAfterQnaDialog,
context.Activity, CancellationToken.None);
}
[LuisIntent("Some-Intent-Like-Get-Weather")]
public async Task GetWeather(IDialogContext context, LuisResult result)
{
....
// some tasks, forward to other dialog, etc
}
}
This is one way to do it, and a popular one. In this setup, if there is no intent that LUIS can detect, it'll route the user's query to a QnA dialog for the Qna Service (which you train) to answer.
Alternatively, you can create specifically a "Question intent" and try to forward it to QnA that way, if the user's intent was to ask a question. This is trickier however, as this method requires you to manually create custom code to manage the 'scores' of the responses.
Hope this was enough to help you get to what you need!
EDIT - Apologies, fixed the first link.
In addition, I'll just paste 3 common scenarios listed from the docs as ways you can use LUIS + QnA:
1) Call both QnA Maker and LUIS at the same time, and respond to the user by using information from the first one that returns a score of a specific threshold.
2) Call LUIS first, and if no intent meets a specific threshold score, i.e., "None" intent is triggered, then call QnA Maker. Alternatively, create a LUIS intent for QnA Maker, feeding your LUIS model with example QnA questions that map to "QnAIntent."
3)Call QnA Maker first, and if no answer meets a specific threshold score, then call LUIS.

How to add new utterance to LUIS intent?

Please help me in LUIS training. I want to add new utterances to intent using LUIS API. But I can't find any examples in the documentation.
You might want to try the Add Label operation from the LUIS Programatic API.

Resources