我有一个使用 .NET、MS Bot Framework 和 LUIS.ai 来实现智能的机器人。
一切都很好,只是我需要为非技术用户提供一种训练机器人并教它新事物的方法 ,即 LUIS.ai 中的新意图。
换句话说,假设现在机器人可以用包含方向的简单短语回答诸如“嘿,我在哪里可以喝咖啡”和“我在哪里可以买到衣服”之类的消息。非技术用户也需要能够训练它回答“我在哪里可以买到食物”。
这是我考虑过的:
Could it work if I switch from C# to Node.js? Then theoretically I would be able to auto-generate code files / intent handlers.
LuisDialog
中的方法从 LuisResponse
中选择意图,为了用我自己的方式来决定意图(但如何?)。 在这一点上,我没有想法,任何指示将不胜感激。
最佳答案
首先,LUIS.ai 提供了一个 API你可以用它来自动化训练。此外,here Luis Trainer 是完全用 Python 编写的,而 API 正是这样做的。
最简单的一个,可能是您在 #1 中描述的那个:您可以自动化训练(如上所述),但如果提供了新的意图,您仍然需要部署新版本的机器人。一件事是让用户用新的话语训练现有模型,另一件事是让他们创建模型:)
跳过编写后端代码可能很难(我根本不会自动化)
这是一个潜在的想法(但不确定它是否有效)。您需要 2 个 Luis 模型。
如果您以这种方式将其分开,您可能能够查看第二个 LUIS 模型的“插件”架构。因此,您的应用程序以某种方式动态加载第二个模型所在的程序集。
一旦你有了它,你就可以专注于为你的第二个 Luis 模型编写后端代码,而不必担心机器人/第一个模型。您应该能够用第二个 Luis 模型替换程序集,并能够在机器人中检测该程序集是否有新版本并替换应用程序域中的当前版本。
正如我所说,这只是一个想法,因为我正在与您进行头脑 Storm 。听起来有点复杂,它并没有解决你所有的问题;因为您仍然需要编写代码(无论如何,您最终都必须这样做)
关于botframework - 为 LUIS.AI 创建 API 或使用 .JSON 文件以便为非技术用户训练机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40990171/