Language Understanding Frequently Asked Questions (FAQ)
Bài viết
Quan trọng
LUIS will be retired on October 1st 2025 and starting April 1st 2023 you will not be able to create new LUIS resources. We recommend migrating your LUIS applications to conversational language understanding to benefit from continued product support and multilingual capabilities.
What are the maximum limits for LUIS application?
LUIS has several limit areas. The first is the model limit, which controls intents, entities, and features in LUIS. The second area is quota limits based on key type. A third area of limits is the keyboard combination for controlling the LUIS website. A fourth area is the world region mapping between the LUIS authoring website and the LUIS endpoint APIs. See LUIS limits for more details.
What is the difference between Authoring and Prediction keys?
An authoring resource lets you create, manage, train, test, and publish your applications. A prediction resource lets you query your prediction endpoint beyond the 1,000 requests provided by the authoring resource. See Authoring and query prediction endpoint keys in LUIS to learn about the differences between the authoring key and the prediction runtime key.
What are Synonyms and word variations?
LUIS has little or no knowledge of the broader NLP aspects, such as semantic similarity, without explicit identification in examples. For example, the following tokens (words) are three different things until they're used in similar contexts in the examples provided:
Language Understand has separate resources, one type for authoring, and one type for querying the prediction endpoint, each has their own pricing. See Resource usage and limits.
LUIS stores data encrypted in an Azure data store corresponding to the region specified by the key. Data used to train the model such as entities, intents, and utterances will be saved in LUIS for the lifetime of the application. If an owner or contributor deletes the app, this data will be deleted with it. If an application hasn't been used in 90 days, it will be deleted. See Data retention for more details about data storage.
Does LUIS support Customer-Managed Keys (CMK)?
The Language Understanding service automatically encrypts your data when it is persisted to the cloud. The Language Understanding service encryption protects your data and helps you meet your organizational security and compliance commitments. See the CMK article for more details about customer-managed keys.
Is it important to train the None intent?
Yes, it is good to train your None intent with utterances, especially as you add more labels to other intents. See none intent for details.
How do I edit my LUIS app programmatically?
To edit your LUIS app programmatically, use the Authoring API. See Call LUIS authoring API and Build a LUIS app programmatically using Node.js for examples of how to call the Authoring API. The Authoring API requires that you use an authoring key rather than an endpoint key. Programmatic authoring allows up to 1,000,000 calls per month and five transactions per second. For more info on the keys you use with LUIS, see Manage keys.
Should variations of an example utterance include punctuation?
Add the different variations as example utterances to the intent
Add the pattern of the example utterance with the syntax to ignore the punctuation.
Why is my app is getting different scores every time I train?
Enable or disable the use nondeterministic training option. When disabled, training will use all available data. When enabled (by default), training will use a random sample each time the app is trained, to be used as a negative for the intent. To make sure that you are getting same scores every time, make sure you train your LUIS app with all your data. See the training article for more information.
I received an HTTP 403 error status code. How do I fix it? Can I handle more requests per second?
You get 403 and 429 error status codes when you exceed the transactions per second or transactions per month for your pricing tier. Increase your pricing tier, or use Language Understanding Docker containers.
When you use all of the free 1000 endpoint queries or you exceed your pricing tier's monthly transactions quota, you will receive an HTTP 403 error status code.
In the Azure portal, navigate to your Language Understanding resource, and select Resource Management , then select Pricing tier , and change your pricing tier. You don't need to change anything in the Language Understanding portal if your resource is already assigned to your Language Understanding app.
If your usage exceeds the highest pricing tier, add more Language Understanding resources with a load balancer in front of them. The Language Understanding container with Kubernetes or Docker Compose can help with this.
An HTTP 429 error code is returned when your transactions per second exceed your pricing tier.
If your usage exceeds the highest pricing tier, add more Language Understanding resources with a load balancer in front of them. The Language Understanding container with Kubernetes or Docker Compose can help with this.
You can gate your client application requests with a retry policy you implement yourself when you get this status code.
Why does LUIS add spaces to the query around or in the middle of words?
LUIS tokenizes the utterance based on the culture. Both the original value and the tokenized value are available for data extraction.
What do I do when I expect LUIS requests to go beyond the quota?
LUIS has a monthly quota and a per-second quota, based on the pricing tier of the Azure resource.
If your LUIS app request rate exceeds the allowed quota rate, you can:
Spread the load to more LUIS apps with the same app definition. This includes, optionally, running LUIS from a container.
Yes, export the original LUIS app and import the app back into separate apps. Each app has its own app ID. When you publish, instead of using the same key across all apps, create a separate key for each app. Balance the load across all apps so that no single app is overwhelmed. Add Application Insights to monitor usage.
To get the same top intent between all the apps, make sure the intent prediction between the first and second intent is wide enough that LUIS is not confused, giving different results between apps for minor variations in utterances.
Designate a single main app. Any utterances that are suggested for review should be added to the main app, then moved back to all the other apps. This is either a full export of the app, or loading the labeled utterances from the main app to the other apps. Loading can be done from either the LUIS website or the authoring API for a single utterance or for a batch.
Schedule a periodic review, such as every two weeks, of endpoint utterances for active learning, then retrain and republish the app.
How do I download a log of user utterances?
By default, your LUIS app logs utterances from users. To download a log of utterances that users send to your LUIS app, go to My Apps , and select the app. In the contextual toolbar, select Export Endpoint Logs. The log is formatted as a comma-separated value (CSV) file.
How can I disable the logging of utterances?
You can turn off the logging of user utterances by setting log=false in the Endpoint URL that your client application uses to query LUIS. However, turning off logging disables your LUIS app's ability to suggest utterances or improve performance that's based on active learning. If you set log=false because of data-privacy concerns, you can't download a record of those user utterances from LUIS or use those utterances to improve your app.
Logging is the only storage of utterances.
Why don't I want all my endpoint utterances logged?
If you are using your log for prediction analysis, do not capture test utterances in your log.
Tham gia chuỗi buổi gặp gỡ để xây dựng các giải pháp AI có thể mở rộng dựa trên các trường hợp sử dụng trong thế giới thực với các nhà phát triển và chuyên gia đồng nghiệp.