问题标签 [azure-language-understanding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 聊天机器人维护流程
我使用 socket.io/nodejs/LUIS 开发了一个网络聊天机器人。我没有使用机器人生成器。我是模型新手。
我的流程就像 socket-> luis-> 响应函数。此流程可用于单个请求和响应。但它不能处理复杂的对话,如表单输入、提示对话框。
我怎样才能融入如此复杂的对话?
msdn - LUIS 附加到松弛
我给你写信是因为我真的不知道我还能做什么。当我在检查“Fullfillment”后尝试选择一个频道时,Action 下拉列表仍然为空,所看到的只是“Select Action ...”--> 没有频道,我不知道如何获得它们。
正如我之前看到的“如果您想尝试频道,请单击此按钮将我们的动作绑定机器人添加到您的 Slack 团队”我认为这与我没有这样做有关,但是在我创建了一个 Slack 帐户并添加了动作之后绑定机器人 没有任何改变!
我认为也许我应该在 Slack 上注册某些频道,但我不知道为什么会这样,而且我找不到公共频道。
所以我被困在那里,请你帮我,以便我可以使用这些频道?
bots - 如何有选择地断开 Microsoft Bot Connector 的 LUIS?
对于我正在开发的聊天机器人来说,让人类主管随时待命以回答用户查询是一个关键用例。但是我无法弄清楚如何在没有断开 NLP 模式 (LUIS) 的情况下将控制权移交给人工代理。
c# - 路由 Microsoft LUIS 请求和机器人框架 - 最好在企业参考应用程序中
我和我的同事正在使用 Microsoft bot 框架和 Microsoft LUIS 构建一个非常大的应用程序。本质上,我们正在尝试创建一个机器人,让来自整个组织的人们可以向机器人发送消息(通过 slack)并接收相关信息。不同类型的请求涉及不同的主题领域(销售、营销、物流和研发)。如何将多个 LUIS 模型、实体和子实体链接在一起,以便请求在到达正确实体之前不会查询每个实体?
现在,如果用户问“迄今为止我们在研究上花了多少钱?” 它首先查询销售实体,然后是营销实体,然后是物流实体,最后是在得到响应之前查询研发实体。我正在尝试限制 API 请求的数量。我目前知道处理此路由问题的 3 种可能的解决方案,它们似乎都不依赖 LUIS 来路由到适当的实体。
解决方案 1 涉及让机器人为每个域提供一个 UI 选择器。
解决方案 2 涉及连接 NLP 库以从句子中提取主题,然后使用加权字典库匹配主题。
解决方案 3 涉及设置纯正则表达式。由于显而易见的原因,这是我最不喜欢的解决方案。
一个使用 Microsoft bot 框架和 Microsoft LUIS 的企业级参考应用程序的链接将是一个理想的答案。
c# - System.Collections.Generic.KeyNotFoundException 与 Microsoft Bot 框架
我正在使用 Microsoft Bot Framework 使用 LuisDialog 创建一个非常简单的机器人。但是我不断收到 System.Collections.Generic.KeyNotFoundException。
这是我的控制器:
这是我的对话框:
如果我使用较旧版本的 Bot Framework,例如 3.0.0,我会收到以下错误:500 InternalServerError { "message": "An error has occurred." }
但是,如果我更新到最新的稳定版本(3.2.1),则会收到以下类型为“System.Collections.Generic.KeyNotFoundException”的错误:
“例外:System.Collections.Generic.KeyNotFoundException:给定的键不在字典中。在 Microsoft.Bot.Builder.Dialogs.LuisDialog 的 System.Collections.Generic.Dictionary2.get_Item(TKey key)”
完整的堆栈跟踪在这里:
我尝试在另一个解决方案上创建一个新项目,但我得到了同样的错误。我尝试通过 nuget 安装不同版本的 Bot Framework,但就像我之前所说的那样,无论如何我仍然会收到错误消息。到目前为止,我对 Bot Framework 的经验非常少,所以我真的不知道还能尝试什么。
c# - 如何在链式流畅对话框中使用 LuisDialog?
我想使用链式接口作为我的根对话框,通过用户消息切换对话,例如,如果用户编写“帮助”,我可以调用 HelpDialog,并让 LuisDialog 管理其他输入。
我的问题是 LuisDialog 等待来自用户的消息,因此,在链式环境中,用户必须在 Luis 返回他的意图之一之前写入两次输入。
这是我的示例代码:
是否可以将 LuisDialog 与 Chain 一起使用,或者如何将多个对话框一起使用?
谢谢马可
botframework - 为什么在创建 LUIS 模型时应该使用复合实体?
我从使用 Bot Framework 和 LUIS 的机器人开始。现在我在理解为什么要使用复合实体时遇到了一些麻烦。到目前为止,我从 LUIS 文档中得到的是复合实体用于将常规实体分组到“类别”下。
例如,如果我的机器人允许用户订购披萨,我将需要三个实体:披萨的数量、大小和披萨的名称。我知道我可以将这些实体分组到一个名为 OrderInformation 的复合实体下。但是我从做这样的事情中得到什么?LUIS 方面的表现?更好的学习?
我问这个是因为这是 LUIS 返回的 JSON。我仍然得到所有常规实体,就像我需要它们一样。
复合实体如何让我在机器人方面的生活更轻松?
c# - 如何在 LuisIntent 中调用 PromptDialog?
我有一个带有几个 LUIS 意图的 LuisDialog。在其中一些意图中,我可能需要向用户询问更多信息。在这些情况下,我尝试使用 PromptDialog 或 PromptString。
我已经试过这个:
还有这个:
在这两种情况下,用户都不会看到提示,并且 的值userSymbol
会为空。当我调试代码AfterUserInputSymbol
时,只进入到这部分的时间:result.Entities[0].Entity = userSymbol;
如何在 LuisIntent 中提示更多信息?
c# - 将 Bot Framework 与 LUIS 连接起来。我应该使用哪个 AppId 和 AppKey?
我正在尝试将 LUIS 机器人与在 azure 上注册的机器人连接。但是,我对应该使用哪些键和 ID 感到困惑。我有以下“信息”:
在 Azure 上:机器人句柄、Microsoft 应用程序 ID 和 Microsoft 应用程序密码。
在 LUIS 上:应用 ID、应用名称、程序化 API 密钥
编码时,在“LUIS 类”中,我有:
问题 1 - 我应该在这里使用什么 ID 和密钥?
在 web.config 我有:
问题 2 - 我应该在这里使用什么 ID 和密钥?
问题 3- 使用 Microsoft Bot Framework Channel Emulator 时,我应该使用哪个 Bot URl、App Id 和 App Password(本地测试)
问题 4- 使用 Microsoft Bot Framework Channel Emulator 时,我应该使用哪个 Bot URl、App Id 和 App Password(在线测试)
谢谢!
c# - BotFramework,未收到对第一条消息的响应
我正在使用 Microsoft BotFramework 并创建了一个简单的 Bot。流程类似于,用户打招呼 -> 机器人回复问候用户可以问什么用户问相关问题 -> 机器人回复回答和可能的下一个问题,然后再次流程继续用户提问
在本地模拟器上一切正常。但是,当我使用已发布的 API 应用程序时,它不会显示对用户 "Hi" 的响应,如果用户提出任何其他相关问题,一切正常。
同样在机器人页面上,它也没有显示任何错误,所以它不是错误。
我还添加了 try catch 块并将错误作为消息发送,该消息也没有显示任何消息,再次指向没有错误。
我尝试使用 ngrok 进行调试,并且它还完成了整个块,而不会进入 catch 或任何意外路径。
所以我迷失了它可能出错的地方!
任何指针都会很有用。
谢谢,迪尔库什