问题标签 [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 - Skype 机器人响应“抱歉,我的机器人代码有问题”,而在 slack 或模拟器上工作正常
我无法让我的机器人在 Skype 中工作。我从机器人得到的唯一回应是“抱歉,我的机器人代码有问题”。我在松弛状态下测试了机器人并使用 MS botframework 通道模拟器,它在那里工作正常,所以我有点困惑为什么它没有响应。
如果我不 LUIS 处理响应,它会响应,例如
与
但 LUIS 集成代码使用 Slack 或 bot 框架通道模拟器完全没有问题。作为记录,我的 Skype 版本是最新的,我正在使用最新版本的机器人框架。是否需要进行任何更改才能使其在 Skype 上运行?有没有办法可以调试问题,以便我可以获得比“抱歉,我的机器人代码有问题”更多的信息。
谢谢。
sql - SQL 和 LUIS API
好吧,这可能是我不理解的事情,发生了很多,因为我是新手,但我拥有的是 OLTP 和 OLAP 格式的数据库。
我做了一些谷歌搜索,发现我可以将它们配置为暴露给 http 端点,所以我的问题是,我可以将它们暴露给 LUIS http API 端点吗?
本质上,我想在人们询问我的数据问题时使用该服务进行培训。我经常处理医院数据,所以这就是事情matching intentions of Diagnosis of chest pains = complaining of chest pain
。
如果可能的话,我没有详细回答如何做到这一点,而是我对直接是或否更感兴趣,所以我可以知道是否要深入研究。文本分析是我列表中的下一个,但它无法像 LUIS 那样开始了解人们提出这个问题的意图和原因。
botframework - 通过 replaceDialog 或任何其他方式调用 Luis
Bot builder 带有 LuisRecognizer 和其他内置类,这些类执行发布消息和取回意图和实体的工作。
像 replaceDialog 有助于开始一个新的瀑布/关闭,有没有办法在内置的 botbuilder 类中使用发布到 Luis 并根据匹配调用相应的瀑布序列?
我尝试了以下。
session.replaceDialog('/')。这似乎没有再次调用 luis 识别器,因此甚至没有调用 dialog.matches。
bot.receive(消息)。这不会进行 luis 调用,也不会很好地匹配消息的意图。另外,默认情况下,它似乎也再次进入错误的序列(调用 bot.receive 的父序列)。
IntentDialog.recognize 和 intentDialog.invokeAction。识别无法识别消息。
我究竟做错了什么?有没有办法重用botbuilder类?我可以考虑编写一个简单的rest客户端来调用Luis api。但这是最后的手段,因为 botbuilder 的识别器和意图对话框类的目的是完全相同的。
c# - 将 LUIS DateTime 实体放入 FormFlow
我在 C# 中有一个聊天机器人,它接收用户消息,并使用 LUIS 决定用户的意图。当找到特定意图时,它会启动 FormFlow。我已经能够使用 LUIS 实体从用户初始消息中成功填写表单中的字段。但是我被困在日期和时间实体上。当 LUIS 提供实体时,它将它们作为 2 个单独的实体(builtin.datetime.time 和 builtin.datetime.time)发送,但我需要将这些保存在一个表单字段 (DateTime) 下。如何将实体时间和日期保存到日期时间字段?
我目前只知道如何只保存一个字段(保存时间并默认为今天的日期,或保存日期并默认为上午 12 点)。
这是我当前将日期实体保存到表单字段的方式
f# - 为 Microsoft 的 Luis 编写 F# 类型提供程序的好方法是什么?
玩了微软的 Luis + bot 框架后,我的“这将是一个很好的类型提供者”的感觉开始刺痛。不幸的是,类型提供者不能输出有区别的联合。我希望做类似以下的事情,但这是不可能的:
Luis 意图和它们的参数都可以通过 APIs 获得,这使得它们成为 typeProviderization 的绝佳候选者
这里的参考是来自示例 C# bot 的处理程序(我认为它可能更干净,并且在 F# 中更安全):
无论如何,问题是:有更多经验构建类型提供程序的人对我如何构建一个实际上可行的可读 dsl 有什么好的想法吗?
microsoft-cognitive - 如何将会话上下文合并到 LUIS 中?
我知道 Microsoft Luis 基本上是一个黑匣子,它将话语作为输入并输出一个 JSON 对象,其中包含 1)实体列表,2)所有意图及其分数的列表。
我的问题是,当 Luis 处理其输出时,我如何考虑对话上下文。
例如,对于“是的,我对编码感兴趣”这句话,我希望它根据上下文有不同的意图。
在“context a”中,应该是意图“positive_confirmation”;
在“context b”中,它应该是意图“user_preference”。
这可以通过LUIS实现吗?或者还有其他方法可以实现吗?
谢谢!
azure-language-understanding - 如何处理拼写错误的 LUIS 实体
让我们假设它是电影机器人。我添加了实体 MovieName,以及包含电影的短语列表。电影名称之一是“星球大战”,如果用户将其拼错为“Stra Wra”,那么我该如何解决这个问题?我不确定 Bing 拼写检查服务是否有助于非英文电影名称?
c# - 将模型和订阅密钥传递给 LuisDialog,而不是通过属性
我正在编写一个可以说两种语言的机器人。因此,我需要使用两个单独的 LUIS 应用程序(每种语言一个)。
Bot Framework 中的 LuisDialog 是这样初始化的(来自 Microsoft 的示例):
但是,我需要根据我确定的用户语言使用动态应用 ID 和订阅密钥。
两个 LUIS 应用程序中的所有方法、意图等都是相同的。
C# 中的属性不能是动态的。
我可以动态地将应用程序和订阅密钥传递给 LuisDialog 而不是硬编码它们的另一种方法是什么?
authentication - 对 LUIS 帐户进行安全身份验证
我将在我的应用程序中使用 LUIS 服务。如何为我的帐户提供安全身份验证?我想确保没有人使用我的订阅密钥来拨打自己的电话。我有 LUIS 应用程序 ID 和 LUIS 订阅密钥。先感谢您。