Автор оригинала: Kathryn Hodge.
Что такое умение Алекса?
Создано в 2014 году, Echo Amazon – это громкий динамик, который вы управляете своим голосом. Alexa – это голосовая служба, которая способствует эхо и позволяет клиентам взаимодействовать с устройством. Как сторонние разработчики, мы можем создавать приложения или в этом случае «навыки», с которыми пользователи могут загружать и взаимодействовать. Один навык Alexa может помочь вам найти хорошую книгу, которая может дать вам информацию о вашем любимом телешоу. Возможности безграничны!
В этом руководстве мы собираемся сделать навык, который говорит вам факты о данном знаке зодиака. Так что с этим навыком вы могли бы сказать: «Расскажи мне о LeoS», и Echo ответит бы с «LeoS, как известно, считают гордыми, лояльными, харизматичными и стильными» или что-то в этом роде. Вы также можете сказать: «Расскажи мне о Virgos», и эхо будет реагировать на факт о людях с знаком Девы.
Создание голосового интерфейса
Есть две основные части для создания умения Алекса. Во-первых, мы должны построить голосовой интерфейс, который будет состоять из того, какие виды вещей могут сказать, что пользователь может сказать и что означает каждая фраза. В будущем уроке мы завершим навык, добавив функцию Lambda, которая будет содержать код для функциональности навыков. Хотя это может показаться широким сейчас, мы скоро попадем в детали! Наиболее распространенный способ сделать навык Alexa, используя JavaScript.
Для этой первой части вам следует комфортно работать с объектами JSON в целом, но в более поздних частях JavaScript будет играть большую роль.
Высказывание образцов
Чтобы создать наш голосовой интерфейс, мы должны выяснить, что скажет пользователь. Мы делаем это через что-то называемое Примерные высказывания Отказ Для наших навыков некоторые высказывания могут включать
- Расскажи мне о {Zodiac}
- Расскажи мне о {Zodiac}
- Я хочу узнать больше о {Zodiac}
- Я хочу узнать больше о {Zodiac}
- Говорить о {Zodiac}
- Говорить о {Zodiac}
- Расскажите мне некоторые факты о {Zodiac}
- Расскажите мне некоторые факты о {Zodiac}
- Какие знаки зодиака?
- Какие знаки зодиака снова?
- Скажи мне знаки зодиака
- Скажи мне знаки зодиака снова
Уведомление, у нас есть некоторые из фраз зодиака в ручке-барах – это потому, что зодиак будет именем слота. Слот похож на переменную, которая будет иметь определенное значение при реализации. Например, когда пользователь говорит: «Расскажи мне о весах», «Zodiac Plot имеет значение Libra или, если пользователь говорит:« Разговор о раке »,« Слот зодиака »будет иметь значение рака зодиака. Нам нужно будет перечислить возможные значения для слота зодиака, но это придет позже. На данный момент важно знать, что стоимость Zodiac Plot из того, что говорит пользователь, определит то, что Alexa говорит пользователю.
Напряженность
Многие вещи, которые мы говорим, имеют одинаковое значение и с Alexa, мы справляемся с этим с Стенды Отказ Каждое высказывание образца сопоставлено на намерение, которое представляет его истинное значение. Например, Говорить о {Zodiac} и Расскажи мне о {Zodiac} будет сопоставлен к тому же намерению, потому что они оба представляют один и тот же тип запроса, спрашивая Alexa для фактов о конкретном знаке зодиака. Кроме того, Скажи мне знаки зодиака и Какие знаки зодиака? Также будет отображаться к тому же запросу, поскольку они просят Alexa, чтобы перечислить все знаки зодиака. Есть также встроенные намерения, как Amazon.yesintent
и Amazon.helpintent
У этого уже есть высказывания, назначенные им. Мы можем набрать больше высказываний для этих встроенных намерений, но это придет позже в этом руководстве.
Поставить его в облако
С основаниями вниз, давайте пойдем в https://developer.amazon.com/ для начала. Ваша веб-страница, вероятно, будет выглядеть что-то подобное.
Нажмите кнопку «Войти» в верхнем правом углу и войти в (или создать) свою учетную запись Amazon. Как только вы, вы должны увидеть что-то, что выглядит так.
Нажмите Alexa сверху, а затем нажмите на комплект навыков Alexa.
Нажмите Добавить новый навык справа, и мы пойдем вперед и начнем создавать наши навыки. Как только вы на странице, добавьте Имя навыка – Здесь я поставим зодиакальные факты – и Имя инновации Отказ Имя навыка заключается в том, как навык будет назван на Amazon и Store Alexa, и имя инновации определит, что пользователь говорит, что начнет навык.
Для контента, не встроенного в amazon echo, пользователь должен сначала загрузить навык, а затем начать навык, пользователь должен сказать «Начать [Имя инновации]», где имя инновации – это имя навыка. С добавлением имени навыка и имени инновации ваша страница должна выглядеть что-то подобное.
Нажав Далее, мы перейдем к Модель взаимодействия , который будет держать код для нашего голосового интерфейса. Первая часть называется Схема намерения Отказ Схема намерения будет иметь все наши возможные намерения – другими словами, все возможные значения наши выпускные высказывания могут иметь. Для этого навыка наши намерения будут включать:
Getzodiacfacfactent.
Amazon.gethelpintent.
Amazon.cancelintent.
Amazon.stopintent.
Пользователь сможет получить факты о определенном знаке зодиака, получить помощь, если они не могут вспомнить знаки зодиака и отменить или остановить навык в любое время. Наша схема намерения будет объектом JSON, который включает в себя все наши намерения, поэтому он должен выглядеть что-то подобное:
{ "intents" : [ { "intent": "GetZodiacFactIntent", }, { "intent" : "AMAZON.HelpIntent" }, { "intent" : "AMAZON.StopIntent" }, { "intent" : "AMAZON.CancelIntent" } ] }
Тем не менее, мы скучаем по одному – наше зодиак! В высказываниях сопоставлены на Getzodiacintent
Нам нужно точно указать, какой знак зодиака мы хотим факты о. Чтобы добавить этот слот, мы просто добавим атрибут слотов к конкретному объекту, назовите его зодиака, и дайте ему тип списка знаков (с подчеркиванием).
{ "intents" : [ { "intent": "GetZodiacFactIntent", "slots": [ { "name": "Zodiac", "type": "LIST_OF_SIGNS" } ] }, { "intent" : "AMAZON.HelpIntent" }, { "intent" : "AMAZON.StopIntent" }, { "intent" : "AMAZON.CancelIntent" } ] }
Вставив это в нашу схему намерения на Amazon, ваш экран должен напоминать что-то вроде этого:
Далее мы перечислим возможные значения для нашего пользовательского слота, зодиака. Нажмите «Добавить тип слота» и «Введите», напишите список знаков (с подчеркиванием) и для значений, напишите:
Aquaries Aries Taurus Pisces Gemini Geminis Cancer Cancers Leo Leos Virgo Virgos Libra Libras Scorpio Scorpios Sagittarius Sagittariuses Capricorn Capricorns
В конце концов, он должен выглядеть что-то вроде этого.
Когда вы закончите, нажмите Сохранить. Последняя часть создания нашей модели взаимодействия является перечисление выпускных выступлений, а также какую цель они отображают. Мы будем использовать выпускные высказывания, которые мы создали выше и напишите намерение, связанные с каждой перед каждой фразу. Обязательно сделайте каждое высказанное высказывание (не намерение или имя Slot) строчные и удалить любую пунктуацию.
GetZodiacFactIntent tell me about {Zodiac} GetZodiacFactIntent tell me about a {Zodiac} GetZodiacFactIntent i want to know more about {Zodiac} GetZodiacFactIntent i want to know more about a {Zodiac} GetZodiacFactIntent talk about {Zodiac} GetZodiacFactIntent talk about a {Zodiac} GetZodiacFactIntent tell me some facts about {Zodiac} GetZodiacFactIntent tell me some facts about a {Zodiac} AMAZON.HelpIntent what are the zodiac signs AMAZON.HelpIntent what are the zodiac signs again AMAZON.HelpIntent tell me the zodiac signs AMAZON.HelpIntent tell me the zodiac signs again
Здесь мы коррелируем какие-либо фразы о получении фактов для определенного знака зодиака с Getzodiacintent
И любые фразы о услышании списка знаков зодиака с Amazon.helpintent
Отказ Amazon.cancelintent
и Amazon.stopintent
Уже есть образец высказывания, подключенные к ним, и нет фраз, которые мы хотели бы добавить, поэтому они не включены в порцию высказывания образцов. После ввода, он должен выглядеть так.
Когда вы будете готовы, нажмите кнопку Сохранить, и это создаст вашу модель взаимодействия. Если у вас есть какие-либо синтаксические ошибки, это когда вы получите предупреждение, и вы сможете отредактировать свой код соответствующим образом.
Что теперь?
У нас есть наш голосовой интерфейс и модель взаимодействия вниз, но все, что у нас есть интерфейс. Наши навыки на самом деле ничего не делают. В следующем уроке мы узнаем, как подключить функцию лямбда для наших навыков, чтобы дать ему некоторые функциональные возможности. Проверьте это здесь.