添加 QnA Maker 资源时机器人问候语停止工作

Pat*_*son 5 chatbot botframework azure-qna-maker

使用 Microsoft 提供的精彩资源。\n按照https://learn.microsoft.com/en-us/composer/上的文档进行操作

\n\n
    \n
  1. 在某处创建文件夹
  2. \n
  3. 在该文件夹中执行https://learn.microsoft.com/en-us/composer/setup-yarn
  4. \n
  5. 执行https://learn.microsoft.com/en-us/composer/tutorial/tutorial-create-bot
  6. \n
  7. 在模拟器中测试:按下重新启动对话 - 新用户 ID:工作正常,响应:嗨!我\xe2\x80\x99m是一个友好的机器人,可以帮助了解天气。尝试说“天气”或“预报”。
  8. \n
  9. 执行https://learn.microsoft.com/en-us/composer/tutorial/tutorial-add-dialog
  10. \n
  11. 在模拟器中测试:呈现\xe2\x80\x9d让\xe2\x80\x99s检查天气\xe2\x80\x9d som响应p\xc3\xa5用户输入\xe2\x80\x9cweather\xe2\x80\x9d。工作正常。
  12. \n
  13. 然后使用对话框事件创建新的触发器并启动对话框并继续:https://learn.microsoft.com/en-us/composer/how-to-add-qna-to-bot,在设置中输入以下内容
  14. \n
\n\n

在此输入图像描述

\n\n
    \n
  • 请注意,为了使用设置值,必须
    在 id 后面添加一个额外的 \xe2\x80\x9c=\xe2\x80\x9d \n,例如 \xe2\x80\x9c=settings.qna.knowledgebaseid\xe2\x80 \x9d。
  • \n
  • 另请注意,为了在欧洲实现此功能,使用我们的
    \n\xe2\x80\x9c,\xe2\x80\x9d 而不是 \xe2\x80\x9c.\xe2\x80\x9d 作为十进制标记,阈值必须设置为\n\xe2\x80\x9cfloat(\xe2\x80\x980.3\xe2\x80\x99)\xe2\x80\x9d 才能被评估为浮点数。

    \n\n
      \n
    1. 确保根据您的 QnA 基础设置准确。\n请注意,此时 LUIS 字段大部分为空,\n除了按照中所述预先填充的值\n https://learn.microsoft.com/en -us/composer/如何将 qna 添加到机器人
    2. \n
    3. 此时未添加 LUIS。
    4. \n
    5. 重启机器人
    6. \n
    7. 单击模拟器中的测试
    8. \n
    9. 按重新启动对话 - 新用户 ID
    10. \n
  • \n
\n\n

现在存在三个问题:

\n\n

A. 不再有任何问候语。

\n\n

B. QnA 制造商的第一个响应结果是 \xe2\x80\x9c。给定的键 \xe2\x80\x98stepIndex\xe2\x80\x99 不存在于字典中。\xe2\x80\x9d。然后,在此之后,QnA 制造商部分可以工作,但问题 A 和 C 仍然存在。

\n\n

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

\n\n

预期行为:

\n\n
    \n
  1. 当按“重新启动对话 - 新用户 ID”时,机器人应向\n用户打招呼。
  2. \n
  3. 当天气正则表达式是最佳选择时,它应该触发
  4. \n
  5. 文本 \xe2\x80\x9cThe给定的键 \xe2\x80\x98stepIndex\xe2\x80\x99 was not present in thedictionary\xe2\x80\x9d 不应作为第一个响应呈现,而应呈现正确的回复基于所提供的意图。
  6. \n
\n

小智 1

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

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