диалоговое окно, переопределяющее имя пользователя - PullRequest
0 голосов
/ 15 февраля 2019

У меня проблема при создании чат-бота в диалоговом потоке.

, когда я набираю

user : hi
Bot : What is your name? 
User : xyz
Bot : hi , xyz 
User : abc 
Bot : hi ,abc 

Это переопределяет имя, когда я устанавливаю срок жизни более 1,после этого мне нужно задать несколько вопросов и напечатать имя последнего с запрашиваемыми данными.

, и когда я устанавливаю продолжительность жизни более 1, это не позволяет мне напечатать имя в следующем намерении.

есть ли какое-либо решение?

Пример разговора

click here for screenshot

Список содержания

these are my intents

Приветственное намерение

this my welcome intent

Намерение GetName

this myGetName intent

Намерение по электронной почте

this mygetemail intent

1 Ответ

0 голосов
/ 16 февраля 2019

После того, как вы приняли их имя и запросили письмо, у вас есть два действительных контекста:

  • Срок действия контекста awaiting_name равен 4 (поскольку он был установленв приветственном намерении два намерения назад)
  • Срок действия awaiting_email имеет срок жизни 5 (поскольку он был только что установлен)

Это означает, что два возможных контекста могут совпадать:

  • Контекст Get Name (поскольку awaiting_name действителен)
  • Контекст Get Email (поскольку awaiting_email действителен)

Dialogflow выбирает контекст Get Name, что совершенно правильно.Точно, какие правила применяются для выбора Намерения, когда есть несколько совпадений, сложно, но можно выбрать любое из них.

Как вы предполагаете, вы можете установить продолжительность жизни равной 1, что означает, что вы принимаете толькоСледующий ответ на имя или адрес электронной почты.Это сработает, но это плохая идея, потому что это означает, что они не могут задавать вопросы или просить помощи.Это очень не разговорный.

Лучше было бы убрать контекст, когда он вам больше не нужен.Таким образом, ваше Get Name Намерение может сделать это, установив срок жизни awaiting_name равным 0 (и другим Намерениям аналогичным образом).Примерно так:

enter image description here

...