Создание пользовательского проекта речи

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

Создание проекта

Чтобы создать пользовательский проект речи, выполните следующие действия.

  1. Войдите в службу Speech Studio.

  2. Выберите подписку и ресурс службы "Речь" для работы.

    Внимание

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

  3. Щелкните Пользовательское распознавание речи>Создать новый проект.

  4. Выполните инструкции, предлагаемые мастером создания проекта.

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

Чтобы создать проект, используйте команду spx csr project create. Создайте параметры запроса в соответствии со следующими инструкциями:

  • Задайте обязательный параметр language. Языковой стандарт проекта должен соответствовать включенным в проект наборам данных. Языковой стандарт нельзя будет изменить позже. Параметр language интерфейса командной строки речевой службы соответствует свойству locale в запросе и ответе JSON.
  • Задайте обязательный параметр name. Это имя, отображаемое в Speech Studio. Параметр name интерфейса командной строки речевой службы соответствует свойству displayName в запросе и ответе JSON.

Ниже приведен пример команды CLI службы "Речь", которая создает проект:

spx csr project create --api-version v3.1 --name "My Project" --description "My Project Description" --language "en-US"

Вы должны получить ответ в следующем формате:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed",
  "links": {
    "evaluations": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/evaluations",
    "datasets": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/datasets",
    "models": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/models",
    "endpoints": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/endpoints",
    "transcriptions": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/transcriptions"       
  },
  "properties": {
    "datasetCount": 0,
    "evaluationCount": 0,
    "modelCount": 0,
    "transcriptionCount": 0,
    "endpointCount": 0
  },
  "createdDateTime": "2022-05-17T22:15:18Z",
  "locale": "en-US",
  "displayName": "My Project",
  "description": "My Project Description"
}

Свойство верхнего уровня self в теле ответа представляет собой URI проекта. Используйте этот URI для получения сведений об оценках, наборах данных, моделях, конечных точках и расшифровках проекта. Этот URI также используется для обновления или удаления проекта.

Для получения справки по работе с проектами CLI службы "Речь" выполните следующую команду:

spx help csr project

Чтобы создать проект, используйте операцию Projects_Create преобразования речи в текстовый REST API. Создайте текст запроса в соответствии со следующими инструкциями:

  • Задайте обязательное свойство locale. Оно представляет собой языковой стандарт включенных в проект наборов данных. Языковой стандарт нельзя будет изменить позже.
  • Задайте обязательное свойство displayName. Это имя проекта, отображаемое в Speech Studio.

Выполните HTTP-запрос POST с помощью URI, как показано в следующем Projects_Create примере. Замените YourSubscriptionKey ключом ресурса службы "Речь" и YourServiceRegion регионом ресурса службы "Речь", а также задайте свойства текста запроса, как описано выше.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "displayName": "My Project",
  "description": "My Project Description",
  "locale": "en-US"
} '  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/projects"

Вы должны получить ответ в следующем формате:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed",
  "links": {
    "evaluations": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/evaluations",
    "datasets": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/datasets",
    "models": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/models",
    "endpoints": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/endpoints",
    "transcriptions": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/projects/1cdfa276-0f9d-425b-a942-5f2be93017ed/transcriptions"       
  },
  "properties": {
    "datasetCount": 0,
    "evaluationCount": 0,
    "modelCount": 0,
    "transcriptionCount": 0,
    "endpointCount": 0
  },
  "createdDateTime": "2022-05-17T22:15:18Z",
  "locale": "en-US",
  "displayName": "My Project",
  "description": "My Project Description"
}

Свойство верхнего уровня self в теле ответа представляет собой URI проекта. Используйте этот URI для получения сведений об оценках, наборах данных, моделях, конечных точках и расшифровках проекта. Этот URI также используется для обновления или удаления проекта.

Выбор модели

Существует несколько подходов к использованию пользовательских моделей речи:

  • Базовая модель изначально обеспечивает точное распознавание речи для различных сценариев. Базовые модели периодически обновляются для повышения точности и качества. Если вы пользуетесь базовыми моделями, применяйте последние версии, заданные по умолчанию. Если необходимая возможность настройки доступна только для более старой модели, можно выбрать старую базовую модель.
  • Пользовательская модель дополняет базовую модель, позволяя включить тематический словарь, который будет использоваться во всех областях личного домена.
  • Можно использовать несколько пользовательских моделей, если личный домен содержит несколько областей, каждая из которых имеет определенный словарь.

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

Рекомендуется использовать несколько моделей, если словарь меняется в зависимости от предметных областей. Например, олимпийские комментаторы сообщают о различных событиях, для каждого из которых используется собственный жаргон. Поскольку все словари олимпийских мероприятий значительно отличаются друг от друга, создание пользовательской модели для определенного события повышает точность за счет связывания данных речевых фрагментов только с этим конкретным событием. В результате модели не требуется просматривать несвязанные данные при поиске сопоставления. Тем не менее для обучения по-прежнему требуется много разнообразных обучающих данных. Используйте записи речи нескольких комментаторов разного пола и возраста, с разными акцентами и т. д.

Стабильность и жизненный цикл модели

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

Вы можете использовать собственную обученную модель или моментальный снимок базовой модели, но только в течение ограниченного времени. Дополнительные сведения см. в разделе Жизненный цикл модели и конечной точки.

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