在 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}
或您的自定义意图的任何名称。
我正在尝试创建一种 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}
或您的自定义意图的任何名称。