Алиса как сделать приложение
На Телефоне предустановлены два голосовых помощника — Алиса и Google Ассистент. Изначально основным помощником выбран Ассистент — он откроется, если вы нажмете кнопку ( «Домой» ) на смартфоне. Чтобы сделать Алису помощником по умолчанию:
Откройте приложение Настройки и выберите пункт Приложения и уведомления .
Нажмите Расширенные настройки , затем выберите Приложения по умолчанию → Помощник и голосовой ввод .
Нажмите Помощник и выберите Алиса из списка. Подтвердите выполнение операции.
Бесконтактная оплата (NFC) и подключение к другим устройствам
","prev_next":<"prevItem":<"disabled":false,"title":"О голосовом помощнике","link":"/support/phone/alice/dialogue.html">,"nextItem":>,"breadcrumbs":[,],"useful_links":null,"meta":,"voter":""prevItem":
","lang":>,"extra_meta":[>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>,>],"title":"Сделать Алису помощником по умолчанию - Яндекс.Телефон. Справка","productName":"Яндекс.Телефон","extra_js":[[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>],[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>],[,"mods":,"__func137":true,"tag":"script","bem":false,"attrs":,"__func67":true>]],"extra_css":[[],[,"mods":,"__func69":true,"__func68":true,"bem":false,"tag":"link","attrs":>],[,"mods":,"__func69":true,"__func68":true,"bem":false,"tag":"link","attrs":>]],"csp":<"script-src":[]>,"lang":"ru">>>'>"current":"ru","available":["ru"]>
Бесконтактная оплата (NFC) и подключение к другим устройствам
На Телефоне предустановлены два голосовых помощника — Алиса и Google Ассистент. Изначально основным помощником выбран Ассистент — он откроется, если вы нажмете кнопку ( «Домой» ) на смартфоне. Чтобы сделать Алису помощником по умолчанию:
Откройте приложение Настройки и выберите пункт Приложения и уведомления .
Нажмите Расширенные настройки , затем выберите Приложения по умолчанию → Помощник и голосовой ввод .
Нажмите Помощник и выберите Алиса из списка. Подтвердите выполнение операции.
С помощью голосового помощника Яндекса уже можно узнавать погоду, строить маршруты и управлять умным домом. Но возможности Алисы можно еще расширить: например, создать навык для заказа еды или игру-квест по управлению государством. Навык может создать и опубликовать любой пользователь с помощью платформы Яндекс.Диалоги. Чтобы это сделать, нужно придумать идею, написать сценарий и код (если вы не умеете программировать, то можно воспользоваться визуальным конструктором). Академия Яндекса разобралась, как пройти путь от задумки до публикации навыка.
Как понять, какой навык делать
«Преимущество голосовых интерфейсов в простоте взаимодействия с ними», — рассказывает консультант Алисы Мика Голубовский. К тому же у пользователей часто появляется эмоциональная связь с голосовым ассистентом: они то пробуют подколоть Алису, то интересуются, как прошёл её день. Но для того, чтобы пользователи могли естественно использовать навыки, разработчикам навыков нужно приложить специальные усилия.
Навык — это новый способ оказания услуги: он не должен совпадать с тем, что и так уже есть на сайте или в приложении. Во-первых, визуальный интерфейс плохо переводится в голосовой, а во-вторых, такой навык не будет интересен пользователям. Например, для авиакомпании будет уместным заменить привычный инструмент для покупки билетов игрой. Так, можно внедрить в навык игру в города и иногда добавлять к репликам Алисы цены на билет в названный город. Или сделать отдельный навык для покупки горящих билетов, который будет выдавать пользователю случайные направления.
Хороший пример переноса функции в голосовой интерфейс:
Так, Яндекс выпустил два навыка для игры «Detroit: Стать человеком». К её выходу компания опубликовала навык «Игра Detroit», который отвечал на вопросы пользователей, показывал интервью с создателями и рассказывал необычные факты о игре. Следом за ним Яндекс выпустил голосовой квест по мотивам игры («Квест Detroit»): сейчас им пользуется втрое больше людей, чем FAQ. Помимо того, что квесты используют чаще, пользователи проводят в них больше времени, чем в неигровых навыках: в среднем 15–18 минут подряд.
Для того, чтобы улучшить функциональность, можно использовать не только свои идеи, но и отзывы пользователей или других разработчиков — у создателей навыков для Алисы есть специальный чат в Telegram.
Из чего состоят навыки
У навыков для Алисы есть три составляющих: сценарий, контент (данные, к которым обращается навык) и код. Сценарий описывает фразы, которые может произносить пользователь, и то, как навык будет на них реагировать. Для того, чтобы понять, как будет идти диалог, можно сначала нарисовать простую схему на листе бумаги. «Для создания сценария удобно использовать визуальные конструкторы: например, AImylogic. С помощью конструктора можно увидеть, как будут работать переходы в диалоге, и протестировать навык», — советует призёр Премии Алисы Дмитрий Чечёткин.
Как написать хороший сценарий
Правильно начать
Однако не стоит добавлять в приветственную фразу слишком много подробностей: хорошая реплика должна произноситься на одном дыхании. Это правило действует и для других реплик Алисы: если перегрузить пользователя информацией, то он её сразу же забудет.
Выбрать тон
Ещё одна задача первой реплики — задать тон общения с пользователем. Навык — это персонаж, и у него может быть разный характер в зависимости от задачи. Так, навыку для пенсионного фонда следует обращаться к пользователям официально, а детской игре, наоборот, весело и неформально.
Направлять пользователей
Пользователей навыка можно направлять при помощи вопросов. При этом важно предлагать пользователю конкретные варианты ответа, из которых он может выбрать, чтобы не запутывать его сильнее.
Добавить вариативности
Если какой-то тип ответа используется в вашем навыке часто, то стоит прописать для него несколько эквивалентных вариантов. Чем разнообразнее будут реплики, тем больше общение с Алисой будет похоже на настоящий разговор.
Как написать код
Для развёртывания навыка можно использовать сервис Now: он позволяет быстро запустить нужное веб-приложение, но ограничивает удобство разработки и тестирования. А чтобы запустить сервис в условиях, приближенных к боевым, можно воспользоваться Microsoft Azure, Amazon Web Services или Яндекс.Облаком. Так, Облако выдаёт всем создателям навыков гранты на использование сервиса.
Если вы не умеете программировать, то вместо написания кода можно воспользоваться визуальными конструкторами, например: Aimylogic, Dialogflow, Verter, AlfaBot, AlicePro или PipeBot.
При выборе конструктора стоит обратить внимание на реализацию в нём обработки естественного языка. От неё зависит, будет ли навык реагировать на разные формулировки одного и того же запроса: например, «хочу пиццу», «закажи пиццу» и «сделай заказ».
Кроме того, важно качество интеграции навыка с Яндекс.Диалогами: возможность создания подсказок, адаптации навыка для разных устройств (смартфонов, Станции, Навигатора) и добавления картинок и звуков.
Работа в Яндекс.Диалогах
Для того, чтобы создать навык, нужно зарегистрироваться на сайте конструктора и на платформе Яндекс.Диалоги. В Яндекс.Диалогах необходимо добавить диалог с помощью кнопки и выбрать его тип — навык для Алисы.
На странице диалога будет его идентификатор: его нужно скопировать в конструктор, чтобы затем импортировать из него алгоритм.
Работа в конструкторе
С помощью визуальных конструкторов можно создавать деревья, которые соответствуют ходу диалога. А переход по ветвям зависит от того, как пользователь будет реагировать на действия навыка.
Пример реализации навыка на платформе Aimylogic
В навыки можно добавлять кнопки для того, чтобы пользователь мог задавать простые команды не голосом, а быстрым нажатием (например, в отдельную кнопку обычно выносят команду «помощь»).
В записях Школы Алисы можно посмотреть подробные инструкции по использованию конструкторов навыков: по работе с Aimylogic и DialogFlower.
Как опубликовать навык
Для того, чтобы навык можно было использовать любому пользователю, его нужно разместить в каталоге. Чтобы опубликовать диалог, его нужно зарегистрировать в консоли разработчика.
Сперва понадобится задать настройки навыка: название, URL, фразы, активирующие навык, и голос, который он может использовать.
Название навыка для каталога должно состоять не менее чем из двух слов, быть написанным на русском или английском языке и не ограничиваться общей категорией («пластиковые окна» или «путешествия» не подходят). Также имя должно быть уникальным и не содержать слов «Алиса», «Яндекс» или «Станция».
Активационное имя — это фраза, по которой навык можно вызвать в разговоре с Алисой. В этой фразе должна содержаться сокращённая или развёрнутая форма названия: так, для навыка «Верю — не верю» можно использовать имя «играть в верю — не верю».
Ещё перед проверкой нужно выбрать устройства, которые будут поддерживать работу навыка (чтобы модераторы проверили его на всех из них), и протестировать ответы навыка на его странице в личном кабинете.
Через навыки «Алисы» можно заказать пиццу, поиграть в города, вызвать такси и выполнить другие интересные и полезные действия. Вы можете расширить их ассортимент, добавив в общий каталог свой диалог.
Самостоятельная разработка навыка
Навык «Алисы» — это программа для общения с пользователями. В ней указывается, на какие слова и фразы голосовой ассистент должен реагировать. Полученную команду «Алиса» переводит в текст и отправляет на сервер, где программа обрабатывает информацию и формирует ответ, который передаёт пользователю обратно — в виде текста, голоса или изображения. «Яндекс» предоставляет только платформу. Как именно будет обрабатываться полученная от пользователей информация — решать разработчику.
Технически навык — это веб-сервис, который может быть написан на любом языке программирования или фреймворке. В документации «Яндекса» приводятся примеры на Python и Node.js с исходными файлами, загруженными в репозиторий на Github. Навыки проверены на Microsoft Azure и Amazon Web Services, но можно использовать и другие платформы.
В общем виде процесс создания навыка состоит из четырёх этапов:
Для прохождения модерации навык должен соответствовать формальным требованиям — они указаны в документации. Без публикации в общем каталоге чат нельзя добавить в «Алису».
Использование конструкторов
Создать навык для «Алисы» можно с помощью конструкторов диалогов и ботов. Они предлагают минимальную функциональность, но их можно использовать для создания простых чатов — например, отправки пользователю ссылки на сайт или формы в ответ на специальную команду.
После того, как «Яндекс» объявил о возможности добавлять навыки в каталог, появился конструктор Verter.online, который предлагает собрать диалог на своей платформе.
Чтобы создать в нём навык, зарегистрируйтесь или авторизуйтесь через соцсети и в панели управления нажмите «Добавить». Укажите название чата и адрес электронной почты, на которую будут приходить уведомления. На этом создание завершено, осталось только настроить его поведение. Сделать это можно на вкладке «Вопросы — ответы».
Схема настройки предельно проста. Вы добавляете вопрос и его варианты, на которые будет отвечать помощник. Чтобы пользователю было проще понять, что можно спрашивать, добавьте подсказки — они будут отображаться под диалогом. Вместе с ответом можно присылать ссылку на сайт или форму — она создаётся в разделе «Формы» конструктора.
На вкладке «Обучение» можно улучшать реакцию навыка на разные запросы пользователей. Кроме того, в интерфейсе конструктора есть две вкладки со статистикой — «Пользователи» и «Заявки». Их тоже можно использовать для аналитики и усовершенствования навыка.
Аналогичным образом работает конструктор ботов Alfabot.xyz. Вам нужно добавлять правила, в которых указывается запрос пользователя и ответ навыка. Например, добавим первое правило, которое будет срабатывать по слову «Помощь». Его создание — обязательное условие для прохождения модерации, по этому ключевому слову бот должен рассказать, что он умеет делать.
Нажмите «Добавить новое правило». Укажите варианты ключевых слов — например, помощь, помоги, что ты умеешь и т. д. Нажмите на плюс, выберите элемент «Текст» и добавьте описание возможностей бота.
Публикация навыка в «Яндекс.Диалогах»
Укажите название диалога для отображения в каталоге. Добавьте активационное слово, а также примеры запросов. Вставьте Webhook URL, который вы получите при создании навыка на конструкторе или при размещении на сервере.
На вкладке «Тестирование» можно проверить работу навыка перед публикацией. В разделе «Публикация» выберите, следует ли показывать навык в каталоге, добавьте имя разработчика, категорию, описание и иконку размером 192x192 пикселя в формате PNG или JPG. Все эти данные будут демонстрироваться пользователям в каталоге.
Опубликованный диалог можно остановить, чтобы внести в него изменения, или удалить из каталога. Делается это также в «Личном кабинете» разработчика.
25% — помешан на злоупотреблении правами модера, ведь же «Да забаню его что-бы не вякал много. Ничего же мне не будет. А насчет причины нарушения — я модер, мне же верят, так что выдумаю что-то. »(очень часто WG!);
15% — работа модером его сделала мудаком;
9% — «Я не обязан отвечать» — когда что-то спрашивают (часто от модеров WG);
1% — позитывный ответ. Обычно когда ему пишут «Тихой смены». Когда я написал «Хорошей смены» — получил не очень позитывный ответ. Я уж бы сказал мрачный.
Сорр, может кого-то обидел, но я сказал как есть, ибо однимы словами — Модеры со временем уходят «темную сторону», и администрации (если там не такие же) на это плевать!
Блог голосового ассистента Дуся
Совсем недавно Яндекс объявил о том, что теперь любой желающий может создать для голосового ассистента Алиса свои собственные функции. Пусть пока это и бета-версия платформы, но попробовать научить Алису чему-то интересному или полезному можно уже сейчас.
В этой статье мы расскажем и покажем, как уже сейчас можно создать голосовую функцию для Алисы, которая будет понимать команды на естественном языке без знаний в лингвистике, изучения API Алисы и аренды серверов.
Как вы наверное помните, мы пару лет назад запустили свою платформу для создания чат-ботов под названием Zenbot. Она позволяет легко создавать своих чат-ботов для любых мессенджеров и каналов типа Telegram, Facebook, или даже создать чат-бота или функцию для Дуси. И при этом вам не понадобится арендовать сервера и искать решения для процессинга естественного языка или диалогового движка. Все это уже есть в Zenbot.
Яндекс Диалоги (бета)
Ну и наконец еще одно различие в том, что даже если навык нужен только вам, и вы не хотите, чтобы им пользовались другие люди, вам все равно придется его опубликовать, пройдя процедуру модерации в Яндексе. И его все равно увидят все пользователи Алисы.
Как создать навык для Алисы
Короче говоря, нужно проделать немало работы, прежде чем наш навык заработает. А Zenbot как раз освобождает нас от этой рутины, решая все вопросы с серверами, протоколами и естественным языком!
Создаем навык на Zenbot
Код для Zenbot
Итак, создадим на своем ПК обычный текстовый файл например skill.xml и напишем там
Конечно же это простейший пример. Можно обрабатывать гораздо более сложные фразы, Zenbot умеет на лету вытаскивать их фраз данные, преобразовывать в нужный формат. Ответы тоже могут быть сложными (далее посмотрим как это сделать). Можно также переключать пользователя на другой контекст диалога и так далее. Все это описано в документации с примерами.
Как загрузить бота на Zenbot
После этого зайдем в настройки нашего бота на Zenbot и нажмем Configure Git repository. Заполняем поля для нашего репозитория. Если вы используете github, то поля имя пользователя и пароль можно не указывать. Еще в каждом репозитории можно держать код для нескольких ботов. Поэтому в настройках есть поле Directory. Тут можно указать папку в ваших исходниках, где лежат XML и JS файлы для именно этого бота.
Нажимаем Save settings. После этого Zenbot попытается собрать вашего бота и расскажет о своем успехе или провале на странице Build reports. Кстати тут же можно нажать кнопку Rebuild now чтобы поскорее пересобрать бота, когда вы изменили его код в репозитории.
Тестируем бота в Zenbot
Подключаем бота к Алисе
Делаем бота умнее
Давайте попробуем научить нашего бота делать хоть что-нибудь полезное. Например, давайте научим его знакомиться с пользователем и потом здороваться с ним по имени.
А что-нибудь поинтереснее есть?
Несколько полезностей
Как добавить кнопки?
Используйте тэг sample. Он создает кнопку, при нажатии на которую в бота придет запрос, текст которого указан на кнопке. Подробнее в документации по sample.
Первый запрос
Как закончить сессию
Если в вашем навыке в какой-то момент нужно закончить сессию, просто создайте переменную end_session вот так
Как синтезировать речь
Если вы хотите, чтобы Алиса произнесла не то, что ваш бот возвращает в виде текстового ответа, то создайте переменную tts вот так
Как сформировать JSON ответ
Если вы хотите полностью сформировать ответ в JSON формате по протоколу Алисы (например если вам не хватает функционала тэга sample), то вы можете вернуть JSON ответа в output вот так
Куда дальше?
Для Zenbot мы написали подробную документацию с примерами. Еще у нас есть репозиторий с примерами готовых ботов и FAQ который описывает некоторые основные особенности платформы. У вас не займет много времени, чтобы понять, как писать сценарии ботов, которые понимают естественный язык и могут выполнять полезные (и бесполезные) функции.
Читайте также: