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

标签 botframework azure-language-understanding botconnector

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

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

换句话说,假设现在机器人可以用包含方向的简单短语回答诸如“嘿,我在哪里可以喝咖啡”和“我在哪里可以买到衣服”之类的消息。非技术用户也需要能够训练它回答“我在哪里可以买到食物”。

这是我考虑过的:

  • 继续使用 LUIS.ai。不起作用,因为 LUIS.ai 没有 API。它最好的功能是优化现有意图的 GUI,以及上传应用程序/短语列表功能。如果应用程序的 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。不起作用,因为没有 LUIS.ai 提供的“智力”。
  • 使用属于 Bot Framework 的 Form Flow。如果我的 GUI bot builder 应用程序可以生成 JSON 文件,则 Bot Framework 可以使用这些文件来自动构建机器人。不起作用,因为没有 LUIS.ai 中的智力。
  • 继续使用 Bot Framework,但放弃 LUIS 并基于 node.js 语言处理库构建单独的 Web 服务来确定意图。可能有效,也可能无效,可能不如 LUIS 聪明,而且可能有点矫枉过正。
  • 覆盖 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/

    相关文章:

    botframework - 开始意外删除 Bot Framework 帐户

    c# - 如何使用 c# 在 BOT V4 中添加通过卡片内的提示选项显示的自定义选项并触发选项单击操作?

    javascript - 有没有办法根据对话结果将信息从 Microsoft 聊天机器人发送到网站

    node.js - 在 Microsoft Luis 中,如何对实体数组建模?

    azure - 如何获得检测到的实体的置信度得分?

    azure - Luis.ai 迁移错误 "Endpoint keys were assigned by collaborators to your apps and you have no access to them."

    c# - Bot框架简单切换场景

    c# - Azure Bot 函数 - 命名空间/依赖项错误

    python - 如何将我的 python 机器人连接到微软机器人连接器