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

2024-01-03

我有一个机器人,它使用 .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 机器人构建器应用程序可以生成 JSON 文件,则 Bot Framework 可以使用这些文件来自动构建机器人。不起作用,因为没有 LUIS.ai 那样的智能。

  • 继续使用 Bot Framework,但放弃 LUIS,并基于 Node.js 语言处理库构建单独的 Web 服务来确定意图。可能有效,也可能无效,可能不如 LUIS 聪明,而且可能是杀伤力过大。

  • 重写中的方法LuisDialog从中选择意图LuisResponse,以便用我自己的方式来决定意图(但如何?)。

此时我已经没有想法了,任何指示都将不胜感激。


首先,LUIS.ai 提供了一个API https://dev.projectoxford.ai/docs/services/56d95961e597ed0f04b76e58/operations/5739a8c71984550500affdfa您可以使用它来自动化培训。而且,here https://github.com/GanadiniAkshay/LUISTrainerLuis Trainer 完全是用 Python 编写的,针对的 API 就可以做到这一点。

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

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

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

  • 使用您当前的模型,用户将能够使用新的话语进行训练。
  • 第二种模型专门用于根据用户的新意图进行“扩展”。

如果以这种方式将其分开,您也许能够研究第二个 LUIS 模型的“插件”架构。因此,您的应用程序以某种方式动态加载第二个模型所在的程序集。

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

