代码之家  ›  专栏  ›  技术社区  ›  Fez Vrasta

根据用户回复触发不同的后续意图?

  •  1
  • Fez Vrasta  · 技术社区  · 6 年前

    我正在尝试创建一个允许这种交互的bot:

    (U=用户,B=机器人)

    案例A:

    • 创建一个新的 XXX 分析
    • B:明白了!让我们创建一个新的 XXX 分析
    • 你的名字是什么?
    • U:Joe Doe
    • B:等等,等等…

    Case B:

    • 创建一个新的 YYY 分析
    • B:明白了!让我们创建一个新的 YYY 分析
    • 你最喜欢什么颜色?
    • U:红色
    • B:等等,等等…

    所以,我需要根据用户在第一次交互中告诉我的内容触发一个不同的问题。

    现在我正确地得到了分析类型(xxx或yyy),但是我不知道如何根据类型值触发不同的后续意图。

    正确的方法是什么?

    我正在计算使用node.js编写bot,因此如果答案需要编写后端,请参考node.js文档和资源。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Prisoner    6 年前

    首先,记住意图是基于 用户 做。 不要“触发”你的用户的意图。您如何处理这个意图是基于所触发的意图以及关于会话的其他状态——在本例中是分析类型。看到这个 StackOverflow answer the related medium article (和后续文章)讨论如何处理。

    如果你想根据用户的回复问一些不同的问题-使用你的Webhook实现来问一些不同的问题。回答不是基于意图。你不需要“触发”任何东西。

    有时,你只希望根据状态触发某些意图。在这些情况下,您可以设置 Context 并且仅当输入上下文都存在时才限制要激发的意图。