【问题标题】:Does Microsoft chatbot(Node.js) support multiple language in the single LUIS.AI application?Microsoft 聊天机器人 (Node.js) 是否支持单个 LUIS.AI 应用程序中的多种语言?
【发布时间】:2017-09-15 15:36:56
【问题描述】:

我有一个使用 Node.js 在 Microsoft bot 框架中构建的聊天机器人,我将这个机器人与一个名为 LUIS.AI 智能的 NLP 框架集成,以根据用户的意图和实体来处理用户对话。在这里,我需要这个机器人在单个 LUIS 应用程序中支持多种语言,但它不允许我们这样做。是否有任何 hacky 方法可以在单个 LUIS 应用程序或代码级别支持多种语言?

【问题讨论】:

  • 在同一个对话(/文档)或句子(例如西班牙文、塔格利什)中混合语言?是否明确知道哪些部分是语言 A 和语言 B?

标签: node.js botframework multilingual chatbot azure-language-understanding


【解决方案1】:

代码级别:您可以创建多个 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 的本地化功能来生成提示和消息。

LUIS 级别: LUIS 仅支持每个应用程序一种语言,因此必须创建多个应用程序。

【讨论】:

  • 感谢您的回复。所以唯一的方法是在 LUIS 中创建多个应用程序来支持多语言应用程序。?是否有任何其他选择可以让我们拥有一个应用程序(英语)并为多语言目的翻译机器人响应和用户响应?
  • 没问题!您可以使用 Translator Text API 来翻译所有传入的消息,然后再将它们发送到 LUIS。在这种情况下,您需要在调用 LUIS 识别器之前使用中间件来处理翻译。您还可以使用中间件来翻译机器人的响应,这样您就不必在机器人内部使用额外的本地化。
  • 谢谢史蒂文。真的很有帮助。
  • 没问题!很高兴帮助:)
猜你喜欢
  • 2021-09-13
  • 2020-10-27
  • 2019-09-30
  • 2023-04-02
  • 2018-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多