问题标签 [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 - 如何将 Luis 挂接到 Bot Framework FormDialog
我有一个 Dialog 类,它是一个 FormDialog(例如,FormDialog< SandwichOrder>;根据机器人框架文档网站,它为三明治构建订单)。SandwichOrder 包含一个“价格”属性。
我还有一个派生自 LuisDialog 的 Dialog 类,它获取价格(例如,基于大小和/或省份)。
如何将Luis功能连接到表单对话框中?
botframework - 是否可以在 LuisDialog 期间处理附件?
到目前为止,我已经能够训练一个 LUIS 模型并将其意图连接到一个继承自 LuisDialog 的对话框中。我假设每当我向模型发送一条无法识别的消息时,它都会被“无”意图捕获,这对于文本是正确的,但对于文件则不然。例如,当我发送图片时,什么都没有发生,当我发送文本+图片时,一些意图会捡起它,但消息附件中不会有图片。
在 LUIS 对话框中处理文件的推荐方法是什么?
c# - 如何在 Microsoft Bot Framework LuisIntent 方法中获取原始消息文本
我正在尝试从标记为 a 的方法中访问完整的原始LuisIntent
文本LuisDialog
。
文档将这些方法显示为采用两个参数:
两者都没有公开暴露消息的原始文本。上下文对象确实包含消息,但在context.data.message.text
不可访问的私有属性 () 中。
有没有办法在 中访问它context
,或者可以将它传递给对话框构造函数?
botframework - 传递 LUIS 实体以绑定到对话框状态
有人可以帮我从机器人框架文档中解释这到底意味着什么:
您还可以传入 LUIS 实体以绑定到状态。如果 EntityRecommendation.Type 是 C# 类中字段的路径,那么 EntityRecommendation.Entity 将通过识别器传递以绑定到您的字段。就像初始状态一样,任何填写该字段的步骤都将被跳过。
当我调用我的对话框时,我会像这样传递我的LuisResult result
实体集合:
在这些实体中,至少有一个实体在名称和类型上都映射到我的对话框中的公共属性,但是状态永远不会被填充。我错过了什么?
TIA。
c# - Bot 框架中的消歧
任何人都可以就使用 Luis.ai 和 Bot Framework 时如何处理歧义提出建议吗?
我想问机器人一个简单的问题,例如 2015 年 X 队有多少赌注。在 Luis.ai 培训的帮助下,机器人应该从问题中识别球队和日期/时间。如果它已成功完成此操作,那么机器人会查询我们存储所有记录的 BigQuery API,并返回适当的信息,例如团队 X 的投注量。
如果机器人在理解我的意思时遇到问题,我希望机器人提示我说“对不起,我不明白你”等,然后用户将查询重写为更合适的格式,直到它得到以正确的格式查询。
c# - 将 Luis 实体映射到对话框字段
我无法让我的 Luis 实体绑定到我的 FormFlow 字段,因此我可以跳过 FormFlow 中的步骤。我的 FormFlow 对话框的简化版本如下
我用以下代码调用它
result.Entities 确实包含适当的实体(Type = SearchTerm),但 FormFlow 在运行时总是要求提供此信息。
示例 Pizza bot 示例代码似乎可以工作,但我似乎无法将实体绑定到该字段。
有人知道我做错了什么吗?
提前致谢
c# - 如何将 Luis 集成到机器人构建器中
当我在Luis中创建它们时,我试图将FormBuilder
它们与我的意图结合使用。我只是找不到执行此操作的文档。
我想做以下事情:
- 用户将输入一个用Luis解释的短语。
- 如果短语中没有给出所有实体,则表单构建器将填补空白。
我该怎么做呢?有教程吗?我看到人们在谈论LuisDialogs
,但我只是不知道从哪里开始。
artificial-intelligence - LUIS Speech OnIntent 事件不会触发 (projectoxford.ai)
从语音中获取 SpeechIntent 永远不会起作用(即使在给定的源代码中)。如何重现 - 步骤。
在 ProjectOxford.ai 示例程序中,下载“SpeechToText-WPF-Sample”。
在 www.projectoxford.ai 中,使用您的 Hotmail id 登录并在 Speech API 的帐户页面中获取 key1/key2。将 Key1 放在 app.config 的源代码主键中。
访问 www.luis.ai 网站,使用相同的 Hotmail id 登录并创建一个 App ID。训练和创建一些意图和实体。发布培训,您将看到一个新的 URL 以进行测试,该 URL 具有另一个订阅 ID。将该订阅 ID(在测试您的意图/实体之后)复制到您的 program\app.config\LUISSubscriptionID
选择“使用 Wav 文件和意图检测”选项运行程序。您可能必须将正确的短 WAV 文件放在适当的文件夹中,并将复制到目标属性打开。
问题:现在源代码中的 OnIntent 事件永远不会触发。如果你在训练期间添加代码来调用 www.luis.ai 中给出的相同 url,它总是会告诉 401-unauthorized 错误。
c# - 将 LUIS 对话框连接到窗体对话框并映射正确的字段
我正在开发一个机器人,您可以在其中预订航班。我正在使用最新版本的 bot 框架 (1.1),正如此处所建议的那样。
您可以说“为我预订下周一从阿姆斯特丹到波士顿的航班”。
现在,我将 LUIS 配置为响应意图“BookFlight”,并在我的机器人中创建了 LuisDialog 和 FormDialog,如下所示:
我收到 Luis 的以下回复:
问题
表单未使用来自 LUIS 的正确值填充。所以机器人会要求你填写你的出发地点、日期和你想飞往的地点。但这已经向 LUIS 进行了描述。
到目前为止我尝试过的
- 制作了一个没有实体子实体但具有正确实体名称的新应用程序,表单中没有填写任何值。
- 在运行时将实体中的“类型”从“Flight::LocationTo”重命名为“LocationTo”等。这有效,但不适用于该日期。
- 用正确的值预填充“BookFlightForm”的新实例,但机器人仍会询问日期的值。
所以我有点困惑如何解决这个问题。我是否正确配置了 LUIS?我需要配置 EntityRecognizer 吗?LUIS实体属性会很好。
希望你能帮我!
c# - 从一个对话框转到下一个对话框
我有一个主要的 LuisDialog 用于确定用户的意图。基于此,我启动另一个对话框(来自一组实用程序对话框)来询问用户的问题,然后用于执行某种过程。这一切都很好。
我想做的,我正在努力的,如下。
当实用程序 Dialog 完成时,它会在主 LuisDialog 中调用适当的完成任务。在该完成任务中,我使用实用程序对话框中的数据来调用 Web 服务并获取一些数据。然后将一些数据显示给用户。这一切都很好。我想扩展它,因此如果从 Web 服务返回多个记录,我想将其中一些数据传递给不同的实用程序对话框,该对话框将根据 Web 服务数据向用户询问更多问题。希望这是有道理的。
我试图运行第二个实用程序对话框,但它似乎从未运行过。它似乎进入了它,但没有向用户显示任何内容。
我们将不胜感激地收到有关执行此方案的首选方法的任何建议。