Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете проверить качество распознавания пользовательской модели речи. Воспроизведите переданный звук и определите достоверность предоставленного результата распознавания. После успешного создания теста можно увидеть, как модель транскрибирует набор звуковых данных или сравнивает результаты из двух моделей параллельно.
Параллельное тестирование модели полезно для выявления наилучшей модели распознавания речи для приложения. Для объективной оценки точности, для которой требуется ввод наборов данных транскрипций, см. статью Количественное тестирование модели.
Внимание
При тестировании система выполнит транскрибирование. Это важно помнить, так как цены индивидуальны для каждого предложения услуги и уровня подписки. Всегда обращайтесь к официальному прайс-листу на инструменты Foundry для получения последних сведений.
Создать тест
После отправки обучающих и тестовых наборов данных можно создать тест.
На новом портале Microsoft Foundry не создается отдельный тест качества. Проверка выполняется автоматически по набору данных, который вы указали на панели Проверочные данные мастера Тонкая настройка модели. Сведения о проверке результатов см. в разделе "Получение результатов теста".
Выполните эти инструкции, чтобы создать тест:
Войдите в службу Speech Studio.
Перейдите к Speech Studio>Пользовательская речь и выберите название проекта в списке.
Выберите Тестовые модели>Создать новый тест.
Выберите Проверить качество (только аудиоданные)>Далее.
Выберите набор аудиоданных, который требуется использовать для тестирования, а затем нажмите кнопку Далее. Если нет доступных наборов данных, отмените настройку, а затем перейдите в меню Наборы речевых данных, чтобы загрузить наборы данных.
Выберите одну или две модели для оценки и сравнения точности.
Введите имя и описание теста и нажмите кнопку Далее.
Проверьте параметры, а затем выберите Сохранить и закрыть.
Прежде чем продолжить, убедитесь, что у вас установлен и настроен Speech CLI.
Чтобы создать тест, используйте команду spx csr evaluation create. Создайте параметры запроса в соответствии со следующими инструкциями:
-
projectЗадайте для свойства идентификатор существующего проекта. Этоprojectсвойство рекомендуется, чтобы вы также могли управлять точной настройкой пользовательской речи на портале Microsoft Foundry. Чтобы получить идентификатор проекта, ознакомьтесь с идентификатором проекта для документации по REST API. - Задайте необходимое
model1свойство идентификатору модели, которую требуется протестировать. - Задайте необходимое
model2свойство идентификатору другой модели, которую требуется протестировать. Если вы не хотите сравнивать две модели, используйте одну модель дляmodel1иmodel2. - Задайте необходимое
datasetсвойство идентификатору набора данных, который требуется использовать для теста. - Если свойство
languageне задано, первая команда в интерфейсе командной строки речи устанавливает "en-US" по умолчанию. Этот параметр должен задавать локаль содержимого набора данных. Локаль нельзя будет изменить позже. Свойство командной строкиlanguageслужбы речевой обработки соответствует свойствуlocaleв запросе и ответе JSON. - Задайте обязательное свойство
name. Этот параметр — это имя, отображаемое на портале Microsoft Foundry. Свойство командной строкиnameслужбы речевой обработки соответствует свойствуdisplayNameв запросе и ответе JSON.
Вот пример команды Speech CLI для создания теста:
spx csr evaluation create --api-version v3.2 --project aaaabbbb-0000-cccc-1111-dddd2222eeee --dataset bbbbcccc-1111-dddd-2222-eeee3333ffff --model1 ccccdddd-2222-eeee-3333-ffff4444aaaa --model2 ccccdddd-2222-eeee-3333-ffff4444aaaa --name "My Inspection" --description "My Inspection Description"
Внимание
Необходимо задать --api-version v3.2. Интерфейс командной строки Speech использует REST API, но пока не поддерживает версии позже v3.2.
Вы должны получить ответ в следующем формате:
{
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/evaluations/ddddeeee-3333-ffff-4444-aaaa5555bbbb",
"model1": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"model2": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"dataset": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/datasets/bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"transcription2": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/transcriptions/eeeeffff-4444-aaaa-5555-bbbb6666cccc"
},
"transcription1": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/transcriptions/eeeeffff-4444-aaaa-5555-bbbb6666cccc"
},
"project": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/projects/aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"links": {
"files": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac/files"
},
"properties": {
"wordErrorRate1": -1.0,
"sentenceErrorRate1": -1.0,
"sentenceCount1": -1,
"wordCount1": -1,
"correctWordCount1": -1,
"wordSubstitutionCount1": -1,
"wordDeletionCount1": -1,
"wordInsertionCount1": -1,
"wordErrorRate2": -1.0,
"sentenceErrorRate2": -1.0,
"sentenceCount2": -1,
"wordCount2": -1,
"correctWordCount2": -1,
"wordSubstitutionCount2": -1,
"wordDeletionCount2": -1,
"wordInsertionCount2": -1
},
"lastActionDateTime": "2024-07-14T21:21:39Z",
"status": "NotStarted",
"createdDateTime": "2024-07-14T21:21:39Z",
"locale": "en-US",
"displayName": "My Inspection",
"description": "My Inspection Description"
}
Свойство верхнего уровня self в теле ответа представляет собой URI оценки. Используйте этот URI для получения сведений о проекте и результатах теста. Этот URI также используется для обновления или удаления оценки.
Для получения справки по работе с оценками в CLI службы "Речь" выполните следующую команду:
spx help csr evaluation
Чтобы создать тест, используйте операцию Evaluations_Create преобразования речи в текстовый REST API. Создайте текст запроса в соответствии со следующими инструкциями:
-
projectЗадайте для свойства идентификатор существующего проекта. Этоprojectсвойство рекомендуется, чтобы вы также могли управлять точной настройкой пользовательской речи на портале Microsoft Foundry. Чтобы получить идентификатор проекта, ознакомьтесь с идентификатором проекта для документации по REST API. - Задайте обязательному свойству
model1URI модели, которую вы хотите протестировать. - Задайте для обязательного свойства
model2значение URI еще одной модели, которую нужно протестировать. Если вы не хотите сравнивать две модели, используйте одну модель дляmodel1иmodel2. - Задайте для обязательного свойства
datasetзначение URI набора данных, который нужно использовать для тестирования. - Задайте обязательное свойство
locale. Это свойство должно указывать локаль содержимого набора данных. Локаль нельзя будет изменить позже. - Задайте обязательное свойство
displayName. Это свойство — это имя, отображаемое на портале Microsoft Foundry.
Выполните HTTP-запрос POST, используя URI, как показано в следующем примере. Замените YourSpeechResoureKey на ключ ресурса Speech, замените YourResourceName на имя ресурса Speech и задайте свойства тела запроса, как описано ранее.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey" -H "Content-Type: application/json" -d '{
"model1": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"model2": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"dataset": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/datasets/bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"project": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/projects/aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"displayName": "My Inspection",
"description": "My Inspection Description",
"locale": "en-US"
}' "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/evaluations"
Вы должны получить ответ в следующем формате:
{
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/evaluations/ddddeeee-3333-ffff-4444-aaaa5555bbbb",
"model1": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"model2": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"dataset": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/datasets/bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"transcription2": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/transcriptions/eeeeffff-4444-aaaa-5555-bbbb6666cccc"
},
"transcription1": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/transcriptions/eeeeffff-4444-aaaa-5555-bbbb6666cccc"
},
"project": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/projects/aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"links": {
"files": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac/files"
},
"properties": {
"wordErrorRate1": -1.0,
"sentenceErrorRate1": -1.0,
"sentenceCount1": -1,
"wordCount1": -1,
"correctWordCount1": -1,
"wordSubstitutionCount1": -1,
"wordDeletionCount1": -1,
"wordInsertionCount1": -1,
"wordErrorRate2": -1.0,
"sentenceErrorRate2": -1.0,
"sentenceCount2": -1,
"wordCount2": -1,
"correctWordCount2": -1,
"wordSubstitutionCount2": -1,
"wordDeletionCount2": -1,
"wordInsertionCount2": -1
},
"lastActionDateTime": "2024-07-14T21:21:39Z",
"status": "NotStarted",
"createdDateTime": "2024-07-14T21:21:39Z",
"locale": "en-US",
"displayName": "My Inspection",
"description": "My Inspection Description"
}
Свойство верхнего уровня self в теле ответа представляет собой URI оценки. Используйте этот URI для получения сведений о проекте оценке и результатах теста. Этот URI также используется для обновления или удаления оценки.
Получение результатов теста
Вы должны получить результаты теста и изучить наборы аудиоданных со сравнением с результатами расшифровки для каждой модели.
После завершения обучения выберите пользовательскую модель, чтобы открыть страницу сведений, а затем выберите вкладку Проверки. На подвкладке Сведения можно воспроизвести аудио и сравнить распознанные транскрипции и транскрипции, размеченные человеком, рядом друг с другом.
Чтобы получить результаты теста, выполните следующие действия:
- Войдите в службу Speech Studio.
- Выберите Настраиваемая речь> Имя вашего проекта >Тестовые модели.
- Выберите ссылку по имени теста.
- После завершения теста с состоянием Успешно вы увидите результаты, включающие номер WER для каждой тестируемой модели.
На этой странице приведены все речевые фрагменты набора данных и показаны результаты распознавания вместе с расшифровкой из предоставленного набора данных. Вы можете переключаться между различными типами ошибок, включая вставку, удаление и замену. Прослушивая звук и сравнивая результаты распознавания в каждом столбце, вы можете решить, какая модель соответствует вашим потребностям и определить, где требуется больше обучения и улучшений.
Прежде чем продолжить, убедитесь, что у вас установлен и настроен Speech CLI.
Чтобы получить результаты теста, используйте команду spx csr evaluation status. Создайте параметры запроса в соответствии со следующими инструкциями:
- Задайте для требуемого
evaluationсвойства идентификатор оценки, чтобы получить результаты теста.
Вот пример команды Speech CLI для получения результатов тестирования:
spx csr evaluation status --api-version v3.2 --evaluation ddddeeee-3333-ffff-4444-aaaa5555bbbb
Внимание
Необходимо задать --api-version v3.2. Интерфейс командной строки Speech использует REST API, но пока не поддерживает версии позже v3.2.
В тексте ответа возвращаются модели, набор аудиоданных, расшифровки и дополнительные сведения.
Вы должны получить ответ в следующем формате:
{
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/evaluations/ddddeeee-3333-ffff-4444-aaaa5555bbbb",
"model1": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"model2": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"dataset": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/datasets/bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"transcription2": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/transcriptions/eeeeffff-4444-aaaa-5555-bbbb6666cccc"
},
"transcription1": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/transcriptions/eeeeffff-4444-aaaa-5555-bbbb6666cccc"
},
"project": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/projects/aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"links": {
"files": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac/files"
},
"properties": {
"wordErrorRate1": 0.028900000000000002,
"sentenceErrorRate1": 0.667,
"tokenErrorRate1": 0.12119999999999999,
"sentenceCount1": 3,
"wordCount1": 173,
"correctWordCount1": 170,
"wordSubstitutionCount1": 2,
"wordDeletionCount1": 1,
"wordInsertionCount1": 2,
"tokenCount1": 165,
"correctTokenCount1": 145,
"tokenSubstitutionCount1": 10,
"tokenDeletionCount1": 1,
"tokenInsertionCount1": 9,
"tokenErrors1": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
},
"wordErrorRate2": 0.028900000000000002,
"sentenceErrorRate2": 0.667,
"tokenErrorRate2": 0.12119999999999999,
"sentenceCount2": 3,
"wordCount2": 173,
"correctWordCount2": 170,
"wordSubstitutionCount2": 2,
"wordDeletionCount2": 1,
"wordInsertionCount2": 2,
"tokenCount2": 165,
"correctTokenCount2": 145,
"tokenSubstitutionCount2": 10,
"tokenDeletionCount2": 1,
"tokenInsertionCount2": 9,
"tokenErrors2": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
}
},
"lastActionDateTime": "2024-07-14T21:22:45Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T21:21:39Z",
"locale": "en-US",
"displayName": "My Inspection",
"description": "My Inspection Description"
}
Для получения справки по работе с оценками в CLI службы "Речь" выполните следующую команду:
spx help csr evaluation
Чтобы получить результаты тестирования, сначала используйте операцию Evaluations_Get API REST «Речь в текст».
Выполните HTTP-запрос GET с URI, как показано в следующем примере. Замените YourEvaluationId на ваш идентификатор оценки, YourSpeechResoureKey на ваш ключ ресурса Speech, а YourResourceName на ваше имя ресурса Speech.
curl -v -X GET "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/evaluations/YourEvaluationId" -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey"
В тексте ответа возвращаются модели, набор аудиоданных, расшифровки и дополнительные сведения.
Вы должны получить ответ в следующем формате:
{
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/evaluations/ddddeeee-3333-ffff-4444-aaaa5555bbbb",
"model1": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"model2": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/models/base/ccccdddd-2222-eeee-3333-ffff4444aaaa"
},
"dataset": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/datasets/bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"transcription2": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/transcriptions/eeeeffff-4444-aaaa-5555-bbbb6666cccc"
},
"transcription1": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/transcriptions/eeeeffff-4444-aaaa-5555-bbbb6666cccc"
},
"project": {
"self": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/projects/aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"links": {
"files": "https://YourResourceName.cognitiveservices.azure.com/speechtotext/v3.2/evaluations/9c06d5b1-213f-4a16-9069-bc86efacdaac/files"
},
"properties": {
"wordErrorRate1": 0.028900000000000002,
"sentenceErrorRate1": 0.667,
"tokenErrorRate1": 0.12119999999999999,
"sentenceCount1": 3,
"wordCount1": 173,
"correctWordCount1": 170,
"wordSubstitutionCount1": 2,
"wordDeletionCount1": 1,
"wordInsertionCount1": 2,
"tokenCount1": 165,
"correctTokenCount1": 145,
"tokenSubstitutionCount1": 10,
"tokenDeletionCount1": 1,
"tokenInsertionCount1": 9,
"tokenErrors1": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
},
"wordErrorRate2": 0.028900000000000002,
"sentenceErrorRate2": 0.667,
"tokenErrorRate2": 0.12119999999999999,
"sentenceCount2": 3,
"wordCount2": 173,
"correctWordCount2": 170,
"wordSubstitutionCount2": 2,
"wordDeletionCount2": 1,
"wordInsertionCount2": 2,
"tokenCount2": 165,
"correctTokenCount2": 145,
"tokenSubstitutionCount2": 10,
"tokenDeletionCount2": 1,
"tokenInsertionCount2": 9,
"tokenErrors2": {
"punctuation": {
"numberOfEdits": 4,
"percentageOfAllEdits": 20.0
},
"capitalization": {
"numberOfEdits": 2,
"percentageOfAllEdits": 10.0
},
"inverseTextNormalization": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
},
"lexical": {
"numberOfEdits": 12,
"percentageOfAllEdits": 12.0
},
"others": {
"numberOfEdits": 1,
"percentageOfAllEdits": 5.0
}
}
},
"lastActionDateTime": "2024-07-14T21:22:45Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T21:21:39Z",
"locale": "en-US",
"displayName": "My Inspection",
"description": "My Inspection Description"
}
Сравнение расшифровки с аудио
Вы можете изучить выходные данные транскрибирования по каждой протестированной модели на соответствие набору входных аудиоданных. Если вы включили в тест две модели, вы можете сравнить их качество транскрибирования.
Чтобы проверить качество транскрибирования, сделайте следующее:
- Войдите в службу Speech Studio.
- Выберите Настраиваемая речь> Имя вашего проекта >Тестовые модели.
- Выберите ссылку по имени теста.
- Воспроизведите аудиофайл, одновременно читая соответствующую транскрипцию, созданную моделью.
Если тестовый набор данных включал несколько звуковых файлов, в таблице отображается несколько строк. Если в тест включены две модели, расшифровки отображаются в параллельных столбцах. Различия в расшифровках между моделями отображаются шрифтом синего цвета.
Прежде чем продолжить, убедитесь, что у вас установлен и настроен Speech CLI.
Тестовый набор аудиоданных, расшифровки и тестируемые модели возвращаются в результатах теста. Если была протестирована только одна модель, значение model1 совпадает с model2, а значение transcription1 совпадает с transcription2.
Чтобы проверить качество транскрибирования, сделайте следующее:
- Скачайте тестовый набор аудиоданных (если у вас еще нет копии).
- Скачайте выходные расшифровки.
- Воспроизведите аудиофайл, одновременно читая соответствующую транскрипцию, созданную моделью.
Если вы сравниваете качество двух моделей, обратите особое внимание на различия в расшифровках каждой модели.
Тестовый набор аудиоданных, расшифровки и тестируемые модели возвращаются в результатах теста. Если была протестирована только одна модель, значение model1 совпадает с model2, а значение transcription1 совпадает с transcription2.
Чтобы проверить качество транскрибирования, сделайте следующее:
- Скачайте тестовый набор аудиоданных (если у вас еще нет копии).
- Скачайте выходные расшифровки.
- Воспроизведите аудиофайл, одновременно читая соответствующую транскрипцию, созданную моделью.
Если вы сравниваете качество двух моделей, обратите особое внимание на различия в расшифровках каждой модели.