我是Dialogflow中需要某些帮助的新手。 我有三个意图(实际上远不止于此),他们都有后续行动,请允许我在下面画草图。
我将第一个意图称为“ Head”,将第二个意图称为“ Chest”,将第三个意图称为“ Back”
当有人说“我有急事”时,会说出第一个意图, 该行将进行两次跟进,例如“这需要多长时间”,“何时开始” ......等等,直到此意图的最后一次跟进,此后代理会询问用户是否遇到“胸部”问题,因此触发了第二个意图,或者还可能询问用户是否存在“返回”问题,从而触发了第三个意图。
继续前进,例如代理人询问触发第二个Intent的“胸”,它也有自己的后续行动,我也将其设置为询问其他问题,就像我对第一个Intent所做的那样(在这种情况下, Head”或“ Back”)。
我的问题是我如何让代理不询问“ Head”(在第一个实例中已经问过),而只询问其余的“ Back”实例?
我希望我已经用一种可以理解的方式表达了这一点。
真的要感谢任何解决方法,
答案 0 :(得分:1)
您可能想研究上下文。
https://dialogflow.com/docs/contexts https://dialogflow.com/docs/contexts/input-output-contexts
因此,它的本质原理是,如果您有一个包含输入上下文的意图,那么除非该特定上下文处于活动状态,否则它不会触发。您可以在输出上下文部分中创建并设置意图的上下文持续时间。
因此,如果您正处于胸部对话的中间,则不希望激活胸部或背部的输入上下文,这样它们的相关意图就不会触发。
只有在处理完胸部的最后一步之后,才可以启动“上一步”的输入上下文,然后在输出上下文中将胸部上下文的寿命设置为0,这样就结束了。这样可以确保与胸部相关的意图不会再次触发。
这是假设您希望按顺序处理这些对话,如果您希望它更具动态性,那么问题的顺序无关紧要。这将变得更加困难。
希望这会有所帮助!