我有一个名为“ Number”的意图,它可以检测某人在整个对话中何时输入了数字,并且行为适当。
然后,我有了一个名为“报告”的意图,该意图为用户提供了数据库中特定于用户的信息。为了验证用户的身份,我要求输入他们的安全码(一组数字)。
用户体验: 用户调用“报告”意图。要求用户输入其安全代码。
问题: 一旦用户输入了他们的安全代码,而不是返回到“报告”意图,它便会调用“数字”意图,因为用户正在输入数字。
我想有一种说法,如果我们不填充其他意图,则仅调用“数字”意图。这怎么可能?
使用all_required_params_present == True
的PS无效。
答案 0 :(得分:1)
如果您的情况与捕获两个意图(数字)相似,则调用正确意图的唯一方法是激活“输入上下文”或“事件”,如
这里的数字表示此上下文处于活动状态的交互次数。
因此,如果您的“报告”意图具有capture_report
上下文,则只有在该上下文处于活动状态并且用户说出正确的短语时,才会触发该上下文。同样,当您要触发报表意图时,您将需要数字意图的上下文来阻止其触发。
您将需要从Dialogflow或以编程方式通过Webhook实现来设置此上下文。
有关详细信息,请查看Dialogflow和Context上有关Event和how contexts works的信息。