我正在用dialogflow设计一个服务台聊天机器人,目前正在使用售票系统中的现有数据对其进行培训。处理包含多个意图的输入的最佳实践是什么?这是一个使用粗体表示的示例:
“嗨,我叫John Doe,我是一年级学生。我想知道在哪里注册课程,并且重置我的企业密码。请帮助。”
那么要求人们保持简单的解决方案是解决方案吗?我认为当前dialogflow将使用户指向上面的意图之一,但是我不确定它如何决定与哪个意图匹配。
答案 0 :(得分:0)
您可能会对机器人提供的每种功能(例如RegisterClass
,ResetPassword
等)具有一种意图。在这种情况下,没有很好的方法来处理有人要求两件事的情况您的用户必须一次将自己限制为一个请求。但是,您可以在运行时使用fallback intent进行解释。如果用户的话语与其他任何意图都不匹配,则会触发此意图,并且可以为用户提供快速解释,例如
“对不起,我不明白。请告诉我您想做什么, 例如“注册课程”或“更改我的密码””
这将使对话保持自然,并减轻了专门为您的代理商“培训”用户的需要。
*您当然可以添加诸如RegisterClassAndChangePassword
之类的组合意图,但这将变得非常笨拙并且很可能无法可靠地运行。您也可以尝试在后端解析请求,但实际上您将绕过Dialogflow的核心功能。