Имя DialogFlow в контексте, предотвращает сброс потока разговора каждый раз, когда произносится новое имя - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть диалоговое дерево, настроенное в DialogFlow, начинающееся с приветственного намерения и имеющее несколько последующих намерений, углубляющееся на три уровня. Разговор начинается с того, что пользователь говорит привет или что-то подобное, на что бот отвечает приветствием и запрашивает имя пользователя, затем пользователь вводит имя, бот выдает «Привет [имя], приятно познакомиться» и задает вопрос. Затем, в зависимости от ответа (пользовательские намерения последующего наблюдения), разговор продолжается.

Имя запоминается и используется в последующих намерениях, но в любой момент потока разговора, если пользователь говорит другое По какой-либо причине (или что-то, что распознается как имя), бот сбрасывает намерение «awaiting_name» и говорит: «Привет [новое имя], рад знакомству».

Как я могу предотвратить это?

1 Ответ

1 голос
/ 19 февраля 2020

Это связано с LifeSpanCount, который вы устанавливаете для каждого намерения. При необходимости уменьшите его до 1 или 2, чтобы сделать его неактивным после 2-х отсчетов. Кроме того, вы можете добавить последующие намерения для обработки ситуации «без совпадения», определяя, следует ли повторять намерение или делать что-то еще, когда пользователь говорит что-то вне контекста.

...