在Alexa Skill中输入多个单词

时间:2017-08-06 07:22:33

标签: javascript node.js aws-lambda alexa alexa-skill

我正在尝试创建一个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

问题是:发出时可以输入一个单词作为输入,可以读出来。但是如果用户说多个单词,它就不能将任何单词作为输入。例如:它可能需要很好的'作为输入,但没有得到很好的'。 任何人都可以帮我找出它的错误吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案!样本话语应以这种形式写出:

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

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