我们可以在 Alexa 中引出不同意图的插槽吗

Can we elicit slot of a different intent in Alexa

如果我们的后端收到请求说 AMAZON.YesIntent 或任何其他自定义意图。我们能否引出与触发意图不同的意图插槽作为响应。

例如:

...
user: Yes
     (Amazon.YesIntent is mapped)
Alexa: Which city do you want to stay in?
     (elicit slot of another intent)
...

是的,现在可以了,请阅读更新部分

很遗憾,您不能。只能使用 Dialog.ElicitSlot 指令发送相同类型的更新意图。

Note that you cannot change intents when returning a Dialog directive, so the intent name and set of slots must match the intent sent to your skill.

您将收到一张 "Invalid Directive" 卡片和 "There was some problem with the requested skills response" 作为错误消息。

更新(2019 年 4 月 8 日)

使用updateIntent 对象指定必须触发其插槽的新意图。当您使用新的 updateIntent 更新最初发送给您的技能的 Intent 对象时,包括所有插槽,包括您未更改的任何空插槽。

{
  "type": "Dialog.ElicitSlot",
  "slotToElicit": "slotOfSomeOtherIntent",
  "updatedIntent": {
    "name": "SomeOtherIntent",
    "confirmationStatus": "NONE",
    "slots": {
      "slotOfSomeOtherIntent": {
        "name": "slotOfSomeOtherIntent",
        "value": "string",
        "resolutions": {},
        "confirmationStatus": "NONE"
      }
    }
  }
}

阅读更多关于 Change the intent or update slot values during the dialog
阅读更多关于 ElicitSlot Directive