如何避免Alexa技能中的双槽输入
How to avoid double slot input in Alexa skill
我正在研究一种以某种方式链接的意图技能。
这 4 个意图可以在用户说 "I want information about a career".
后立即调用
有 4 个意图,可以是第一个被调用的,也可以是在另一个之后被调用的。问题是:他们中的 4 个需要一个职业名称槽,例如 "engineering"、"politics"、"biology" 等。
有什么方法可以让第一个意图获得职业然后调用其他 3 个而不需要验证用户的输入?如果是这样,我真的很想举一个例子来说明如何实现这一点。
要实施有条件要求的插槽和上下文结转,您将需要使用自定义技能代码并直接管理逻辑并发出插槽引发指令。因此,如果您一直在使用 'dialog model' 并使用委托指令,这可能是一个重大变化。
在您的意图处理程序中:使用会话属性来维护您的插槽类型和值的映射。当您看到一个意图有一个未填充的槽时,您可以决定是从地图中获取一个值还是引出一个值。逻辑将根据您的场景定制。
要手动获取槽值,请参阅 https://developer.amazon.com/docs/custom-skills/dialog-interface-reference.html。请记住设置意图和所有已知的插槽值,以便将它们保留到下一个请求。
我正在研究一种以某种方式链接的意图技能。 这 4 个意图可以在用户说 "I want information about a career".
后立即调用有 4 个意图,可以是第一个被调用的,也可以是在另一个之后被调用的。问题是:他们中的 4 个需要一个职业名称槽,例如 "engineering"、"politics"、"biology" 等。
有什么方法可以让第一个意图获得职业然后调用其他 3 个而不需要验证用户的输入?如果是这样,我真的很想举一个例子来说明如何实现这一点。
要实施有条件要求的插槽和上下文结转,您将需要使用自定义技能代码并直接管理逻辑并发出插槽引发指令。因此,如果您一直在使用 'dialog model' 并使用委托指令,这可能是一个重大变化。
在您的意图处理程序中:使用会话属性来维护您的插槽类型和值的映射。当您看到一个意图有一个未填充的槽时,您可以决定是从地图中获取一个值还是引出一个值。逻辑将根据您的场景定制。
要手动获取槽值,请参阅 https://developer.amazon.com/docs/custom-skills/dialog-interface-reference.html。请记住设置意图和所有已知的插槽值,以便将它们保留到下一个请求。