Диалог потока ( Api.ai) Беседа в чате
У меня есть желанное намерение, и оно позволяет пользователю выбрать три различных действия. Пример: Добро пожаловать! Вы можете напечатать свое имя, вы можете напечатать свою фамилию или вы можете распечатать свой почтовый индекс. Если пользователь выбирает или вводит фамилию, он должен вызывать намерение фамилии. Поэтому мы предлагаем несколько вариантов по своему желанию, и пользователь может выбрать любой из них. В зависимости от действия, выбранного пользователем, разговор должен произойти. Пожалуйста, помогите мне, как этого добиться.
2 ответа
Вы предоставляете пользователю возможность продолжить, указав его имя, фамилию или почтовый индекс.
Чтобы захватить их ответ, вам нужно создать три намерения:
- Захватить имя
- Захватить фамилию
- Захват почтовый индекс
Для каждого намерения вы должны предоставить ряд примеров фраз, показывающих, как пользователь может выразить каждую вещь. Например, "Имя захвата" может содержать такие примеры:
- "Меня зовут Дэн"
- "Дан"
- "Дэн - мое имя"
Я бы рекомендовал предоставить около 10 примеров для каждого намерения.
Dialogflow предоставляет системный объект для почтовых индексов, поэтому он может автоматически извлекать почтовый индекс из намерения "Захватить почтовый индекс".
Однако для того, чтобы имена и фамилии работали, вам нужно создать объекты, представляющие имена и фамилии всех ваших пользователей. Предполагая, что вы знаете эти значения заранее, вы должны сначала создать каждую сущность, а затем написать сценарий для ее заполнения из хранилища данных с использованием конечной точки API-интерфейса Dialogflow / entity.
После того, как вы создали и заполнили эти объекты, добавьте несколько примеров, которые используют их для ваших целей. Убедитесь, что вы выделяете и аннотируете любые значения сущностей, которые не идентифицируются автоматически.
Когда ваши намерения завершены, вы можете использовать выполнение Dialogflow, чтобы отправить информацию, которую они собирают, на ваш сервер.
Обычно, когда срабатывает приветственное намерение, он отправляет запрос в ваш бэкэнд через webhook, из бэкэнда вы можете отправлять ответы в виде шаблонов или кнопок, и пользователь может выбрать один из них, если вы используете бэкэнд здесь
Еще в ответе приветствия намерения, используйте ответ, как вы можете напечатать имя, вы можете напечатать второе имя и настроить намерения для них и использовать контексты для правильного потока.
Во втором намерении оставьте один объект, содержащий некоторые значения для имени, и используйте выходной контекст, например, frstname_output_context
В другом намерении сохраните один объект, содержащий некоторые значения для фамилии, в качестве объекта и используйте выходной контекст, такой как lsttname_output_context
Надеюсь, это проясняется с помощью webhook и без webhook