- Навыки Алисы
- Для разработчиков
- Навыки Алисы
- Для разработчиков
- Навыки Яндекс Алисы
- Навыки Яндекс Алисы
- Что такое навыки Алисы?
- Каталог навыков Алисы.
- Как создать навык для Алисы?
- Конструктор навыков для Алисы
- Новые навыки Алисы
- Разработка навыков для Алисы. Опыт работы с голосовыми интерфейсами, советы начинающим
- Почему стоит обратить внимание на Алису?
- Зачем все это: голос, навыки?
- Как создать навык?
- Общий подход и типичные ошибки.
- Текущие недостатки платформы
- Вывод
Навыки Алисы
Разработчики учат меня играть, заказывать еду, искать работу и многому другому. Например, вы можете поиграть со мной в Города, попросить меня сделать заказ во ВкусВилл или проверить статус посылки Почты России.
После того, как навык проверят модераторы и он попадет в каталог, я смогу выполнять такой сценарий в любом приложении Яндекса. Чтобы узнать, на каких устройствах я воспроизведу навык, найдите и откройте его в каталоге — значки поддерживаемых устройств отображаются под описанием навыка.
Чтобы посмотреть мои навыки для конкретного устройства, откройте в каталоге фильтр Все устройства и выберите нужную платформу. Вы можете переключаться по категориям (например, «Игры и развлечения» , «Для детей» , «Образование» ).
В каталоге разработчики полностью описывают каждый мой навык: зачем он нужен, что умеет, как его правильно вызвать. Для начала диалога или завершения работы с ним нужно позвать меня и добавить специальную фразу. Вы также можете выбрать нужную команду на странице навыка.
Для разработчиков
Кроме навыков, которым меня научили в Яндексе, я умею выполнять сценарии от сторонних разработчиков и пользователей. Чтобы добавить свой навык, создайте веб-сервис, где я буду отвечать на вопросы, и опубликуйте его на платформе Яндекс.Диалоги.
Навыки Алисы
Разработчики учат меня играть, заказывать еду, искать работу и многому другому. Например, вы можете поиграть со мной в Города, попросить меня сделать заказ во ВкусВилл или проверить статус посылки Почты России.
После того, как навык проверят модераторы и он попадет в каталог, я смогу выполнять такой сценарий в любом приложении Яндекса. Чтобы узнать, на каких устройствах я воспроизведу навык, найдите и откройте его в каталоге — значки поддерживаемых устройств отображаются под описанием навыка.
Чтобы посмотреть мои навыки для конкретного устройства, откройте в каталоге фильтр Все устройства и выберите нужную платформу. Вы можете переключаться по категориям (например, «Игры и развлечения» , «Для детей» , «Образование» ).
В каталоге разработчики полностью описывают каждый мой навык: зачем он нужен, что умеет, как его правильно вызвать. Для начала диалога или завершения работы с ним нужно позвать меня и добавить специальную фразу. Вы также можете выбрать нужную команду на странице навыка.
Для разработчиков
Кроме навыков, которым меня научили в Яндексе, я умею выполнять сценарии от сторонних разработчиков и пользователей. Чтобы добавить свой навык, создайте веб-сервис, где я буду отвечать на вопросы, и опубликуйте его на платформе Яндекс.Диалоги.
Источник
Навыки Яндекс Алисы
Реклама от Google
Совсем недавно компания Яндекс запустила новую разработку – голосового помощника Алису. Она очень быстро снискала популярность – поселилась в смартфонах и ПК многих Россиян. И это не удивительно. Алиса пока остается уникальной и единственной в своем роде.
На волне успеха разработчики стали двигаться дальше. Теперь голосовой помощник умеет еще больше – заказывать такси и еду, находить ближайшие кинотеатры, давать мудрые советы и многое другое.
Навыки Яндекс Алисы
Навык – это сервис, который позволяет научить Алису новым функциям. К примеру, заказывать пиццу или делать заказы в интернет-магазинах. Также можно создавать текстовые квесты, информационных ботов и многое другое.
Вакансия менеджера по продажам в станции продажи колонок Алиса
Нужно заполнить простую форму на официальном сайте. После чего с вами созвониться представитель компании для обсуждения дальнейших действий.
График 2/2. Зарплата от 33 000 рублей.
Внимание. Возраст для соискателей от 18 до 30 лет. Принимаются заявки только для жителей Нижнего Новгорода и Казани.
Реклама от Google
Схема работы выглядит так – разработчик подключает свой сервер к платформе голосового помощника. Для включения необходимо назвать кодовые слова. Когда клиент активирует навык, Алиса передает его фразы на сервер, а отвечает теми репликами, которые запрограммировал создатель. Функция голосового помощника – трансформация текста в аудио формат. При этом для клиента все выглядит так, как будто он просто общается с Алисой.
Чтобы запустить навык, не нужно ничего дополнительно скачивать и устанавливать. Достаточно сказать слова-активаторы, и программа сделает все сама. В этом и заключается основное преимущество новой функции – максимальная простота.
Что такое навыки Алисы?
Навыки Алисы открывают неограниченный простор для разработчиков. Ведь создавать можно не только программы для интернет-магазинов и курьерских служб, но и абсолютно разные системы:
- Подбора кандидатов для работодателя – соискатели будут проходить анкетирование через бота.
- Управления умным домом – по команде человека голосовой помощник будет передавать сигналы соответствующим приборам, к примеру, включать кондиционер или тушить свет.
- Подбора туров для туристических фирм – клиенты называют интересующие параметры, а Алиса находит подходящие варианты.
Каждый бизнесмен сможет найти решение именно для себя.
Каталог навыков Алисы.
Все созданные навыки Алисы собраны в единый каталог dialogs.yandex.ru/store. Они объединены в тематические разделы:
- Игры и развлечения.
- Путешествия.
- Образование.
- Умный дом.
- Продуктивность.
- Культура и прочие.
К примеру, пользователя интересует тема «Культура». Нажав на соответствующую группу, он увидит все доступные навыки. Каждый из них можно открыть, и посмотреть подробную информацию. Допустим, сервис «Моя библиотека» позволяет найти адреса ближайших библиотек, где есть искомая книга. Если пользователя заинтересовала эта возможность, то достаточно нажать в каталоге на кнопку запуска навыка, и Алиса выполнит запрашиваемое действие (если она установлена на ПК или смартфон).
Как создать навык для Алисы?
Разработка навыков производится на платформе Яндекс диалоги в личном кабинете. Чтобы приступить к работе, надо нажать на кнопку «Создать диалог» и выбрать пункт «Навык в Алисе».
Реклама от Google
Далее откроется меню настроек, где необходимо заполнить следующие поля:
- Название – под ним навык виден в каталоге. Должно отображать суть новой возможности, не дублировать уже существующие навыки и содержать не менее 2 слов (компании могут использовать одно, к примеру, Мегафон). Предлоги, союзы и частицы не учитываются. Нельзя давать общие названия – «Заказ пиццы», «Магазин сотовых телефонов» и т.д., а также включать слова-команды голосового помощника – «Алиса», «Яндекс», «Станция».
- Активационное имя – кодовое сочетание слов, с помощью которого пользователь сможет включить навык. То есть «Запусти навык NNN», где NNN – это название функции. Условия – длина от 2 до 4 слов, частицы не учитываются; можно использовать сокращения, но если оно не общепринятое (ВУЗ, ГОСТ и т.д.), то нужно будет указать расшифровку; имя не должно быть похоже на уже существующие, чтобы Алиса не ошиблась при распознавании команды. Здесь также нельзя использовать слова-команды. Лучше заранее удостоверится, что Алиса правильно понимает указанную фразу.
- Webhook URL – адрес сервера, который будет обрабатывать реплики пользователей и отправлять ответы на них. Нужно обязательно указать протокол HTTPS.
- Приватность – если поставить галочку в этой строке, то навыки не будут видны каталоге. Их смогут задействовать только люди, знающие кодовые слова.
- Имя разработчика – информация о создателе.
- Сайт для верификации прав использования бренда – строка обязательна к заполнению, если создатель указывает название какой-либо компании. Тогда необходимо подтверждение в Яндекс.Вебмастере. Для создания игр и иных подобных диалогов заполнять это поле не нужно.
- Категория – из списка необходимо выбрать ту, которой больше всего соответствует новый навык: общение, авто, образование и т.п. Именно в этой группе функция будет находиться в каталоге. Если категория выбрана не верно, то навык отклонят модераторы.
- Описание – краткое (до 150 символов) объяснение функций диалога, отображаемое в каталоге.
- Возрастные ограничения – необходимо поставить отметку, если навык содержит материалы для взрослых.
- Иконка – картинка в формате PNG или JPG, являющаяся заставкой в каталоге. Компании обычно устанавливают свой фирменный логотип.
Теперь остается нажать кнопку «Сохранить» и протестировать готовый навык. Если все в порядке, то его отправляют на модерацию. По завершению проверки он появится в каталоге.
Конструктор навыков для Алисы
Рассмотрим на примере конструктора «Вертер». Пользователь регистрируется на сайте или авторизуется через аккаунт социальной сети. Перед ним появляется кнопка «Создать навык». При нажатии открывается новое окно, в котором указывают название навыка и e-mail для отправки оповещений.
После этого в левом меню выбирают пункт «Вопросы-ответы» и создают диалог. Для каждого ответа можно задавать несколько вариантов вопросов, а также подключать сайджесты – подсказки.
При разработке необходимо детально продумать диалог и все возможные ответвления. Например, человек занимается доставкой еды и добавляет новый навык в Алису. Сначала он программирует начало диалога: «Здравствуйте. Что Вы хотите заказать?».
Клиент отвечает: «Хочу куриные крылышки».
Система распознает ключевые слова и предлагает соответствующее блюдо. «Прекрасное решение. Какую порцию – маленькую или большую?».
Программа: «Заказ принят. Куда нужно доставить?» и т.д.
В результате разработчик принимает заказ и привозит его по указанному адресу. Система должна воспринимать разные варианты ответа, и не заводить беседу в тупик.
Когда работа закончена, навык тестируют в личном кабинете.
«Вертер» позволяет не только создавать, но и отслеживать ответы пользователей. Такая функция позволяет усовершенствовать навык и исправить допущенные ошибки.
Работа со вторым сервисом происходит аналогичным образом. Но с его помощью можно создать только 1 бесплатный навык, остальные предоставляются за приглашение друзей.
Новые навыки Алисы
Возможность создания пользовательских навыков значительно расширила функционал голосового помощника. Среди них есть как бесполезные, так и очень интересные функции, которые уже понравились пользователям.
Реклама от Google
Хотя возможность разработки собственных навыков появилась не так давно, в каталоге уже находится их огромное количество. Скорее всего, со временем представителям Яндекс придется придумывать другой способ их систематизации. Например, разделение по городам. Некоторые сервисы работают только в определенных регионах, и хотелось бы, чтобы это было видно в каталоге.
Сейчас развитие голосового помощника является очень перспективным направлением. Исследования показывают, что в ближайшем будущем люди будут совершать покупки и другие повседневные действия именно с их помощью. Поэтому у Алисы есть все шансы стать лидером в этой области.
Источник
Разработка навыков для Алисы. Опыт работы с голосовыми интерфейсами, советы начинающим
Всего месяц назад мы захотели попробовать себя в создании расширения для функционала Алисы — навыков. По опыту общения в чате поддержки Яндекс Диалогов сложилось впечатление что уже есть, чем поделиться с начинающими особенностями работы над голосовыми интерфейсами.
В заметке хочу рассказать свои впечатления от трех недель работы нашего детского новогоднего навыка Снегурочки и о вопросах и ответах в чате разработчиков диалогов.
Для профессионала в VUI в заметке не будет ничего нового, но дельные советы и комментарии от опытных приветствуются. Пишу впервые, прошу не судить строго.
Почему стоит обратить внимание на Алису?
Если за рубежом голосовые помощники уже стали обыденностью, многочасовые разговоры с роботом уже утекают в сеть, то у нас это пока остается на уровне взаимодействия с навигатором, болтовни детей с Алисой, баловством гиков с умными домами. Мало кто из моих знакомых заносит заметки и напоминания с помощью Siri, хотя, на мой взгляд — это один из самых удобных вариантов ее использования. С большой вероятностью в наступающем году эта ситуация изменится в лучшую сторону, ведь фундамент уже заложен:
- Алисе исполнился только год, она учится, но уже многое умеет.
- Выход Яндекс станции — думаю, постепенно она будет становиться умнее и более функциональной.
- Появление в продаже в декабре первых недорогих партнерских мини-колонок.
- Запуск школы Алисы для обучения разработчиков созданию навыков
- Анонсированы серьезные улучшения инфраструктуры Яндекс Диалогов, в частности, «discovery навыков» — средство для удобного поиска и ранжирования навыков от сторонних разработчиков
Все это мне подсказывает, что мы находимся в начале развития голосовых интерфейсов в России и потому мы решили начать изучение этих технологий.
Зачем все это: голос, навыки?
Думаю, многим уже понятно преимущество голосовых интерфейсов в некоторых случаях, но не лишним будет напомнить: иногда это самый подходящий вариант. Например, в автомобиле или на кухне занимаясь приготовлением еды, при любой другой деятельности, где руки заняты, удобнее отдавать команды голосом. Например, уже давно есть роботы-медсестры, управляемые голосом, помогающие при хирургических операциях.
Голос — привычный людям интерфейс взаимодействия. Пожилые люди и дети без особых проблем осваивают этот метод для получения информации и управления гаджетами.
Для людей с нарушением зрения голос и слух — являются еще более важным каналом взаимодействия с окружающей средой. Судя по чату Яндекс.Станции такая категория людей очень оценила появление такого устройства, облегчающего их жизнь.
Продолжать перечислять кейсы не буду, если интересно, то можно детальнее узнать обо всем этом из специальной литературы.
Навык — это программа реализующая некий диалог, который запускается заданной командой активации в Алисе и расширяющий возможности голосового помощника от Яндекса.
Как создать навык?
Есть уже некоторое количество хороших сторонних навыков, но еще много ниш, которые можно занять и сделать по-настоящему интересный и полезный навык.
По созданию их есть несколько статей, в том числе и на Хабре. Есть документация, есть краткие общие рекомендации. Не стану сильно углубляться в технические детали реализации, т.к. хотелось бы поделиться общими подходами для начинающих.
Технически навык очень похож на бота, с тем отличием, что он не может сам отправить сообщение, а только ответить на запрос пользователя.
Вот небольшой список ресурсов которые помогут начать:Библиотеки и ресурсы для Яндекс Диалогов
Неофициальный FAQ по работе с Яндекс Диалогами.
В документе собраны актуальные и не очень ссылки и вопросы-ответы.
Вышеупомянутый чат Яндекс Диалогов.
Для начала разработки нужен аккаунт на Яндексе, сервер, на котором будет находиться и выполняться код нашей программы, вебсервер и само приложение, написанное на любом удобном вам языке, который сможет обеспечить работу по https протоколу.
Детали реализации своих навыков я тут приводить не буду, если будет запрос от сообщества, то уделю этому внимание в отдельной статье. Тем более что подобные материалы уже есть.
Оставлю только пример простого навыка на PHP с комментариями который, думаю, позволит сделать быстрый старт новичку.
В репозитории находится скрипт для создания простой среды для разработки, который запускает встроенный в PHP вебсервер и используя сервис serveo.net делает локальный порт доступным из интернет:
Сохраняем урл https://******.serveo.net — это будет урл вашего вебхука. В отличие от ngrok этот урл не изменяется со временем, не надо менять его в настройках диалога. Можете проверить доступность вебхука введя в браузере этот урл — должен вернуться json с ошибкой. Это нормально, мы не передали скрипту необходимых параметров.
Далее регистрируем сам навык по ссылке:
Выбираем пункт «Навык в Алисе»
Заполняем все поля согласно подсказкам и документации диалогов:
В поле webhook url вводим полученный ранее урл.
Пробуем сохранить, если следовали приведенным инструкциям все должно отработать с первого раза.
В данной статье по реализации только посоветую обратить особое внимание системе логирования действий пользователя. Я все проблемные участки взаимодействия пользователя, например, ожидаю «да | нет» а получаю иное, записываю в лог и тут же транслирую (отдельным процессом для скорости работы вебхука) в телеграм-канал для оперативного отслеживания и реагирования.
Общий подход и типичные ошибки.
Как я и предполагал, подходы привычные в обычной веб-разработке или разработке телеграм ботов тут мало подходят. Основное отличие — частая непредсказуемость ответов. Платформа диалогов позволяет добавлять кнопки с четкими ответами на вопрос, но пользователь часто отвечает совсем не то, что ожидает программист, привыкший следовать четкой логике.
Вы хотите выучить еще одно стихотворения?
[да] [нет]
Ожидаем что человек ответит да или нет, но нам приходило много других вариантов:
- Да.
- да да
- конечно хочу
- да мама а что у нас кушать?
- надоело
- какая погода в Новосибирске?
Все это происходит по нескольким причинам. Человек может применять различные утвердительные фразы: «конечно», «ну да», «ага», «давай» и т.п. также как и отрицательные. Бывает, что он не вовремя начал отвечать на вопрос, Алиса еще не слушает ответ, а человек уже начинает говорить, в итоге мы слышим часть фразы. Или наоборот, после того как человек ответил, он продолжает разговор с другим собеседником «в реале». Так же пользователь навыка может просто не понимать, что находится внутри стороннего диалога, и делает привычные алисо-запросы без выхода командой «хватит».
Если мы просто повторим тот же вопрос, не распознав правильный ответ, то это может раздражать пользователя и приводить к разочарованию в вашем навыке и в голосовых интерфейсах в целом. Потому следует уделять сообщениям об ошибках отдельное внимание, иногда лучше переформулировать вопрос, уточнить его, а не задавать его снова. На тот же самый вопрос пользователь скорее всего ответит то же самое, просто громче.
Так же следует стараться предусмотреть различные варианты ответов пользователя, выделять смысловую часть. В зависимости от ситуации иногда лучше один раз ошибиться в пользу неверного распознавания ответа, а не заставлять пользователя ответить четко. Если в ожидаемые ответы добавить что-то с паттерном (да *), то чаще будет срабатывать так как надо, а случаи, когда нам ответили «да отстань ты уже» будут уже как исключение и ничего критичного в логике программы не произойдет. Если, конечно, нам нужен точный ответ, из-за неверного распознания которого, в системе будут необратимые последствия, то тогда следует добиться от пользователя внятного ответа. Либо в случае если мы не уверены в ответе, то можем спросить дополнительно недостающую информацию.
Каждый из случаев взаимодействия следует рассматривать отдельно.
В приведенном выше примере мы столкнулись с тем, что пользователи просят стихотворение покороче или про какого-то персонажа («а есть покороче?», «давай про снегурочку»).
Тут у нас появляются варианты — либо добавлять новые уровни меню, но не забывать о «человечности» диалога или реагировать на такие запросы в соответствии с ожиданиями пользователя, но явно их не предлагая.
Как мы в начале ни продумывали эту диалоговую часть, мы поняли, что реальное использование лучше покажет желания пользователя, потому свой первый навык начали с минимальным функционалом, постепенно добавляя возможности нашей Снегурочки, а также реакции на востребованные, но непредусмотренные нами заранее запросы.
Использование сторонних API
Обратили внимание, что для предоставления в своих навыках каких-то полезных функций, разработчики прибегают порой к чрезмерному использованию сторонних API. Однако не стоит забывать, что время ответа вашего webhook не должно превышать 1,5 секунды. Иногда это может стать причиной отрицательного опыта пользователя с навыком, который то отвечает корректно, то пишет: «что-то пошло не так».
Особенности распознавания именованных сущностей: не все имена, города распознаются корректно, и потому желательно предусмотреть это в своем навыке. Мы пока, чтобы не лишать возможности ребенка с нераспознанным Яндексом именем общаться со Снегурочкой пришлось прибегать к некоторым «костылям». Сразу учитывайте это при разработке, чтобы потом не огорчать пользователей с именами Слава или Надежда, например. Надеемся, Яндекс вскоре это поправит.
Существующий инструмент тестирования синтеза речи не всегда соответсвует тому, что будет у вас в навыке на самом деле. Не ленитесь предусмотреть механизмы добавления tts к любым вашим ответам. Мы понадеялись на движок Яндекса, и часть фраз в нашем навыке теперь уже сложно разметить для более качественного произношения (без больших изменений в коде). Учтем на будущее.
Очень помогли простые, но достаточно эффективные PHP функции для нечеткого сравнения слов:
similar_text(), levenshtein(), в других языках тоже есть подобные инструменты. Ну, и, конечно, регулярные выражения, куда без них.
Эти функции позволили, например, принять корректно ответ на загадку с частично верным ответом — не точно распознанный, в разных склонениях.
Это, конечно, для специалистов по NLP (Обработке естественного языка) будет выглядеть несерьезно, но, повторюсь, заметка — для начинающих.
Текущие недостатки платформы
Кратко обозначу основные претензии разработчиков к Яндекс Диалогам, которые заметил в чате.
Долгая, часто кажущаяся нелогичной, модерация. Бывает, что ваш навык не проходит модерацию по причине того, что у вас, скажем, слишком общее имя навыка, например, «погода в Крыму» при том, что уже есть навык с подобным именем — «Погода в Северодвинске». Так понимаю, что связано это с тем, что раньше требования к именам и активационным словам были проще и сыну маминой подруге тому вот парню повезло, а у вас так уже не получится. Ищите другую фразу или попробуйте использовать бренд.
Не всегда документация соответсвует действительности. Сама платформа развивается быстро, документация не поспевает, трактуется пользователями и представителями яндекса иногда по-разному.
Платформа пока предоставляет лишь базовые средства для дебага навыков.
При добавлении навыка в панель разработчика ваш вебхук уже должен отвечать правильно, или просто произойдет ошибка валидации. Что за ошибка, какой JSON был отправлен и какой пришел — мы не увидим. Если же вам удалось добавить навык, то у вас будет минимальная панель с содержимым лишь последнего запроса-ответа и все! Никаких средств проверить как это будет в реальности работать и звучать на устройстве до модерации нет. Есть сторонний эмулятор, который достаточно нестабильно работает, не во всех браузерах, да и не соответсвует текущему протоколу.
Есть и другие пожелания и запросы от разработчиков, такие как: интеграция с умным домом, определение собеседника по его голосу, возможность выбирать голоса для навыков с более качественной генерацией, интеграция платежных систем, интеграция с Яндекс аккаунтом, в том числе для работы с навыком с разных устройств под одним пользователем, продуманная система приватных навыков. Но это — функции требующие тщательной проработки и, с точки зрения безопасности, удобства. Думаю, Яндекс сможет предоставить эти возможности, когда реализует это на должном уровне. Однако, проблемы с модерацией, дебагом и местами неактуальной документацией могут сильно мешать начинающим освоится в платформе.
Помогает то, что в чате поддержка стабильно отвечает, так же организовалось уже более менее опытное и отзывчивое сообщество, которое очень помогло мне, поможет и вам. На многие претензии поддержка достаточно оперативно реагирует сообщениями «приняли к сведению», «про документацию знаем, исправим», «насчет модерации решаем». Ок, мы ждем с нетерпением.
Для быстрого старта советую опубликовать приватный навык, они сейчас проверяются с минимальными требованиями:
- Навык проверяется на имя и активационную фразу, так как база общая для всех разработчиков.
- Вебхук должен корректно отвечать на запросы.
- Приватный навык должен сообщать о том, что навык закрытый в своем приветственном обращении. Чтобы пользователь, случайно запустивший его, был уведомлен.
Совет из чата:
Однажды опубликованный навык можно использовать для тестирования своих других диалогов в ожиданиях модерации путем проксирования запросов с опубликованного вебхука на разрабатываемый, фильтруя по user_id.
Вывод
В целом сами голосовые интерфейсы показались очень интересной темой, все более востребованной в будущем, планирую больше погружаться в нее, читая специальную литературу, инструкции и советы зарубежных аналогичных сервисов (Google, Amazon, Siri, etc.).
Еще раз напомню о яндексовской школе Алисы, если кого-то как и меня заинтересовала эта тематика.
Источник