有点奇怪。 我已经在预览和普遍可用的QnA Maker服务中创建了一个具有相同excel文件的知识库,但它在最后一个中找不到很多问题...在预览中,一个工作正常。
我注意到预览版可以找到任何单词顺序的答案,但不是通常可用的。
我该怎么办?有什么问题?
编辑1: 如果我进入Azure搜索服务 - >搜索资源管理器它工作正常,我找到了正确的答案,如在QnA预览测试中,但没有在QnA GA测试中。
编辑2:我正在使用节点。我已经创建了一个天蓝色的SDKv3 Qna模板机器人,编辑了QnAAuthKey / QnAEndpointHostName / QnAKnowledgebaseId,我尝试了“网上聊天测试”,但我总是“不匹配!尝试更改查询条款!”消息。
此外,我尝试获取“主机名”here,这与我在创建KB时以QnaMaker提供的“主机”参数不同(以/ qnamaker结束)。然后我将其与代码一起使用以从here获得答案,但我收到“未找到”错误:https://xx.azurewebsites.net/qnamaker/knowledgebases/xxx.../generateAnswer。错误:getaddrinfo ENOTFOUND https://xxx.azurewebsites.net https://xx.azurewebsites.net:443
编辑3:在使用我的KB的不同语言进行多次测试后,我认为问题在于语言识别更改和置信度分数。我现在正在重写一些问题......
答案 0 :(得分:1)
由于QnAMaker可用,搜索方法已更改:现在使用 Azure搜索,而不仅仅是您之前看到的令牌比较。
新架构如下:
主要影响是搜索功能的大幅改进,因为过去它可能会找到不相关的答案。
例如,如果您的KB如下所示:
问题1:“我想要一辆车”/答案1:“你可以租一辆车......”
问题2:“我怎样才能买三明治?” /答案2:“你饿了吗...... ......”
如果你问你的KB“我怎么才能开车?”,它可能会回答“你饿了吗?......”!
关于搜索的性能,目前没有真正的文档来解释如何改进它,但它必须主要基于索引
答案 1 :(得分:0)
我们有类似的问题,看起来,它已经在MS方面修复了。从头开始重新创建新的KB确实有帮助。
微软的回答:
看起来您的KB受到我们现在修复的最近错误的影响 - 它导致结果的相关性降低。您是否可以重新创建知识库并查看是否仍然面临这些查询匹配问题?
要快速重新创建知识库,只需从知识库中的“设置”标签中“导出知识库”即可。在“设置”页面中创建一个新的空KB和“导入知识库”。
答案 2 :(得分:-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);
希望这会有所帮助。 有关分步指南,请按照this link
进行操作