Настройте модель рабочего процесса оркестрации

Обучение — это процесс, в ходе которого модель обучается по вашим размеченным высказываниям. После завершения обучения можно просмотреть производительность модели.

Чтобы обучить модель, запустите задание обучения. Только успешно завершенные задания создают модель. Срок действия заданий обучения истекает через семь дней, после этого времени вы больше не сможете получить сведения о задании. Если задание обучения выполнено успешно и создается модель, она не затрагивается, если срок действия задания истекает. Вы можете выполнять только одно задание обучения и не можете запускать одновременно с ним другие задания в том же проекте.

Время обучения может составлять от нескольких секунд при работе с простыми проектами до нескольких часов при достижении максимального количества речевых фрагментов.

Оценка модели автоматически активируется после успешного завершения обучения. Процесс оценки начинается с использования обученной модели для выполнения прогнозов на речевых фрагментах в тестовом наборе и сравнения прогнозируемых результатов с предоставленными метками (что устанавливает базовый уровень истины). Результаты предоставляются для проверки производительности модели.

Предварительные условия

  • Успешно созданный проект с настроенной для него учетной записью хранилища BLOB-объектов Azure

См. жизненный цикл разработки проекта.

Разделение данных

Перед началом процесса обучения размеченные в проекте высказывания делятся на обучающий набор и тестовый набор. Каждый из них выполняет свою роль. Обучающая выборка используется в обучении модели. Это набор, из которого модель узнает помеченные речевые фрагменты. Тестовый набор является слепым набором, который не используется в модели во время обучения, а только во время оценки.

После успешного обучения полученная модель используется для прогнозирования речевых фрагментов в тестовом наборе. Эти прогнозы используются для вычисления метрик оценки.

Рекомендуется, чтобы все ваши намерения были достаточно представлены как в обучающем, так и в тестовом наборе данных.

Процесс оркестрации поддерживает два метода разделения данных.

  • Автоматическое разделение данных на наборы обучения и тестирования: система разделяет ваши помеченные данные между наборами обучения и тестирования в соответствии с выбранными процентными значениями. Рекомендуемое процентное соотношение составляет 80 % для обучения и 20 % для тестирования.

Примечание.

Если выбрать автоматическое разделение тестового набора от обучающих данных, то разделяются только те данные, которые назначены для обучающего набора, в соответствии с указанными процентами.

  • Разделение обучающих и тестовых данных вручную: этот метод позволяет самостоятельно определить, какие речевые фрагменты должны принадлежать к какому набору. Этот шаг активируется только если вы добавили утверждения в набор тестирования во время маркировки.

Примечание.

Вы можете добавлять речевые фрагменты в набор данных для обучения только для несвязанных намерений.

Обучение модели

Запуск задания обучения

Создайте запрос POST, используя указанный ниже URL-адрес, заголовки и текст JSON, чтобы запустить задание обучения.

Запросить URL-адрес

При создании запроса API используйте следующий URL-адрес. Замените значения заполнителей собственными значениями.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Заполнитель Значение Пример
{ENDPOINT} Конечная точка для проверки подлинности запроса API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Имя проекта. Это значение чувствительно к регистру. EmailApp
{API-VERSION} Версия вызываемого API. 2023-04-01

Заголовки

Используйте следующий заголовок для проверки подлинности запроса.

Ключ Значение
Ocp-Apim-Subscription-Key Ключ к вашему ресурсу. Используется для проверки подлинности запросов API.

Текст запроса

Используйте в запросе следующий объект. Когда обучение завершится, модели будет присвоено имя MyModel.

{
  "modelLabel": "{MODEL-NAME}",
  "trainingMode": "standard",
  "trainingConfigVersion": "{CONFIG-VERSION}",
  "evaluationOptions": {
    "kind": "percentage",
    "testingSplitPercentage": 20,
    "trainingSplitPercentage": 80
  }
}
Ключ Заполнитель Значение Пример
modelLabel {MODEL-NAME} Имя модели. Model1
trainingMode standard Режим обучения. В оркестрации доступен только один режим обучения.standard standard
trainingConfigVersion {CONFIG-VERSION} Версия модели конфигурации обучения. По умолчанию используется последняя версия модели. 2022-05-01
kind percentage Методы разделения. Возможные значения: percentage или manual. Дополнительные сведения см. в статье об обучении модели. percentage
trainingSplitPercentage 80 Процент помеченных тегами данных, которые будут включены в набор для обучения. Рекомендуемое значение — 80. 80
testingSplitPercentage 20 Процент помеченных тегами данных, которые будут включены в набор для тестирования. Рекомендуемое значение — 20. 20

