【问题标题】:How to integrate multiple Luis model to bot framework如何将多个 Luis 模型集成到 bot 框架
【发布时间】:2016-09-08 19:22:08
【问题描述】:

我正在开发一个机器人,它将响应用户对我的私人用例的查询。同样,我想让机器人回答一些常见问题,如天气或方向等。所以我在Luis 中构建了一个自己的应用程序,并尝试使用预构建的 cortana 意图。下面的示例

[LuisModel("c413b2ef-382c-45bd-8ff0-f76dad0e2a821", "697asfc173ce6f40aca4c99e7d38assad6cad")]
public class myClass: LuisDialog<T>
{
}

这将仅接受 Cortana Intent 或我自己的 Intent,具体取决于订阅 ID 和密钥。

如何在课堂上同时使用 Luis 模型?请帮忙

【问题讨论】:

    标签: botframework azure-language-understanding


    【解决方案1】:

    大约 20 天前,他们更新了 LuisDialog 以支持多个 LuisModel 和 ILuisService 实例(查看此commit)。该更改已在 NuGet 1.2.4 中发布。

    【讨论】:

    • 仍然对如何添加多个对话框感到困惑。如您所见,我用 Luis 模型注释了我的类。尝试给定另一个模型,但没有检测到。
    • @Satheesh 可能您使用的是旧版本的框架?如果我用多个模型装饰班级,它对我有用。非常感谢 ejadib 提供此信息!
    • @K48 是的,它也对我有用。如果我们直接放置多个模型,则在第二个模型中选择 None Intent 的机会更大。我们必须做一些调整才能让它发挥作用。但我尝试了一点不同。我将 Intent 放在不同的类中并使用多个 LUIS 模型。它没有检测到。但现在很高兴地说,我做到了。
    【解决方案2】:

    我的机器人会回答不同的用例。所以我必须为每个用例使用多个类。使用这段代码,我们可以在多个类中编写我们的任务(用 Intents 注释)。

    我通过覆盖LuisDialog 的处理程序方法找到了解决方案,如下所示。我的Baseform 继承了LuisDialog 类。所有其他有意图的类都将继承我的BaseForm

    protected override IDictionary<string, IntentActivityHandler> GetHandlersByIntent()
            {
                var classCollection = AppDomain.CurrentDomain.GetAssemblies()
                            .SelectMany(assembly => assembly.GetTypes())
                            .Where(type => type.IsSubclassOf(typeof(BaseForm)));
                List<KeyValuePair<string, IntentActivityHandler>> handler = new List<KeyValuePair<string, IntentActivityHandler>>();
                foreach (var item in classCollection)
                {
                    handler.AddRange(MyLuisDialog.EnumerateHandlers(Activator.CreateInstance(item)).ToList());
                }            
                return handler.ToDictionary(kv => kv.Key, kv => kv.Value);
            }
    

    在代码中有EnumerateHandlersmethod,它只是Luis Dialog sdk 的一个副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多