Skip to content

Commit 4ac193d

Browse files
authored
Merge pull request #5097 from laujan/peyton-5074-schema
Peyton 5074 schema
2 parents a5a1c5e + 705b9c6 commit 4ac193d

File tree

1 file changed

+40
-36
lines changed
  • articles/ai-services/language-service/conversational-language-understanding/how-to

1 file changed

+40
-36
lines changed

articles/ai-services/language-service/conversational-language-understanding/how-to/build-schema.md

Lines changed: 40 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,34 @@
22
title: How to build a Conversational Language Understanding project schema
33
titleSuffix: Azure AI services
44
description: Use this article to start building a Conversational Language Understanding project schema
5-
author: jboback
5+
author: laujan
66
manager: nitinme
77
ms.service: azure-ai-language
88
ms.topic: how-to
9-
ms.date: 11/21/2024
10-
ms.author: jboback
9+
ms.date: 05/20/2025
10+
ms.author: lajanuar
1111
ms.custom: language-service-clu
1212
---
1313

14-
# How to build your project schema
15-
16-
In conversational language understanding projects, the *schema* is defined as the combination of intents and entities within your project. Schema design is a crucial part of your project's success. When creating a schema, you want think about which intents and entities should be included in your project.
14+
# How to build your fine-tuning schema
15+
16+
In conversational language understanding projects, the *schema* is defined as the combination of intents and entities within your project. Schema design is a crucial part of your project's success. When creating a schema, think about which intents and entities should be included in your project.
1717

1818
## Guidelines and recommendations
1919

2020
Consider the following guidelines when picking intents for your project:
2121

22-
1. Create distinct, separable intents. An intent is best described as action the user wants to perform. Think of the project you're building and identify all the different actions your users may take when interacting with your project. Sending, calling, and canceling are all actions that are best represented as different intents. "Canceling an order" and "canceling an appointment" are very similar, with the distinction being *what* they are canceling. Those two actions should be represented under the same intent, *Cancel*.
23-
24-
2. Create entities to extract relevant pieces of information within your text. The entities should be used to capture the relevant information needed to fulfill your user's action. For example, *order* or *appointment* could be different things a user is trying to cancel, and you should create an entity to capture that piece of information.
22+
1. Create distinct, separable intents. An intent is best described as action the user wants to perform. Think of the project you're building and identify all the different actions your users may take when interacting with your project. Sending, calling, and canceling are all actions that are best represented as different intents. "Canceling an order" and "canceling an appointment" are similar, with the distinction being *what* they're canceling. Those two actions should be represented under the same intent, *Cancel*.
23+
24+
1. Create entities to extract relevant pieces of information within your text. The entities should be used to capture the relevant information needed to fulfill your user's action. For example, *order* or *appointment* could be different things a user is trying to cancel, and you should create an entity to capture that piece of information.
2525

26-
You can *"send"* a *message*, *"send"* an *email*, or *"send"* a package. Creating an intent to capture each of those requirements will not scale over time, and you should use entities to identify *what* the user was sending. The combination of intents and entities should determine your conversation flow.
26+
You can *"send"* a *message*, *"send"* an *email*, or *"send"* a package. Creating an intent to capture each of those requirements won't scale over time, and you should use entities to identify *what* the user was sending. The combination of intents and entities should determine your conversation flow.
2727

28-
For example, consider a company where the bot developers have identified the three most common actions their users take when using a calendar:
28+
For example, consider a company where the bot developers identified the three most common actions their users take when using a calendar:
2929

30-
* Setup new meetings
31-
* Respond to meeting requests
32-
* Cancel meetings
30+
* Setup new meetings
31+
* Respond to meeting requests
32+
* Cancel meetings
3333

3434
They might create an intent to represent each of these actions. They might also include entities to help complete these actions, such as:
3535

@@ -39,59 +39,63 @@ They might create an intent to represent each of these actions. They might also
3939

4040
## Add intents
4141

