Текущая ситуация с голосовыми интерфейсами
В бешеном ритме жизни очень тяжело запоминать большой объем информации или успевать выполнить большое разнообразие ежедневных задач. Деловые встречи, совещания, список покупок и многое другое - это обычный график дня большинства людей, за которым тяжело угнаться, и многим из нас нужна помощь. И самая удобная помощь в данной ситуации – голосовой интерфейс. В автомобиле, во время приготовления еды на кухне и в множестве других случаях, когда заняты руки или нет возможности решать задачи вручную удобнее отдавать команды голосом, ведь голос наиболее привычный людям способ взаимодействия.
Алиса – это очень «молодой» но быстро развивающийся голосовой интерфейс. И развивается он, во многом, за счет так называемых навыков. Навык Алисы – это программа реализующая некий диалог, который запускается заданной командой активации в Алисе и расширяющий возможности голосового помощника от Яндекса. Создать навык можно двумя способами: первый, самый простой – создание навыка без программирования, с помощью конструктора. Существует несколько различных конструкторов навыков. Работа на них ведется достаточно наглядно и просто. Второй – это непосредственное программирование. Для этого понадобится аккаунт на Яндексе, сервер, на котором будет находиться и выполняться код нашей программы, вебсервер и само приложение, написанное на любом удобном вам языке, который сможет обеспечить работу по https протоколу.
Возможности Яндекс Диалогов
С точки зрения пользователя, навык — это приложение для Алисы, в которое можно перейти, через каталог, подсказку в Алисе или назвав определенную активационную фразу. С технической точки зрения — это веб сервис, который ожидает команд от Яндекс.Диалогов, обрабатывающих намерения пользователя, и отвечает согласно своему алгоритму: текстом, ссылками, картинками, формами заказа и многим другим. То есть, навыки Алисы уже активно используются для бизнеса, заказа еды, развлечений в виде игры и даже для простого общения!
Создание навыка и диалога
Навыки Алисы представляют собой древовидный диалог с уточняющими вопросами для того, чтобы добраться до цели- то есть понять интент (запрос) пользователя. Под поисковым интентом пользователя в интернет-маркетинге понимают цель или намерение, которые движут пользователем при вводе конкретного запроса в поисковой системе. То есть, цели голосового помощника- понять запрос пользователя и выдать ему необходимую информацию. Поэтому навыки и создаются по принципу древа. Пользователь может говорить невнятно или неправильно задавать вопросы, а голосовой помощник должен уточнять у пользователя информацию.
Как уже было сказано, создать навык для Алисы можно двумя способами: с помощью конструктора и непосредственно программированием. Разберем общедоступный способ- с помощью конструктора. Регистрируем навык на сайте Яндекс Диалогов. Заполняем все необходимые поля.
Чтобы создать навык без программирования необходимо перейти на страницу конструктора.
Создается разносторонний диалог. Обязательно придумать приветственное сообщение и ответы на вопросы: «что может» и «помощь». Если этого не подготовить навык не пройдет модерацию в Яндекс Диалогах. Так же стоит продумать дальнейший диалог. После чего, сохраните изменения и алгоритм диалога, чтобы получить Webhook URL.
Вставьте Webhook URL в настройки навыка на платформе Яндекс.Диалоги, чтобы перейти к вкладке «Тестирование». Здесь можно проверить работу диалога. Если навык работает без ошибок, заполните оставшиеся поля в Яндекс.Диалоги и нажмите кнопку «На модерацию». Администрация проверит навык и разместит его в общем каталоге.
Как уже было написано, можно создать навык Алисы написанный на любом удобном вам языке, который сможет обеспечить работу по https протоколу. Формат взаимодействия включает в себя форматы запросов и ответов, которыми Яндекс.Диалоги обмениваются с серверами навыков.
Формат запроса.
Иерархия запроса выглядит достаточно просто.
Для начала, мы задаем общие сведения о пользователе: язык, часовой пояс, интерфейсы, доступные на устройстве пользования. После этой информации, мы раскладываем по полочкам. Получаем полный текст от пользователя и способ его получения: голос или нажатие кнопки.
Создаем массив из всех сказанных пользователем слов и из этого массива надо выделить именованные сущности. У Яндекса таких сущностей существует 4 типа: YANDEX.GEO(местоположение), YANDEX.FIO(Фамилия, имя, отчество), YANDEX.NUMBER(Число), YANDEX.DATETIME(дата и время). И заканчивается запрос данными о сессии.
Формат ответа.
В начале ответа задается вся информация об ответе. Текст и tts(text to speech). Так же задаются кнопки(если есть необходимость) и ее описание. Ну и заканчивается ответ данными о сессии.
Вот краткое описание создание навыка для Алисы. Конечно, для более развернутого и интересного общения с Алисой, необходимо заложить большую вариативность ответов, подобрать синонимы и похожие по смыслу фразы. Так же, нужно добавить возможность вариативных ответов пользователя, например: «да-да», «ага», «давай» и другие. Нужно выделять смысловые фразы из текста пользователя.
Использование искусственного интеллекта в голосовых помощниках
Искусственный интеллект (ИИ) — это способность компьютера выполнять задачи, которые считаются прерогативой ума и способностей человека. Сейчас ИИ все активнее используется в голосовых помощниках. Нейросеть — это интеллектуальная система, принцип работы которой напоминает мозг человека. У нас есть нейроны — клетки нервной системы, которые обрабатывают, хранят и передают информацию с помощью электрических и химических сигналов. У нейронной сети нейроны формализованы, как программы, выполняющие разные функции. Они также принимают сигналы (информацию) на вход и выдают измененный сигнал (то есть информацию) на выходе. Нейросеть тоже учат на данных. Чтобы научить ее узнавать котов, надо загрузить в нее гигабайты фото и видео с котами. Вначале нейросеть будет ошибаться — путать котов и собак. В этом случае разработчики поправляют ее и корректируют способы обучения.
В этом и состоит работа ее создателей — спроектировать нейронную сеть для определенной задачи (а там много разных подходов, архитектур, функций) и обучить ее (для этого нужно подбирать параметры обучения) до момента, когда она перестанет ошибаться (или станет ошибаться редко).
Это группа задач, связанная с построением самообучающихся алгоритмов. Ученые пытаются создавать алгоритмы, которые бы выполняли задачу, опираясь на вводные данные, совершенствовались бы в процессе работы и — в идеале — могли корректно восстанавливать неизвестную информацию по известным входным данным.
В машинном обучении есть четыре основные задачи:
1) Классификация (научить ИИ определять, скажем, пол или возраст человека).
2) Регрессия (предсказание числовых значений, например выручки в следующем месяце на основании известных данных за прошлые десять лет).
3) Кластеризация (разделение множества объектов на классы, например потребителей на различные группы по уровню доходов).
4) Поиск аномалий (объектов или действий, которые выбиваются из привычного ряда. Например, системы кибербезопасности с ИИ умеют замечать непривычную активность с аккаунта сотрудника компании, делать вывод, что его взломали мошенники, и блокировать его действия).
Все это в последнее время активно используется в голосовых помощниках и может быстро усовершенствовать диалоги и использование пользователями голосовых помощников только возрастет.