Nlp 如何合并2个LUIS模型?

Nlp 如何合并2个LUIS模型?,nlp,botframework,bots,azure-language-understanding,cortana-skills-kit,Nlp,Botframework,Bots,Azure Language Understanding,Cortana Skills Kit,我有两个路易斯模型。一个用于非生产机器人,另一个用于生产机器人。作为日常发展和新技能的一部分,我在LUIS non-prod应用程序上做了很多更改。现在,我们正计划将这些技能部署到prod bot,因此我们需要对prod LUIS进行相同的LUIS更改 我当然可以,通过复制意图和实体、话语,用非prod更新prod-LUIS模型,但当然这是非常耗时的错误 我想知道合并2个LUIS模型和/或我可以使用的任何其他最佳实践的最佳方法 如果这两个模型在不同的LUIS应用程序中,请使用该工具。它将把它们合

我有两个路易斯模型。一个用于非生产机器人,另一个用于生产机器人。作为日常发展和新技能的一部分,我在LUIS non-prod应用程序上做了很多更改。现在,我们正计划将这些技能部署到prod bot,因此我们需要对prod LUIS进行相同的LUIS更改

我当然可以,通过复制意图和实体、话语,用非prod更新prod-LUIS模型,但当然这是非常耗时的错误


我想知道合并2个LUIS模型和/或我可以使用的任何其他最佳实践的最佳方法

如果这两个模型在不同的LUIS应用程序中,请使用该工具。它将把它们合并成一个应用程序。如果在一个应用程序中有两个模型(作为版本),那么导出两个版本然后使用Node.js组合JSON对象会更容易

正如Nicols提到的,LUIS可以选择将LUIS应用程序作为新版本导入现有应用程序。您可以从其网站获取有关导入/导出版本的详细信息


您可以将开发LUIS app json文件作为新版本导入到生产LUIS app中,并将新版本设置为活动版本。

如果您很匆忙,这只是一个解决方法 您只需在LuisDialog中添加两个luis模型,它就会自动选择得分最高的意图

    [LuisModel("Model", "secret")]
    [LuisModel("Model", "secret")]
public class RootDialog : LuisDialog<object>
    {
        [LuisIntent("None")]
        public async Task NoneRes(IDialogContext context, LuisResult result)
        {
        }
    }
[LuisModel(“模型”、“秘密”)]
[路易斯莫德(“模型”、“秘密”)]
公共类根对话框:LuisDialog
{
[路易辛顿(“无”)]
公共异步任务NoneRes(IDialogContext上下文,LuisResult结果)
{
}
}

在您的情况下,最好的方案是克隆非生产版本,给它一个新的版本名,将新克隆的版本设置为活动版本,然后继续处理非生产版本


可以找到的完整文档

导出您的非产品版本,并将其作为新的产品版本导入,然后发布此新版本有两个相同型号的LUIS应用程序,但唯一的区别是非产品型号有新的意图和实体,我需要将其移植到产品型号。据我所知,如果两个应用程序来自不同的域,LUIs dispatcher将提供帮助,例如:一个是wether应用程序,另一个是航班预订。