我有一个利用LUIS并使用触发器操作的机器人。所有意图都很好,但是当"无"时,我无法再获得任何结果。意图受到了打击。
我从在线研究中了解到,我可能不得不添加onDefault操作,但我无法找到任何证明这一点的好文档。有谁知道如何使用triggerAction()?
目前的代码如下:
bot.dialog('None', [
function (session, results, args, next) {
session.send("NONE INTENT TRIGGERED", session);
};
]).triggerAction({
matches: 'None'
});
非常感谢正确方向上的任何指示。
答案 0 :(得分:2)
注意:使用IntentDialog时,应避免为LUIS的“无”意图添加matches()处理程序。改为添加onDefault()处理程序(或使用全局识别器时的默认对话框)。这样做的原因是,如果LUIS模型不理解用户话语,它通常会为None intent返回非常高的分数。在您使用多个识别器配置IntentDialog的情况下,这些识别器可能导致无意图从具有略低分数的其他模型的非无意图中获胜。因此,LuisRecognizer类一起抑制None intent。如果您明确注册“无”的处理程序,它将永远不会匹配。然而,onDefault()处理程序(或僵尸程序的默认对话框)可以达到相同的效果,因为当所有模型报告“无”的顶级意图时,它基本上会被触发。
来源:https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/intelligence-LUIS
答案 1 :(得分:0)
let timer = TimerModel.sharedTimer
timer.startTimer(withInterval: 0.25) {
self.testing()
}
var counter = 0
func testing() {
counter += 1
print("this is a test \(counter)")
}
有一个处理dialog
的方法onDefault
。像:
None