Node.js “无法匹配”;无”;意图触发

Node.js “无法匹配”;无”;意图触发,node.js,botframework,azure-language-understanding,Node.js,Botframework,Azure Language Understanding,我有一个机器人,它利用路易斯并利用触发动作。所有的意图都很好,但当“无”意图被击中时,我再也无法得到任何结果 我通过在线调查了解到,我可能需要添加一个onDefault操作,但我找不到任何好的文档来证明这一点。有人知道如何使用triggerAction()实现此功能吗 当前代码如下所示: bot.dialog('None', [ function (session, results, args, next) { session.send("NONE INTENT TRIG

我有一个机器人,它利用路易斯并利用触发动作。所有的意图都很好,但当“无”意图被击中时,我再也无法得到任何结果

我通过在线调查了解到,我可能需要添加一个onDefault操作,但我找不到任何好的文档来证明这一点。有人知道如何使用triggerAction()实现此功能吗

当前代码如下所示:

bot.dialog('None', [
    function (session, results, args, next) {
        session.send("NONE INTENT TRIGGERED", session);

    };
]).triggerAction({
    matches: 'None'
});

如果有任何指向正确方向的指针,我们将不胜感激。

对话框
有一个处理
的方法。比如:

dialog.onDefault (function (session) {
  session.send ('I did not understand your request!');
});

对话框
有一个处理
None
的方法
onDefault
。比如:

dialog.onDefault (function (session) {
  session.send ('I did not understand your request!');
});
注意:使用IntentDialog时,应避免为LUIS的“无”意图添加matches()处理程序。改为添加onDefault()处理程序(或使用全局识别器时的默认对话框)。原因是,如果路易斯模型不理解用户的话语,它通常会对“无意图”返回非常高的分数。在您使用多个识别器配置IntentDialog的场景中,可能会导致non-intent从分数稍低的不同模型中胜出non-non-intent。因此,LuisReceigner类一起抑制了无意图。如果显式地为“None”注册处理程序,它将永远不会匹配。不过,onDefault()处理程序(或bot的默认对话框)可以实现相同的效果,因为当所有模型都报告了“无”的最高意图时,它基本上会被触发

资料来源:

注意:使用IntentDialog时,应避免为LUIS的“无”意图添加matches()处理程序。改为添加onDefault()处理程序(或使用全局识别器时的默认对话框)。原因是,如果路易斯模型不理解用户的话语,它通常会对“无意图”返回非常高的分数。在您使用多个识别器配置IntentDialog的场景中,可能会导致non-intent从分数稍低的不同模型中胜出non-non-intent。因此,LuisReceigner类一起抑制了无意图。如果显式地为“None”注册处理程序,它将永远不会匹配。不过,onDefault()处理程序(或bot的默认对话框)可以实现相同的效果,因为当所有模型都报告了“无”的最高意图时,它基本上会被触发


资料来源:

只是确认一下,你对路易斯没有任何意图,对吗?没错。此外,当我将意图从“无”更改为另一个列出的意图时,它会触发。看起来匹配“无”意图是有问题的,这需要通过onDefault来处理。我只是找不到一个node的例子。不熟悉node,但在C#中,“None”的意图只是用一个空字符串表示。你试过这个吗?谢谢你的建议。我试过了,没用。我期待着写“从来没有这么少的角色能达到这么多”——唉。我可以看到这是如何完成的,Pavel似乎提到了这个问题,但我无法让onDefault处理程序工作。你是在使用IntentDialog,还是在网上跟踪一个示例?只是为了确认,你在LUIS中没有意图,对吗?这是正确的。此外,当我将意图从“无”更改为另一个列出的意图时,它会触发。看起来匹配“无”意图是有问题的,这需要通过onDefault来处理。我只是找不到一个node的例子。不熟悉node,但在C#中,“None”的意图只是用一个空字符串表示。你试过这个吗?谢谢你的建议。我试过了,没用。我期待着写“从来没有这么少的角色能达到这么多”——唉。我可以看到这是如何完成的,Pavel似乎提到了这个问题,但我无法让onDefault处理程序工作。您是在使用IntentDialog,还是在网上跟踪一个示例?谢谢您的回答!谢谢你的回答!