正如我所说,这只是我与您进行头脑风暴时的一个想法。听起来有点复杂,而且它并不能解决您所有的担忧;因为您仍然需要编写代码(无论如何,您最终都必须这样做)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 LUIS.AI 创建 API 或使用 .JSON 文件来为非技术用户培训机器人 的相关文章

  • Microsoft Bot 中的相同线程重复欢迎消息

    我有一条欢迎消息 配置为在我的机器人第一次启动时出现在 MessagesController 中 private Activity HandleSystemMessage Activity message if message Type A
  • Microsoft Teams 中的 ActionTypes.MessageBack 存在问题?

    我正在使用带有 C 的 Bot Builder 3 11 版本 我有一个 ActionTypes MessageBack 类型的操作按钮 具有以下属性 cardActions Add new CardAction Type ActionTy
  • 我们如何自动刷新 LUIS 调度程序模型?

    1 如果我们可以使用Azure中的Function App 我们如何让Dispatcher CLI在这个函数中工作 是否有任何代码可以运行 NODE JS 并安装 Dispatcher CLI 并运行刷新命令 2 Blob存储中可以使用Co
  • 如何将 Bot Framework 对话框拆分到不同的文件中

    我试图让我的机器人代码更易于管理 并将一些属于不同文件的对话框放在一起 这里有一个关于 javascript 的古老的类似问题 https github com Microsoft BotBuilder issues 1457 但我正在努力
  • 创建机器人时出错

    我在创建机器人时遇到错误 我正在尝试部署一个网络应用程序机器人 指定资源组的名称及其位置后 我单击 创建 之后机器人部署过程开始 但最终会出现错误 MsaAppId MsaAppId 已在使用中 我可以做什么来成功部署基本机器人 这是一周内
  • BotFramework:“状态大小超出了配置的限制。”

    我正在开发一个机器人 每当我在表单流中 PostAsync 英雄卡 50 张英雄卡 时 最后它都会给我一条错误消息 状态大小超出了配置的限制 来自 Microsoft Bot Connector DLL 尝试 setPrivateConve
  • 结束对话 C# 机器人

    我正在用 C 构建一个聊天机器人 我希望在一些消息之后对话停止 但我不知道该怎么做 我已经设置了消息限制 并且我希望在达到此限制后不能再发送消息 有我的代码 private int NombreDeMessages protected ov
  • 如何从 Slack 获取用户 ID 到机器人服务

    我正在使用 Azure LUIS 创建一个简单的机器人 这是我的第一个机器人 经过一些研究后 我取得了一些不错的进展 现在还与 Slack 集成作为测试它的渠道 机器人功能运行良好 但我希望识别用户的身份 这样我就可以个性化机器人对话 并从
  • 如何在 Microsoft Bot Framework LuisIntent 方法中获取原始消息文本

    我正在尝试从标记为的方法中访问完整的原始文本LuisIntent在一个LuisDialog 文档显示这些方法采用两个参数 IDialogContext context LuisResult result 两者都没有公开曝光消息的原文 上下文
  • 使用 Microsoft bot 框架下载文件(pdf/图像)

    我想下载文档 图像 文档 图像位于互联网上 我给出了它的路径 但它不起作用 但是 如果我只是评论附件部分 我就能从 BOT 那里得到 嗨 让控制器像这样 BotAuthentication public class MessagesCont
  • Microsoft Bot 在 WebChat 中显示不必要的重复消息?

    当用户第一次访问我的聊天室时 他们会收到欢迎消息 并立即被要求提供他们的名字 一旦用户输入他们的名字 就会出现欢迎消息 并再次显示输入名字的文本提示 只有在他们第二次输入名字后 机器人才会继续处理下一个有关姓氏的问题 此外 当用户最终在第一
  • 机器人通道注册:“Microsoft.AppRegPortal.Providers.Graph.GraphException”类型的异常

    在 Azure 机器人通道注册上创建机器人通道并尝试在 apps dev microsoft com 上添加 Microsoft Graph 规则后 出现异常 机器人通道注册 引发 Microsoft AppRegPortal Provid
  • 查找通过付费渠道的消息数量

    按照这个page https azure microsoft com en gb pricing details bot service 网络聊天和直线电话被视为优质渠道 我想知道以下事情 在哪里可以找到通过付费渠道传达的付费消息数量 我知
  • 从 MS Graph API 获取联系人时找不到资源

    我尝试了下面的 github 示例进行 Azure AD 身份验证 并成功通过正确的回调 URL 获取访问令牌 https github com Microsoft BotBuilder Samples tree master sample
  • 机器人可以从用户处接收图像作为消息或附件吗

    我希望用户能够将图像作为消息发送给机器人 这可能吗 我在网上搜索了解决方案 但我很累 请有人至少可以分享给我一个链接吗 Yes 来自nodejs文档here https learn microsoft com en us azure bot
  • BotBuilder - 具有调度错误的 NLP 不知道这样的主机

    我是使用 Bot Builder 框架的新手 我正在关注微软的这个教程https learn microsoft com en us azure cognitive services qnamaker tutorials integrate
  • 基于 MS Bot Framework 中的响应分支对话框/表单

    我们正在尝试使用 MS Bot Framework 但尚未完全弄清楚如何实现此场景 我们有一个 LUIS 对话框 类型 它工作正常并且经过适当的培训 以常见的三明治为例 LUIS 意图寻找的基本内容是用户询问订单状态 如果问题中提供了订单号
  • Compose 扩展抛出错误:找不到 V3 代理

    我是在 Teams 中创建 Compose 扩展的新手 当我将其添加到我的 Teams 时遇到问题 所有配置均已就位 从注册机器人到将其托管为 Azure 上的机器人服务 再到处理代码中的撰写扩展查询 我已在清单中共享了机器人 ID 并为机
  • Amazon Lex 和 BotFramework 集成 TypeError:无法对已在响应中撤销的代理执行“get”[重复]

    这个问题在这里已经有答案了 我正在进行概念验证 尝试将 BotFramework 与 Amazon lex 集成 并最终将机器人集成到 Microsoft 团队渠道 AWS SDK 用于调用 Amazon Lex 自动程序 async ca
  • 增加 MS Teams 通道自适应卡的宽度

    我有一张带有 4 个按钮的自适应卡 但问题是我的第四个按钮转到了下一行 我想将所有按钮放在一行中 那么有什么方法可以增加自适应卡的宽度以将按钮对齐成一行 我正在使用机器人框架 v3 C 将以下属性添加到自适应卡以设置使用整个窗口的宽度 sc

