我有一个使用.NET,MS Bot Framework和LUIS.ai的智能机器人。
很好,只不过我需要为非技术用户提供一种方法来训练机器人并教它新东西,即LUIS.ai中的新意图。
换句话说,假设现在该机器人可以用包含说明的简单短语来回答诸如“嘿机器人我可以在哪里喝咖啡”和“我可以在哪里买衣服”之类的消息。非技术用户也需要能够对其进行培训,以回答“我在哪里可以得到食物”。
这是我考虑过的:
LuisDialog
中的方法,该方法从LuisResponse
中选择意图,以便使用我自己的方式来确定意图(但是如何?)。 在这一点上,我没有想法,任何指针将不胜感激。
最佳答案
首先,LUIS.ai提供了一个API,您可以使用它自动执行培训。而且,here是Luis Trainer完全用Python编写的,而API正是这样做的。
最简单的一种可能是您在#1中描述的一种:您可以使培训自动化(如上所述),但是如果提供了新的意图,您仍然必须部署新版本的bot。一件事是让用户使用新的语言来训练现有模型,另一件事是让他们创建模型:完全不同的另一件事是:)
可能很难跳过不得不编写后端代码的情况(我根本不会自动做到这一点)
这是一个潜在的想法(虽然不确定是否会起作用)。您将需要2个Luis模型。
如果以这种方式分开,则可以查看第二个LUIS模型的“插件”体系结构。因此,您的应用程序会以某种方式动态加载第二个模型所在的程序集。
设置好之后,您就可以专注于为第二个Luis模型编写后端代码,而不必担心bot/第一个模型。您应该能够用第二个Luis模型替换该程序集,并能够在bot中检测该程序集是否有新版本,并在应用程序域中替换当前的程序集。
正如我所说,这只是我与您集思广益时的一个想法。听起来有点复杂,但并不能解决您的所有问题;因为您仍然需要编写代码(在任何情况下,最终都必须这样做)
关于botframework - 为LUIS.AI创建API或使用.JSON文件,以便为非技术用户培训机器人,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40990171/