Dialogflow: заполнение слотов с параметрами контекста - PullRequest
0 голосов
/ 07 марта 2019

Мне нужно создать намерения, которые могут обрабатывать (webhook) заполнение слотов, запрашивая пользователя, а также получая пропущенный слот из выходного контекста, если этот слот был ранее предоставлен в диалоге.

Итак, у меня есть intent1, intent2 и intent3, все они с параметром P, который необходим для предоставления ответа пользователю. У меня также есть выполнение webhook для обработки этих намерений (также, конечно, для заполнения слотов). Диалог должен быть следующим:

Сценарий 1

  1. Пользователь: текст intent1 без значения для параметра P
  2. Агент: «укажите параметр P»
  3. Пользователь: параметр P
  4. Агент: ответ для намерения 1 с параметром P (параметр P теперь в контексте)
  5. Пользователь: текст intent2 без значения параметра P
  6. Агент: ответ для intent2, получение параметра P из контекста

Это работает как положено. Проблема происходит здесь:

Сценарий 2

(те же 6 шагов, описанных выше)

  1. Пользователь: intent3 текст без значения для параметра P
  2. Агент: ответ для intent2 получение параметра P из контекста

Я считаю, что на шаге 5 диалоговый поток обнаруживает, что параметр P отсутствует в intent1, поэтому он ожидает, что шаг 6 будет запросом агента параметра P, а шаг 7 будет заполнением слота пользователя для этого параметра. Но это предположение неверно, поскольку параметр P получен из контекста на шаге 6.

Вопрос: есть ли способ сообщить агенту, что заполнение слота уже выполнено (восстановив его из контекста, сделав вывод или что-то еще), чтобы агент не ожидал, что ввод следующего пользователя будет отсутствует слот, но текст для нового совпадения намерений?

...