代码之家  ›  专栏  ›  技术社区  ›  alwayscurious

不明确的意图和插槽填充

  •  0
  • alwayscurious  · 技术社区  · 7 年前

    我有一个名为“数字”的意图,它能检测到有人在整个对话过程中输入数字的时间,并采取适当的行动。 Number Intent

    然后我有一个名为“Report”的意图,它向用户提供数据库中特定于用户的信息。为了验证用户的身份,我需要他们的安全码(一组数字)。

    Report Output Contexts Report Intent

    用户体验: 用户调用“报告”意图。要求用户提供他们的安全代码。

    问题是: 一旦用户输入了他们的安全代码,而不是返回到“Report”意图,它就会调用“Number”意图,因为用户正在输入数字。

    我想用一种方式说,只有在我们没有填充另一个意图的情况下才调用“数字”意图。这怎么可能?

    all_required_params_present == True 不起作用。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Abhinav Tyagi    7 年前

    如果您的案例中有两个意图(数字)中捕捉到的类似内容,那么调用正确意图的唯一方法就是让“输入上下文”或“事件”像这样处于活动状态

    enter image description here

    这里的数字表示这个上下文中有多少个交互是活动的。

    所以,如果你有 capture_report 上下文对于您的报表目的是活动的,那么只有当此上下文是活动的并且用户说的是正确的短语时才会触发它。类似地,当您想要报告意图触发时,您将需要数字意图的上下文来阻止它触发。

    您需要从Dialogflow或以编程方式设置webhook实现的上下文。

    有关详细信息,请查看 Context Event 按Dialogflow和 how contexts works .

    推荐文章