你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

主动学习

通过“主动学习建议”功能,可以根据用户提交的内容为问答对提供替代问题建议,从而提高知识库的质量。 查看这些建议后,可以将其添加到现有问题,也可以拒绝它们。

知识库不会自动更改。 要使更改生效,必须先接受建议。 这些建议会添加问题,但不会更改或删除现有问题。

注意

QnA Maker 服务将于 2025 年 3 月 31 日停用。 问答功能的较新版本现已作为适用于语言的 Azure 认知服务的一部分提供。 有关语言服务中的问答功能,请参阅问答。 从 2022 年 10 月 1 日开始,你将无法创建新的 QnA Maker 资源。 有关将现有 QnA Maker 知识库迁移到问题解答的信息,请参阅迁移指南

什么是主动学习?

QnA Maker 通过隐式和显式反馈学习新的问题变体。

  • 隐式反馈 - 排名程序了解何时用户问题具有多个分数非常接近的答案,并将其视为反馈。 无需对此规则执行任何操作。
  • 显式反馈 - 从知识库返回分数差异很小的多个答案时,客户端应用程序会询问用户哪个是正确问题。 使用训练 API 将用户的显式反馈发送给 QnA Maker。

这两种方法都会为排名程序提供聚集的类似查询。

主动学习的工作原理

主动学习根据 QnA Maker 返回的前几个答案的评分触发。 如果与查询匹配的 QnA 对之间的分数差异位于一个较小范围内,则将该查询视为每个可能的 QnA 对的可能建议(作为替代问题)。 接受关于特定 QnA 对的建议问题后,其他对将拒绝该问题。 接受建议后,切记需要保存和训练。

在终结点获得合理数量和类型的使用查询的情况下,主动学习可提供最佳建议。 聚集 5 个或更多类似的查询后,QnA Maker 每 30 分钟会向知识库设计器建议基于用户的问题来供其接受或拒绝。 所有建议通过相似度聚集在一起,并且根据最终用户的特定查询频率显示替代问题排名靠前的建议。

在 QnA Maker 门户中显示建议的问题后,需要审阅并接受或拒绝这些建议。 没有用于管理建议的 API。

QnA Maker 隐式反馈的工作原理

QnA Maker 隐式反馈使用算法确定分数置信度,并给出主动学习建议。 用于确定置信度的算法并不是一个简单的计算。 以下示例中的范围并不是固定的,仅用作了解算法影响的指南。

当问题的分数置信度很高(例如 80%)时,考虑进行主动学习的分数范围较广,大约在 10% 以内。 随着置信度分数降低(例如 40%),分数范围也会降低,大约在 4% 以内。

在以下查询对 QnA Maker generateAnswer 的 JSON 响应中,A、B 和 C 的分数接近,将被视为建议。

{
  "activeLearningEnabled": true,
  "answers": [
    {
      "questions": [
        "Q1"
      ],
      "answer": "A1",
      "score": 80,
      "id": 15,
      "source": "Editorial",
      "metadata": [
        {
          "name": "topic",
          "value": "value"
        }
      ]
    },
    {
      "questions": [
        "Q2"
      ],
      "answer": "A2",
      "score": 78,
      "id": 16,
      "source": "Editorial",
      "metadata": [
        {
          "name": "topic",
          "value": "value"
        }
      ]
    },
    {
      "questions": [
        "Q3"
      ],
      "answer": "A3",
      "score": 75,
      "id": 17,
      "source": "Editorial",
      "metadata": [
        {
          "name": "topic",
          "value": "value"
        }
      ]
    },
    {
      "questions": [
        "Q4"
      ],
      "answer": "A4",
      "score": 50,
      "id": 18,
      "source": "Editorial",
      "metadata": [
        {
          "name": "topic",
          "value": "value"
        }
      ]
    }
  ]
}

QnA Maker 不知道哪个答案是最佳答案。 使用 QnA Maker 门户的建议列表选择最佳答案,并重新训练。

如何使用训练 API 提供显式反馈

QnA Maker 需要有关哪个答案是最佳答案的显式反馈。 如何确定最佳答案取决于你,还可能包括:

  • 用户反馈,选择其中一个答案。
  • 业务逻辑,例如确定可接受的分数范围。
  • 用户反馈和业务逻辑的组合。

在用户做出选择后,使用训练 API 将正确答案发送到 QnA Maker。

升级运行时版本以使用主动学习

运行时版本 4.4.0 及更高版本支持主动学习。 如果你的知识库是在早期版本上创建的,请升级运行时以使用此功能。

对替代问题启用主动学习

默认情况下,主动学习处于关闭状态。 启用它可以查看建议的问题。 启用主动学习后,需要将来自客户端应用的信息发送到 QnA Maker。 有关详细信息,请参阅使用机器人中的 GenerateAnswer 和训练 API 的体系结构流程

  1. 选择“发布”可发布知识库。 主动学习查询只能从 GenerateAnswer API 预测终结点收集。 QnA Maker 门户中“测试”窗格的查询不会影响主动学习。

  2. 要在 QnA Maker 门户中启用主动学习,请转到右上角,选择“名称”,然后转到“服务设置”

    Turn on active learning's suggested question alternatives from the Service settings page. Select your user name in the top-right menu, then select Service Settings.

  3. 找到 QnA Maker 服务,然后切换到“主动学习”

    On the Service settings page, toggle on Active Learning feature. If you are not able to toggle the feature, you may need to upgrade your service.

    注意

    上图中显示的确切版本仅用作示例。 你的版本可能与之不同。

    启用“主动学习”后,知识库会根据用户提交的问题定期建议新的问题。 可以通过再次切换设置来禁用“主动学习”

查看建议的替代问题

在每个知识库的“编辑”页上查看建议的替代问题

后续步骤