Улучшение точности распознавания с помощью списков фраз
Список фраз представляет собой список заранее подготовленных слов или фраз для улучшения их распознавания. Добавление фразы в список повышает ее значимость и вероятность распознавания.
Список поддерживаемых языковых стандартов для списков фраз см. в статье Поддержка языков и голосов для службы "Речь".
К примерам фраз можно отнести:
- Имена
- Географические расположения
- Омонимы
- Слова или сокращения, характерные только для вашей отрасли или организации
Списки фраз являются довольно простыми и занимают мало места:
- Точно в срок. Список фраз предоставляется перед началом распознавания речи, избавляя от необходимости обучать пользовательскую модель.
- Небольшой вес. Не требует крупного набора данных. Просто укажите слово или фразу, чтобы сделать их значимыми.
Списки фраз можно использовать с Speech Studio, Speech SDK или Speech Command Line Interface (CLI). В API пакета транскрибирования списки фраз не поддерживаются.
Существуют ситуации, когда наилучшим способом повысить точность является обучение пользовательской модели с использованием фраз. Список фраз не используется в следующих случаях:
- Если необходимо использовать большой список фраз. Список не может содержать более 500 фраз.
- Если необходим список фраз на языках, которые не поддерживаются на текущий момент.
- Если используется пользовательская конечная точка. Списки фраз не могут использоваться с пользовательскими конечными точками.
Опробуйте списки в Speech Studio
В Speech Studio можно проверить, как список фраз улучшит распознавание звука. Чтобы использовать список фраз в рабочей среде приложения, понадобится пакет Speech SDK или Speech CLI.
Например, допустим, вы хотите, чтобы служба "Речь" распознала следующее предложение: "Привет, Риэн, это Джесси из банка Contoso. "
После проверки вы обнаруживаете, что оно было неправильно распознано как "Привет, Дэн, это Джесс из банка лактозы".
В этом случае стоит добавить слова "Риэн", "Джесси" и "Contoso" в список фраз. Тогда имена будут правильно распознаваться.
Теперь воспользуемся Speech Studio, чтобы узнать, как список фраз может повысить точность распознавания.
Примечание
Может возникнуть запрос на выбор подписки Azure и ресурса службы "Речь", а также подтверждение выставления счетов для вашего региона.
- Перейдите в раздел Преобразование речи в текст в реальном времени в Speech Studio.
- Проверьте распознавание речи, отправив аудиофайл или записав звук с помощью микрофона. Например, выберите запись звука с помощью микрофона и скажите: "Привет, Риэн, это Джесси из банка Contoso". Затем нажмите красную кнопку, чтобы остановить запись.
- Вы увидите результат расшифровки в текстовом поле Результаты проверки. Если слова "Риэн", "Джесси" или "Contoso" были неправильно распознаны, можно добавить их в список фраз на следующем шаге.
- Выберите Показать расширенные параметры и включите Список фраз.
- Введите "Contoso;Джесси;Риэн" в текстовое поле списка фраз. Обратите внимание, что фразы должны разделяться точкой с запятой.
- Используйте микрофон, чтобы повторно проверить распознавание. Также можно нажать стрелку повтора рядом с аудиофайлом, чтобы еще раз включить его. Термины "Риэн", "Джесси" и "Contoso" будут распознаны.
Внедрение списка фраз
С помощью пакета Speech SDK можно добавить фразы по отдельности и запустить распознавание речи. Затем при необходимости можно очистить или обновить список фраз перед следующим распознаванием.
var phraseList = PhraseListGrammar.FromRecognizer(recognizer);
phraseList.AddPhrase("Contoso");
phraseList.AddPhrase("Jessie");
phraseList.AddPhrase("Rehaan");
phraseList.Clear();
С помощью пакета Speech SDK можно добавить фразы по отдельности и запустить распознавание речи. Затем при необходимости можно очистить или обновить список фраз перед следующим распознаванием.
auto phraseListGrammar = PhraseListGrammar::FromRecognizer(recognizer);
phraseListGrammar->AddPhrase("Contoso");
phraseListGrammar->AddPhrase("Jessie");
phraseListGrammar->AddPhrase("Rehaan");
phraseListGrammar->Clear();
С помощью пакета Speech SDK можно добавить фразы по отдельности и запустить распознавание речи. Затем при необходимости можно очистить или обновить список фраз перед следующим распознаванием.
PhraseListGrammar phraseList = PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");
phraseList.clear();
С помощью пакета Speech SDK можно добавить фразы по отдельности и запустить распознавание речи. Затем при необходимости можно очистить или обновить список фраз перед следующим распознаванием.
const phraseList = sdk.PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");
phraseList.clear();
С помощью пакета Speech SDK можно добавить фразы по отдельности и запустить распознавание речи. Затем при необходимости можно очистить или обновить список фраз перед следующим распознаванием.
phrase_list_grammar = speechsdk.PhraseListGrammar.from_recognizer(reco)
phrase_list_grammar.addPhrase("Contoso")
phrase_list_grammar.addPhrase("Jessie")
phrase_list_grammar.addPhrase("Rehaan")
phrase_list_grammar.clear()
С помощью Speech CLI можно подключить встроенный список фраз или текстовый файл с командой распознавания.
Попробуйте распознать звук с микрофона или из аудиофайла.
spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
spx recognize --file "your\path\to\audio.wav" --phrases "Contoso;Jessie;Rehaan;"
Также можно добавить список фраз с помощью текстового файла, содержащего по одной фразе на каждой строчке.
spx recognize --microphone --phrases @phrases.txt
spx recognize --file "your\path\to\audio.wav" --phrases @phrases.txt
Следующие шаги
Ознакомьтесь с дополнительными вариантами улучшения точности распознавания речи.