在 Alexa Skill 中输入多个单词

Multiple word as input in Alexa Skill

我正在尝试创建一种 alexa 技能,可以将多个单词作为输入并可以将其读出给用户。这是我的意图模式:

{
  "intents": [
    {
      "intent": "AMAZON.CancelIntent"
    },
    {
      "intent": "AMAZON.StopIntent"
    },
    {
      "intent": "AMAZON.HelpIntent"
    },
    {
      "intent": "madlibIntent",
      "slots": [
        {
          "name": "STEPVALUE",
          "type": "AMAZON.LITERAL"
        },
        {
          "name": "duration",
          "type": "AMAZON.NUMBER"
        }
      ]
    }
  ]
}

我正在使用 AMAZON.LITERAL 将多个词作为用户输入。我的示例话语如下:

madlibIntent begin madlib madlibIntent build madilb madlibIntent {z|STEPVALUE} madlibIntent {z z|STEPVALUE} madlibIntent {duration}

问题是:它能把一个词作为输入,说出来就能读出来。但是如果用户说多个单词,它就不能将任何单词作为输入。例如:它可以将 'nice' 作为输入但不会得到 'very nice'。 谁能帮我找出问题所在?

我找到了解决办法!示例语句应该写成这种形式:

madlibIntent begin madlib
madlibIntent build madilb
madlibIntent {STEPVALUE}
madlibIntent {STEPVALUE} {STEPVALUE}
madlibIntent {STEPVALUE} {STEPVALUE} {STEPVALUE}

您需要使用一个、两个和三个单词构建自定义插槽,而不是仅使用 AMAZON.LITERAL,以便它可以将一个、两个或三个单词作为输入。如果您想将四个或更多单词作为输入,只需在 Sample utterances 中创建更多行并继续添加 {STEPVALUE} 或您的自定义意图的任何名称。