DialogFlow - лучшие практики обработки откатов по умолчанию? - PullRequest
1 голос
/ 14 марта 2019

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

Например, в случае с чат-ботом пользователь может ввести намерение, которое не может быть понято несколько раз,после третьего раза я хотел бы, чтобы бот-чат позвонил в веб-службу.

Как лучше всего справиться с этим сценарием?Возможные сценарии, которые я придумал:

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

2) Соедините несколько резервных намерений по умолчанию вместе в DialogFlow, а при вызове третьего резервного намерения мы сделаем вызов (это вообще возможно или хорошая идея?)

3) Следите за тем, сколько раз обратный вызов по умолчанию вызывается в DialogFlow (с помощью сущности, которой я верю), а затем с третьей попытки мы вызываем веб-службу.

Любые рекомендации илиИдеи с радостью приняты, так как я новичок в DialogFlow

1 Ответ

2 голосов
/ 14 марта 2019

Если вы подразумеваете «Намерение на продолжение» в (2), это будет плохой идеей. Почти все, что связано с цепочкой Followup Intents, - плохая идея.

Я не уверен, как бы вы справились (3), если честно. У самого Dialogflow очень мало возможностей для включения логики такого рода.

Наилучший подход - это (1) - для всего, позвоните вашему веб-крюку выполнения и пусть он обрабатывает логику. Как правило, вы хотите сосчитать последовательных раз, когда пользователь нажал на отступление, а не всего раз, когда вы это сделали. Вы можете хранить этот счетчик в недолговечном контексте.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...