我有一个使用 .NET、MS Bot Framework 和 LUIS.ai 的机器人。
一切都很好,除了我需要为非技术用户提供一种方法来训练机器人并教它新事物,即 LUIS.ai 中的新意图。
换句话说,假设现在机器人可以用包含方向的简单短语来回答诸如“嘿,机器人我在哪里可以喝咖啡”和“我在哪里可以买衣服”之类的消息。非技术用户也需要能够训练它回答“我在哪里可以买到食物”。
这是我考虑过的:
继续使用 LUIS.ai。不起作用,因为 LUIS.ai 没有 API。它最好的功能是改进现有意图的 GUI,以及上传应用程序/短语列表功能。如果我编写的某个应用程序可以生成带有应用程序的 JSON 文件,则该过程可以是半自动化的;但是,仍然需要处理新意图的后端代码,并且必须由 C# 编码器实现。
如果我从 C# 切换到 Node.js,它可以工作吗?然后理论上我将能够自动生成代码文件/意图处理程序。
Azure 机器人服务。似乎它没有非技术界面,只是一个基于浏览器的 IDE。
完全放弃 Bot Framework 并使用第三方工具,例如 motion.ai。不起作用,因为没有 LUIS.ai 提供的“智力”。
使用作为 Bot Framework 一部分的表单流。如果我的 GUI bot builder 应用程序可以生成 JSON 文件,则 Bot Framework 可以使用这些文件自动构建 bot。不起作用,因为没有 LUIS.ai 中的智力。
继续使用 Bot Framework,但放弃 LUIS 并基于 node.js 语言处理库构建单独的 Web 服务来确定意图。可能有效,也可能无效,可能不如 LUIS 聪明,而且可能是矫枉过正。
覆盖从 中
LuisDialog
选择意图的方法LuisResponse
,以便使用我自己的方式来决定意图(但如何?)。
在这一点上,我没有想法,任何指针都将不胜感激。