2017-10-13 97 views
4

我需要使用Node.js和Microsoft Bot Framework制作双语bot。该机器人将LUIS用于自然语言。创建支持Microsoft Bot框架中的两个LUIS应用程序的bot

我用标准的方式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?或者有任何其他方式来做到这一点?

回答

3

你可以尝试以下方法:

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

是这里的想法,基本上任何型号的意图分数越高,LUIS将自动选择模型和意图是什么?我正在考虑选择错误模型的后果 – K48

相关问题