【问题标题】:Luis and QnA in same appLuis 和 QnA 在同一个应用程序中
【发布时间】:2017-09-21 15:48:22
【问题描述】:

如果 QnA 是使用 luis 创建的,是否可以将 QnA 集成到我的聊天机器人中?当 luis 没有答案时,我想使用 luis 的意图“none”来触发 QnA。 我该怎么做?

【问题讨论】:

    标签: artificial-intelligence azure-language-understanding


    【解决方案1】:

    查看Qna + LUIS Node.js 示例。

    【讨论】:

      【解决方案2】:

      是的,这是可能的。

      在 Luis 对话框中添加这个

      [LuisModel("modelID", "SubscriptionKey")]
      [Serializable]
      public class RootDialog : LuisDialog<object>
      {
          [LuisIntent("None")]
          public async Task NoneRes(IDialogContext context, LuisResult result)
          {
                  var qnadialog = new QnADialog();
                  await context.Forward(new QnADialog(), AfterQnADialog, context.Activity, CancellationToken.None);
          }
          private async Task AfterQnADialog(IDialogContext context, IAwaitable<object> result)
          {
              var answerFound = await result;
              // handle after qna response
          }
      }
      

      然后在 QnADialog 中添加这个

      [Serializable]
      [QnAMaker(authKey: "AuthKey", knowledgebaseId: "KnowledgebaseId", defaultMessage: "please rephrase, I could not understand.", scoreThreshold: 0.5, top: 1, endpointHostName: "https://yourAccount.azurewebsites.net/qnamaker")]
      public class QnADialog : QnAMakerDialog
      {}
      

      因此,每当您的 LUIS 将返回 None 意图时,它都会调用 QnADialog 在属性本身中您将提供 AuthKey、知识库 ID、默认响应、主机地址等,它会起作用。

      希望这会有所帮助

      【讨论】:

        【解决方案3】:

        你可以试试Dispatch tool for multiple LUIS and QnA models:

        如果机器人使用多个 LUIS 模型和 QnA Maker 知识库 (KB),您可以使用 Disptach 工具确定哪个 LUIS 模型或 QnA Maker KB 最适合用户输入。调度工具通过创建单个 LUIS 应用来将用户输入路由到正确的模型来实现这一点。

        该工具适用于 Bot Builder SDK v4。

        【讨论】:

          猜你喜欢
          • 2019-12-13
          • 1970-01-01
          • 1970-01-01
          • 2020-02-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多