Примечание.

trainingSplitPercentage и testingSplitPercentage требуются только в том случае, если для Kind задано значение percentage, а сумма процентных значений должна быть равна 100.

После отправки запроса API вы получите ответ, указывающий 202 на успех. В заголовках ответа извлеките operation-location значение, отформатированный следующим образом:

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}

Этот URL-адрес позволяет получить текущее состояние задания обучения.

Получение статуса задания по обучению

Обучение может занять немало времени в зависимости от размера обучающих данных и сложности схемы. Следующий запрос можно использовать для проверки состояния задания обучения до тех пор, пока он не завершится успешно.

Используйте следующий запрос GET, чтобы получить состояние хода обучения модели. Замените значения заполнителей собственными значениями.

Запросить URL-адрес

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Заполнитель Значение Пример
{YOUR-ENDPOINT} Конечная точка для проверки подлинности запроса API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Имя проекта. Это значение чувствительно к регистру. EmailApp
{JOB-ID} Идентификатор для поиска статуса тренировки модели. Он находится в значении заголовка location, которое вы получили при отправке задания на обучение. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Версия вызываемого API. 2023-04-01

Заголовки

Используйте следующий заголовок для проверки подлинности запроса.

Ключ Значение
Ocp-Apim-Subscription-Key Ключ к вашему ресурсу. Используется для проверки подлинности запросов API.

Текст ответа

После отправки запроса вы получите следующий ответ. Продолжайте опрос этой конечной точки до тех пор, пока значение параметра Состояние не изменится на "Выполнено".

{
  "result": {
    "modelLabel": "{MODEL-LABEL}",
    "trainingConfigVersion": "{TRAINING-CONFIG-VERSION}",
    "estimatedEndDateTime": "2022-04-18T15:47:58.8190649Z",
    "trainingStatus": {
      "percentComplete": 3,
      "startDateTime": "2022-04-18T15:45:06.8190649Z",
      "status": "running"
    },
    "evaluationStatus": {
      "percentComplete": 0,
      "status": "notStarted"
    }
  },
  "jobId": "xxxxxx-xxxxx-xxxxxx-xxxxxx",
  "createdDateTime": "2022-04-18T15:44:44Z",
  "lastUpdatedDateTime": "2022-04-18T15:45:48Z",
  "expirationDateTime": "2022-04-25T15:44:44Z",
  "status": "running"
}
Ключ Значение Пример
modelLabel имя модели; Model1
trainingConfigVersion Версия конфигурации обучения. По умолчанию используется последняя версия. 2022-05-01
startDateTime Время начала обучения 2022-04-14T10:23:04.2598544Z
status Состояние задачи тренировки. running
estimatedEndDateTime Предполагаемое время завершения задания обучения. 2022-04-14T10:29:38.2598544Z
jobId Идентификатор задания обучения. xxxxx-xxxx-xxxx-xxxx-xxxxxxxxx
createdDateTime Дата и время создания обучающей задачи. 2022-04-14T10:22:42Z
lastUpdatedDateTime Дата и время последнего обновления задания обучения 2022-04-14T10:23:45Z
expirationDateTime Дата и время окончания действия задания обучения 2022-04-14T10:22:42Z

Отмена задания обучения

Создайте запрос POST, используя следующий URL-адрес, заголовки и текст JSON, чтобы отменить задание обучения.

Запросить URL-адрес

При создании запроса API используйте следующий URL-адрес. Замените значения заполнителей собственными значениями.

{ENDPOINT}/language/authoring/analyze-conversations/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}/:cancel?api-version={API-VERSION}
Заполнитель Значение Пример
{ENDPOINT} Конечная точка для проверки подлинности запроса API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Имя проекта. Это значение чувствительно к регистру. EmailApp
{JOB-ID} Это идентификатор задания обучения XXXXX-XXXXX-XXXX-XX
{API-VERSION} Версия вызываемого API. 2023-04-01

Заголовки

Используйте следующий заголовок для проверки подлинности запроса.

Ключ Значение
Ocp-Apim-Subscription-Key Ключ к вашему ресурсу. Используется для проверки подлинности запросов API.

После отправки запроса API вы получите ответ 202, указывающий на успех, что означает, что задание обучения было отменено. Успешный вызов приводит к появлению заголовка Operation-Location, который используется для проверки состояния задания.


Следующие шаги