В процессе работы смартапа ассистент может сталкиваться с незнакомыми фразами пользователя. По умолчанию в таких случаях ассистент отвечает «Извините, непонятно». Этот ответ можно изменить в настройках смартапа.
Такие ситуации возникают, если сценарий недостаточно проработан и смартап не понимает, что делать дальше.
Например, на экране сценария нет блока Интенты или в сценарии отсутствует глобальный блок Интенты, с помощью которого ассистент мог бы обработать реплику пользователя.
Обрабатывать неизвестные фразы можно следующими способами:
- Добавить на каждый экран сценария блок Интенты, который будет обрабатывать фразы пользователя, соответствующие данному этапу сценария.
- Сделать переход от опции Любая другая фраза блока Интенты. В этом случае смартап перейдет к заданному экрану, если ни одна из реплик пользователя не подходит для указанных в блоке. Например так ассистент может уточнить запрос пользователя.
- Добавить в любое место сценария блок Интенты с включенной опцией Сделать интент доступным из любой точки сценария. Это позволит ассистенту реагировать на определенные реплики пользователя независимо от того, на каком экране сценария произнесена реплика.
- Обработать событие, возникающее при получении незнакомой фразы, с помощью тега
event!
.
Изменение ответа по умолчанию
Ассистент может отвечать на незнакомые реплики пользователя как с помощью заданных фраз, так и с помощью заранее загруженных аудиофайлов.
Чтобы изменить ответ ассистента на неизвестную фразу:
На панели слева выберите раздел Настройки.
Выберите вкладку Ответы ассистента при форс-мажорах.
В блоке Что делать, если ассистент получил неизвестную команду выберите необходимый пункт раскрывающегося списка:
- Произнести фразу. В этом случае в поле Новая фраза укажите реплику, которую ассистент произнесет если не поймет фразу пользователя. С помощью ссылки Добавить фразу или команды Ctrl/Cmd + Enter можно добавить неограниченное количество фраз ассистента. Ассистент случайным образом выбирает фразы из списка.
- Воспроизвести аудио. В этом случае загрузите с компьютера аудиофайл, который ассистент воспроизведет если не поймет фразу пользователя.
Нажмите Сохранить.
В блоке При технической ошибке ассистент скажет можно указать список фраз, которые ассистент будет произносить при возникновении технических неполадок.
Обработка незнакомых фраз с помощью событий
При получении неизвестной фразы ассистент передает в смартап событие noMatch
(«Не удалось распознать фразу пользователя»).
Вы можете обрабатывать такие фразы с помощью глобального тега event!:
или блока События.
- Graph
- Code
Чтобы обработать событие в Graph:
Откройте сценарий смартапа в Graph.
На новый экран добавьте блок События.
В поле блока выберите событие Не удалось распознать фразу пользователя.
Включите параметр Это глобальные события.
Сценарий может содержать только один глобальный блок События. На экран с глобальным блоком нельзя добавить другие блоки.
Добавьте нужный переход.
Сохраните сценарий.
При обработке неизвестных фраз с помощью блока глобального События параметр Ответы ассистента при форс-мажорах становится недоступным.
Чтобы обработать событие в Code, в нужное место сценария добавьте состояние, которое будет обрабатывать событие event!:
, например:
state: NoMatch
event!: noMatch
a: Я вас не понял. Попробуйте повторить