#dialogflow-es
#dialogflow-es
Вопрос:
Мне просто было интересно, как лучше всего справиться, когда намерение пользователя не может быть понято несколько раз.
например, в случае чат-бота пользователь может ввести намерение, которое не может быть понято несколько раз, после третьего раза я бы хотел, чтобы чат-бот вызвал веб-сервис.
Каков наилучший способ справиться с этим сценарием? Возможные сценарии, которые я придумал, следующие:
1) Каждый раз, когда вызывается резервное намерение по умолчанию, мы вызываем веб-службу, которая отслеживает, сколько раз для текущего пользователя вызывалось резервное намерение по умолчанию, и в третий раз вызываем другую службу.
2) Объедините несколько резервных намерений по умолчанию в DialogFlow, и при вызове третьего резервного намерения мы выполняем вызов (это вообще возможно или хорошая идея?)
3) Следите за тем, сколько раз обратный вызов по умолчанию вызывался в DialogFlow (с использованием объекта, я полагаю), а затем с третьей попытки мы вызываем веб-службу.
Любые рекомендации или идеи с радостью получены, поскольку я новичок в DialogFlow
Ответ №1:
Если вы имеете в виду «Последующее намерение» в (2), это было бы плохой идеей. Практически все, что связано с цепочками последующих намерений, является плохой идеей.
Честно говоря, я не уверен, как бы вы справились с (3). Сам Dialogflow имеет очень мало возможностей для включения логики такого рода.
Лучший подход — (1) — для всего вызывайте свой веб-хук выполнения и заставляйте его обрабатывать логику. Обычно требуется подсчитывать, сколько раз подряд пользователь выполняет резервное намерение, а не общее количество раз, когда вы это делаете. Вы можете сохранить этот счетчик в контексте с коротким сроком службы.
(Такие библиотеки, как multivocal, отслеживают счетчик для вас, в стороне, и позволяют использовать его в ответах или в другой логической обработке.) (Отказ от ответственности, я ведущий разработчик multivocal.)
Комментарии:
1. Спасибо за разъяснение 🙂