2

这有点奇怪。我已经在预览版和普遍可用的 QnA Maker 服务中创建了一个具有相同 excel 文件的知识库,但在最后一个中没有找到很多问题......在预览版中一个工作正常。

我注意到预览版可以找到任何字序的答案,但不是普遍可用的。

我需要做什么?问题是什么?

我正在使用 QnAMaker 测试: 在此处输入图像描述

编辑 1:如果我在 Azure 中进入我的搜索服务 - > 搜索资源管理器,它可以正常工作并且我可以正确找到答案,如在 QnA 预览测试中,但不是在 QnA GA 测试中。

编辑2:我正在使用节点。我创建了一个 azure SDKv3 Qna 模板机器人,编辑了 QnAAuthKey/QnAEndpointHostName/QnAKnowledgebaseId,我已经尝试使用“在网络聊天中测试”,但我总是得到“不匹配!尝试更改查询条件!” 信息。

此外,我尝试在此处获取与创建 KB 时 QnaMaker 提供的“主机”参数不同的“主机名”(以 /qnamaker 结尾)。然后我将它与代码一起使用以从此处获取答案,但我收到“未找到”错误:https ://xx.azurewebsites.net/qnamaker/knowledgebases/xxx.../generateAnswer 。错误:getaddrinfo ENOTFOUND https://xxx.azurewebsites.net https://xx.azurewebsites.net:443

编辑 3:在对我的 KB 的不同语言进行多次测试后,我认为问题出在语言识别变化和信心分数上。我现在正在重写一些问题......

GA 堆栈具有新的改进的排名算法,因此与预览堆栈相比,您可能会看到响应的置信度得分存在一些差异。

4

3 回答 3

1

由于 QnAMaker 可用,搜索方法发生了变化:它现在使用Azure 搜索,而不仅仅是您之前可能看到的令牌比较。

新架构如下:

在此处输入图像描述

主要影响是搜索功能的巨大改进,因为过去它可以找到不相关的答案。

例如,如果您的 KB 如下所示:

  • 问题 1:“我想要一辆车”/答案 1:“你可以在……租车”

  • 问题2:“我怎样才能得到三明治?” / Answer2:“你饿了吗?……”

如果你问你的知识库“我怎样才能得到一辆车?”,它可能会回答“你饿了吗?......”!

关于您的搜索性能,目前没有真正的文档来解释如何改进它,但它必须主要基于索引

于 2018-05-18T07:44:33.237 回答
0

我们有类似的问题,看起来,它已经在 MS 端修复了。从头开始重新创建新的 KB 确实很有帮助。

来自微软的回答:

您的 KB 似乎受到我们现在已修复的最近错误的影响 - 它导致结果的相关性降低。您能否重新创建知识库并查看您是否仍面临这些查询匹配问题?

要快速重新创建 KB,只需从知识库的“设置”选项卡中“导出知识库”。在“设置”页面创建一个新的空知识库和“导入知识库”。

于 2018-06-10T11:29:20.373 回答
-1

发布后,当您获得所有必要的设置信息,如知识库 id、authkey、主机 url。你可以在这样的代码中添加然后

QnADialog.cs

namespace Test.Qna
{
    [Serializable]
    [QnAMaker(authKey: "AuthKey", knowledgebaseId: "KnowledgebaseId", defaultMessage: "please rephrase, I could not understand.", scoreThreshold: 0.5, top: 1, endpointHostName: "https://yourAccount.azurewebsites.net/qnamaker")]
    public class QnADialog : QnAMakerDialog
    {}
}

如果您使用的是 Node js,那么您可以添加这样的设置

    var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
    console.log('%s listening to %s', server.name, server.url);
});

var connector = new builder.ChatConnector({
    appId: process.env.MICROSOFT_APP_ID,
    appPassword: process.env.MICROSOFT_APP_PASSWORD
});
var bot = new builder.UniversalBot(connector);
bot.set('storage', new builder.MemoryBotStorage()); 
server.post('/api/messages', connector.listen());

var recognizer = new cognitiveservices.QnAMakerRecognizer({
    knowledgeBaseId: '5abcde-cbfb-4yuio-92c5-052d3a806e78',
    authKey: 'eb7uy78y-8a64-4e75-98uj-7f89987b67bc',
    endpointHostName: 'https://name.azurewebsites.net/qnamaker'
    });

var basicQnAMakerDialog = new cognitiveservices.QnAMakerDialog({
    recognizers: [recognizer],
    defaultMessage: 'No match! Try changing the query terms!',
    qnaThreshold: 0.3
});

bot.dialog('/', basicQnAMakerDialog);

希望这会有所帮助。有关分步指南,请点击此链接

于 2018-05-20T09:07:27.470 回答