随机推荐

  • 制作随机整数数组

    我尝试生成一个随机 int 值数组 其中随机值在最小值和最大值之间取 到目前为止我想出了这段代码 int Min 0 int Max 20 int test2 new int 5 Random randNum new Random fore
  • 刷新关系而不重新加载模型

    我有这样的情况 1 model 模型 where someCondition 在上面的代码之后 我对 model 子关系进行了一些更新 模型具有设置关系 因此我更新它们并将它们保存到数据库中 然后我稍后尝试访问 model gt setti
  • Spring transactionManager 正在回滚,而 testException=[null]!

    为什么事务没有回滚Exception 未保存该对象 我定义了交易参数 例如 Transactional value transactionManager timeout 30 rollbackFor java lang Exception
  • 如何将网站上不存在的链接重定向回主页

    我的问题是如何将我的网站上任何不存在的链接重定向回主页 例如 想象一下 如果用户输入 我的网站上有一个名为 pets 的页面 http mywebsite com pets http mywebsite com petsd http myw
  • 如何制作flutter自定义下拉按钮?

    我要定制DropDownButton https docs flutter io flutter material DropdownButton class html 这样它就不会渲染内容DropdownItem https api flu
  • 如果高度不同,如何使用 Twitter Bootstrap 制作响应式照片网格

    如何使用 Twitter Bootstrap 3 的 img 响应式 图像 但允许它们具有设定的高度 以便照片网格流动 与下图不同 我尝试过设置图像高度属性和最大高度属性 但它似乎会忽略这些属性 除非我用 重要 设置它的高度 但它们看起来很
  • 使用 @FindBy 注解在元素内查找元素。

    例如 WebElement parentEle driver findElement By id xyz WebElement childEle parentEle findElement By id abc childEle click
  • 多次上传php脚本并存储在mysql数据库中

    我是新来的 我需要将多个 mp3 文件上传到一个目录并将它们存储在 mysql 的 音频 表中 我正在使用这个脚本 但它只适用于一个文件 每次只处理一个曲目很烦人 这就是为什么我需要多个上传脚本 我希望只写每首曲目的标题 如下所示 php
  • 如何在 docker-compose.yml 中为命名卷设置主机上的路径

    下面的示例创建dbdata命名卷并在内部引用它db服务 version 2 services db image mysql volumes dbdata var lib mysql volumes dbdata driver local f
  • 调用成员函数指针

    我在调用结构体内部的函数指针时遇到问题 我之前在类之外使用过这种方法 但现在我正在使用指向其他类方法的函数指针在类方法中尝试它 我收到编译器错误 这是我的课程 class Myclass int i void cmd1 int void c
  • 使用 Appbar + Drawer 时遇到问题(Material UI + ReactJS)

    我正在尝试使用 ReactJS Material UI 制作我的第一个应用程序 但没有成功 我唯一想做的就是 当我单击栏上的按钮时 显示左侧抽屉 我有以下代码 App jsx import React from react import M
  • 将提交从一个存储库推送到另一个存储库

    我是否可以将一个提交从一个 Git 存储库推送到一个分支anotherGit 存储库 例如 我有一个承诺aaaa在存储库 A 中提交aaaa位于一个名为 测试 的分支中 我想推动提交aaaa到一个名为 稳定 的分支 该分支位于另一个名为存储
  • Angular2 测试在模拟服务时失败

    尝试测试具有调用 REST API 的服务依赖项的组件 制作了服务的模拟版本 并使用扩展真实服务的类 现在 如果我用模拟的提供者覆盖提供者 业力报告者就会出现奇怪的错误 第一个 404 表示 2 个不存在的文件 实际上不应该存在 然后是 o
  • jQuery 查找输入类型(也适用于选择)

    我需要找到单选按钮 文本和选择的输入类型 很容易找到任何东西的输入类型
  • 将文本输入解释为 PHP

    我想让用户测试我的 PHP 类 其中包括裁剪图像和调整图像大小 我希望他们在文本字段中编写 PHP 代码 发送表单 然后运行他们的代码 我怎样才能做到这一点 或者是否还有其他安全的方法可以让用户 任何人 演示 PHP 类 我将使用几乎没有权
  • 无法在 Python 中打乱列表

    这是我的清单 biglist title U2 link u2 com title beatles link beatles com print random shuffle biglist 那不行 它不返回任何内容 random shuf
  • 暂时更改 Sitecore 项目的布局

    使用此代码 我设法更改当前项目的渲染 然而 这在 Sitecore 中永久地改变了它 这些变化可以在 CMS 中看到 而不是像我预期的那样暂时改变 void ReplaceLayout Item item if item null retu
  • 查找与 DST 时间的 timedelta 差异 (Python)

    给定两个日期时间 例如2020 01 01 00 00 00 and 2020 04 01 00 00 00 我想获取两个日期之间以小时数表示的时间增量由于夏令时而进行任何加法 减法 我不知道如何继续 默认情况下 Python 的timed
  • 计算百分比“x/y * 100”总是结果为 0?

    在我的作业中 我必须制作一个简单版本的 Craps 由于某种原因 即使两个变量都不为 0 百分比赋值也总是产生 0 这是代码 import java util Random 标题 注意变量 public class Craps privat
  • 为 LUIS.AI 创建 API 或使用 .JSON 文件来为非技术用户培训机器人

    我有一个机器人 它使用 NET MS Bot Framework 和 LUIS ai 来发挥其智能 一切都很好 除了我需要为非技术用户提供一种训练机器人并教它新事物的方法 即 LUIS ai 中的新意图 换句话说 假设现在机器人可以用包含方