为 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。不起作用,因为 LUIS.ai 没有 API。它最好的是用于改进现有意图的 GUI,以及上传 app/phrase 列表功能。如果应用程序的 JSON 文件可以由我编写的某些应用程序生成,则该过程可以是半自动化的;然而,仍然需要后端代码来处理新的意图,并且必须由 C# 编码器实现。
Could it work if I switch from C# to Node.js? Then theoretically I would be able to auto-generate code files / intent handlers.
Azure 机器人服务。似乎它没有非技术界面,只是一个基于浏览器的界面 IDE。
完全放弃 Bot Framework 并使用第三方工具,例如 motion.ai。不起作用,因为没有 "intellect" 作为 LUIS.ai.
提供的那个
使用作为 Bot Framework 一部分的表单流。如果我的 GUI 机器人构建器应用程序可以生成 JSON 文件,Bot Framework 可以使用这些文件自动构建机器人。不起作用,因为没有 LUIS.ai 中的智力。
继续使用 Bot Framework,但放弃 LUIS 并基于 node.js 语言处理库构建单独的 Web 服务来确定意图。可能有效也可能无效,可能不如 LUIS 聪明,并且可能有点矫枉过正。
覆盖 LuisDialog
中从 LuisResponse
中选择意图的方法,以便使用我自己的方式来决定意图(但是如何?)。
在这一点上我没有想法,任何指点将不胜感激。
首先,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,了解 product 的 intent 如何动态插入购物车。
当你的工具构建好并且话语开始到达时,Luis.ai 将存储它们并通过“建议”选项卡(在 Luis.ai)它会要求你提供指导......不幸的是我没有'不要认为您可以将这种控制权交给您的客户,除非他们是您所在领域的专家(他们了解哪种话语属于哪种意图)。您无需关闭您的应用程序,只需定期对其进行训练以根据客户的输入改进模型...很快您的模型就会根据您的意图运行良好。
希望对您有所帮助。
我有一个使用 .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。不起作用,因为 LUIS.ai 没有 API。它最好的是用于改进现有意图的 GUI,以及上传 app/phrase 列表功能。如果应用程序的 JSON 文件可以由我编写的某些应用程序生成,则该过程可以是半自动化的;然而,仍然需要后端代码来处理新的意图,并且必须由 C# 编码器实现。
Could it work if I switch from C# to Node.js? Then theoretically I would be able to auto-generate code files / intent handlers.
Azure 机器人服务。似乎它没有非技术界面,只是一个基于浏览器的界面 IDE。
完全放弃 Bot Framework 并使用第三方工具,例如 motion.ai。不起作用,因为没有 "intellect" 作为 LUIS.ai.
提供的那个
使用作为 Bot Framework 一部分的表单流。如果我的 GUI 机器人构建器应用程序可以生成 JSON 文件,Bot Framework 可以使用这些文件自动构建机器人。不起作用,因为没有 LUIS.ai 中的智力。
继续使用 Bot Framework,但放弃 LUIS 并基于 node.js 语言处理库构建单独的 Web 服务来确定意图。可能有效也可能无效,可能不如 LUIS 聪明,并且可能有点矫枉过正。
覆盖
LuisDialog
中从LuisResponse
中选择意图的方法,以便使用我自己的方式来决定意图(但是如何?)。
在这一点上我没有想法,任何指点将不胜感激。
首先,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,了解 product 的 intent 如何动态插入购物车。
当你的工具构建好并且话语开始到达时,Luis.ai 将存储它们并通过“建议”选项卡(在 Luis.ai)它会要求你提供指导......不幸的是我没有'不要认为您可以将这种控制权交给您的客户,除非他们是您所在领域的专家(他们了解哪种话语属于哪种意图)。您无需关闭您的应用程序,只需定期对其进行训练以根据客户的输入改进模型...很快您的模型就会根据您的意图运行良好。
希望对您有所帮助。