Улучшение точности распознавания с помощью списков фраз

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

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

К примерам фраз можно отнести:

  • Имена
  • Географические расположения
  • Омонимы
  • Слова или сокращения, характерные только для вашей отрасли или организации

Списки фраз являются довольно простыми и занимают мало места:

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

Списки фраз можно использовать с Speech Studio, Speech SDK или Speech Command Line Interface (CLI). В API пакета транскрибирования списки фраз не поддерживаются.

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

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

Опробуйте списки в Speech Studio

В Speech Studio можно проверить, как список фраз улучшит распознавание звука. Чтобы использовать список фраз в рабочей среде приложения, понадобится пакет Speech SDK или Speech CLI.

Например, допустим, вы хотите, чтобы служба "Речь" распознала следующее предложение: "Привет, Риэн, это Джесси из банка Contoso. "

После проверки вы обнаруживаете, что оно было неправильно распознано как "Привет, Дэн, это Джесс из банка лактозы".

В этом случае стоит добавить слова "Риэн", "Джесси" и "Contoso" в список фраз. Тогда имена будут правильно распознаваться.

Теперь воспользуемся Speech Studio, чтобы узнать, как список фраз может повысить точность распознавания.

Примечание

Может возникнуть запрос на выбор подписки Azure и ресурса службы "Речь", а также подтверждение выставления счетов для вашего региона.

  1. Перейдите в раздел Преобразование речи в текст в реальном времени в Speech Studio.
  2. Проверьте распознавание речи, отправив аудиофайл или записав звук с помощью микрофона. Например, выберите запись звука с помощью микрофона и скажите: "Привет, Риэн, это Джесси из банка Contoso". Затем нажмите красную кнопку, чтобы остановить запись.
  3. Вы увидите результат расшифровки в текстовом поле Результаты проверки. Если слова "Риэн", "Джесси" или "Contoso" были неправильно распознаны, можно добавить их в список фраз на следующем шаге.
  4. Выберите Показать расширенные параметры и включите Список фраз.
  5. Введите "Contoso;Джесси;Риэн" в текстовое поле списка фраз. Обратите внимание, что фразы должны разделяться точкой с запятой. Screenshot of a phrase list applied in Speech Studio.
  6. Используйте микрофон, чтобы повторно проверить распознавание. Также можно нажать стрелку повтора рядом с аудиофайлом, чтобы еще раз включить его. Термины "Риэн", "Джесси" и "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

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

Ознакомьтесь с дополнительными вариантами улучшения точности распознавания речи.