【问题标题】:Does QnAMaker Service sort the answers by score if there are multiple?如果有多个答案,QnAMaker 服务是否会按分数对答案进行排序?
【发布时间】:2020-09-29 08:27:01
【问题描述】:

我们正在使用微软的 QnAMaker 服务来构建一个常见问题解答机器人。我想知道 当有多个不同分数的匹配时,api 响应是否对答案进行了排序。 api会先返回最高分的答案吗?

我们用一个样本对其进行了测试,但想确保这里没有其他因素在起作用。请告诉我。

谢谢!

【问题讨论】:

    标签: qnamaker


    【解决方案1】:

    您可以在official docs 中了解 QnA Maker 如何处理用户查询:

    1. 客户端应用程序将用户查询发送到 GenerateAnswer API。
    2. QnA Maker 使用语言检测、拼写器和分词器对用户查询进行预处理。
    3. 此预处理用于更改用户查询以获得最佳搜索结果。
    4. 此更改后的查询被发送到 Azure 认知搜索索引,该索引接收最多的结果。如果这些结果中没有正确答案,请稍微增加 top 的值。一般来说,top 的值 10 在 90% 的查询中有效。
    5. QnA Maker 使用基于句法和语义的特征化来确定用户查询与获取的 QnA 结果之间的相似性。
    6. 机器学习的排名器模型使用第 5 步中的不同特征来确定置信度分数和新的排名顺序。
    7. 新结果按排名顺序返回到客户端应用程序。

    使用的功能包括但不限于词级语义、语料库中的术语级重要性以及用于确定两个文本字符串之间的相似性和相关性的深度学习语义模型。

    Typescript SDK 还在generateAnswer method 上指定以下内容:

    返回按得分排序的答案数组,得分最高 答案首先返回。

    您还应该知道,QnA Maker 排名过程涉及多种资源 - Azure Cognitive Search and QnA Maker

    认知搜索资源用于存储 QnA 对并在运行时提供 QnA 对的初始排名(ranker #1)。

    QnA Maker 资源在运行时提供对创作和发布 API 以及基于自然语言处理 (NLP) 的 QnA 对的第二个排名层(排名器 #2)的访问。

    第二个排名应用了可以包含元数据和后续提示的智能过滤器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      • 2015-05-05
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      相关资源
      最近更新 更多