我正在尝试为火箭聊天创建Google Action,用户名和频道名是完成意图的重要参数。但是,当我尝试说除列出的实体值之外的其他内容时,助手将无法识别它。
我正在使用Dialogflow V2进行开发,我已经添加了大约30-40个实体值和训练短语,但是只有实体插槽值列表中列出的那些才能被识别,而其他尝试只是给出一个空白值作为响应。我已附上我的意图和实体的一些照片,以及下面列出的和未列出的值的回复。
如果没有传递值,我尝试在带有设置提示的参数中使用必需的设置,但是它只会重复提示3-4次,然后助手崩溃。
答案 0 :(得分:0)
实体类型故意是固定的枚举。如果您从未将定义的“动作开发者”创建为渠道名称类型,则不会将其作为实体进行处理。
如果要处理任何通道名称,则应将您的实体替换为@ sys.any类型。这将使您能够捕获任何值并进行处理。
使用此功能时,请准备进行大量测试并创建许多训练短语,以确保仅捕获要捕获的文本而周围没有内容。
答案 1 :(得分:0)
您可以考虑使用复合实体。您可以创建新实体,其中包含channelname实体和sys.any实体。例如,您可以创建一个名为“ CreateChannel”的实体,并将这些实体create @sys.any:anyChannelName
和create @Channelname:Channelname
插入为值。(不要忘记禁用“定义同义词”按钮),然后可以将该实体用作训练短语。
现在,无论是否为“ channelname”实体,您都可以获取任何值作为参数,并且可以确保用户想要创建频道。
有关更多信息: