【问题标题】:Bot framework to work with LUIS intent & match intent & pro-active dialog与 LUIS 意图和匹配意图和主动对话一起使用的 Bot 框架
【发布时间】:2017-05-21 05:40:29
【问题描述】:

我使用 LUIS 框架构建了一个运行良好的机器人。 在处理它的过程中,有几个要点如下所述

  1. 与 LUIS 意图连接后;机器人无法检查正则表达式意图 喜欢

    对于我正在尝试设置的 ex dialog.matches('^helpdesk/i',function())

var dialog = new builder.IntentDialog({ recognizers: [recognizer] });

  1. 如何在开始对话之前主动向用户发送问候消息,就像我会向用户发送选择提示一样,用户可以选择。如果没有任何东西符合该要求,我希望 LUIS 能够工作并理解这一点
  2. 如何知道 Skype for Business 频道中登录的用户上下文
  3. 卡在 Skype for business 中无法使用

【问题讨论】:

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


    【解决方案1】:

    为您的代码;我假设您的 recognizer 是您唯一的 IntentRecognizer 并且是您提到的 LUIS 模型。

    在这种情况下,dialog.matches('^helpdesk/i',function()) 不正确;您与正则表达式匹配的代码应该是dialog.matches(/^helpdesk/i, function())

    或者,您可以在 IntentDialog 中添加 RegExpRecognizer

    var helpdesk = new builder.RegExpRecognizer('HelpDeskIntent', /^helpdesk/i);
    var dialog = new builder.IntentDialog({ recognizers: [helpdesk, recognizer] });
    
    1. 正如 Bob 所说,您正在寻找 conversationUpdate,这是一个 example,它会在用户加入时发送消息

    2. 澄清一下,这是一个关于让您的机器人知道用户何时登录的问题吗?还是您在询问 session.userData?

    3. Skype for Business 目前不支持卡片。

    【讨论】:

    • 感谢@Steven G. 在我想要/helpdesk、/itsupport、/hrhelpdesk 的情况下,我是否需要使用多个识别器?如果我们可以为多个对话框使用 dialog.matches() 会怎样
    • 您最终可以使用多个识别器,但您也可以使用triggerAction() 调用这些对话框。根据您设置对话框的方式,您可以安排它,以便通过triggerAction() 您可以随时访问这些帮助对话框。我认为您不能以您可能想到的方式使用 dialog.matches() ,但我可能不正确;你有一个例子吗?例如你在说matches(/^(helpdesk|hrhelpdesk)/i) 我不认为你在问这个...?
    【解决方案2】:
    1. 您可以捕捉到用户何时被添加到对话中。检查conversation.update.

    2. 每个活动都有自己的属性。其中之一是serviceUrl

    对于第三个问题,请提供您的代码。

    【讨论】:

      猜你喜欢
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多