Проблема с AMAZON.TIME в Alexa Skill

{
  "intents": [
    {
      "name": ... // my current intent name
      "slots": [
        {
          "name": "StartTime",
          "type": "AMAZON.TIME"
        },
        {
          "name": "EndTime",
          "type": "AMAZON.TIME"
        }
      ]
    }
  ]
}

Я использую тип слота AMAZON.TIME для временных интервалов. Проблема в том, что в одном из моих слотов Alexa не может правильно обрабатывать данные. Детали - Когда я сказал «13:00» в слоте EndTime, Алекса знала, что было «13:00». Но в слоте StartTime он возвращал только «00:00», иногда не возвращал никакого ответа. Я проделал одно и то же на обоих слотах.


person Htet Wai Yan    schedule 11.12.2018    source источник
comment
1. Вы набираете текст в симуляторе Alexa или используете его голосом? 2. Обеспечили ли вы по крайней мере 5-7 высказываний с правильным назначением временного интервала начала и окончания?   -  person    schedule 11.12.2018
comment
1. ввод текста в симуляторе. 2. Вы имеете в виду намеренные высказывания? Собственно, мои намерения импортируются с использованием json из Lex. Для намеренных высказываний я уже назначил должным образом. Я нашел поле высказываний пользователя внутри каждого слота. Мне нужно добавить какие-то высказывания в это поле?   -  person Htet Wai Yan    schedule 12.12.2018


Ответы (1)


Поскольку вы набираете текст в Alexa Simulator, Alexa не может правильно проанализировать ваш текст и, следовательно, не распознает время начала и время окончания.

В Alexa Simulator попробуйте использовать голосом, есть изображение микрофона - нажмите и удерживайте его -> Затем сообщите свой ответ -> затем отпустите изображение микрофона. Это решит проблему.

Почему такое странное поведение?

Давайте посмотрим на пример. Предположим, вы работаете над погодным приложением и хотите знать погоду в Лондоне с 10:00 до 14:00. Итак, в Simulator вы набираете:

Расскажите мне о погоде в Лондоне с 10:00 до 14:00.

Теперь, когда вы произносите вышеуказанный ответ, но уже голосом, Алекса интерпретирует его так:

Скажи мне погоду в Лондоне с десяти утра до двух часов дня.

Согласно AMAZON.TIME docs, ten am станет 10:00 и two pm станут 14:00. Но ваш набираемый текст 10 AM немного странен для AMAZON.TIME, и поэтому он не распознает его должным образом.

Чтобы эта 10 AM работала, вам нужно определить свой собственный слот, а затем вручную поработать над ним в коде. Но в процессе производства конечные пользователи будут звонить в ваше приложение с помощью голоса, поэтому, когда пользователь скажет 10 AM, Alexa отправит ten am в качестве значения слота вашему приложению, и ваше приложение может сломаться. Поэтому я не рекомендую этот метод.

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

person Community    schedule 12.12.2018
comment
Да, следует использовать голосовые высказывания. Большое спасибо. - person Htet Wai Yan; 12.12.2018