LUIS (Deprecated)

LUIS deprecated

Language Understanding (LUIS) will be retired on 1 October 2025.

Starting 1 April 2023, users will not be able to create new LUIS resources.

If you are a new user, get started with conversational language understanding (CLU), the next generation of LUIS.

If you are an existing user, migrate your LUIS applications to conversational language understanding (CLU) to take advantage of multilingual capabilities and state-of-the-art machine learning models.

Natural Language Model

Your LUIS App performs the following functions:

  • Records what questions or phrases (called "utterances") users enter into the search query
  • Interprets the question or phrase ("utterance").
  • Describes the meaning of the question or phrase

A model includes:

  • Intents: Tasks or actions the user wants to perform.
    • Enter intents into your LUIS app.
    • For each intent, enter examples of what a user might say/ask regarding that intent (called "utterances").
      • See the SearchForKnowledgeArticles intent example below.
  • Utterances:
    • Examples of user inputs that your app is designed to interpret.
    • Each intent requires examples of user utterances.
    • It may be a sentence, like "Book a ticket to Paris for me", or a fragment of a sentence, like "Booking" or "Paris flight." 
  • Entities:
    •  A specific word or phrase inside an utterance that you want extracted, such as:
      • Names, dates, product names, or any significant group of words.
    • The primary purpose of entities is to give the client application predictable extraction of data.
    • An optional, secondary purpose is to boost the prediction of the intent or other entities with descriptors.

Examples

SearchForKnowledgeArticles Intent Example

  • In the example below, the intent "SearchForKnowledgeArticles" is shown.
  • Every line contains an utterance.
  • Entities in each utterance are highlighted in blue.
  • Note that entities such as IssueType, OperatingSystem, and Devices are a kind of keyword that can be recognized by your app.

SearchForServiceDeskCases Intent Example

  • In the example below, the intent "SearchForServiceDeskCases" is shown.
  • Every line contains an utterance.
  • Entities in each utterance are highlighted in blue.
  • Note that entities, such as Customers, number, and CasePriority are a kind of keyword that can be recognized by your app.

How to Train your LUIS App

  1. Select BUILD from the top menu.

  2. Expand App Assets from the left side menu.

  3. Select Intents. See the graphic below.

  4. Enter 5 or so examples of possible phrases, or "utterances," a user might use. Use the table below.

  5. Select Entities from the left side menu.

  6. Enter a word or phrase inside the utterance that you want extracted.
Travel App Intents Utterance Examples Entity Data
BookFlight

"Buy 3 tickets to New York" 

"Fly me to Rio on the 24th" 

"I need a plane ticket next Sunday to Rio de Janeiro"

Location.Destination

3

New York

CheckWeather

"What's the weather like in Boston?" 

"Show me the forecast for this weekend"

Location.Destination Boston

After you create and setup a LUIS application, you next train and publish it.


 

LUIS Settings

The NLQ Service Configuration page can be found by accessing the NLQ Service Settings page from the Administration page:

Not every query reaches LUIS.

By default, only queries with at least 3 words reach LUIS. Note: At least 1 one the 3 words must be a stop-word.

A built-in memory caches questions that are asked multiple times.

If the following settings are changed (such as lowering the value for the Minimum number of words in query necessary to be NLQ), then LUIS is called more often and the quota is reached faster:

  • Minimum intent score
  • Minimum number of words in query necessary to be NLQ
  • Minimum number of stop words in query necessary to be NLQ

The administrator needs to complete the following fields from NLQ Service Configuration page:

  • Endpoint
    • The NLQ Service Endpoint.
  • Version
    • Similar to versions in traditional programming.
    • Each version is a snapshot in time of the application from NLQ Service.
    • The version can be found in Luis application under Manage → Versions
  • Authoring Endpoint
    • For LUIS, it can be generated automatically by clicking the "Generate Authoring Endpoint" button, after the administrator specify the"Endpoint" and "Version".
    • After generating endpoint, check if your Endpoint URL matches with the one from Luis App → Manage → Azure Resources → Authoring Resource → Endpoint URL 
  • Authoring key
    • The purpose of the key is authoring, publishing, managing collaborators, and versioning.
  • Maximum query length
    • Maximum query size.
  • Supported Source IDs
    • Enter the result source IDs, comma separated, which invoke the call to the NLQ service.
    • Example: b29924a9-ec32-4c10-8892-a544b69ee121,b09a7990-05ea-4af9-81ef-edfab16c4e31
  • Minimum intent score
    • Indicates the minimum prediction accuracy for intent.
    • A prediction score is between 0 and 1.
  • Minimum number of words in query necessary to be NLQ
    • Is an integer.
  • Minimum number of stop words in query necessary to be NLQ
    • Is an integer.  
    • A stop word is a commonly used word (such as “the”, “a”, “an”, “in”).

Access the Manage page to see the Application settings and all the information to complete the NLQ Service Configuration page.

  1. Get the Endpoint and Authoring key
    1. Select the Azure Resources entry from the left-side nav.
    2. The Authoring Key and Endpoint are shown in the screenshot below.



  2. Get the Version.
    1. The Version is shown in the screenshot below: 


    2. For this case, the Version from NLQ Service Configuration page is 0.1.