Весенне обновление платформы Диалогов для разработчиков навыков

Команда Яндекс.Диалогов подготовила большой пакет обновлений и сегодня представляет его сообществу разработчиков голосовых приложений в формате Dev Preview.

Весеннее обновление платформы Диалогов

21 Апреля, 2020 Автор: Максим М

Dev Preview Яндекс.Диалогов: новые возможности и новый формат

Команда Диалогов подготовила большой пакет обновлений и сегодня представляет его сообществу разработчиков голосовых приложений в формате Dev Preview.

  • Статистика пользователей навыка на основе данных AppMetrica
  • Технические метрики, позволяющие отслеживать стабильность работы навыка
  • Инструмент для работы с интентами
  • Сохранение контекста сессии в Алисе
  • Сохранение контекста пользователя в Алисе
  • Изменения в протоколе

Статистика пользователей навыка

Сегодня измерять метрики мобильных приложений — стандартная практика, поэтому первоочередной задачей Яндекс было создать похожие инструменты и для навыков. Ведь навыки — это такие же приложения, только голосовые.

У Яндекса есть инструмент для аналитики мобильных приложений — AppMetrica. Команда Диалогов развила это решение. Теперь вы можете смотреть подробную статистику навыков. Зарегистрируйте навык в AppMetrica и укажите ключ в консоли разработчика. После этого вы узнаете, как пользователи взаимодействуют с навыком. Можно увидеть количество сессий и агрегированные данные о пользователях (пол, возраст и город), а также применить retention-анализ и когортный анализ без сложных дополнительных настроек.

Обновление Алисы для разработчиков. Мониторинг

Указывайте уникальный ключ для каждого навыка: так вы сможете отслеживать их эффективность отдельно. Подробнее о том, как включить статистику, читайте в документации.

Технические метрики качества навыка

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

Обновление Алисы для разработчиков. Мониторинг ошибок

Подключать тут ничего дополнительно не нужно: всё уже работает в настройках навыка. Напомним лишь, что из-за частых или долгих неответов мы можем снять навык с публикации. Поэтому рекомендуем вам подписаться на сервисные уведомления.

Инструмент для работы с интентами

Интент — это намерение пользователя. Инструмент для работы с интентами в Диалогах позволяет быстро и просто собрать воедино все маркеры, позволяющие понять интент. Например, описать множество фраз с похожим смыслом или сущности, важные для понимания запроса.

Яндекс постарались сделать инструмент максимально удобным и разработали механизм, похожий на язык регулярных выражений. Фразы-составляющие таких регулярных выражений можно переиспользовать и комбинировать. Кроме того, настройки грамматики нечувствительны к морфологии, а значит, вам достаточно ввести только один вариант слова — а все формы будут учтены автоматически. Например, при вводе слова «кухня» будут учитываться «кухни», «кухню», «кухне» и т. д. Инструмент позволяет обрабатывать интенты, гибко учитывая последовательность слов в запросе пользователя, или не учитывая ее вовсе.

А чтобы всё вышеописанное работало ещё лучше, при разборе интента компания применяет анализ на основе машинного обучения. Он сам определяет и исключает из фразы незначимые слова, не охваченные грамматикой, что повышает полноту срабатывания команд.

Подробнее о том, как работать с интентами, читайте в нашей документации.

Сохранение контекста сессии в Алисе

Когда люди общаются друг с другом, они запоминают контекст. Посмотрите на диалог:

  • Переведи на английский слово «отель».
  • Hotel.
  • А на испанский?
  • El hotel.

Собеседник не уточняет, какое слово перевести на испанский: он помнит, что это «отель».

Иногда контекст необходим. Например, если вы играете в города, вам обязательно нужно помнить ответы игроков (чтобы не повторяться) и последнюю букву названия последнего города (ваш ответ должен начинаться на неё).

Если мы захотим повторить такой сценарий в формате голосового сообщения, навыку понадобится помнить контекст: слово для перевода, последнее название города — или даже все названия. Чтобы сохранить контекст диалога, просто верните его вместе с ответом навыка, а Алиса пришлёт его вместе со следующим запросом пользователя.

Подробнее о том, как настраивать ответы о состоянии сессии, читайте в документации.

Сохранение контекста пользователя в Алисе

Команда Яндекс.Диалогов добавили в Алисе пользовательский контекст, или состояние пользователя. Это хранилище о взаимодействий пользователе с навыком, которое станет приходить в запросе. Контекст будет общим для всех устройств, где человек авторизовался в Яндексе. Это обеспечит единый и полный опыт вне зависимости от устройства. Теперь вы можете сделать так, чтобы пользователь обратился к навыку через приложение Яндекса на телефоне (например, по пути с работы) и бесшовно продолжил взаимодействие через Яндекс.Станцию (приехав домой).

Изменения в протоколе

Эти изменения запускаются с сегодняшнего дня сразу, уже не в рамках 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.

А что вы думаете об этом обновлении? И каких новых функций ждете? Поделитесь ответами в комментариях.

Рекомендую к прочтению следующие статьи:

10 интересных вещей о Google Assistant

10 интересных вещей о Google Assistant

Сегодня мы рассмотрим 10 действенных способов максимально использовать Google Assistant на различных устройствах.

Читать статью

Встречайте! Капсула — умная и дружелюбная колонка

Встречайте! Капсула — умная и дружелюбная колонка

Акустическая система с голосовым помощником Маруся от Mail.ru Group сделает вашу жизнь проще и приятнее.

Читать статью

Новый способ монетизации - возможность подключить рекламу в навыках

Новый способ монетизации - возможность подключить рекламу в навыках

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

Читать статью

Необычный сценарий навыка — Алиса в роли ведущей настольной игры

Необычный сценарий навыка — Алиса в роли ведущей настольной игры

Команда Диалогов поощряет необычные технические решения и сценарии, которые могут открывать новые направления в создании навыков.

Читать статью

19 неизбитых функций Яндекс-колонки

19 неизбитых функций Яндекс-колонки

Когда у нас дома появилась Яндекс-колонка с голосовым помощником Алисой, никто толком не знал, что с ней делать...

Читать статью

Комментарии

Оставить комментарий

Как со мной связаться?

Свяжитесь со мной по любому поводу!
Я с радостью отвечу на все вопросы!

Телефон:

+7(909) 281 35-20

Дополнительная почта:

info@maxim-m.ru

Я в социальных сетях:

ВверхВверх 👆