首页 > 解决方案 > 添加 QnA Maker 资源时,机器人问候停止工作

问题描述

使用 Microsoft 提供的出色资源。遵循https://docs.microsoft.com/en-us/composer/上的文档

  1. 在某处创建文件夹
  2. 在该文件夹中执行https://docs.microsoft.com/en-us/composer/setup-yarn
  3. 执行https://docs.microsoft.com/en-us/composer/tutorial/tutorial-create-bot
  4. 在模拟器中测试:按下重启对话 - 新用户 ID:工作正常,回复:嗨!我是一个友好的机器人,可以帮助天气。试着说天气或预报。
  5. 执行https://docs.microsoft.com/en-us/composer/tutorial/tutorial-add-dialog
  6. 在模拟器中进行测试:在用户输入“天气”时呈现“让我们检查天气”som 响应。工作正常。
  7. 然后使用 Dialog 事件和 Dialog 开始创建新触发器并继续:https://docs.microsoft.com/en-us/composer/how-to-add-qna-to-bot,在设置中输入以下内容

在此处输入图像描述

现在有三个问题:

A. 不再有任何问候语。

B. QnA 制造商的第一个响应导致“字典中不存在给定的键 'stepIndex'。”。然后在此之后 QnA 制造商部分工作,但问题 A 和 C 仍然存在。

C. 天气正则表达式仅在第一次输入时触发一次,然后在第二次尝试或输入其他内容后,它无法触发。

预期行为:

  1. 当按下重新启动对话 - 新用户 ID 时,机器人应该向用户致意。
  2. 当天气正则表达式是最好的选择时,它应该触发
  3. 不应将文本“字典中不存在给定键'stepIndex'”作为第一个响应呈现,而应根据所提供的意图呈现正确的回复。

标签: botframeworkchatbotqnamaker

解决方案


我对此游戏有点晚了,但我在作曲家遇到了完全相同的问题并发现了同样的问题。在 MS Docs 中使用未知意图的建议方法效果不佳。它实际上只是一个让您尽快启动和运行的教程,除此之外没有真正的想法 - 正如您所指出的,它很容易陷入内部循环,阻止其他意图触发。

假设您使用的是 Luis.ai,则应添加“已识别 QnA 意图”和“已识别重复意图”。这将确保实施自动交叉训练,以便 QNAmaker 了解 Luis Questions,反之亦然,他们不仅会理解自己的问题,而且知道在其他方法中排除问题。这将有助于更好的训练。但是,根据两者的相似程度,它们可能都会返回不同置信度的匹配 - 这就是“识别的重复意图”的用途。它在他们执行他们的意图之前捕获两者并实施对每个人的信心检查并重新引发获胜的事件。从而确保仅识别和执行两者中的一个。


推荐阅读