Подтверждение слота Alexa о типе слота AMAZON.DURATION

В последнее время я наращиваю навык Alexa со встроенным подтверждением слота. Я обнаружил, что когда типом слота является AMAZON.DURATION, Alexa будет подтверждать содержимое слота в формате продолжительности ISO-8601, а не в устном формате.

Например, когда пользователь говорит «10 минут», Alexa ответит: «Вы только что сказали PT10M?» автоматически. Голосовая подсказка Alexa, которую я только установил, находится в консоли разработки Alexa как "Вы только что сказали {период}"

Есть ли способ исправить это, или я могу просто задать вопрос внутри лямбда-функции.

Большое спасибо.


person Jimmie    schedule 05.11.2018    source источник
comment
Вы хотите преобразовать этот PT10M на 10 минут до того, как Alexa подтвердит слот?   -  person johndoe    schedule 06.11.2018
comment
Да, и я обнаружил, что мне нужно преобразовать тип на бэкэнде (AWS Lambda) с помощью slotConfirmation. Кажется, нам не удастся изменить тип, просто установив его в консоли разработчика Alexa.   -  person Jimmie    schedule 08.11.2018


Ответы (1)


Для каждого поворота в разговоре ваш бэкэнд будет получать запрос от Alexa. Речевые подсказки, которые вы настроили в консоли Alexa, используются, когда вы используете директиву Delegate диалоговой модели. т.е. когда вы делегируете следующий шаг Alexa.

Когда пользователь скажет «10 минут», вы получите запрос в своем бэкэнде. Вы должны проверить слот {period} и, если он действителен, преобразовать его в «10 минут». Это можно сделать, изменив значение слота {period} с «PT10M» до «10 минут» во время делегирования.

person johndoe    schedule 12.11.2018