Dialogflow es 不检测实体中提供的参数以外的参数

Dialogflow es 不检测实体中提供的参数以外的参数,dialogflow-es,actions-on-google,google-assistant-sdk,vui,Dialogflow Es,Actions On Google,Google Assistant Sdk,Vui,我正在尝试为Rocket Chat创建一个Google操作,用户名和channelname是完成意图的重要参数。然而,当我尝试说出除列出的实体值以外的其他值时,助手无法识别它 我正在使用Dialogflow V2进行开发,我已经添加了大约30-40个实体值和培训短语,但只有在实体槽值列表中列出的那些得到识别,而其他的只是给出一个空白值作为响应。我附上了一些我的意图和实体的照片,以及下面列出的和未列出的价值的回复 截图 用户名实体插槽值 Channelname实体插槽值 样本意图 意图中使用

我正在尝试为Rocket Chat创建一个Google操作,用户名和channelname是完成意图的重要参数。然而,当我尝试说出除列出的实体值以外的其他值时,助手无法识别它

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

截图 用户名实体插槽值

Channelname实体插槽值

样本意图

意图中使用的参数

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

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


我尝试在参数中使用必需的设置,如果未传递值,则会出现设置提示,但它只是重新执行3-4次,然后助手崩溃。

实体类型是一个固定的枚举。如果您从未将定义的“actions developers”创建为通道名称类型,则不会将其作为实体进行处理

如果要处理任何通道名称,应将实体替换为@sys.any类型。这将允许您捕获任何值并对其进行处理

在使用时,要做好大量测试和创建大量培训短语的准备,以确保只捕获要捕获的文本,而不捕获其周围的任何内容


可以考虑使用复合实体。您可以创建包含channelname实体和sys.any实体的新实体。例如,您可以创建一个名为“CreateChannel”的实体并插入这些实体

create@sys.any:anyChannelName
create@Channelname:Channelname
作为值。(不要忘了禁用“定义同义词”按钮),然后您可以将该实体用作培训短语

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

有关更多信息: