2017-10-13 1 views
4

Je dois créer un bot bilingue en utilisant Node.js et Microsoft Bot Framework. Le bot utilise LUIS pour le langage naturel.Créer un bot qui prend en charge deux applications LUIS dans Microsoft Bot Framework

J'utilise la méthode standard pour brancher LUIS:

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

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

Cependant, je dois prendre en charge deux langues, anglais et chinois. Ce n'est pas un problème pour moi de détecter une langue. J'ai deux applications LUIS distinctes, une pour l'anglais et une pour le chinois, et elles renvoient les mêmes intentions et entités.

Mais le problème est de savoir comment basculer dynamiquement entre deux applications différentes, en fonction de la langue d'entrée de l'utilisateur. Le bot.recognizer n'accepte pas deux URL ou d'autres paramètres. Il semble donc qu'il n'y a pas de support intégré pour cela.

Existe-t-il un moyen de tuer dynamiquement et de recréer l'objet bot avec un autre recognizer? Ou réaffecter le recognizer en fonction de la langue LUIS? Ou tout autre moyen de le faire?

Répondre

3

Vous pouvez les suivantes:

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

Est-ce que l'idée ici essentiellement des scores intention de modèle plus quel que soit, LUIS sélectionnera automatiquement ce modèle et cette intention? Je pense aux conséquences de la sélection du mauvais modèle – K48