Определение конца фразы
Статья создана
Обновлена 31 января 2024 г.
EOU (End-of-Utterance, конец высказывания
) — признак конца фразы в потоковом распознавании. В процессе потокового распознавания сервер SpeechKit возвращает не всю фразу целиком, а результаты распознавания частей фразы:
- Промежуточные — ответы с флагом
partial
, часть фразы может измениться. - Окончательные — ответы с флагом
final
, часть фразы зафиксирована.
SpeechKit возвращает законченную фразу только после определения EOU. Точное определение EOU позволяет, не перебивая, дослушать и распознать речь говорящего, а также сделать реакцию голосового помощника (ответ или уточнение) более естественной.
Чтобы повлиять на определение 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 и вернет законченную фразу в ответе.