我在2种不同的状态中有2个意图
TriviaState.AnswerIntent和StartState.ChooseQuizIntent。
两个意图都接受所需的插槽类型AMAZON.Number
{
"name": "AnswerIntent",
"slots": [
{
"name": "answernum",
"type": "AMAZON.NUMBER",
"samples": [
"number {answernum}",
"answer number {answernum}",
"{answernum}",
"answer {answernum}"
]
}
],
"samples": [
"number {answernum}",
"answer {answernum}",
"{answernum}",
"answer number {answernum}"
]
},
{
"name": "ChooseQuizIntent",
"slots": [
{
"name": "quiznumber",
"type": "AMAZON.NUMBER",
"samples": [
"quiz {quiznumber}",
"{quiznumber}",
"quiz number {quiznumber}",
"{quiznumber} please",
"number {quiznumber}",
"number {quiznumber} please"
]
}
],
"samples": [
"{quiznumber}",
"quiz number {quiznumber}",
"number {quiznumber}",
"I'd like to play number {quiznumber}",
"{quiznumber} please",
"number {quiznumber} please",
"quiz {quiznumber}"
]
},
在StartState中,如果用户说出#2;#2;,则正确调用StartState.ChooseQuizIntent。但是,如果用户说' 2',alexa会将此映射到TriviaState.AnswerIntent,从而导致调用StartState.unhandled。
相反,当在TriviaState中时,如果用户说' 2',则正确调用TriviaState.AnswerIntent,但如果用户说'编号2',则alexa将其映射到StartState.ChooseQuizIntent,其结果是在TriviaState.unhandled被称为。
我发现这两个插槽都是从alexa的角度接收相同的输入,但我认为这些状态会受到尊重,但显然不是。