在对话框中时禁用qna识别器

时间:2018-12-01 00:24:09

标签: node.js botframework luis qnamaker

我正在使用Luis和QnA制造商,qna制造商现在正在中断瀑布提示。我已使用下面的代码禁用了Luis提示符,如何对qna识别器执行相同的操作?

var recognizer = new 
builder.LuisRecognizer(LuisModelUrl).onEnabled(function (context, 
callback) {
     var enabled = context.dialogStack().length == 0;
     callback(null, enabled);
    });
bot.recognizer(recognizer);
bot.recognizer(qnaRecognizer);
console.log(recognizer);

例如:马桶的哪一部分坏了? (1个水箱,2个管道或3个阀座)

qna情感会拾取除完全匹配之外的所有内容,从而替换对话框堆栈

谢谢

1 个答案:

答案 0 :(得分:0)

您不必为使代码正常工作而禁用任何一个。我怀疑问题出在您的对话流程中。以下是如何构造漫游器对话框部分的示例。当我运行此程序时,记录器中间件显示QnA与我提供的输入匹配,但是由于代码的原因,该机器人决定了对话。

state

在下图中,当我键入在LUIS应用程序中训练的“我很高兴[待在这里]”时,LUIS带我进入问候语意图。机器人对话框接管我问问题并存储答案。即使我声明QnA或LUIS都不应该对此做出回应。对话遵循代码。

如果Qna接管了它,则会用一些有关QnA Maker的文字回复“您是什么”。同样,由于我分别对QnA或LUIS都有主题/意图,因此“帮助”会从QnA或LUIS产生响应。

enter image description here