Train your active version of the LUIS app
Training is the process of teaching your Language Understanding (LUIS) app to improve its natural language understanding. Train your LUIS app after updates to the model such as adding, editing, labeling, or deleting entities, intents, or utterances.
Training and testing an app is an iterative process. After you train your LUIS app, you test it with sample utterances to see if the intents and entities are recognized correctly. If they're not, make updates to the LUIS app, train, and test again.
Training is applied to the active version in the LUIS portal.
How to train interactively
To start the iterative process in the LUIS portal, you first need to train your LUIS app at least once. Make sure every intent has at least one utterance before training.
Access your app by selecting its name on the My Apps page.
In your app, select Train in the top panel.
When training is complete, a notification appears at the top of the browser.
Training date and time
Training date and time are GMT + 2.
Train with all data
Training uses a small percentage of negative sampling. You can use all available data instead using either the portal or API.
Using the LUIS portal
Log into the LUIS portal and click on your app. Select Manage at the top of the screen, then select Settings and enable or disable the use non-deterministic training option. When disabled, training will use all available data.
Using the version settings API
Use the Version settings API with the
UseAllTrainingData set to true to turn off this feature.
You do not need to train after every single change. Training should be done after a group of changes are applied to the model, and the next step you want to do is to test or publish. If you do not need to test or publish, training isn't necessary.
Training with the REST APIs
Training in the LUIS portal is a single step of pressing the Train button. Training with the REST APIs is a two-step process. The first is to request training with HTTP POST. Then request the training status with HTTP Get.
In order to know when training is complete, you have to poll the status until all models are successfully trained.