【问题标题】:How to use Prompts.text without triggering new intent in Microsoft Bot Framework如何在不触发 Microsoft Bot Framework 中的新意图的情况下使用 Prompts.text
【发布时间】:2018-03-08 03:11:15
【问题描述】:

我有多个由triggerAction 触发的对话框。我使用 LUIS 来触发/匹配特定对话的话语。

每个对话框都有两个步骤(功能):

  1. 如果实体是有效的查询数据库并结束对话,则使用Prompts.text() 提示用户输入缺少的实体之一并继续下一步
  2. 使用next() * 设置对话状态并从步骤 1 重复对话

我的问题是,对于一些提示输入(即实体值),LUIS 将触发新的不相关对话框。在这些情况下,对话框堆栈会丢失(因为我使用了triggerAction)并且对话流会中断。

如何确保缺少实体的提示不会触发新对话框?我的对话流程有问题吗?

对于每个意图,我已经有许多经过训练的话语。我猜我的 LUIS 模型“松散”到足以将多个单词实体(在提示后输入)与(短)意图表达相匹配。

* 来自docs当机器人到达瀑布的尽头而不结束对话时,用户的下一条消息将在瀑布的第一步重新启动该对话。 p>

【问题讨论】:

    标签: node.js botframework azure-language-understanding


    【解决方案1】:

    您可以使用LuisRecognizer.onEnabled() 来禁用您的 LUIS 调用,而您正处于一个 dialogStack 的中间,甚至是在一个对话框的中间。这将解决在提示中识别意图的问题。

    这是我在使用RegExpRecognizer 时写的关于实现该方法的example.onEnabled() 继承自IntentRecognizer)。

    这是我写的 Stack Overflow 问题的 answer

    【讨论】:

    • Steven,示例链接丢失
    • 哎呀,感谢您指出这一点!添加了答案的链接
    • 感谢您的回复,最后我选择了这个解决方案stackoverflow.com/a/43351847/6696049
    • 太棒了!我很高兴你找到了适合你的东西。 :)
    猜你喜欢
    • 1970-01-01
    • 2020-02-17
    • 2023-03-17
    • 2019-06-17
    • 2017-09-26
    • 1970-01-01
    • 2013-09-29
    • 2022-10-06
    • 2021-10-31
    相关资源
    最近更新 更多