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
title: Orchestration workflow model evaluation metrics
3
+
titleSuffix: Azure Cognitive Services
4
+
description: Learn about evaluation metrics in orchestration workflow
5
+
services: cognitive-services
6
+
author: aahill
7
+
manager: nitinme
8
+
ms.service: cognitive-services
9
+
ms.subservice: language-service
10
+
ms.topic: overview
11
+
ms.date: 03/17/2022
12
+
ms.author: aahi
13
+
ms.custom: language-service-orchestration
14
+
---
15
+
16
+
# Evaluation metrics for orchestration workflow models
17
+
18
+
Model evaluation in orchestration workflow uses the following metrics:
19
+
20
+
|Metric |Description |Calculation |
21
+
|---------|---------|---------|
22
+
|Precision | The ratio of successful recognitions to all attempted recognitions. This shows how many times the model's entity recognition is truly a good recognition. |`Precision = #True_Positive / (#True_Positive + #False_Positive)`|
23
+
|Recall | The ratio of successful recognitions to the actual number of entities present. |`Recall = #True_Positive / (#True_Positive + #False_Negatives)`|
24
+
|F1 score | The combination of precision and recall. |`F1 Score = 2 * Precision * Recall / (Precision + Recall)`|
25
+
26
+
## Confusion matrix
27
+
28
+
A Confusion matrix is an N x N matrix used for model performance evaluation, where N is the number of intents.
29
+
The matrix compares the actual tags with the tags predicted by the model.
30
+
This gives a holistic view of how well the model is performing and what kinds of errors it is making.
31
+
32
+
You can use the Confusion matrix to identify intents that are too close to each other and often get mistaken (ambiguity). In this case consider merging these intents together. If that isn't possible, consider adding more tagged examples of both intents to help the model differentiate between them.
33
+
34
+
You can calculate the model-level evaluation metrics from the confusion matrix:
35
+
36
+
* The *true positive* of the model is the sum of *true Positives* for all intents.
37
+
* The *false positive* of the model is the sum of *false positives* for all intents.
38
+
* The *false Negative* of the model is the sum of *false negatives* for all intents.
39
+
40
+
## Next steps
41
+
42
+
[Train a model in Language Studio](../how-to/train-model.md)
# Frequently asked questions for orchestration workflows
17
17
18
18
Use this article to quickly get the answers to common questions about orchestration workflows
19
-
<!--
19
+
20
20
## How do I create a project?
21
21
22
22
See the [quickstart](./quickstart.md) to quickly create your first project, or the [how-to article](./how-to/create-project.md) for more details.
23
-
-->
23
+
24
24
## How do I connect other service applications in orchestration workflow projects?
25
25
26
26
See [How to create projects and build schemas](./how-to/create-project.md) for information on connecting another project as an intent.
27
27
28
28
## Which LUIS applications can I connect to in orchestration workflow projects?
29
29
30
-
LUIS applications that use the Language resource as their authoring resource will be available for connection. You can only connect to LUIS applications that are owned by the same resource. This option will only be available for resources in West Europe, as it's the only common available region between LUIS and CLU.<!--See [region limits](./service-limits.md#region-limits) for more information. -->
30
+
LUIS applications that use the Language resource as their authoring resource will be available for connection. You can only connect to LUIS applications that are owned by the same resource. This option will only be available for resources in West Europe, as it's the only common available region between LUIS and CLU.
31
31
32
32
## Training is taking a long time, is this expected?
33
33
34
-
For conversation projects, long training times are expected. Based on the number of examples you have your training times may vary from 5 minutes to 1 hour or more.
34
+
For orchestration projects, long training times are expected. Based on the number of examples you have your training times may vary from 5 minutes to 1 hour or more.
35
35
36
36
## Can I add entities to orchestration workflow projects?
37
37
@@ -64,4 +64,4 @@ Yes, all the APIs [are available](https://aka.ms/clu-apis).
64
64
65
65
## Next steps
66
66
67
-
[Conversational language understanding overview](overview.md)
Copy file name to clipboardExpand all lines: articles/cognitive-services/language-service/orchestration-workflow/how-to/deploy-query-model.md
+17-13Lines changed: 17 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,25 +14,31 @@ ms.devlang: csharp, python
14
14
ms.custom: language-service-orchestration
15
15
---
16
16
17
-
# Deploy and test an orchestration workflow model
17
+
# Deploy and test model
18
18
19
19
After you have [trained a model](./train-model.md) on your dataset, you're ready to deploy it. After deploying your model, you'll be able to query it for predictions.
20
20
21
-
## Deploy model
21
+
> [!Tip]
22
+
> Before deploying a model, make sure to view the model details to make sure that the model is performing as expected.
23
+
> You can only have ten deployment names.
22
24
23
-
Deploying a model is to host it and make it available for predictions through an endpoint. You can only have 1 deployed model per project, deploying another one will overwrite the previously deployed model.
25
+
## Orchestration workflow model deployments
26
+
27
+
Deploying a model hosts and makes it available for predictions through an endpoint.
24
28
25
29
When a model is deployed, you will be able to test the model directly in the portal or by calling the API associated to it.
26
30
27
-
When you're deploying an orchestration workflow project, A small window will show up for you to confirm your deployment, and configure parameters for connected services.
31
+
1. From the left side, click on **Deploy model**.
32
+
33
+
2. Click on **Add deployment** to submit a new deployment job.
34
+
35
+
In the window that appears, you can create a new deployment name by giving the deployment a name or override an existing deployment name. Then, you can add a trained model to this deployment name and press next.
28
36
29
-
If you're connecting one or more LUIS applications, specify the deployment name, and whether you're using *slot* or *version* type deployment.
30
-
* The *slot* deployment type requires you to pick between a production and staging slot.
31
-
* The *version* deployment type requires you to specify the version you have published.
37
+
3. If you're connecting one or more LUIS applications or conversational language understanding projects, you have to specify the deployment name.
32
38
33
-
No configurations are required for custom question answering and conversational language understanding connections, or unlinked intents.
39
+
No configurations are required for custom question answering or unlinked intents.
34
40
35
-
LUIS projects **must be published** to the slot configured during the orchestration workflow deployment, and custom question answering KBs must also be published to their production slots.
41
+
LUIS projects **must be published** to the slot configured during the Orchestration deployment, and custom question answering KBs must also be published to their Production slots.
36
42
37
43
1. Click on **Add deployment** to submit a new deployment job.
38
44
@@ -48,7 +54,6 @@ LUIS projects **must be published** to the slot configured during the orchestrat
48
54
49
55
:::image type="content" source="../media/deploy-connected-services.png" alt-text="A screenshot showing the deployment screen for orchestration workflow projects." lightbox="../media/deploy-connected-services.png":::
50
56
51
-
52
57
## Send a request to your model
53
58
54
59
Once your model is deployed, you can begin using the deployed model for predictions. Outside of the test model page, you can begin calling your deployed model via API requests to your provided custom endpoint. This endpoint request obtains the intent and entity predictions defined within the model.
@@ -58,17 +63,16 @@ You can get the full URL for your endpoint by going to the **Deploy model** page
58
63
:::image type="content" source="../media/prediction-url.png" alt-text="Screenshot showing the prediction request and URL" lightbox="../media/prediction-url.png":::
59
64
60
65
Add your key to the `Ocp-Apim-Subscription-Key` header value, and replace the query and language parameters.
61
-
<!--
66
+
62
67
> [!TIP]
63
68
> As you construct your requests, see the [quickstart](../quickstart.md?pivots=rest-api#query-model) and REST API [reference documentation](https://aka.ms/clu-apis) for more information.
64
-
-->
65
69
66
70
### Use the client libraries (Azure SDK)
67
71
68
72
You can also use the client libraries provided by the Azure SDK to send requests to your model.
69
73
70
74
> [!NOTE]
71
-
> The client library for conversational language understanding is only available for:
75
+
> The client library for Orchestration workflow is only available for:
# Train and evaluate orchestration workflow models
17
17
18
-
After you have completed tagging your utterances, you can train your model. Training is the act of converting the current state of your project's training data to build a model that can be used for predictions. Every time you train, you have to name your training instance.
18
+
After you have completed [tagging your utterances](./tag-utterances.md), you can train your model. Training is the act of converting the current state of your project's training data to build a model that can be used for predictions. Every time you train, you have to name your training instance.
19
19
20
20
You can create and train multiple models within the same project. However, if you re-train a specific model it overwrites the last state.
21
21
22
-
The training times can be anywhere from a few seconds, up to a couple of hours when you reach the maximum limit of utterances. Before training, you will have the option to enable evaluation, which lets you view how your model performs.
22
+
The training times can be anywhere from a few seconds, up to a couple of hours when you reach high numbers of utterances.
23
23
24
24
## Train model
25
25
26
26
Select **Train model** on the left of the screen. Select **Start a training job** from the top menu.
27
27
28
28
Enter a new model name or select an existing model from the **Model Name** dropdown.
29
29
30
-
Select whether you want to evaluate your model by changing the **Run evaluation with training** toggle. If enabled, your tagged utterances will be spilt into 2 parts; 80% for training, 20% for testing. Afterwards, you'll be able to see the model's evaluation results.
31
-
32
30
:::image type="content" source="../media/train-model.png" alt-text="A screenshot showing the Train model page for Conversational Language Understanding projects." lightbox="../media/train-model.png":::
33
31
34
-
Click the **Train** button and wait for training to complete. You will see the training status of your model in the view model details page. Only successfully completed tasks will generate models.
32
+
Click the **Train** button and wait for training to complete. You will see the training status of your model in the view model details page. Only successfully completed jobs will generate models.
35
33
36
34
## Evaluate model
37
35
38
-
After model training is completed, you can view your model details and see how well it performs against the test set if you enabled evaluation in the training step. Observing how well your model performed is called evaluation. The test set is composed of 20% of your utterances, and this split is done at random before training. The test set consists of data that was not introduced to the model during the training process. For the evaluation process to complete there must be at least 10 utterances in your training set.
36
+
After model training is completed, you can view your model details and see how well it performs against the test set in the training step. Observing how well your model performed is called evaluation. The test set is composed of 20% of your utterances, and this split is done at random before training. The test set consists of data that was not introduced to the model during the training process. For the evaluation process to complete there must be at least 10 utterances in your training set.
39
37
40
38
In the **view model details** page, you'll be able to see all your models, with their current training status, and the date they were last trained.
41
39
42
40
:::image type="content" source="../media/model-page-1.png" alt-text="A screenshot showing the model details page for Conversational Language Understanding projects." lightbox="../media/model-page-1.png":::
43
41
44
42
* Click on the model name for more details. A model name is only clickable if you've enabled evaluation before hand.
45
-
* In the **Overview** section you can find the macro precision, recall and F1 score for the collective intents or entities, based on which option you select.
46
-
* Under the **Intents**and **Entities** tabs you can find the micro precision, recall and F1 score for each intent or entity separately.
43
+
* In the **Overview** section you can find the macro precision, recall and F1 score for the collective intents.
44
+
* Under the **Intents**tab you can find the micro precision, recall and F1 score for each intent separately.
47
45
48
46
> [!NOTE]
49
-
> If you don't see any of the intents or entities you have in your model displayed here, it is because they weren't in any of the utterances that were used for the test set.
47
+
> If you don't see any of the intents you have in your model displayed here, it is because they weren't in any of the utterances that were used for the test set.
50
48
51
-
You can view the confusion matrix for intents and entities by clicking on the **Test set confusion matrix** tab at the top fo the screen.
49
+
You can view the [confusion matrix](../concepts/evaluation-metrics.md) for intents by clicking on the **Test set confusion matrix** tab at the top fo the screen.
Copy file name to clipboardExpand all lines: articles/cognitive-services/language-service/orchestration-workflow/includes/quickstarts/language-studio.md
+10-14Lines changed: 10 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,15 +30,10 @@ Once you have a Language resource associated with your account, create an orches
30
30
31
31
1. In [Language Studio](https://aka.ms/languageStudio), find the section labeled **Understand questions and conversational language** and select **Orchestration Workflow**.
32
32
33
-
:::image type="content" source="../../../conversational-language-understanding/media/select-custom-clu.png" alt-text="A screenshot showing the location of Custom Language Understanding in the Language Studio landing page." lightbox="../../../conversational-language-understanding/media/select-custom-clu.png":::
33
+
:::image type="content" source="../../media/select-orchestration.png" alt-text="A screenshot showing the location of the orchestration workflow section in the Language Studio landing page." lightbox="../../media/select-orchestration.png":::
34
34
35
35
36
-
2. This will bring you to the **Orchestration workflow project** page. Select **Create new project**.
37
-
38
-
:::image type="content" source="../../../conversational-language-understanding/media/projects-page.png" alt-text="A screenshot showing the conversation project page in Language Studio." lightbox="../../../conversational-language-understanding/media/projects-page.png":::
39
-
40
-
41
-
You then need to provide the following details:
36
+
2. This will bring you to the **Orchestration workflow project** page. Select **+ Create new project**. To create a project, you will need to provide the following details:
42
37
43
38
|Value | Description |
44
39
|---------|---------|
@@ -53,20 +48,21 @@ Once you're done, select **Next** and review the details. Select **create projec
53
48
1. Click on *+Add* button to add your intent.
54
49
2. Give your intent a name and choose to connect the intent to an existing project.
55
50
3. Click on *Add intent* button.
56
-
4.Another option is to select *no* when creating an intent and don't connect it to an existing project.
51
+
4.Enter **Greeting** as an intent. For this quickstart, select **No, I don't want to connect to a project**.
57
52
58
-
When you select the intent, you will see the [tag utterances](../../how-to/tag-utterances.md) page, where you can add examples for intents.
59
53
54
+
:::image type="content" source="../../media/quickstart-intent.png" alt-text="A screenshot showing the schema page in Language studio." lightbox="../../media/quickstart-intent.png":::
55
+
56
+
When you select the intent, you will see the [tag utterances](../../how-to/tag-utterances.md) page, where you can add examples for intents.
60
57
61
-
:::image type="content" source="../../../conversational-language-understanding/media/quickstart-intents.png" alt-text="A screenshot showing the schema page in Language studio." lightbox="../../../conversational-language-understanding/media/quickstart-intents.png":::
62
58
63
59
## Tag utterances
64
60
65
61
In the tag utterances page, let's add a few examples to the intents. Select the **Greeting** intent from the drop-down box that says **Select Intent**.
66
62
67
-
In the text box that says **Write your example utterance and press enter**, write the sentence "*Good evening*" and press enter to add it as an example utterance.
63
+
In the text box that says **Write your example utterance and press enter**, write the sentence "*Good evening*" and press enter to add it as an example utterance.
68
64
69
-
Add the rest of these utterances to the **Greeting** intent to the Training set.
65
+
Add the rest of these utterances to the **Greeting** intent to the Training set.
70
66
71
67
|Utterance|
72
68
|--|
@@ -77,7 +73,7 @@ Add the rest of these utterances to the **Greeting** intent to the Training set.
77
73
78
74
When you're done, select **Save Changes** to save the utterances and labels to the project. The icon next to the button will turn green when the changes are saved. Next, go to the **Train Model** page.
79
75
80
-
:::image type="content" source="../../../conversational-language-understanding/media/quickstart-utterances.png" alt-text="A screenshot showing the intents tagging screen in Language Studio." lightbox="../../../conversational-language-understanding/media/quickstart-utterances.png":::
76
+
:::image type="content" source="../../media/tagged-utterances.png" alt-text="A screenshot showing the intents tagging screen in Language Studio." lightbox="../../media/tagged-utterances.png":::
81
77
82
78
## Train your model and view its details
83
79
@@ -95,4 +91,4 @@ Once you're done, select **Next** and review the details. For the connected proj
95
91
96
92
Select **Test model** on the left of the screen, and select the deployment name from the drop-down menu. Add your test, for example *Good morning* in the text field and click on **Run the test**.
0 commit comments