×

Определение конца фразы

 
EOU (End-of-Utterance, "конец высказывания") — признак конца фразы в потоковом распознавании. В процессе потокового распознавания сервер SpeechKit возвращает не всю фразу целиком, а результаты распознавания частей фразы:
 
Промежуточные — ответы с флагом partial, часть фразы может измениться.
Окончательные — ответы с флагом final, часть фразы зафиксирована.
 
SpeechKit возвращает законченную фразу только после определения EOU. Точное определение EOU позволяет, не перебивая, дослушать и распознать речь говорящего, а также сделать реакцию голосового помощника (ответ или уточнение) более естественной.
 
EOU наступает в следующих случаях:
1. Завершилась gRPC-сессия.
2. Была распознана тишина в последнем фрагменте речи. Тишину можно передать с помощью одного из двух параметров:
        chunk — звук, который распознается как тишина.
        silence_chunk — длительность тишины в миллисекундах. Параметр позволяет уменьшить размер пакета с аудио и не передавать в нем тишину, которую не нужно распознавать.
 
Чтобы повлиять на определение EOU, настройте использование API v3:
 
1. Задайте параметр max_pause_between_words_hint_ms, который управляет ожидаемой длительностью пауз между словами в рамках одной фразы (в миллисекундах). С помощью этого параметра можно избежать ложного определения EOU при медленной диктовке цифр или настроить быстроту реакции голосового помощника на остановку речи.
 
2. Задайте параметр type в классификаторе eou_classifier_options=default_classifier, который задает чувствительность метода обнаружения EOU:
        DEFAULT — метод по умолчанию.
        HIGH — по сравнению с DEFAULT, быстрее обнаруживает EOU (время ответа от сервера меньше), но возможны ложные срабатывания (точность определения ниже).
 
Вы также можете определять EOU самостоятельно по данным от SpeechKit (части фразы, статистика распознавания и т. д.):
 
1.  В запросе API, инициирующем сессию распознавания, укажите параметр eou_classifier_options=external_classifier.
2. При обнаружении EOU в рамках сессии добавьте в запрос к серверу SpeechKit параметр eou (не заполняется).
 
SpeechKit использует это как указатель на EOU и вернет законченную фразу в ответе