Обработка уточняющих вопросов


Система будет задавать уточняющие вопросы по очереди в порядке их определения для всех слотов, которые остались незаполненными.

В ответах клиента будет производиться поиск сущностей, соответствующих слотам. Если подходящие сущности были найдены, то соответствующий слот будет заполнен.

После того, как все слоты были заполнены, управление передается в основной сценарий со всеми заполненными слотами в $parseTree.

Выйти из сценария слот-филлинга возможно только, либо ответив на все вопросы, либо командой /start.

Рассмотрим сценарий:

    state:
        intent!: /Погода
        a: Погода в {{ $parseTree._City }} на {{ $parseTree._Date.value }}

При этом слоты заполнили следующим образом:

заполнение слотов

Здесь @City — кастомная сущность, в которой мы указали все города, для которых мы можем предоставлять прогноз погоды.

Запросы клиента:

  1. Погода на завтра в Москве: слоты заполнены, ассистент сразу предоставит ответ.
  2. Погода на завтра: слот City не заполнен, будут заданы уточняющие вопросы. Как только будет дан корректный ответ, управление перейдет в сценарий, ассистент даст ответ.
  3. Погода в Москве: слот Date не заполнен, будут заданы уточняющие вопросы. Как только будет дан корректный ответ, управление перейдет в основной, ассистент даст ответ.

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней