QnA制造商-REST API和预览页之间的结果不同

时间:2018-09-21 16:22:45

标签: azure botframework bots qnamaker

我正在使用Azure QnA版本4。我正在使用REST API进行发布。 如果我使用参数isTest = true在实时数据库中发布,我的答案得分大约为80%,这非常合理,因为我的问题几乎与数据库匹配。使用qnamaker.ai上的Web界面,我得到的结果完全相同。

针对发布的版本使用相同的POST(没有isTest = true),我的分数仅为13%(对于输入几乎与数据库匹配的问题,这是很奇怪的)。 我在常见问题解答中发现了一些提示,即轻微的差异是正常的,但我认为67%的差异并不正常。有什么我可以做的,以便发布的版本分数更接近测试版本吗?

4 个答案:

答案 0 :(得分:0)

测试版本和发布的版本为two different knowledge bases。这样,您就可以进行更改和测试,而不会影响客户使用的实时知识库。如果您发布的知识库所得到的结果比测试版本的结果差,这似乎表明您已在发布后训练了测试知识库。重新发布可能会解决该问题。

如果您再次发布,但发布的版本似乎仍然与测试版本不一样,请在FAQ中考虑以下条目:

  

我对知识库所做的更新未反映在发布中。为什么不呢?

     

每次编辑操作,无论是在表更新,测试还是设置中,   需要先保存,然后才能发布。请务必点击   每次编辑操作后,保存并训练按钮。

答案 1 :(得分:0)

我也有同样的问题。当我在Azzure中创建QnA服务时,这与出问题有关。 QnA知识库的语言会自动检测到。您可以在Azure搜索Ressource => testkb => Fields => question / awnser MSDN

中看到您的语言。

我的矿山设置为 Standard-Lucene ,而不是 German-Microsoft 。我没有找到任何改变的方法,所以我不得不重新创建QnA服务并将所有知识库移到那里。 Example picture wrong language Example picture correct language

答案 2 :(得分:0)

我正在使用今年2月创建的QnA服务。测试(QnA门户)与发布的版本(api)之间存在差异。正确答案将下降10%,而错误答案将上升10%,最终将测试中的良好匹配转换为bot应用程序中的不良匹配。尝试向您的客户解释。

如果在单个搜索服务上使用多个KB(=知识库),则似乎会遇到此麻烦。测试索引是一个单一索引,涵盖了该搜索服务的所有KB,而生产KB在发布时会按KB分别编制索引。 QnA门户上的QnA Maker帮助机器人提到了这一点:

“由于测试索引和生产索引之间的分数差异很小,因此最高答案有时可能会有所不同。门户中的测试聊天会影响测试索引,generateAnswer API会影响生产索引。通常,当您拥有多个知识库时,就会发生这种情况在同一QnA Maker服务中。Learn more about confidence score differences

之所以会发生这种情况,是因为所有测试知识库都组合到一个索引中,而产品知识库则位于单独的索引中。我们可以通过将所有测试和产品分解为服务的单独索引来为您提供帮助。”

因此,我们需要与Microsoft联系,以也将每KB的测试索引分成几部分?这样可以纠正测试版本和发布版本之间的任何差异吗?还没有尝试过这个吗?

还是将每个搜索服务限制为一个KB(=多个搜索服务=昂贵)。

还是我们将所有内容都放在一个KB中,然后使用元数据从逻辑上分离答案,并祈祷这个单个大KB产生足够好的结果?

答案 3 :(得分:0)

Pursang的回答很好。 解决此问题的一种好方法是在QnAMaker发布请求主体上添加“ isTest:true”。它为我工作。 当我们必须添加多个知识库时,这是qnaMaker错误。

{“问题”:“您的问题在这里”,“顶部”:3,“ isTest”:true}

祝你好运!