Параметры таймеров определяют решение об окончании фразы (сеанса распознавания). Кроме того, система распознавания (ASR) может самостоятельно вернуть признак, что клиент закончил говорить. Она это делает при помощи обученной нейронной модели и реагирует на интонации, языковые конструкции и прочие закономерности, которые нашла в файлах для обучения.
Если ASR вернула признак конца фразы, остальные параметры таймеров будут игнорироваться. Даже если клиент закончил одну фразу и начал говорить вторую практически мгновенно и успел по всем параметрам времени продолжить свою речь, система уже не будет его слушать. Она получила признак окончания фразы и завершила сеанс распознавания, поэтому игнорирует все указанные ниже параметры.
Длительность сеанса распознавания речи определяется следующими параметрами:
Sint (Speech Incomplete Timeout, Speech Timeout) — это промежуток тишины между словами, который считается окончанием речи и началом ее обработки.
Допустимое время тишины — от 0,0 до 1,0 секунды (в среднем около 0,4–0,6 секунды).
Nit (No Input Timeout, Silence Timeout) — время ожидания речи клиента с момента начала сессии распознавания или промежуток тишины после уже оконченной речи/фразы. В течение этого времени ASR пытается распознать речь.
Если за это время ничего не удалось распознать (или клиент ничего и не говорил), или клиент начал говорить уже после истечения этого времени, то сессия завершается с пустым результатом.
На значениях от 0,4 секунды допускается разброс от 0,0 до 0,2 секунды (в среднем около 0,1 секунды). На значениях меньше 0,4 секунд задержка увеличивается до 0,4 секунды.
T (Recognition Timeout, Final Result Timeout) — это максимальная длительность распознанного аудио за одну сессию распознавания.
Отсчет ведется независимо от тишины или речи. Он начинается в тот момент, когда бот начинает слушать клиента. Когда достигается заданное значение, речь считается оконченной (даже если она оборвалась на полуслове) и передается на дальнейшую обработку.
При срабатывании таймаута на значениях от 0,4 секунды допускается разброс от 0 до 0,2 секунды (в среднем около 0,1 секунды). На значениях меньше 0,4 секунд задержка увеличивается до 0,4 секунды.
Если односложные или короткие ответы (длиной менее 0,5 секунды, а лучше 0,8 секунды) были произнесены в самом конце сессии распознавания, они также могут быть утеряны из-за архитектурных особенностей работы ASR. В этом случае требуется пауза после них хотя бы в 1 секунду.
Заводить тикеты с такими «проблемами распознавания» не нужно. Достаточно просто увеличить таймауты (выбрать из предложенного списка или скорректировать вручную).
Уровень | sint (мс) | nit (мс) | t (мс) |
---|---|---|---|
Односложный ответ | 100 | 4000 | 7000 |
Очень очень короткая | 300 | 2000 | 5000 |
Очень короткая | 300 | 3000 | 5000 |
Короткая | 400 | 3000 | 5000 |
Нормальная | 960 | 3000 | 7000 |
Нормальная (5 сек.) | 960 | 5000 | 7000 |
Нормальная (180 сек.) | 1200 | 3000 | 180000 |
Длинная | 1200 | 4000 | 10000 |
Очень длинная | 3000 | 4000 | 15000 |
Очень длинная (180 сек.) | 3000 | 4000 | 180000 |
Время, через которое ответит бот, не равно длительности сеанса распознавания.
Время до ответа бота высчитывается по следующей формуле: получение ответа от ASR + время на принятие решения. Прочие звуки после основной речи клиента (до наступления тишины) и пауза в аудиофайле бота перед началом воспроизведения, могут увеличить время ответа бота.
Длительность сеанса распознавания — Короткая. После наступления тишины и завершения сеанса распознавания потребовалось 0.1 сек. на получение полного ответа от ASR. Прежде чем продолжить, боту потребовалось еще 0.3 сек. на принятие решения. Аудиофайл ответа бота содержал в себе паузу перед началом речи продолжительностью 0.1 сек.
Таким образом, общая длительность паузы составляет: 0.3 + 0.1 + 0.3 + 0.1 = 0.8 сек.
При тестировании сценария внутри редактора в голосовом режиме используется упрощенная версия ASR.
В упрощенной версии ASR распознавание речи может происходить хуже, чем в полноценной. Кроме того, упрощенная версия поддерживает только русский, турецкий, английский и украинский языки.