Насколько я понимаю, если я использую пользовательский тип слота, даже если список его возможных значений не содержит произнесенного слова, произнесенное слово все еще передается в функцию. Документация гласит: «Пользовательский тип слота не является эквивалентом перечисления. Значения за пределами списка все еще могут быть возвращены, если они распознаются системой понимания устной речи. '
Теперь у меня есть имена Intent "orderFoodIntent" с пользовательским типом слота FOOD_ITEM со значениями apple, avocado, banana и высказыванием "order {food_item} for me"
Если я вызову это намерение со значением не в FOOD_ITEM, то по-прежнему вызывается Intent, но JSON не содержит ключ "value" для слота:
"request": {
"type": "IntentRequest",
"requestId": "EdwRequestId.a943e233-0713-4ea5-beba-d9287edb6083",
"locale": "en-US",
"timestamp": "2017-03-09T14:38:29Z",
"intent": {
"name": "orderFoodIntent",
"slots": {
"food_item": {
"name": "food_item"
}
}
}
}
Как мне получить доступ к произнесенному слову в намерении?
Это ошибка со стороны Алекса?