我使用对话流使用四个意图创建了一个聊天机器人,并且我将上下文从一个意图传递到另一个意图。
如果用户输入了错误的名称,我想知道如何调用后备意图。它应该调用GetNameFallback
意图,对于错误的电子邮件,它应该调用GetEmailFallback
意图。对于错误的DOB,应调用GetDOBFallback
意图。
对于每个特定意图,应调用其特定的后备意图
这是我传递的上下文列表:
(欢迎用意)-output context : awaiting_name
(GetName intent)input context : awaiting_name
和output context : awaiting_email
(GetEmail目的)input context : awaiting_email
和output context : awaiting_dob
(GetDOB intent)input context : awaiting_dob
答案 0 :(得分:0)
来自Dialogflow docs:“创建代理时,默认回退意图将自动配置为具有各种静态文本响应,例如“我没有得到。您可以再说一遍吗?”和“对不起,那是什么?”当您的用户输入与其他任何意图都不匹配时,该意图就会被匹配;换句话说,对于所有无法识别的用户输入,这都是一种包罗万象的东西。 >
例如,假设您的座席只有一个名为“天气”的自定义意图,它可以识别用户输入,例如“今天的天气如何?”。或“明天预报”。如果与代理人交谈的用户说“我喜欢紫色”,则您的默认后备意图得到了匹配,因为代理人无法将输入与天气意图进行匹配。”
根据这些信息,您可以尝试培训代理以将错误的名称/电子邮件与诸如Fallback Intent - Name
或Fallback Intent - Email
之类的意图匹配,这些意图会再次提示用户输入该名称。
在没有看到您的履行代码的情况下,很难确定该策略是否可行。如果您更新问题以包括当前的履行代码,则可能会得到更相关的答案。