Команда Диалогов подготовила большой пакет обновлений и сегодня представляет его сообществу разработчиков голосовых приложений в формате Dev Preview.
— Статистика пользователей навыка на основе данных AppMetrica
— Технические метрики, позволяющие отслеживать стабильность работы навыка
— Инструмент для работы с интентами
— Сохранение контекста сессии в Алисе
— Сохранение контекста пользователя в Алисе
— Изменения в протоколе
Сегодня измерять метрики мобильных приложений — стандартная практика, поэтому нашей первоочередной задачей было создать похожие инструменты и для навыков. Ведь навыки — это такие же приложения, только голосовые.
У Яндекса есть инструмент для аналитики мобильных приложений — AppMetrica. Команда Диалогов развила это решение. Теперь вы можете смотреть подробную статистику навыков. Зарегистрируйте навык в AppMetrica и укажите ключ в консоли разработчика. После этого вы узнаете, как пользователи взаимодействуют с навыком. Можно увидеть количество сессий и агрегированные данные о пользователях (пол, возраст и город), а также применить retention-анализ и когортный анализ без сложных дополнительных настроек.
Указывайте уникальный ключ для каждого навыка: так вы сможете отслеживать их эффективность отдельно. Подробнее о том, как включить статистику, читайте в нашей документации
Навыки — особенно у начинающих разработчиков — порой нестабильны. Поэтому мы создали в Диалогах раздел, посвящённый техническим метрикам. В нём вы найдёте информацию о количестве запросов к навыку, скорости ответа сервера, ошибках и других показателях.
Подключать тут ничего дополнительно не нужно: всё уже работает в настройках навыка. Напомним лишь, что из-за частых или долгих неответов мы можем снять навык с публикации. Поэтому рекомендуем вам подписаться на сервисные уведомления. А если хотите узнавать об обновлениях сервиса, подпишитесь на новости сервиса или на наш блог
Интент — это намерение пользователя. Инструмент для работы с интентами в Диалогах позволяет быстро и просто собрать воедино все маркеры, позволяющие понять интент. Например, описать множество фраз с похожим смыслом или сущности, важные для понимания запроса.
Мы постарались сделать инструмент максимально удобным и разработали механизм, похожий на язык регулярных выражений. Фразы-составляющие таких регулярных выражений можно переиспользовать и комбинировать. Кроме того, настройки грамматики нечувствительны к морфологии, а значит, вам достаточно ввести только один вариант слова — а все формы будут учтены автоматически. Например, при вводе слова «кухня» будут учитываться «кухни», «кухню», «кухне» и т. д. Инструмент позволяет обрабатывать интенты, гибко учитывая последовательность слов в запросе пользователя, или не учитывая ее вовсе.
А чтобы всё вышеописанное работало ещё лучше, при разборе интента мы применяем анализ на основе машинного обучения. Он сам определяет и исключает из фразы незначимые слова, не охваченные грамматикой, что повышает полноту срабатывания команд.
Подробнее о том, как работать с интентами, читайте в нашей документации
Мы добавили в Алисе пользовательский контекст, или состояние пользователя. Это хранилище о взаимодействий пользователе с навыком, которое станет приходить в запросе. Контекст будет общим для всех устройств, где человек авторизовался в Яндексе. Это обеспечит единый и полный опыт вне зависимости от устройства. Теперь вы можете сделать так, чтобы пользователь обратился к навыку через приложение Яндекса на телефоне (например, по пути с работы) и бесшовно продолжил взаимодействие через Яндекс.Станцию (приехав домой).
Эти изменения запускаются с сегодняшнего дня сразу, уже не в рамках Dev Preview. Мы продолжаем поддерживать старую версию протокола для обратной совместимости, однако просим не использовать её в новых разработках.
Теперь при ответе навыка поле session больше не требуется, минимальный валидный ответ выглядит так:
{
"response": {
"text": "Привет",
"end_session": false
},
"version": "1.0"
}
В протокол добавляется новое поле — «session.application». Оно содержит поле «application_id» с тем же самым значением, что и в использовавшемся ранее поле «session.user_id » — идентификатор приложения, из которого сделан запрос. Идентификатор разный для разных устройств и приложений пользователя.
Если пользователь авторизован в Яндексе, то в запросе также придёт поле «session.user », в нём содержится поле «user_id » — идентификатор, постоянный для всех приложений и устройств пользователя. Благодаря ему можно предложить пользователям сквозной опыт при переходе от поверхности к поверхности.
Если для навыка настроена авторизация OAuth и пользователь связал аккаунты, то, помимо стандартного заголовка Authorization, авторизационный токен придёт в поле «session.user.access_token». Это нововведение позволяет хостить навыки с авторизацией в сервисах лямбда-функций, которые не поддерживают проброс заголовков запроса.
Статус Dev Preview означает, что эти возможности уже доступны в Яндекс.Диалогах для всех, но мы приглашаем вас делиться с нами отзывами и пожеланиями. Мы доработаем новые инструменты, чтобы подготовить их к полномасштабному релизу и снять статус Dev Preview.
Мы будем рады получить обратную связь в чате разработчиков или через поддержку. Надеемся, что вам понравились обновления!
Успеха и удачи!
Команда Яндекс.Вебмастера
СТУДИЯ «WEBLUX»