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