В Яндекс.Диалогах появились новые возможности в формате Dev Preview 

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

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

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

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

Это позволит узнать, как пользователи взаимодействуют с навыком. Можно увидеть количество сессий и агрегированные данные о пользователях (пол, возраст и город), а также применить retention-анализ и когортный анализ без сложных дополнительных настроек.

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

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

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

Подключать ничего дополнительно не нужно: все уже работает в настройках навыка. 

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

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

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

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

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

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

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

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

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

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

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

Эти изменения запускаются с сегодняшнего дня сразу, уже не в рамках Dev Preview. Теперь при ответе навыка поле session больше не требуется, минимальный валидный ответ выглядит так:

В протокол добавляется новое поле — session.application. Оно содержит поле application_id с тем же самым значением, что и в использовавшемся ранее поле session.user_id— идентификатор приложения, из которого сделан запрос. Идентификатор разный для разных устройств и приложений пользователя.

Если пользователь авторизован в Яндексе, то в запросе также придет поле session.user, в нем содержится поле user_id— идентификатор, постоянный для всех приложений и устройств пользователя. Благодаря ему можно предложить пользователям сквозной опыт при переходе от поверхности к поверхности.

Если для навыка настроена авторизация OAuth и пользователь связал аккаунты, то, помимо стандартного заголовка Authorization, авторизационный токен придет в поле session.user.access_token. Это нововведение позволяет хостить навыки с авторизацией в сервисах лямбда-функций, которые не поддерживают проброс заголовков запроса.

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

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

Оксана Мамчуева
Журналист, новостной редактор, работает на сайте с 2009 года. Специализация: интернет-маркетинг, SEO, поисковые системы, обзоры профильных мероприятий, отраслевые новости рунета.

Прокомментировать

avatar
  Подписаться  
Уведомление о