Dialogflow - обработка ввода с несколькими намерениями - PullRequest
0 голосов
/ 12 марта 2019

Я создаю чатбота службы поддержки в диалоговом потоке и в настоящее время обучаю его существующим данным из моей системы тикетов.Какова наилучшая практика для обработки входных данных, которые содержат несколько намерений?Вот пример с намерениями, выделенными жирным шрифтом:

«Привет, меня зовут Джон Доу, я студент первого курса. Я хочу знать, где записаться на занятия , а также сбросить мой корпоративный пароль . Пожалуйста, помогите. "

Так есть ли решение попросить людей заранее обдумать вопрос?Я думаю, что в настоящее время диалоговый поток будет указывать пользователю на одно из указанных выше намерений, но я не уверен, как он решает, какое намерение будет соответствовать.

1 Ответ

1 голос
/ 14 марта 2019

У вас, вероятно, будет одно намерение для каждой функции, которую предлагает ваш бот, то есть RegisterClass, ResetPassword и т. Д. В этом случае нет хорошего * способа справиться со случаем, когда кто-то запрашивает две вещи одновременно, ваш пользователи должны будут ограничиться одним запросом за раз. Однако вы можете использовать отступление , чтобы объяснить это во время выполнения. Это намерение будет инициировано, если высказывания пользователя не соответствуют ни одному из других намерений и могут дать пользователю быстрое объяснение, например

"Извините, я этого не понял. Пожалуйста, скажите мне, что вы хотели бы сделать, например 'зарегистрировать класс' или 'изменить мой пароль' '

Это позволило бы вести естественный разговор и избавило бы от необходимости "обучать" пользователей специально для вашего агента.

* Конечно, вы можете добавить комбинированные намерения, такие как RegisterClassAndChangePassword, но это станет очень неуклюжим и, скорее всего, не будет работать надежно. Вы также можете попытаться проанализировать запрос в своем бэкэнде, но тогда вы по существу обойдете основную функцию Dialogflow.

...