2017-09-15 7 views
2

나는 Node.js로 Microsoft bot 프레임 워크에 내장 된 chatbot을 가지고 있으며,이 봇을 LUIS.AI 인텔리전스라는 NLP 프레임 워크와 통합하여 의도와 엔티티 기반의 사용자 대화를 처리합니다. 여기서는 단일 LUIS 응용 프로그램에서 여러 언어를 지원하기 위해이 봇이 필요하지만 그렇게 할 수는 없습니다. 단일 LUIS 응용 프로그램 또는 코드 수준에서 여러 언어를 지원할 수있는 해킹 방법이 있습니까?Microsoft chatbot (Node.js)는 단일 LUIS.AI 응용 프로그램에서 여러 언어를 지원합니까?

답변

2

코드 수준 : 여러 LUIS 응용 프로그램을 만들고 ILuisModelMap을 사용하여 LuisRecognizer에 연결할 수 있습니다. 열쇠가 당신의 로케일이 될 것입니다.

// Assuming you've already instantiated your bot, time to instantiate 
// the LuisRecognizer with an ILuisModelMap. 

var many_language_recognizer = new builder.LuisRecognizer({ 
    'en': englishModel || process.env.EN_LUIS, 
    'es': spanishModel || process.env.ES_LUIS, 
    'fr': frenchModel || process.env.FR_LUIS 
}); 

bot.recognizer(many_language_recognizer); 

또한 SDK의 현지화 기능을 사용하여 프롬프트와 메시지를 생성 할 수 있습니다.

루이스 레벨 : 루이스는 따라서 하나 이상의 응용 프로그램을 만들 필요, 응용 프로그램 당 하나 언어를 지원합니다.

+0

답변 해 주셔서 감사합니다. 그래서 유일한 방법은 다중 언어 응용 프로그램을 지원하기 위해 LUIS에 여러 응용 프로그램을 만드는 것입니다. 우리쪽에 하나의 응용 프로그램 (영문)을 갖고 다중 언어 목적을위한 봇의 응답과 사용자 응답을 번역하는 다른 옵션이 있습니까? –

+0

물론! [Translator Text API] (https://azure.microsoft.com/en-us/services/cognitive-services/translator-text-api/)를 사용하여 들어오는 모든 메시지를 LUIS로 보내기 전에 번역 할 수 있습니다. 이 경우 LUIS 인식자가 호출되기 전에 미들웨어를 사용하여 번역을 처리해야합니다. 또한 미들웨어를 사용하여 봇의 응답을 번역 할 수 있으므로 봇 내부에서 추가로 현지화 할 필요가 없습니다. –

+0

감사합니다 스티븐. 정말 도움이됩니다. –