为 LUIS.AI 创建 API 或使用 .JSON 文件以便为非技术用户训练机器人

Creating an API for LUIS.AI or using .JSON files in order to train the bot for non-technical users

我有一个使用 .NET、MS Bot Framework 和 LUIS.ai 的机器人。

一切都很好,除了我需要 为非技术用户提供一种方法来训练机器人并教它新事物 ,即 LUIS.ai 中的新意图.

换句话说,假设现在机器人可以使用包含方向的简单短语来回答 "hey bot where can i get coffee" 和 "where can I buy some clothes" 等消息。非技术用户也需要能够训练它回答 "where can I get some food"。

以下是我的考虑:

在这一点上我没有想法,任何指点将不胜感激。

首先,LUIS.ai 提供了一个 API that you can use to automatize the training. Moreover, here 是完全用 Python 编写的 Luis Trainer,而 API 就是这样做的。

最简单的一个,可能是您在 #1 中描述的那个:您可以使训练自动化(如上所述),但如果提供了新的意图,您仍然必须部署新版本的机器人。一件事是让用户用新的话语训练现有模型,另一件事是让他们创建模型 :)

可能很难跳过必须编写后端代码(我根本不会自动化)

这是一个潜在的想法(但不确定它是否可行)。您将需要 2 个 Luis 模型。

  • 使用您当前的模型,用户将能够使用新的话语进行训练。
  • 第二个模型是专门为 "expanded" 用户设计的新模型。

如果您以这种方式将其分开,您或许可以查看第二个 LUIS 模型的 "plugin" 架构。因此,您的应用程序以某种方式动态加载了第二个模型所在的程序集。

一旦准备就绪,您就可以专注于为第二个 Luis 模型编写后端代码,而不必担心 bot/first 模型。您应该能够用第二个 Luis 模型替换程序集,并能够在机器人中检测该程序集是否有新版本并替换应用程序域中的当前版本。

正如我所说,这只是我与您集思广益时的一个想法。听起来有点复杂,并不能解决您所有的顾虑;因为您仍然需要编写代码(无论如何,您最终都必须这样做)

我正在通过一个挑战项目(培训)来自动创建专门针对 Luis.ai 模型的聊天机器人,使用普通的旧 javascript 和 Luis 的 Web 服务。

我查看了 Bot Framework,发现它太麻烦而无法实现自动化(我希望 X 数量的客户无需编码即可创建聊天机器人)。我还想添加我自己的 'Cards'(html 小部件)类型,它们可以做更多的事情,并且可以由零编码技能的人轻松配置。

调用 Luis.ai/Cognitive 服务 API 是在我后面的代码中进行的,json 响应返回到我自己的规则引擎。在下面URL点击页面上的LUISAPIlink打开LuisAPIConsole可以测试,和训练你的模型。您需要的所有端点都在这里...

https://dev.projectoxford.ai/docs/services/

基于该页面上的各种端点,您可以使用 asp.net 中的 WebClient 来拉回响应。所以在我的测试中,我在页面上有一些按钮,可以将话语推送到模型、拉回实体、创建分层实体等等。查看 http://onlinebotbuilder.com,了解 productintent 如何动态插入购物车。

当你的工具构建好并且话语开始到达时,Luis.ai 将存储它们并通过“建议”选项卡(在 Luis.ai)它会要求你提供指导......不幸的是我没有'不要认为您可以将这种控制权交给您的客户,除非他们是您所在领域的专家(他们了解哪种话语属于哪种意图)。您无需关闭您的应用程序,只需定期对其进行训练以根据客户的输入改进模型...很快您的模型就会根据您的意图运行良好。

希望对您有所帮助。