gpt4 book ai didi

node.js - 机器人框架 : is it possible to combine LUIS intents and normal intents?

转载 作者:太空宇宙 更新时间:2023-11-04 00:24:43 25 4
gpt4 key购买 nike

我目前正在使用 Microsoft Botframework for NodeJS 迈出聊天机器人的第一步。

到目前为止,我已经看到了“正常”意图和 LUIS.ai 意图

是否可以将两者结合起来?

我有一个 .onDefault 意图,它不是 LUIS 意图,也不是 LUIS 意图,但无论输入是什么,它总是返回 LUIS 意图的输出。

有人可以给我一个简单的例子或者给我指出一个吗?

提前致谢

最佳答案

可以组合 LUIS 意图和普通意图。为此,我们将使用两个 IntentRecognizer; LuisRecognizerRegExpRecognizer .

let pizzaRecognizer = new builder.LuisRecognizer('YOUR-LUIS-MODEL');
let mathRecognizer = new builder.RegExpRecognizer('MathHelp', /(^mathhelp$|^\/mathhelp$)/i);

现在让我们创建 IntentDialog并配置其 options ...

let intents = new builder.IntentDialog({ recognizers: [mathRecognizer, pizzaRecognizer], recognizeOrder: 'series' })

通过将 PizzaRecognizer 和 mathRecognizer 合并到一个列表中,我们可以将此列表传递给我们的“识别器”属性,以便 IntentDialog 使用这两个识别器。我们要修改的最后一个属性是“recognizerOrder”,它的默认值是“parallel”。通过将值更改为“series”,IntentDialog 现在将首先触发我们的 RegExpRecognizer“mathRecognizer”。如果存在得分为 1 的匹配项,则不会使用 LuisRecognizer,从而节省浪费的 LUIS 端点命中。

我想重申一下,如果您尝试使用 RegExpRecognizers 来加快聊天机器人的响应速度并减少聊天机器人发出的 LUIS 调用量,您需要首先将这些识别器传递到您的识别器列表中。然后,您需要将 recognizerOrder 设置为 'series'。如果不将订单设置为系列,您的聊天机器人将继续执行 LUIS 调用。另请注意,任何匹配的意图的分数必须为 1.0,以防止使用其他识别器。为了鼓励完美匹配,您应该使用 RegExp 量词 ^$ 来定义要匹配的模式的明确起点和终点。 (参见 mathRecognizer 示例)

如果准确性是您的首要任务,那么您不应更改 'recognizerOrder' 的值,这样它将立即使用所有识别器。

我构建了一个示例 here供您检查。我还包含了 Luis 模型,名为 LuisModel.json。

关于node.js - 机器人框架 : is it possible to combine LUIS intents and normal intents?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43214207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com