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

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

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

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

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

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

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

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

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

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

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

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

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

Вы можете найти, что фраза неправильно распознается: "Привет всем, я Джесси из не может сделать это банк".

В предыдущем сценарии необходимо добавить "Rehaan", "Jessie" и "Contoso" в список фраз. Тогда имена будут правильно распознаваться.

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

Примечание.

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

  1. Перейдите к тексту в режиме реального времени в Speech Studio.
  2. Проверьте распознавание речи, отправив аудиофайл или записав звук с помощью микрофона. Например, выберите звук с микрофоном , а затем скажите: "Hi Rehaan, я джесси из банка 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");

С помощью пакета Speech SDK можно добавить фразы по отдельности и запустить распознавание речи.

auto phraseListGrammar = PhraseListGrammar::FromRecognizer(recognizer);
phraseListGrammar->AddPhrase("Contoso");
phraseListGrammar->AddPhrase("Jessie");
phraseListGrammar->AddPhrase("Rehaan");

С помощью пакета Speech SDK можно добавить фразы по отдельности и запустить распознавание речи.

PhraseListGrammar phraseList = PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");

С помощью пакета Speech SDK можно добавить фразы по отдельности и запустить распознавание речи.

const phraseList = sdk.PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");

С помощью пакета 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")

С помощью 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

Допустимые символы включают буквы и цифры языкового стандарта, символы пробелов и специальные символы, такие как +, $, $, :, (), {, }, _, ?, @, \, \, ', #, %, ^, *<>, ; , /. Другие специальные символы удаляются внутри фразы.

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

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