Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы узнаете, как количественно измерять и повысить точность базовой речи в текстовой модели или собственных пользовательских моделях. Для проверки точности требуются аудиозаписи и размеченная человеком расшифровка. Вы должны предоставить от 30 минут до 5 часов подходящих аудиозаписей.
Внимание
При тестировании система выполнит транскрибирование. Это важно помнить, так как цены индивидуальны для каждого предложения услуги и уровня подписки. Всегда обращайтесь к официальному прайс-листу на инструменты Foundry для получения последних сведений.
Создание проверки
Подсказка
Доведите пользовательские модели речи из Speech Studio на портал Microsoft Foundry. На портале Microsoft Foundry вы можете продолжить с того места, где вы остановились, подключившись к существующему ресурсу "Речь". Дополнительные сведения о подключении к существующему ресурсу службы "Речь" см. в разделе "Подключение к существующему ресурсу службы "Речь".
Вы можете проверить точность пользовательской модели, создав тест. Для выполнения теста требуется коллекция звуковых файлов и соответствующих расшифровок. Точность пользовательской модели можно сравнить с речью с текстовой базовой моделью или другой пользовательской моделью. После получения результатов теста оцените частоту ошибок в словах (WER) по сравнению с результатами распознавания речи.
После отправки обучающих и тестовых наборов данных можно создать тест.
Чтобы протестировать настраиваемую пользовательскую модель речи, выполните следующие действия.
Войдите на портал Microsoft Foundry.
Выберите Тонкая настройка в левой области и выберите Тонкая настройка службы ИИ.
Выберите задачу настраиваемой настройки речи (по имени модели), которую вы запустили, как описано в статье о начале настройки пользовательской речи.
Выберите "Тестовые модели>+ Создать тест".
В мастере создания тестов выберите тип теста. Для теста точности (количественного) выберите "Оценить точность" (данные аудио и транскрибирования). Затем выберите Далее.
Выберите данные, которые вы хотите использовать для тестирования. Затем выберите Далее.
Выберите до двух моделей для оценки и сравнения точности. В этом примере мы выбираем модель, которую мы обучили, и базовую модель. Затем выберите Далее.
Введите имя и описание теста. Затем выберите Далее.
Просмотрите параметры и выберите "Создать тест". Вы вернеесь на страницу "Тестовые модели ". Состояние данных — обработка.
Выполните следующие действия, чтобы создать тест точности:
Войдите в службу 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.
Ниже приведен пример команды 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 ddddeeee-3333-ffff-4444-aaaa5555bbbb --name "My Evaluation" --description "My Evaluation Description"
Внимание
Необходимо задать --api-version v3.2. Интерфейс командной строки службы "Речь" использует REST API, но пока не поддерживает версии позже v3.2.
Вы должны получить ответ в следующем формате:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/eeeeffff-4444-aaaa-5555-bbbb6666cccc",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/ffffaaaa-5555-bbbb-6666-cccc7777dddd"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/ffffaaaa-5555-bbbb-6666-cccc7777dddd"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38/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:31:14Z",
"status": "NotStarted",
"createdDateTime": "2024-07-14T21:31:14Z",
"locale": "en-US",
"displayName": "My Evaluation",
"description": "My Evaluation Description",
"customProperties": {
"testingKind": "Evaluation"
}
}
Свойство верхнего уровня self в теле ответа представляет собой URI оценки. Используйте этот URI для получения сведений о проекте и результатах теста. Этот URI также используется для обновления или удаления оценки.
Для получения справки по работе с оценками в CLI службы "Речь" выполните следующую команду:
spx help csr evaluation
Чтобы создать тест, используйте операцию Evaluations_Create преобразования речи в текстовый REST API. Создайте текст запроса в соответствии со следующими инструкциями:
-
projectЗадайте для свойства идентификатор существующего проекта. Рекомендуется использовать этоprojectсвойство, чтобы вы также могли управлять тонкой настройкой для пользовательской речи на портале Microsoft Foundry. Чтобы получить идентификатор проекта, ознакомьтесь с идентификатором проекта для документации по REST API. - Задайте для свойства
testingKindзначениеEvaluationвcustomProperties. Если не указатьEvaluation, тест рассматривается как тест проверки качества. Независимо от того, задано ли свойство какEvaluation,Inspection, или не задано, вы можете получить доступ к оценкам точности через API, но не на портале Microsoft Foundry. - Задайте для обязательного свойства
model1код URI модели, которую требуется протестировать. - Задайте для обязательного свойства
model2значение URI еще одной модели, которую нужно протестировать. Если вы не хотите сравнивать две модели, используйте одну модель дляmodel1иmodel2. - Задайте для обязательного свойства
datasetзначение URI набора данных, который нужно использовать для тестирования. - Задайте обязательное свойство
locale. Это свойство должно быть языковым стандартом содержимого набора данных. Языковой стандарт нельзя будет изменить позже. - Задайте обязательное свойство
displayName. Это свойство — это имя, отображаемое на портале Microsoft Foundry.
Выполните HTTP-запрос POST, используя URI, как показано в следующем примере. Замените YourSpeechResoureKey ключом ресурса службы "Речь" и YourServiceRegion регионом ресурса службы "Речь", а также задайте свойства текста запроса, как описано выше.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey" -H "Content-Type: application/json" -d '{
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"displayName": "My Evaluation",
"description": "My Evaluation Description",
"customProperties": {
"testingKind": "Evaluation"
},
"locale": "en-US"
}' "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations"
Вы должны получить ответ в следующем формате:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/eeeeffff-4444-aaaa-5555-bbbb6666cccc",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/ffffaaaa-5555-bbbb-6666-cccc7777dddd"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/ffffaaaa-5555-bbbb-6666-cccc7777dddd"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38/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:31:14Z",
"status": "NotStarted",
"createdDateTime": "2024-07-14T21:31:14Z",
"locale": "en-US",
"displayName": "My Evaluation",
"description": "My Evaluation Description",
"customProperties": {
"testingKind": "Evaluation"
}
}
Свойство верхнего уровня self в теле ответа представляет собой URI оценки. Используйте этот URI для получения сведений о проекте оценке и результатах теста. Этот URI также используется для обновления или удаления оценки.
Получение результатов теста
Получите результаты теста и оцените частоту ошибок в словах (WER) по сравнению с результатами распознавания речи.
Когда состояние теста выполнено успешно, можно просмотреть результаты. Выберите тест, чтобы просмотреть результаты.
Чтобы получить результаты теста, выполните следующие действия:
- Войдите в службу Speech Studio.
- Выберите пользовательские> модели тестирования имени >проекта.
- Выберите ссылку по имени теста.
- После завершения теста с состоянием Успешно вы увидите результаты, включающие номер WER для каждой тестируемой модели.
На этой странице приведены все речевые фрагменты набора данных и показаны результаты распознавания вместе с расшифровкой из предоставленного набора данных. Вы можете переключаться между различными типами ошибок, включая вставку, удаление и замену. Прослушивая звук и сравнивая результаты распознавания в каждом столбце, вы можете решить, какая модель соответствует вашим потребностям и определить, где требуется больше обучения и улучшений.
Прежде чем продолжить, убедитесь, что у вас установлен и настроен Speech CLI.
Чтобы получить результаты теста, используйте команду spx csr evaluation status. Создайте параметры запроса в соответствии со следующими инструкциями:
- Задайте для требуемого
evaluationсвойства идентификатор оценки, чтобы получить результаты теста.
Ниже приведен пример команды CLI службы "Речь" для получения результатов теста:
spx csr evaluation status --api-version v3.2 --evaluation aaaabbbb-6666-cccc-7777-dddd8888eeee
Внимание
Необходимо задать --api-version v3.2. Интерфейс командной строки службы "Речь" использует REST API, но пока не поддерживает версии позже v3.2.
Частота ошибок в словах и дополнительные сведения возвращаются в тексте ответа.
Вы должны получить ответ в следующем формате:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/eeeeffff-4444-aaaa-5555-bbbb6666cccc",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/ffffaaaa-5555-bbbb-6666-cccc7777dddd"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/ffffaaaa-5555-bbbb-6666-cccc7777dddd"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38/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:31:22Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T21:31:14Z",
"locale": "en-US",
"displayName": "My Evaluation",
"description": "My Evaluation Description",
"customProperties": {
"testingKind": "Evaluation"
}
}
Для получения справки по работе с оценками в CLI службы "Речь" выполните следующую команду:
spx help csr evaluation
Чтобы получить результаты теста, начните с Evaluations_Get операции преобразования речи в текстовый REST API.
Выполните HTTP-запрос GET с URI, как показано в следующем примере. Замените YourEvaluationId на ИД оценки, YourSpeechResoureKey — на ключ ресурса службы "Речь", а YourServiceRegion — на регион ресурса службы "Речь".
curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/YourEvaluationId" -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey"
Частота ошибок в словах и дополнительные сведения возвращаются в тексте ответа.
Вы должны получить ответ в следующем формате:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/eeeeffff-4444-aaaa-5555-bbbb6666cccc",
"model1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
"model2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/ddddeeee-3333-ffff-4444-aaaa5555bbbb"
},
"dataset": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/datasets/bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"transcription2": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/ffffaaaa-5555-bbbb-6666-cccc7777dddd"
},
"transcription1": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/ffffaaaa-5555-bbbb-6666-cccc7777dddd"
},
"project": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/projects/aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/evaluations/dda6e880-6ccd-49dc-b277-137565cbaa38/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:31:22Z",
"status": "Succeeded",
"createdDateTime": "2024-07-14T21:31:14Z",
"locale": "en-US",
"displayName": "My Evaluation",
"description": "My Evaluation Description",
"customProperties": {
"testingKind": "Evaluation"
}
}
Оценка частоты ошибок слова (WER)
Отраслевой стандарт для измерения точности модели — это частота ошибок в словах (WER). WER подсчитывает количество неправильных слов, выявленных во время распознавания, а затем делит сумму на общее число слов в размеченной человеком расшифровке (N).
Неправильно распознанные слова делятся на три категории:
- Вставка (I): слова, неправильно добавленные в расшифровку гипотезы
- Удаление (D): слова, не обнаруженные в расшифровке гипотезы
- Замена (S): слова, отличающиеся между эталоном и гипотезой
На портале Microsoft Foundry и в Speech Studio частное умножается на 100 и отображается в процентах. В CLI службы "Речь" и REST API результаты не умножаются на 100.
$$ WER = {{I+D+S} N}\over\times 100 $$
Ниже приведен пример, показывающий неправильно определенные слова по сравнению с расшифровкой, размеченной человеком:
В распознавании речи были обнаружены следующие ошибки:
- I (вставка): добавлено слово "a".
- D (удаление): удалено слово "are".
- S (замена): слово "Jones" заменено на "John".
Частота ошибок слов из предыдущего примера составляет 60 %.
Если вы хотите локально реплицировать измерения WER, можно использовать средство sclite из набора средств оценки NIST (SCTK).
Устранение ошибок и улучшение WER
Значение WER из результатов машинного распознавания можно использовать для оценки качества модели, используемой в приложении, средстве или продукте. Значение WER 5–10% указывает на хорошее качество и готовность к использованию. WeR из 20 % является приемлемым, но вы можете рассмотреть дополнительные учебные курсы. WER 30 % и более сообщает о низком качестве, требуя настройки и обучения.
Важно и распределение ошибок. Большое количество ошибок удаления обычно обусловлено низким уровнем звукового сигнала. Чтобы устранить эту проблему, необходимо записывать звуковые данные ближе к источнику. Ошибки вставки означают, что звук был записан в шумной среде или люди могли говорить одновременно, что создало проблемы при распознавании. Ошибки подстановки часто возникают, когда недостаточно выборки терминов, относящихся к домену, предоставляются как транскрибирование с метками человека или связанный текст.
Анализируя отдельные файлы, можно определить, какой тип ошибок присутствует и какие ошибки являются уникальными для конкретного файла. Общие сведения о проблемах на уровне файла помогают улучшить задачи.
Оценка частоты ошибок маркера (TER)
Помимо частоты ошибок слова, можно также использовать расширенное измерение частоты ошибок токенов (TER) для оценки качества в окончательном формате отображения. Помимо лексического формата (That will cost $900. вместо that will cost nine hundred dollarsЭТОГО), TER учитывает такие аспекты формата отображения, как пунктуация, заглавная буква и ITN. Дополнительные сведения о форматировании выходных данных с речью в тексте.
TER подсчитывает количество неправильных маркеров, определенных во время распознавания, и делит сумму на общее количество маркеров, предоставленных в транскрибировании с метками человека (N).
$$ TER = {{I+D+S} N}\over\times 100 $$
Формула вычисления TER также похожа на WER. Единственное различие заключается в том, что TER вычисляется на основе уровня токена вместо уровня слова.
- Вставка (I): Маркеры, которые неправильно добавлены в расшифровку гипотезы
- Удаление (D): Маркеры, которые не замечены в расшифровке гипотезы
- Подстановка (S): маркеры, которые были заменены ссылкой и гипотезой
В реальном случае можно проанализировать результаты WER и TER, чтобы получить необходимые улучшения.
Примечание.
Чтобы измерить TER, необходимо убедиться, что данные тестирования аудио и транскрибирования включают расшифровки с форматированием отображения, такими как знаки препинания, прописи и ITN.
Примеры результатов сценария
Сценарии распознавания речи различаются по качеству звука и языку (словарю и стилю речи). В следующей таблице рассматриваются четыре распространенных сценария:
| Сценарий | Качество звука | Словарь | Стиль речи |
|---|---|---|---|
| Центр обработки вызовов | Низкое, 8 кГц, возможно, два человека на одном аудиоканале; возможно, сжато | Узкий, уникальный для области и продуктов | Разговорный, слабо структурированный |
| Голосовой помощник (например, Кортана или озвучка для окна автораздачи) | Высокое, 16 кГц | Сложные сущности (названия песен, продукты, расположения) | Четко звучащие слова и фразы |
| Диктовка (мгновенное сообщение, заметки, поиск) | Высокое, 16 кГц | Разный | Написание заметок с помощью рукописного ввода |
| Скрытые субтитры для видео | Разное, включая различное использование микрофона, добавление музыки | Разный, с встреч, декламация, песни | Чтение, подготовленный или слабо структурированный |
Различные сценарии дают разное качество. В следующей таблице показано, как контент для этих четырех сценариев оценивается с помощью WER. В таблице показано, какие типы ошибок чаще всего встречаются в каждом сценарии. Число ошибок вставки, удаления и замены помогает понять, данные какого типа следует добавить для улучшения модели.
| Сценарий | Качество распознавания речи | Ошибки вставки | Ошибки удаления | Ошибки замены |
|---|---|---|---|---|
| Центр обработки вызовов | Средняя (WER < 30%) |
Низкая, за исключением случаев, когда в фоновом режиме говорят другие люди | Может быть высокой. Центры обработки вызовов могут быть шумными, а одновременно говорящие люди могут запутать модель | Средняя. Продукты и имена людей могут приводить к таким ошибкам |
| Голосовой помощник | Высокая (WER может быть < 10%) |
Низкая | Низкая | Средняя, из-за названий песен, названий продуктов или расположений |
| Диктовка | Высокая (WER может быть < 10%) |
Низкая | Низкая | Высокая |
| Скрытые субтитры для видео | Зависит от типа видео (WER может быть < 50%) | Низкая | Может быть высокой из-за музыки, шума, качества микрофона | Жаргон может приводить к таким ошибкам |