在Microsoft Bot Framework

时间:2017-10-13 10:37:05

标签: node.js bots botframework

我需要使用Node.js和Microsoft Bot Framework制作双语机器人。机器人使用LUIS作为自然语言。

我使用标准方式插入LUIS:

// Create bot, send welcome message:
let bot = new builder.UniversalBot(connector, NoneIntentHandler);

// Plug in LUIS:
bot.recognizer(new builder.LuisRecognizer(config.luis.url));

但是,我需要支持两种语言,英语和中文。检测语言对我来说不是问题。我有两个单独的LUIS应用程序,一个用于英语,一个用于中文,它们返回相同的意图和实体。

但问题是如何在两个不同的应用之间动态切换,具体取决于用户输入的语言。 bot.recognizer不接受两个URL或任何其他参数。所以似乎没有内置的支持。

有没有办法用另一个bot动态杀死和重新创建recognizer对象?或者根据LUIS语言重新分配recognizer?或者其他任何方式吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试以下操作:

var recognizer1 = new builder.LuisRecognizer('<model 1>');
var recognizer2 = new builder.LuisRecognizer('<model 2>');
var intents = new builder.IntentDialog({ recognizers: [recognizer1, recognizer2] });