问题标签 [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.
botframework - 使用 dialog.matches 定义对话框的 replaceDialog()
我已将 LUIS 与我的聊天机器人集成在一起,并且几乎所有的对话都是使用 dialog.matches() 定义的。问题是某些对话框需要被重定向到其他对话框,但replaceDialog
或者beginDialog
似乎不适用于使用 dialog.matches 定义的对话框。示例:考虑以下对话框
我如何从其他对话框手动调用它?session.replaceDialog('startActivity')
引发错误。
在 githib 上参考这个问题
c# - 如何从 IDialogContext 获取活动信息
我正在使用 LuisDialog,我得到的回调返回的是 IDialogContext 和 LuisResult。有没有办法从原始活动中获取信息,例如频道、名称等?
artificial-intelligence - 是否可以使用 API 自动训练 Microsoft LUIS?
上次我尝试从微软了解 LUIS,我发现了一些关于火车 LUIS 的有趣部分。
是否可以在不登录 LUIS 仪表板的情况下使用 API 训练 Microsoft LUIS?
nlp - LUIS 实体以小写形式返回
我有LUIS帮助我从我发送的文本中提取意图和/或实体。问题是,当它检测到一个实体时,它会以小写形式将其发回。
有没有办法配置或解决这个问题?
c# - 如何在 Microsoft Bot Framework 中避免“抱歉,我的机器人代码有问题”
我有一个在 Azure + Bot Framework + LUIS 上运行的机器人(通过 LuisDialog)。
如果用户碰巧连续快速发送两条消息(在机器人有机会回答之前),他们会在 Facebook Messenger 或网络嵌入中看到以下错误消息:
抱歉,我的机器人代码有问题。
通过机器人通道模拟器调试时,我看到错误是这样的:
“文本”:“错误:响应状态代码不指示成功:429(请求过多)。在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) Microsoft.Bot.Builder.Luis.LuisService.d__4.MoveNext()
堆栈跟踪的末尾显示错误源自我的 MessageController.cs 中的这一行:
这很奇怪,因为我使用的是付费版本的 LUIS,每秒最多允许 10 个调用。
无论如何,我尝试将 MessageController.cs 中的整个代码包装到一个try/catch
块中,并返回这个值而不考虑异常:
尽管如此,用户仍会看到错误消息“对不起,我的机器人代码有问题”,这基本上意味着存在未处理的异常。
如何防止此消息显示给用户,或捕获异常?
c# - LUIS 响应引发错误请求错误
我已经开始将 Luis 集成到我的 BOT 中。LUIS 查询在浏览器中运行良好,但通过代码调用时,来自 LUIS GetResult 的响应会引发错误。
LUIS 查询在这里
对话框源代码:
消息控制器源代码:
尝试调试时,我的 BOT 模拟器中出现以下错误(仅限部分提取):
c# - BOT 在第二步询问实体
构建一个简单的客户服务 BOT,设计了 LUIS 模型,并且在订单号时效果很好。是在第一步本身中提供的。例如。我的订单 ABC0898787 的状态如何?其中意图被正确检测并且 ABC0898787 被识别为实体。
但是,需要调整机器人以进行如下对话:
用户:我的订单状态如何
Bot:请提供订单号
用户:(ABC0986767)或(ABC0986767)
机器人应该能够将数字映射到实体并处理请求。
意图方法的代码,在不设置 LUIS 模型以将单个单词作为实体的情况下集成第二步的最佳方法是什么?
bots - 将 LUIS 对话框连接到窗体对话框并映射内置字段
我有一个类似的问题:Connecting LUIS dialog to form dialog and mapping the right fields
除了我在 LUIS 中使用内置实体,例如 builtin.number,我在 LUIS 中给了它一个名称,例如 Amount,但映射似乎只在表单类中的字段类型和 LUIS JSON 中的实体类型之间。显然我不能有一个名为 builtin.number 的字段。
我将如何使用表单字段映射内置的 LUIS 实体?
botframework - 如何将实体与 LUIS 中定义的单词列表匹配
我正在使用LUIS与Cognitive Services Emotion API一起工作,该 API对 8 种情绪(愤怒、轻蔑、厌恶、恐惧、幸福、中性、悲伤、惊讶)的图像进行排名。
在我的 LUIS 模型中,我将“情感”定义为一个实体并训练了模型。
LUIS 正确识别了情感实体,但我坚持如何将其映射到情感 API 使用的 8 个已定义词(愤怒、蔑视、厌恶、恐惧、幸福、中立、悲伤、惊讶)。
例如,如果我发送“谁是这里最悲伤的人”,它将返回这个
但是如何使用 LUIS 或任何其他 API 将“最悲伤”映射到“悲伤”?
c# - 如何在 LUIS 对话框中调用 LUIS 对话框?
我的机器人有带有几个意图的 LUIS 对话框。我从我的 MessageController 调用 LUIS 对话框。如果检测到意图,我会启动一个子对话框。子对话框完成后,我调用context.Done("response from user").
了该ChlildDialogDone
任务之后。
在ChildDialogDone
任务内部,我想再次调用 LUIS 对话框来检测用户消息的意图(涉及到 ChildDialogDone
)。现在在里面ChildDialogDone
我有context.Wait(MessageReceived).
当这行代码执行时,什么都没有发生,我的机器人正在等待用户的下一条消息。
这是代码:
所以在 EmailDialogDone 里面我有一些来自用户的消息,我想再次用这个消息执行 DefiningIntent 对话框。我该怎么做?