-2

尝试根据属性值输入特定意图时遇到问题。

我目前有一个被问到的问题,然后通过 HTTP 请求触发到 Microsoft 翻译器,然后使用该文本触发到 LUIS API。

之后,我想根据 LUIS API 调用带回的最高意图输入一个意图。

我有 Translator 和 LUIS API 带回值,我可以使用 Send Responses 输出这些值: 在此处输入图像描述 在此处输入图像描述

但是,当我尝试根据属性的值调用意图时,我只会收到一个对象引用错误:

在此处输入图像描述 在此处输入图像描述

我正在尝试做的事情是否可能,如果是这样,我是否会以完全错误的方式为自己造成更多问题?

提前致谢

4

1 回答 1

0

我正在尝试准确了解您要达到的目标。我是否正确总结如下?

  1. 您开始一个主对话框。在该对话框中,您需要一些用户输入。
  2. 您翻译输入,并手动将翻译后的文本发送到 LUIS 以进行意图识别。
  3. 根据识别的意图,您想要启动特定的子对话。

我不相信您可以“调用意图”。意图是 LUIS 或 Regex 识别器的结果,由 Bot Framework 自动处理。在每次用户输入时都会处理识别器。无需自己调用 LUIS 作为 HTTP 请求。识别器(LUIS 或 RegEx)在 Bot Framework Composer 的主对话框属性中配置:

在此处输入图像描述

尽管在这种情况下,您看起来像是在手动进行 LUIS 意图识别,因为您想预先进行翻译。要使用内置识别器实现该场景,您需要一个翻译中间件。Github上有一个关于 Bot Framework Composer 的翻译中间件的简短讨论,尽管示例代码还没有准备好。

虽然目前还没有翻译中间件的代码示例,但我相信今天可以帮助您的是根据已识别的意图启动一个子对话框,类似于您在屏幕截图中已经显示的内容。基本上不是在对话结束时“发送响应”,而是如下所示:

在此处输入图像描述

我在这里的示例使用用户输入而不是公认的意图。您可以用您的意图变量替换用户输入。根据识别的意图,您将能够启动一个特定的对话框来处理该识别的意图。

在此处输入图像描述

结果看起来像:

在此处输入图像描述

关于触发器,您当前在屏幕截图中配置的内容显示“没有 null 编辑器”。我相信这可能会导致“对象引用”问题。通常它应该显示一个触发短语。例如,下面的意思是:

  • 如果用户输入文本“触发短语”
  • 并且对话框变量“topintent”之前设置为“test”,然后运行此触发器。

在此处输入图像描述

于 2020-06-30T16:54:42.650 回答