You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: 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.
5
-
services: cognitive-services
6
-
author: diberry
7
-
manager: nitinme
8
-
ms.service: cognitive-services
9
-
ms.subservice: language-understanding
10
4
ms.topic: overview
11
-
ms.date: 11/22/2019
12
-
ms.author: diberry
13
-
#Customer intent: As a developer incorporating LUIS into my client application, I want to understand what natural language processing (LUIS) is, so that I can determine if it will meet my Cognitive Language needs.
5
+
ms.date: 02/23/2020
14
6
---
15
7
16
8
# What is Language Understanding (LUIS)?
17
9
18
-
Language Understanding (LUIS) is a cloud-based API service that applies custom machine-learning intelligence to natural language text to predict overall meaning, and pull out relevant, detailed information.
10
+
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.
19
11
20
-
For example, when a client application sends the text, `find me a wireless keyboard for $30`, LUIS responds with the following JSON object.
21
-
22
-
```JSON
23
-
{
24
-
"query": "find me a wireless keyboard for $30",
25
-
"prediction": {
26
-
"topIntent": "Finditem",
27
-
"intents": {
28
-
"Finditem": {
29
-
"score": 0.934672
30
-
}
31
-
},
32
-
"entities": {
33
-
"item": [
34
-
"wireless keyboard"
35
-
],
36
-
"money": [
37
-
{
38
-
"number": 30,
39
-
"units": "Dollar"
40
-
}
41
-
]
42
-
}
43
-
44
-
}
45
-
}
46
-
```
47
-
In the example above, the _**intent**_, or overall meaning of the phrase is that the user is trying to find an item. The detailed pieces of information that LUIS extracts are called _**entities**_. In this case, the entities are the name of the item the user is looking for and the amount of money they want to spend.
48
-
49
-
Client applications use LUIS's returned JSON, the _intent_ (category), and _entities_ (extracted detailed information), to drive actions in the client application. A client application for LUIS is often a conversational application that communicates with a user in natural language to complete a task. Examples of client applications include social media apps, chat bots, and speech-enabled desktop applications.
12
+
A client application for LUIS is any conversational application that communicates with a user in natural language to complete a task. Examples of client applications include social media apps, chat bots, and speech-enabled desktop applications.
50
13
51
14
")
52
15
53
-
## Example use LUIS in a chat bot
16
+
## Use LUIS in a chat bot
54
17
55
18
<aname="Accessing-LUIS"></a>
56
19
57
-
A client application sends utterances (text) to the published LUIS natural language processing endpoint [API][endpoint-apis] and receives the results as JSON responses. A common client application for LUIS is a chat bot.
20
+
Once the LUIS app is published, a client application sends utterances (text) to the LUIS natural language processing endpoint [API][endpoint-apis] and receives the results as JSON responses. A common client application for LUIS is a chat bot.
58
21
59
22
60
23

