我试图创建通过谷歌助理自定义操作。我有一个由用户定义的自定义用户数据,我希望用户来问我一些关于这个数据,识别通过提供它的名字,他们想了解哪些数据。
例如:用户说:“告诉我弗雷德”助理回答了“Fred红”
[
{
"name":"Fred",
"info":"Fred is red"
}
]
我遇到的问题是如何增加一个训练周期或再提示用户,当他们提供一个不存在的名称来使用。
例如:
用户说:“告诉我格雷格”助理与回答“我无法找到‘格雷格’谁你想知道的吗?”
[
{
"name":"Fred",
"info":"Fred is red"
}
]
我试着加入了训练响应只包含“名称”的参数,但随后如果用户说“告诉我弗雷德”,“姓名”参数设置为“告诉我弗雷德”,而不仅仅是“弗雷德” ,这意味着它忽略了其他训练响应我有安装。
任何人在那里谁可以做我的欧比旺?
编辑:我使用Alexa的这个同一项目,并已发送到Alexa的一个elicitSlot指令。可类似的东西来实现?
有没有真正的等同于elicitSlot指令,在这种情况下(至少不是我平时看到它使用的方式),但它确实提供了完成你想要做什么的工具。
一般的处理方法是,发送您的回复时,您还可以设置的答复的Output Context。您可以设置参数的背景下,你要保留的任何信息(什么价值你提示,可能你已经收集的其他状态)。
然后你就可以有一个具有此背景下设置为输入上下文意图。意图将随后上下文是否活跃,只有匹配。这种意图可以匹配@sys.any
,或任何其他实体类型可能是在这种情况下适当的。
这种方法的一个优点是,它允许用户从你刚刚问的问题提示交谈中多回复,或转动他们的答复了。它允许用户在语境中的答案,或者通过你已经安装用于其他用途等意图。