说得清用户说我创造Dialogflow意图AskForFruit
:Dialogflow:如何限制的动作参数的允许值之一
I want an apple
苹果被分配到PARAM fruit
我想将fruit
的值限制为'apple','orange'和'banana'
如果用户说'桃子',代理将以'请选择在苹果,橙子和香蕉之间'
如何限制fruit
的价值仅限于这3种水果?
说得清用户说我创造Dialogflow意图AskForFruit
:Dialogflow:如何限制的动作参数的允许值之一
I want an apple
苹果被分配到PARAM fruit
我想将fruit
的值限制为'apple','orange'和'banana'
如果用户说'桃子',代理将以'请选择在苹果,橙子和香蕉之间'
如何限制fruit
的价值仅限于这3种水果?
有两件事情你需要:如果没有
fruit
应该被分配到自定义实体类型自定义实体
你会选择右侧的Entity
菜单项创建自定义实体,然后创建实体。
你会在这个实体可以采取的可能值输入。如果需要,您还可以为某些实体添加别名。
当你去创造你的意图,你要确保输入的短语强调一个词,实体类型正确选择了这个词。 (而且,正如在评论@Ido笔记,你可能想说的是所需要的参数。)
回退意向
当用户说的一个,处理的情况下有效的水果。但是无效水果呢?你如何处理这取决于你正在谈论的其他事情。
最简单的解决方案是创建一个回退意图,如果没有其他匹配项,这是最后一招的意图。如果您使用上下文,则可以为特定上下文创建回退意图,这是跟踪您在对话中的位置的好方法。
在任何一种情况下,您都会编辑您的回复,告诉他们可以选择哪些有效的成果。
但是,如果你想,如果他们问你不想要的东西很明确回应,你可以创建一个低优先级的意图,如果没有更好的匹配,将匹配。如果您有很多对话部分并且没有使用上下文(但您应该使用上下文),或者希望为更常规的消息保留回退意向,则此功能非常有用。
您可以通过单击意图名称旁边的点来更改意图的优先级。因此,例如,如果您有一个AskForSomethingElse
意图可以匹配更通用的@ sys.any类型,那么您可以让它使用有效类型进行响应。
在你想使您创建所需的实体“askForFruit的意图,不是吗? –
好点 - 可能。奇怪的是,在这种情况下,如果你没有指定一个有效的水果,它会贯穿到'AskForSomethingElse'意图,所以最终的结果差不多。但这不是很好的做法。我已经更新了答案。谢谢! – Prisoner
酷!谢谢! –