61
24
62
25
|Step|Action|
63
26
|:--|:--|
64
27
|1|The client application sends the user _utterance_ (text in their own words), "I want to call my HR rep." to the LUIS endpoint as an HTTP request.|
65
-
|2|LUIS applies machine learned language models to the user's unstructured input text and returns a JSON-formatted response, with a top intent, `HRContact`. The minimum JSON endpoint response contains the query utterance, and the top scoring intent. It can also extract data such as the _Contact Type_ entity.|
66
-
|3|The client application uses the JSON response to make decisions about how to fulfill the user's requests. These decisions can include a decision tree in the bot and calls to other services. |
28
+
|2|LUIS enables you to craft your custom language models to add intelligence to your application. Machine learned language models take the user's unstructured input text and returns a JSON-formatted response, with a top intent, `HRContact`. The minimum JSON endpoint response contains the query utterance, and the top scoring intent. It can also extract data such as the _Contact Type_ entity.|
29
+
|3|The client application uses the JSON response to make decisions about how to fulfill the user's requests. These decisions can include decision tree in the bot framework code and calls to other services. |
67
30
68
-
The LUIS app provides intelligence so the client application can make smart choices. LUIS doesn't provide those choices.
31
+
The LUIS app provides intelligence so the client application can make smart choices. LUIS doesn't provide those choices.
69
32
70
33
<aname="Key-LUIS-concepts"></a>
71
34
<aname="what-is-a-luis-model"></a>
72
35
73
36
## Natural language processing
74
37
75
-
Your LUIS app contains domain-specific natural language models, which work together. You can start the LUIS app with one or more prebuilt models, build your own model, or blend prebuilt models with your own custom information.
38
+
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.
76
39
77
-
***Prebuilt model** LUIS has many prebuilt domains that include intent and entity models that work together to complete common usage scenarios. These domains include labeled utterances that can be inspected and edited, allowing you to customize them. [Prebuilt domain models](luis-how-to-use-prebuilt-domains.md) include the entire design for you and are a great way to start using LUIS quickly. In addition, there are prebuilt entities such as currency and number that you can use independently from the prebuilt domains.
40
+
***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](luis-how-to-use-prebuilt-domains.md) include the entire design for you and are a great way to start using LUIS quickly.
78
41
79
-
***Custom model** LUIS gives you several ways to build your own custom models including intents, and entities. Entities include machine-learned entities, pattern matching entities, and a combination of machine-learned and pattern matching.
42
+
***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.
80
43
81
-
## Build the LUIS app
82
-
Build the app with the [authoring](https://go.microsoft.com/fwlink/?linkid=2092087) APIs or with the [LUIS portal](https://www.luis.ai).
44
+
## Build the LUIS model
45
+
Build the model with the [authoring](https://go.microsoft.com/fwlink/?linkid=2092087) APIs or with the [LUIS portal](https://www.luis.ai).
83
46
84
-
The LUIS app begins with categories of input text called **[intents](luis-concept-intent.md)**. Each intent needs examples of user **[utterances](luis-concept-utterance.md)**. Each utterance can provide data that needs to be extracted.
47
+
The LUIS model begins with categories of user intentions called **[intents](luis-concept-intent.md)**. Each intent needs examples of user **[utterances](luis-concept-utterance.md)**. Each utterance can provide data that needs to be extracted.
85
48
86
49
|Example user utterance|Intent|Extracted data|
87
50
|-----------|-----------|-----------|
@@ -91,9 +54,9 @@ The LUIS app begins with categories of input text called **[intents](luis-concep
91
54
92
55
## Query prediction endpoint
93
56
94
-
After your app is trained and published to the endpoint, the client application sends utterances to the prediction [endpoint](https://go.microsoft.com/fwlink/?linkid=2092356) API. The API applies the app to the utterance for analysis and responds with the prediction results in a JSON format.
57
+
After your app is trained and published to the endpoint, the client application sends utterances to the prediction [endpoint](https://go.microsoft.com/fwlink/?linkid=2092356) API. The API applies the app to the utterance for analysis and responds with the prediction results in a JSON format.
95
58
96
-
The minimum JSON endpoint response contains the query utterance, and the top scoring intent. It can also extract data such as the following **Contact Type** entity and overall sentiment.
59
+
The minimum JSON endpoint response contains the query utterance, and the top scoring intent. It can also extract data such as the following **Contact Type** entity and overall sentiment.
97
60
98
61
```JSON
99
62
{
@@ -121,12 +84,12 @@ The minimum JSON endpoint response contains the query utterance, and the top sco
121
84
122
85
## Improve model prediction
123
86
124
-
After your LUIS app is published and receives real user utterances, LUIS provides [active learning](luis-concept-review-endpoint-utterances.md) of endpoint utterances to improve prediction accuracy.
87
+
After your LUIS app is published and receives real user utterances, LUIS provides [active learning](luis-concept-review-endpoint-utterances.md) of endpoint utterances to improve prediction accuracy.
125
88
126
89
<aname="using-luis"></a>
127
90
128
-
## Iterative development lifecycle
129
-
LUIS provides tools, versioning, and collaboration with other LUIS authors to integrate into the full iterative [development life cycle](luis-concept-app-iteration.md).
91
+
## Development lifecycle
92
+
LUIS provides tools, versioning, and collaboration with other LUIS authors to integrate into the full [development life cycle](luis-concept-app-iteration.md).
130
93
131
94
## Implementing LUIS
132
95
Language Understanding (LUIS), as a REST API, can be used with any product, service, or framework with an HTTP request. The following list contains the top Microsoft products and services used with LUIS.
@@ -135,15 +98,15 @@ The top client application for LUIS is:
135
98
*[Web app bot](https://docs.microsoft.com/azure/bot-service/?view=azure-bot-service-4.0) quickly creates a LUIS-enabled chat bot to talk with a user via text input. Uses [Bot Framework][bot-framework] version [4.x](https://github.com/Microsoft/botbuilder-dotnet) for a complete bot experience.
136
99
137
100
Tools to quickly and easily use LUIS with a bot:
138
-
*[LUIS CLI](https://github.com/Microsoft/botbuilder-tools/tree/master/packages/LUIS) The NPM package provides authoring and prediction with as either a stand-alone commandline tool or as import.
101
+
*[LUIS CLI](https://github.com/Microsoft/botbuilder-tools/tree/master/packages/LUIS) The NPM package provides authoring and prediction with as either a stand-alone command-line tool or as import.
139
102
*[LUISGen](https://github.com/Microsoft/botbuilder-tools/tree/master/packages/LUISGen) LUISGen is a tool for generating strongly typed C# and typescript source code from an exported LUIS model.
140
103
*[Dispatch](https://aka.ms/dispatch-tool) allows several LUIS and QnA Maker apps to be used from a parent app using dispatcher model.
141
-
*[LUDown](https://github.com/Microsoft/botbuilder-tools/tree/master/packages/Ludown) LUDown is a commandline tool that helps manage language models for your bot.
104
+
*[LUDown](https://github.com/Microsoft/botbuilder-tools/tree/master/packages/Ludown) LUDown is a command-line tool that helps manage language models for your bot.
142
105
*[Bot framework - Composer](https://github.com/microsoft/BotFramework-Composer) - an integrated development tool for developers and multi-disciplinary teams to build bots and conversational experiences with the Microsoft Bot Framework
143
106
144
107
Other Cognitive Services used with LUIS:
145
108
*[QnA Maker][qnamaker] allows several types of text to combine into a question and answer knowledge base.
146
-
*[Speech service](../Speech-Service/overview.md) converts spoken language requests into text.
109
+
*[Speech service](../Speech-Service/overview.md) converts spoken language requests into text.
147
110
*[Conversation learner](https://docs.microsoft.com/azure/cognitive-services/labs/conversation-learner/overview) allows you to build bot conversations quicker with LUIS.
148
111
149
112
Samples using LUIS:
@@ -153,12 +116,12 @@ Samples using LUIS:
153
116
## Next steps
154
117
155
118
*[What's new](whats-new.md)
156
-
* Author a new LUIS app with a [prebuilt](luis-get-started-create-app.md) or [custom](luis-quickstart-intents-only.md) domain
157
-
*[Query the prediction endpoint](luis-get-started-get-intent-from-browser.md) of a public IoT app.
158
-
*[Developer resources](developer-reference-resource.md) for LUIS.
119
+
* Author a new LUIS app with a [prebuilt](luis-get-started-create-app.md) or [custom](luis-quickstart-intents-only.md) domain.
120
+
*[Query the prediction endpoint](luis-get-started-get-intent-from-browser.md) of a public IoT app.
121
+
*[Developer resources](developer-reference-resource.md) for LUIS.
0 commit comments