42-
To build a project schema within [Language Studio](https://aka.ms/languageStudio):
42+
To build a project schema within [AI Foundry](https://ai.azure.com):
43+
44+
1. Select **Define schema** from the left side menu.
4345

44-
1. Select **Schema definition** from the left side menu.
46+
1. From the top pivots, you can change the view to be **Intents** or **Entities**.
4547

46-
2. From the top pivots, you can change the view to be **Intents** or **Entities**.
48+
1. To create an intent, select **+ Add intent**. You're prompted to type in names and descriptions for as many intents as you'd like to create. Descriptions are only required for using Quick Deploy to help Azure OpenAI better understand the context of your intents.
49+
50+
1. Repeat the steps to develop intents that encompass all the actions the user is likely to perform while interacting with the project.
4751

48-
2. To create an intent, select **Add** from the top menu. You will be prompted to type in a name before completing creating the intent.
4952

50-
3. Repeat the above step to create all the intents to capture all the actions that you think the user will want to perform while using the project.
5153

5254
:::image type="content" source="../media/build-schema-page.png" alt-text="A screenshot showing the schema creation page for conversation projects in Language Studio." lightbox="../media/build-schema-page.png":::
5355

54-
4. When you select the intent, you will be directed to the [Data labeling](tag-utterances.md) page, with a filter set for the intent you selected. You can add examples for intents and label them with entities.
55-
56+
1. If you'd like to continue with [data labeling](tag-utterances.md) and advanced training a custom `CLU` model, you can select **Manage data** from the left side menu to add examples for intents and label them with entities, if desired.
57+
5658
## Add entities
5759

5860
1. Move to **Entities** pivot from the top of the page.
5961

60-
2. To add an entity, select **Add** from the top menu. You will be prompted to type in a name before completing creating the entity.
61-
62-
3. After creating an entity, you'll be routed to the entity details page where you can define the composition settings for this entity.
62+
1. To add an entity, select **+ Add entity** from the top. You're prompted to type in a name to create the entity.
6363

64-
4. Every entity can be defined by multiple components: learned, list or prebuilt. A learned component is added to all your entities once you label them in your utterances.
64+
1. After creating an entity, you can select the entity name to change the **Entity components** type. Multiple components—learned, list, regex, or prebuilt—define every entity. A learned component is added to all your entities once you label them in your utterances.
6565

6666
:::image type="content" source="../media/entity-details.png" alt-text="A screenshot showing the entity details page for conversation projects in Language Studio." lightbox="../media/entity-details.png":::
67-
68-
5.You can add a [list](../concepts/entity-components.md#list-component) or [prebuilt](../concepts/entity-components.md#prebuilt-component) component to each entity.
67+
68+
1. You can also add a [list](../concepts/entity-components.md#list-component), [regex](../concepts/entity-components.md#regex-component), or [prebuilt](../concepts/entity-components.md#prebuilt-component) component to each entity.
6969

7070
### Add prebuilt component
7171

72-
To add a **prebuilt** component, select **Add new prebuilt** and from the drop-down menu, select the prebuilt type to you want to add to this entity.
72+
To add a **prebuilt** component, select the prebuilt type from the drop-down menu in the Entity options section.
7373

7474
<!--:::image type="content" source="../media/add-prebuilt-component.png" alt-text="A screenshot showing a prebuilt-component in Language Studio." lightbox="../media/add-prebuilt-component.png":::-->
75-
75+
7676
### Add list component
7777

78-
To add a **list** component, select **Add new list**. You can add multiple lists to each entity.
78+
To add a **list** component, select **Add list**. You can add multiple lists to each entity:
7979

80-
1. To create a new list, in the *Enter value* text box enter this is the normalized value that will be returned when any of the synonyms values is extracted.
80+
1. Create a new list, in the *List key* text box, enter the normalized value that is returned when any of the synonyms values is extracted.
8181

82-
2. From the *language* drop-down menu, select the language of the synonyms list and start typing in your synonyms and hit enter after each one. It is recommended to have synonyms lists in multiple languages.
82+
1. Start typing in your synonyms and hit enter after each one. We recommend having a synonym list in multiple languages.
8383

8484
<!--:::image type="content" source="../media/add-list-component.png" alt-text="A screenshot showing a list component in Language Studio." lightbox="../media/add-list-component.png":::-->
85-
85+
86+
### Add regex component
87+
88+
To add a regex component, select Add expression. Name the regex key and type a regular expression that matches the entity to be extracted.
89+
8690
### Define entity options
8791

88-
Change to the **Entity options** pivot in the entity details page. When multiple components are defined for an entity, their predictions may overlap. When an overlap occurs, each entity's final prediction is determined based on the [entity option](../concepts/entity-components.md#entity-options) you select in this step. Select the one that you want to apply to this entity and select the **Save** button at the top.
92+
Change to the **Entity options** pivot in the entity details page. When multiple components are defined for an entity, their predictions may overlap. When an overlap occurs, each entity's final prediction is determined based on the [entity option](../concepts/entity-components.md#entity-options) you select in this step. Select the one that you want to apply to this entity and select the **Save** button.
8993

9094
<!--:::image type="content" source="../media/entity-options.png" alt-text="A screenshot showing an entity option in Language Studio." lightbox="../media/entity-options.png":::-->
9195

9296

93-
After you create your entities, you can come back and edit them. You can **Edit entity components** or **delete** them by selecting this option from the top menu.
94-
97+
After you create your entities, you can come back and edit them. You can **edit entity components** or **delete** them by selecting this option from the top menu.
98+
9599
## Next Steps
96100

97101
* [Add utterances and label your data](tag-utterances.md)

0 commit comments

Comments
 (0)