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.

  1. Access your app by selecting its name on the My Apps page.

  2. In your app, select Train in the top panel.

  3. 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.

A button for enabling or disabling non deterministic training

Using the version settings API

Use the Version settings API with the UseAllTrainingData set to true to turn off this feature.

Unnecessary training

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.

Next steps