How to label example utterances

Important

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.

Labeling an entity in an example utterance gives LUIS an example of what the entity is and where the entity can appear in the utterance. You can label machine-learned entities and subentities.

You only label machine-learned entities and sub-entities. Other entity types can be added as features to them when applicable.

Label example utterances from the Intent detail page

To label examples of entities within the utterance, select the utterance's intent.

  1. Sign in to the LUIS portal, and select your Subscription and Authoring resource to see the apps assigned to that authoring resource.
  2. Open your app by selecting its name on My Apps page.
  3. Select the Intent that has the example utterances you want to label for extraction with an entity.
  4. Select the text you want to label then select the entity.

Two techniques to label entities

Two labeling techniques are supported on the Intent detail page.

  • Select entity or subentity from Entity Palette then select within example utterance text. This is the recommended technique because you can visually verify you are working with the correct entity or subentity, according to your schema.
  • Select within the example utterance text first. A menu will appear with labeling choices.

Label with the Entity Palette visible

After you've planned your schema with entities, keep the Entity palette visible while labeling. The Entity palette is a reminder of what entities you planned to extract.

To access the Entity Palette , select the @ symbol in the contextual toolbar above the example utterance list.

A screenshot of the entity palette within an intent details page.

Label entity from Entity Palette

The entity palette offers an alternative to the previous labeling experience. It allows you to brush over text to instantly label it with an entity.

  1. Open the entity palette by selecting on the @ symbol at the top right of the utterance table.

  2. Select the entity from the palette that you want to label. This action is visually indicated with a new cursor. The cursor follows the mouse as you move in the LUIS portal.

  3. In the example utterance, paint the entity with the cursor.

    A screenshot showing an entity painted with the cursor.

Add entity as a feature from the Entity Palette

The Entity Palette's lower section allows you to add features to the currently selected entity. You can select from all existing entities and phrase lists or create a new phrase list.

A screenshot showing the entity palette with the entity as a feature.

Label text with a role in an example utterance

Tip

Roles can be replaced by labeling with subentities of a machine-learning entities.

  1. Go to the Intent details page, which has example utterances that use the role.

  2. To label with the role, select the entity label (solid line under text) in the example utterance, then select View in entity pane from the drop-down list.

    A screenshot showing the view in entity menu.

    The entity palette opens to the right.

  3. Select the entity, then go to the bottom of the palette and select the role.

    A screenshot showing where to select a role.

Label entity from in-place menu

Labeling in-place allows you to quickly select the text within the utterance and label it. You can also create a machine learning entity or list entity from the labeled text.

Consider the example utterance: "hi, please i want a cheese pizza in 20 minutes".

Select the left-most text, then select the right-most text of the entity. In the menu that appears, pick the entity you want to label.

A screenshot showing a menu for labeling an entity.

Review labeled text

After labeling, review the example utterance and ensure the selected span of text has been underlined with the chosen entity. The solid line indicates the text has been labeled.

A screenshot showing a complete machine-learning entity.

Confirm predicted entity

If there is a dotted-lined box around the span of text, it indicates the text is predicted but not labeled yet. To turn the prediction into a label, select the utterance row, then select Confirm entities from the contextual toolbar.

Note

You do not need to label for punctuation. Use application settings to control how punctuation impacts utterance predictions.

Unlabel entities

Note

Only machine learned entities can be unlabeled. You can't label or unlabel regular expression entities, list entities, or prebuilt entities.

To unlabel an entity, select the entity and select Unlabel from the in-place menu.

A screenshot showing how to unlabel an entity.

Automatic labeling for parent and child entities

If you are labeling for a subentity, the parent will be labeled automatically.

Automatic labeling for non-machine learned entities

Non-machine learned entities include prebuilt entities, regular expression entities, list entities, and pattern.any entities. These are automatically labeled by LUIS so they are not required to be manually labeled by users.

Entity prediction errors

Entity prediction errors indicate the predicted entity doesn't match the labeled entity. This is visualized with a caution indicator next to the utterance.

A screenshot showing the entity palette for a machine-learning entity.

Next steps

Train and test your application