Поделиться через


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

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

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

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

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

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

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

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

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

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

Вес списка фраз

При использовании Speech SDK с функцией реального времени транскрибирования, вы можете регулировать вес фраз из списка фраз относительно стандартного словаря. Этот параметр определяет, насколько список фраз влияет на результаты преобразования речи в текст.

Вес списка фраз можно задать в диапазоне от следующих значений 0.02.0:

  • 0.0. Отключает список фраз
  • 1.0: вес по умолчанию (стандартное влияние)
  • 2.0: максимальный вес (наибольшее влияние)

Более высокий вес увеличивает вероятность того, что фразы из списка распознаются по сравнению с альтернативами в словаре по умолчанию. Этот параметр применяется к полному списку.

Опробуйте списки в 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;Джесси;Риэн" в текстовое поле списка фраз. Несколько фраз необходимо разделить точкой с запятой. Снимок экрана: список фраз, примененный в Speech Studio.
  6. Используйте микрофон, чтобы повторно проверить распознавание. В противном случае можно выбрать стрелку повтора рядом с звуковым файлом, чтобы повторно запустить звук. Термины "Риэн", "Джесси" и "Contoso" будут распознаны.

Реализация списка фраз в транскрибировании в режиме реального времени

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

var phraseList = PhraseListGrammar.FromRecognizer(recognizer);
phraseList.AddPhrase("Contoso");
phraseList.AddPhrase("Jessie");
phraseList.AddPhrase("Rehaan");
phraselist.SetWeight(weight);

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

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

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

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

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

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

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

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

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

Внедрение списка фраз в быстрой транскрипции

Список фраз можно добавить при помощи быстрой транскрипции с помощью REST API преобразования речи в текст

curl --location 'https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/transcriptions:transcribe?api-version=2025-10-15' \
--header 'Ocp-Apim-Subscription-Key: YourSpeechResourceKey' \
--form 'audio=@"YourAudioFile"' \
--form 'definition={
  "locales": ["en-US"],
  "phraseList": {
    "phrases": ["Contoso", "Jessie", "Rehaan"]
  }
}'

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

Узнайте больше о вариантах повышения точности распознавания.