Language Understanding (LUIS) is a cloud-based API service that applies custom machine-learning intelligence to a user’s conversational, natural language text to predict overall meaning, and pull out relevant, detailed information.
Your LUIS app contains a domain-specific natural language model. You can start the LUIS app with a prebuilt domain model, build your own model, or blend pieces of a prebuilt domain with your own custom information.
Prebuilt model LUIS has many prebuilt domain models including intents, utterances, and prebuilt entities. You can use the prebuilt entities without having to use the intents and utterances of the prebuilt model. Prebuilt domain models include the entire design for you and are a great way to start using LUIS quickly.
Custom model LUIS gives you several ways to identify your own custom models including intents, and entities. Entities include machine-learned entities, specific or literal entities, and a combination of machine-learned and literal.
To work with LUIS you need to use the LUIS Portal.
LUIS Portal is different among regions:
All the other regions -at the moment- have to refer to the west us service, you can check the docs for the up to date list of regions.
Utterances are input from the user that your app needs to interpret. To train LUIS to extract intents and entities from them, it’s important to capture a variety of different example utterances for each intent. Active learning, or the process of continuing to train on new utterances, is essential to machine-learned intelligence that LUIS provides.
Collect utterances that you think users will enter. Include utterances, which mean the same thing but are constructed in a variety of different ways:
An intent represents a task or action the user wants to perform. It is a purpose or goal expressed in a user’s utterance.
Entities are data you want to pull from the utterance, such as names, dates, product names, or any significant group of words. An utterance can include many entities or none at all.
Entities need to be labeled consistently across all training utterances for each intent in a model.
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.
There are two types of entities:
Machine-learned entities provide the widest range of data extraction choices. Non-machine-learned entities work by text matching and may be used independently or as a constraint on a machine-learned entity.
While intents are required, entities are optional. You do not need to create entities for every concept in your app, but only for those required for the client application to take action.