未检测到实体中未提供的参数

时间:2019-05-23 15:18:15

标签: dialogflow actions-on-google google-assistant-sdk vui

我正在尝试为火箭聊天创建Google Action,用户名和频道名是完成意图的重要参数。但是,当我尝试说除列出的实体值之外的其他内容时,助手将无法识别它。

我正在使用Dialogflow V2进行开发,我已经添加了大约30-40个实体值和训练短语,但是只有实体插槽值列表中列出的那些才能被识别,而其他尝试只是给出一个空白值作为响应。我已附上我的意图和实体的一些照片,以及下面列出的和未列出的值的回复。

屏幕截图

用户名实体插槽值

enter image description here

频道名称实体插槽值

enter image description here

样本意图

enter image description here

意图中使用的参数

enter image description here

使用列出的参数值时的响应

enter image description here

使用未列出的参数值的响应

enter image description here

如果没有传递值,我尝试在带有设置提示的参数中使用必需的设置,但是它只会重复提示3-4次,然后助手崩溃。

2 个答案:

答案 0 :(得分:0)

实体类型故意是固定的枚举。如果您从未将定义的“动作开发者”创建为渠道名称类型,则不会将其作为实体进行处理。

如果要处理任何通道名称,则应将您的实体替换为@ sys.any类型。这将使您能够捕获任何值并进行处理。

使用此功能时,请准备进行大量测试并创建许多训练短语,以确保仅捕获要捕获的文本而周围没有内容。

enter image description here

答案 1 :(得分:0)

您可以考虑使用复合实体。您可以创建新实体,其中包含channelname实体和sys.any实体。例如,您可以创建一个名为“ CreateChannel”的实体,并将这些实体create @sys.any:anyChannelNamecreate @Channelname:Channelname插入为值。(不要忘记禁用“定义同义词”按钮),然后可以将该实体用作训练短语。

现在,无论是否为“ channelname”实体,您都可以获取任何值作为参数,并且可以确保用户想要创建频道。

有关更多信息:

Composite entities