我正在尝试创建一个alexa技能,可以将多个单词作为输入,并可以将其读出给用户。这是我的Intent Schema:
"name": "[concat(parameters('servicesNames')[copyIndex()], 'pip')]",

我使用{
"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
问题是:发出时可以输入一个单词作为输入,可以读出来。但是如果用户说多个单词,它就不能将任何单词作为输入。例如:它可能需要很好的'作为输入,但没有得到很好的'。 任何人都可以帮我找出它的错误吗?
答案 0 :(得分:0)
我找到了解决方案!样本话语应以这种形式写出:
madlibIntent begin madlib
madlibIntent build madilb
madlibIntent {STEPVALUE}
madlibIntent {STEPVALUE} {STEPVALUE}
madlibIntent {STEPVALUE} {STEPVALUE} {STEPVALUE}
您需要使用一个,两个和三个单词构建自定义插槽,而不是仅使用AMAZON.LITERAL
,这样它可以将一个,两个或三个单词作为输入。如果您想要输入四个或更多单词作为输入,只需在Sample utterances
中创建更多行,并继续添加{STEPVALUE}
或您自定义意图的名称。