Яндекс открывает Алису для всех разработчиков. Платформа Яндекс.Диалоги (бета)

Цель нашей компании - предложение широкого ассортимента услуг на постоянно высоком качестве обслуживания.

Яндекс открывает Алису для всех разработчиков. Платформа Яндекс.Диалоги (бета)
Задать вопрос
Наши специалисты ответят на любой интересующий вопрос по услуге
12 Марта 2018
Сегодня мы начинаем открытое бета-тестирование платформы Яндекс.Диалоги, с помощью которой любой разработчик сможет обучить Алису новым навыкам и привлечь пользователей к своим сервисам и разработкам. В этом посте мы не будем пересказывать всю документацию, но дадим общее представление о работе платформы на примере самой популярной игры для Алисы.



Голосовой помощник Алиса, о котором мы впервые рассказывали на Хабре осенью прошлого года, уже работает в приложении Яндекс, Яндекс.Браузере, а также в бета-версии для Windows. Каждый день миллионы пользователей этих продуктов решают с помощью голосового помощника определённые задачи – например, узнают прогноз погоды. Мы регулярно добавляем новые возможности, но охватить все интересы пользователей самостоятельно невозможно. Заполнить этот пробел призваны навыки Алисы, об особенностях создания которых мы и расскажем под катом.

Если вы разрабатываете текстовую игру, информационного бота или даже сервис доставки еды на дом, то теперь вы можете добавить их в Алису. На техническом уровне это значит, что вы можете подключить сервис, работающий на вашем сервере, к платформе Алисы. Когда пользователь активирует такой навык, Алиса транслирует реплики пользователя на ваш сервер, и отвечает переданным вами текстом. Распознавание речи в текст и обратно платформа берёт на себя. Для пользователя разговор с использованием навыка выглядит как обычный диалог с голосовым помощником.



Чтобы не превращать этот пост в пересказ и так достаточно подробной документации, мы расскажем об особенностях создания навыков на примере игры в города.

Алиса, давай сыграем в города

В прошлом году мы начали обучать Алису различным играм. Мы никогда об этом не рассказывали, но почти все они были добавлены с помощью платформы Яндекс.Диалоги, к тестированию которой мы и открываем сегодня доступ. Наиболее популярной среди них является игра в города, которую мы и рассмотрим более детально.



Игра, как и любой другой навык, начинается с распознавания фразы вида «Алиса, включи игру в города». Слово «включи» – это сигнал Алисе о том, что нужно запустить навык, а не искать ответ с помощью поиска. Таких сигнальных слов несколько. А часть «игру в города» в произнесенной фразе – это одно из активационных имён, которые задаются разработчиком при публикации навыка в платформе Диалоги. Голосовой помощник умеет понимать различные морфологические формы одного и того же активационного имени, чтобы срабатывать даже при неточных совпадениях.
Алиса, вызови игра в города
Алиса, сыграем в города
Алиса, запусти игру в города
В обычной ситуации Алиса ищет ответы с использованием сервисов Яндекса, но если речь идёт о навыке, то после распознавания активационного имени она отправляет POST-запрос на сервер, указанный разработчиком. Запрос представляет из себя привычный JSON и содержит текст от пользователя, а также служебную информацию (идентификаторы пользователя и сессии).


Пример запроса

Бэкенд навыка может быть написан на любом удобном для разработчиков языке. В нашем случае мы обошлись привычным C++, но для документации подготовили примеры на Node.js и Python. Фактически требование к серверу лишь одно – он должен отвечать на запрос в течение 1,5 секунд.

Ответ также передается в JSON-формате и содержит текст, который будет озвучен Алисой. Давайте взглянем на реальный пример такого ответа из нашей игры:


Пример ответа

Обратите внимание, что кроме обычного текста вы можете передавать и текст в формате TTS (text-to-speech). С помощью этой разметки вы можете управлять произношением Алисы. Это полезно, когда нужно расставить акценты в тексте или выдержать паузу.

Кроме того, в приведённом выше JSON-ответе вы можете заметить упоминания кнопок. У пользователей не всегда есть возможность ответить голосом. Заставлять писать ответы с помощью клавиатуры слишком жестоко (хотя такая возможность тоже всегда была в Алисе), поэтому разработчики навыков могут использовать кнопки. Кстати, они удобны ещё и тем, что подсказывают пользователю доступные голосовые команды.



С технической стороны всё просто. Куда сложнее было продумать механику так, чтобы не отпугивать пользователей сложностью игры. Хотим поделиться с вами несколькими хитростями, на которые мы пошли при разработке игры в города. Они не относятся к работе платформы, поэтому мы спрятали их за спойлер, но, возможно, они помогут и другим разработчикам создать собственные успешные игры.


Игра в города: особенности удержания аудитории

Игры с Алисой – не единственные примеры уже существующих навыков. Например, прямо сейчас в нашем каталоге можно найти навык от Flowwow.com, который позволяет заказать и даже сразу оплатить доставку цветов. В ближайшее время мы расскажем и о других разработках от сторонних компаний, например от McDonald’s и «Папа Джонс».

Как создать свой навык?

1. Познакомьтесь с документацией Яндекс.Диалогов, где подробно описаны особенности платформы. Там же мы подготовили для вас описание быстрого старта с использованием бесплатного сервиса Now, который поможет разобраться в основах платформы без использования собственного сервера.

2. Зарегистрируйте созданный навык в Яндекс.Диалогах. Там же можно протестировать навык до его публикации, имитируя запросы от пользователей (скриншот).

3. Опубликуйте навык. Он будет размещён в каталоге Алисы, предварительный доступ к которому уже открыт в бета-версии приложения Яндекс (пункт «Что умеет Алиса» в меню Алисы). В будущем пользователи смогут узнавать о лучших навыках не только из каталога, но с помощью прямых рекомендаций голосового помощника.

Бета-версия платформы Диалоги ещё далека от финальной версии. Сейчас у каждого разработчика есть шанс повлиять на развитие навыков Алисы и поделиться с нами своими идеями и пожеланиями, которые мы постараемся учесть к моменту полноценного запуска. Оставить свой отзыв можно в комментариях, через Обратную связь, а также в нашем чате в Телеграме. Спасибо!
Заказать услугу
Оформите заявку на сайте, мы свяжемся с вами в ближайшее время и ответим на все интересующие вопросы.