Обновленный Google Now для iPhone — прощай, Siri. Алиса, Google Assistant, Siri, Alexa. Как писать приложения для голосовых ассистентов

Apple продолжает совершенствовать голосовой помощник Siri. В операционной системе iOS 8 персональный ассистент стал лучше понимать голосовые запросы и точнее в своих ответах, говорят сотрудники Stone Temple Consulting, которые провели сравнение функции с Google Now. Тем не менее конкурент от компании Google лучше справляется с ответами на поставленные вопросы.

В тестировании участвовали три ассистента – Siri, Google Now и Cortana. В Microsoft, напомним, позиционируют свою технологию как специфический микс из функций, ранее реализованных Apple и Google. Здесь есть полноценная поддержка естественного языка и, по словам разработчиков, в отличие от «яблочного» продукта сервис подстраивается персонально под нужды каждого пользователя.

Суть теста заключалась в том, что всем трем участникам задавали одни и те же вопросы. Siri, Google Now и Cortana пришлось ответить на 3086 вопросов. Cortana и Google Now принимают как письменные, так и устные запросы. Тем не менее для чистоты эксперимента вопросы озвучивались. Среди них были как простые - «Высота Эйфелевой башни», так и более сложные - «Что такое любовь?», «Кто изображен на купюре в 5 долларов?», «Что говорит лиса?»

Победу в соревновании одержал Google Now. Это связали с тем, что Google, в отличие от Apple, специализируется на поисковой выдаче. Из 3086 вопросов сервису удалось более или менее точно ответить на 1795 - это 58%. Siri удалось верно обработать 908 вопросов (29%), а Cortana - только 630 (20%).

Авторы эксперимента отдельно вычислили, как часто помощник выдает абсолютно точную информацию. Например, данный на вопрос «Сколько лет Великой китайской стене?» ответ «Она была закончена в 206 году до н.э.», а не конкретный возраст, считался неправильным. Здесь Google Now вновь победил с большим отрывом - 88% точных ответов против 53% и 40% у решений Apple и Microsoft.

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

Даже заядлые яблочные фанаты уже смирились с тем, что Apple не спешит выпускать Siri на русском языке. Стоит сказать, что уже поздно. Обновленный помощник от Google может гораздо больше, чем Siri, а русский язык для него — как родной.

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

К примеру, если вы живете в Москве, то каждое утро вас будет ждать прогноз погоды на день. Но стоит вам уехать отдыхать в другую страну, как Google сразу поймет это и поменяет прогноз. Можно привести десятки таких примеров. С полным списком команд для Google Now можно ознакомиться .

Еще Google Now будет очень полезен тем, кто использует сервисы Google на постоянной основе. А это не только Gmail и поиск, но и YouTube, Google+ и Google Maps. Анализируя все ваши действия в этих сервисах, Google дает действительно крутые подсказки. Вот, к примеру, одна из них.

Заметив, что я заслушиваю до дыр новый сингл The Black Keys на YouTube, Google напомнил, что их альбом уже вышел и было бы неплохо купить его, а не слушать одну и ту же песню по кругу.

Google Now также можно использовать как напоминалку. Вот только минус заключается в том, что, сколько я не кричал в микрофон «Напомни мне купить чехол», Google лишь выдавал поисковой запрос по этой фразе. Хотя должен автоматически ставить напоминание.

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

Что еще может Google Now? Из стандартного:

  • напоминать о днях рождения
  • показывать пробки на частоиспользуемых маршрутах
  • котировки ваших акций
  • погоду в текущем регионе
  • парсить билеты на самолеты в вашем Gmail и напоминать вам о выезде в аэропорт с учетом заторов и других данных
  • то же самое с резервированиями в booking.com или AirBNB

Это все есть достаточно давно и известно многим. Давайте лучше рассмотрим более интересные функции:

  • отслеживание посылок — если уведомление с трекинг-номером придет на почту, то Google Now может следить за посылкой и уведомить вас, когда она приедет в пункт назначения
  • показывать статус вашего рейса
  • напоминать о матчах любимой команды
  • напоминать о выходе серий любимых сериалов и релизов музыкальных групп
  • показывать обновления любимых сайтов

Может ли Google Now заменить Siri? Конечно, может! За все время использования iPhone (больше года), я воспользовался Siri лишь несколько раз. Первый раз с дрожащими руками, предвкушая что-то невероятное, а остальные разы, просто стараясь дать ей еще один шанс.

Как бы грустно это ни звучало, но Siri в нашем регионе — абсолютно бесполезная вещь. Чего не скажешь о Google Now. Помимо наличия русского языка, он показывает действительно полезную информацию и в нужное время.

А теперь о минусах. Для полноценной работы Google Now требуются включенные сервисы геолокации. Google клянется, что это практически не сказывается на времени работы устройства. Но у меня другая информация. За день использования Google Now съедает примерно 10 лишних процентов заряда.

На этом минусы подходят к концу и остаются лишь положительные впечатления. Google Now — действительно крутой сервис, а количество ситуаций, в которых он может пригодиться, зашкаливает. Поэтому, если вас не пугает трата лишних 10% заряда, смело устанавливайте это магическое приложение на свой iPhone!

Раз уж все начали писать про выход в публичный доступ ассистента от Яндекс, дай, думаю, и я попробую в действии чудо русского происхождения. Быть может, Алиса сможет понять привычный и нам, и ей язык лучше, чем продукт западного происхождения?

Я задал несколько вопросов и Алисе, и Сири: вот что из этого вышло.

У меня на столе стояла бутылка Пино Гри, Фраголино и Эль, при запросе, что из этого мне выпить, ассистенты предложили следующее.



Сравнительный вопрос: «Алиса, ты лучше Сири? Сири, ты лучше Алисы?». Естественно, умный ассистент от Apple не следит за нашими новостями и понятия не имеет, что такое Алиса. Хотя, Siri могла бы и обидеться за сравнительный вопрос, но поступила иначе – вывела информацию из сети про рок-группу Алиса. Кинчев в каждом из нас удовлетворен.


На вопрос «Кто тебя создал», я получил следующие ответы:


Вопрос географического характера: «Как попасть из Одессы в Москву?». Если честно, я ожидал, что оба ассистента начнут предлагать мне расписания самолетов и рейсов, но Siri банально не поняла, что от неё хотят, а Алиса рассказала мне расстояние от города до города если выбирать автомобильную развязку.


Информационный вопрос: «Что произошло 10 октября 10 лет назад?». Оба голосовых помощника решили отправить меня в поисковик, но в этом случае Алиса в стратегическом плюсе, искать она будет конечно же через Яндекс, хотя я не пользуюсь этой поисковой системой, её выбор очевиден.


А вот неожиданный поворот, запрос на действие: «Назначить встречу на завтра на 10 утра в ресторане Рыба». Сири чётко определила задачу и предложила занести событие в календарь, на нужную дату и нужное время, Алиса не поняла, что я от неё хочу и продолжила беседу.


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

Рынок голосовых ассистентов расширяется, особенно для русскоязычных пользователей. 2 недели назад Яндекс рассказала впервые про платформу Яндекс.Диалоги, 2 месяца назад Google представила возможность писать диалоги для Google Assistant на русском языке, 2 года назад со сцены Bill Graham Civic Auditorium Apple выпустила в открытое плавание SiriKit. Фактически, появляется новая отрасль разработки, где должны быть свои проектировщики, архитекторы и разработчики. Идеальный момент, чтобы поговорить про голосовые помощники и api для них.

В этой статье не будет подробных туториалов. Это статья об идеях и интересных технических деталях, на которых построены инструменты для сторонних разработчиков основных игроков рынка: Apple Siri, Google Assistant и Алисы от Яндекса.

Теорию без практики изучать скучно. Представим, что перед нами стоит задача от только что придуманной пиццерии «ДоРеМи». Руководство компании хочет, чтобы покупатель имел возможность узнать меню пиццерии и заказать пиццу голосом. Заказ еды оставим на вторую итерацию, а сейчас займемся меню. Добавим команду «Что входит в состав <Название пиццы>?». Если пользователь вводит некорректную команду, то вывод будет состоять из списка пицц. Задача простая. Идеально подходит, чтобы изучить технологию и подготовиться к дальнейшему расширению.

Первый пункт - поднять бэкэнд

ВНИМАНИЕ! Android разработчик поднимает сервер на node.js. Слабонервным лучше пропустить эту часть.

Сервер нам нужен для хранения информации о пиццах и для дальнейшего взаимодействия с апи ассистентов. Бэкэнд будет написан на node.js вместе с фреймворком express для настройки веб-приложения. Разворачивать будем на платформе Now от компании Zeit . Платформа бесплатна и проста в использовании. Вводим команду «now» в терминале для старта скрипта деплоя и в ответ получаем ссылку на наше веб-приложение.

Для инициализации проекта используем Express Generator. Результатом генерации будет отличный каркас для веб приложений, но здесь много лишнего для простого апи: шаблоны для страниц, страницы ошибок, папки для ресурсов. Оставим только самое необходимое.

Базу данных использовать не будем. Данные у нас статические, достаточно будет одного объекта в js - список пицц с названиями и ингредиентами.

Const pizzas = [ { name: "Маргарита", ingredients: ["Тесто", "Томатный соус", "Сыр Моцарелла", "Томаты", "Базилик"] }, { name: "Пепперони", ingredients: ["Тесто", "Томатный соус", "Сыр Моцарелла", "Пепперони"] }, { name: "Вегетарианская", ingredients: ["Тесто", "Томатный соус", "Сыр Моцарелла", "Грибы", "Маслины", "Зеленый перец", "Сыр Фета", "Томаты", "Орегано"] }, { name: "Четыре сыра", ingredients: ["Тесто", "Томатный соус", "Сыр Моцарелла", "Сыр пармезан", "Сыр Чеддер", "Сыр Блючиз"] }, { name: "Гавайская", ingredients: ["Тесто", "Томатный соус", "Сыр Моцарелла", "Куриное филе", "Ананасы"] }, ];
Добавим метод, который по объекту пиццы будет выводить ее состав. Если же пицца не найдена, то ответом будет меню пиццерии.

Const pizzaInfo = { getPizzaInfoByPizzaName: function (pizza) { const wrapName = name => `"${name}"` if (!pizza) { const pizzaNames = pizzas.map(pizza => wrapName(pizza.name)).join(", ") return `В ассортимент пиццерии "ДоРеМи" входят пиццы ${pizzaNames}. Могу рассказать состав каждой пиццы.` } const ingredients = pizza.ingredients.map(ingredient => ingredient.toLowerCase()).join(", ") return `В пиццу ${wrapName(pizza.name)} входят ${ingredients}.` }, };

Яндекс.Алиса. Начнем с простого

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

Основная единица платформы - диалоги. Диалоги - скиллы, созданные сторонними разработчиками. Добавить новый функционал в основной разговор с ассистентом не получится. Хотелось бы взять фразу «Алиса, закажи мне пиццу», но пиццерий много. Пользователю придется сказать активационную команду: «Алиса, вызови мне ДоРеМи». Тогда сервис понимает, что нужно переключиться на диалог от «ДоРеМи». Мы принимаем власть в свои руки и управляем процессом на своем сервере, через реквесты и респонсы, используя технологию вебхуков.

Что такое вебхуки?

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

Работает примерно так.

Вы приходите в магазин, набираете тележку товаров. Очередь в магазине одна, очень длинная. В обычных супермаркетах вам пришлось бы ее отстоять и потерять огромное количество времени. В параллельной вселенной вы оставляете свою тележку в очереди, а сами занимаетесь другими делами. Персонал магазина вас находит и отдает пакеты. Первый подход - аналогия API, второй - вебхуков.


Настройки, которые нужно прописать для создания диалога в личном кабинете: название, тематика диалога, активационное имя и url на сервер.

Дальше только настройка сервера на обработку запросов. Принимаем json, отправляем json. А еще проще, если отбросить все шелуху с приемом json, его парсингом, с извлечением данных и обратными действиями в процессе отправки ответа, то мы принимаем текст пользователя и возвращаем текст Алисы. Добро пожаловать в 70-е, во времена текстовых интерфейсов.

У нас есть строка с командой пользователя. Чтобы возвращать состав пиццы по команде пользователя, нам нужно вычленить название пиццы и в ответ прислать фразу. Вычленять будем обычным string.contains(фраза). Чтобы идея сработала, модернизируем наш список пицц, добавив к ним список основ (морфема слова без окончания), которые могут встречаться в запросе.

Const pizzas = [ { name: "Маргарита", base_name: ["маргарит"], ingredients: ["Тесто", "Томатный соус", "Сыр Моцарелла", "Томаты", "Базилик"] }, { name: "Пепперони", base_name: ["пепперони", "пеперони", "пепирони"], ingredients: ["Тесто", "Томатный соус", "Сыр Моцарелла", "Пепперони"] }, { name: "Вегетарианская", base_name: ["вегетариан"], ingredients: ["Тесто", "Томатный соус", "Сыр Моцарелла", "Грибы", "Маслины", "Зеленый перец", "Сыр Фета", "Томаты", "Орегано"] }, { name: "Четыре сыра", base_name: ["четыр", "сыр"], ingredients: ["Тесто", "Томатный соус", "Сыр Моцарелла", "Сыр пармезан", "Сыр Чеддер", "Сыр Блючиз"] }, { name: "Гавайская", base_name: ["гавай"], ingredients: ["Тесто", "Томатный соус", "Сыр Моцарелла", "Куриное филе", "Ананасы"] }, ];
Немного изменим функцию, которая возвращает состав пиццы по команде пользователя.

GetPizzaInfoByUserCommand: function (command) { command = command.toLowerCase(); const pizza = pizzas.find(pizza => (pizza.base_name.some(base => (command.indexOf(base) !== -1)))) return this.getPizzaInfoByPizzaName(pizza) },
Обрабатываем JSON, отправляем корректный ответ и добавляем кнопку, которая перенаправит пользователя на сайт пиццерии. Кнопки в Алисе - единственная возможность привнести разнообразие в обычный текстовый вывод. На кнопку можно назначить реплику пользователя либо открытие браузера по url. Используйте deep linking, чтобы связать ассистент и приложение в один удобный процесс. Например, при заказе пиццы можно настроить переход на экран оплаты в приложении, где уже сохранены платежные данные или есть возможность оплатить через Google/Apple Pay.

Var express = require("express"); var pizzaInfo = require("../pizza/pizza_info.js"); var router = express.Router(); /* GET home page. */ router.use("/", function (req, res, next) { const body = req.body; const commandText = body.request.command; const answer = pizzaInfo.getPizzaInfoByUserCommand(commandText); res.json({ "response": { "text": answer, "buttons": [{ "title": "Заказать", "url": "https://doremi.fake/" } ], "end_session": false }, "session": { "session_id": body.session.session_id, "message_id": body.session.message_id, "user_id": body.session.user_id }, "version": body.version }) });
С помощью параметра tts(text-to-speach) можно настроить фонотеку голосового ответа Алисы: ударение, произношение и пробелы. В tts лучше передавать транскрипцию вместо орфографически правильного написания. Например, «пажалуста». Так речь Алисы будет естественнее.

Тестировать диалог проще некуда. В личном кабинете можно поговорить через консоль со своим диалогом и почитать json’ы.

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

Google Assistant. Новый уровень

Если Диалоги - это базовая комплектация автомобиля, то Actions on Google - комплектация с массажным креслом, автопилотом и персональным водителем, инструкция к которым прилагается на китайском языке. Инструмент от Google сильнее, богаче, но сложнее. И входной порог в технологию выше. У Яндекса гениально лаконичная и простая документация. Про Google сказать такое не могу. Actions on Google построен на тех же аксиомах, что и Диалоги: активационная команда, общение через апи, использование вебхуков, отделение стороннего диалога от основного.

Простота - главное преимущество и проблема Диалогов. Проблема в том, что всю архитектуру нужно строить самому. Простейший алгоритм вычленения частей из текста пользователя, реализованный выше, нельзя расширить на новые команды. Приходиться изобретать велосипеды. В такие моменты понимаешь, почему графический UI до сих рулит. Но Google реализовал продукты, которые освобождают разработчика от скучных скриптуемых процессов: классификация команд пользователя и работа с реквестами и респонсами. Первая задача решается фреймворком DialogFlow aka Api.Ai, вторая - объемной библиотекой под node.js. Нам остается подсоединить апи к Actions через node.js. На первый взгляд, что это лишнее усложнение, но сейчас я покажу, что этот подход выигрывает в проектах, где команд больше, чем одна.

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

Второе понятие - Intents или действия - категории, по которым DialogFlow будет классифицировать команды пользователя. Мы добавляем примеры команд, по которым будет определяться интент. В примерах команд лучше использовать примеры сущностей, которые были добавлены на первом шаге. Так алгоритму будет проще научиться вычленять нужные нам аргументы. Главная фишка DialogFlow - на основе введенных шаблонов нейросети Google тренируются и генерируют новые ключевые фразы. Чем больше шаблонов мы добавим, тем корректнее будет определяться интент. Не забудем добавить идентификационное имя для интента, которым мы будем дальше пользоваться в коде.

У интента есть имя, есть список параметров. Не хватает возвращаемого значения. В настройках можно добавить статические ответы. Динамические ответы - зона ответственности js кода. Далее я буду расхваливать вторую вещь, которая делает подход гугла еще круче - официальная библиотека к node.js. Она лишает радости парсить json и заниматься маршрутизацией интентов через длинные if’ы или switch-case блоки.

Инициализируем объект DialogflowApp, в конструктор передадим request и response. Через метод getArgument() мы получаем сущность из команды, с помощью tell() передаем ответ помощника, через handleRequest() настраиваем маршрутизацию в зависимости от интента.

Const express = require("express"); const Assistant = require("actions-on-google").DialogflowApp; const pizzaInfo = require("../pizza/pizza_info.js"); const app = express.Router(); // запрос на обработку вебхуков app.use("/", function (req, res, next) { // Инициализируем API.AI assistant объект. const assistant = new Assistant({request: req, response: res}); const ASK_INGREDIENTS_ACTION = "listOfIngredients"; // Название интента const PIZZA_PARAMETER = "pizza"; // Название сущности function getIngredients(assistant) { let pizzaName = assistant.getArgument(PIZZA_PARAMETER); // Respond to the user with the current temperature. assistant.tell(pizzaInfo.getPizzaInfoByUserCommand(pizzaName)); } // Настраиваем маршрутизацию let actionRouter = new Map(); actionRouter.set(ASK_INGREDIENTS_ACTION, getIngredients); assistant.handleRequest(actionRouter); }); module.exports = app;
DialogflowApp сделает всю грязную работу за нас. Нам остается только подготовить данные для вывода. А теперь представьте, как это облегчает работу, когда нам нужно настроить заказ пиццы, вывод меню или статуса заказа, поиск ближайшей пиццерии и еще пару команд. Сколько человеко-часов экономим этой технологией!

Первичное тестирование ответов мы можем провести сразу в личном кабинете.

Для более скрупулезного тестирования есть симулятор или девайс с Google now.

Ответ в Google Assistant может состоять не только из текста, но и разных ui элементов: кнопки, карточки, карусели, списки.

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

Apple SiriKit. Кратко о том, почему Siri отстает

Если Диалоги - это базовая комплектация автомобиля, а Actions on Google - полная комплектация, то SiriKit - это метро с двумя станциями на всю Москву.

Две особенности, которые делают подход Apple не таким, как все - привязанность к основному приложение и обязательное соответствие одному из сценариев использования, прописанных Apple, то есть полное отсутствие кастомизации разговора. По первому пункту все понятно - без основного приложение на девайсе не будет диалога в Siri. Ваш диалог лишь дополнение к приложению.

Второй пункт является главным недостатком SiriKit. Все диалоги, весь текст уже прописан. Можно только добавить немного синонимов в вокабуляр Siri или сверстать виджет, который появится по запросу. Это единственная свобода, которую дает Apple.

Вам повезло, если вы хотите сделать что-то похожее на команды из скриншота ниже. Нам не повезло.

Если на WWDC 2018 Apple не поменяет кардинально подход к кастомным диалогам, то тогда Siri так и останется внизу топа. Голосовые помощники - это операционные системы будущего. Систему делают крутой приложения. Когда их нельзя нормально сделать, система проигрывает. Именно из-за этого IOS в топе. Именно из-за этого Siri отстает в гонке.

Экспертное мнение. Про Amazon Alexa, продакшн и будущее.

Думаю, что голосовая разработка на нашем рынке в ближайшее время перейдет из развлекательной штуки во что-то серьезное, в продакшн. Точкой отсчета, скорее всего, будет официальный анонс русскоязычного Google Assistant, то есть Google I/O 2018. Надо морально подготовиться и поучиться у западных коллег. Расспросил нашего друга, Максима Кокоша, Team Lead-а из Omnigon. Он работал с Assistant и Alexa.


Максим Кокош, Team Lead Omnigon

Расскажи в общих словах, что ты разрабатывал?
Я занимался доработкой одного скилла для Alexa и портированием другого c Alexa на Actions on Google при использовании DialogFlow. Причем в очень сжатые сроки, неделя была на портирование, неделя на доработку Alexa скила.

Про Амазоновский проект мы ничего не знаем.
Вот ты в статье написал про Алису, Siri, Google Assistant, а про Alexa нет. Это как сравнивать Android и Symbian и забыть про iOS.

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

Кстати, я бы не стал подход Алисы называть автомобилем. Двухколесная повозка на ослиной тяге, это максимум. По сравнению с Google Actions и Alexa, там все совсем плохо. Парсить руками string"и в 2018 году звучит как дикость.

Как ты думаешь, почему аудитория у Alexa намного больше?
Мне кажется, это из-за того, что Google позже вступил в игру. Очень мало вкладывается в рекламу. Хотя судя по тому, что ассистент есть или может быть установлен почти на каждом Android устройстве, они могли бы стать популярней.

В чем особенности Alexa?
В Alexа удобно работать с состоянием в рамках сессии. Например, ты просишь включить свет в ванной. Получается Intent «Включить свет», а entity - ванная. Затем ты говоришь: «Выключить». И вот тут нам пригодится контекст внутри сессии. Во время обработки интента мы можем выставить состояние «bathroom» и использовать его при получении следующих интентов. У Google есть Follow-up интенты, отвечающие аналогичным целям, но они не такие гибкие.

У Alexa явно говорится, как установить скиллы. Это знакомый пользователю подход - магазин скиллов. У Google скилы ставятся автоматически.

Review процесс очень строгий на обеих платформах. Ревьюверы следят, чтобы каждый response заканчивался точкой, чтобы взаимодействие с пользователем выглядело натурально, для этого у каждой платформы есть свои гайдлайны, чтобы не было грамматических ошибок, даже в описании, а текста там очень много. Ревью от Amazon обычно занимало 2-3 дня, в Google справились за 1 день.

Сама разработка Google Actions показалось более простой: захостил на Firebase action, подключил его в 2 клика, и вот у тебя уже все готово к разработке. Если ты хочешь делать запросы наружу, нужно платить. Если будешь обращаться только к сервисам Google, то можно и бесплатно. AWS, ввиду большей загруженности, выглядит запутанней.

После недавнего появления в публичном доступе «Алисы» — ассистента от Яндекс, русскоязычные пользователи дружно бросились сравнивать наше чудо технической мысли c западной коллегой и конкуренткой – «Siri» от Apple.

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

Зачем вообще нужен голосовой помощник?

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

Где взять это чудо?

Чтобы свой помощник был и у вас, следует установить на смартфон приложение Яндекс.Алиса , поддерживаются операционные системы Android и iOS. Персональные компьютеры на базе Windows так же не остались обделенными, но на этой платформе еще продолжается бета-тестирование ассистента.


Чем отличается Сири от Алисы?

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

Главное отличие – Сири является привилегий владельцев iPhone, а наша Алиса доступна всем. С технологической точки зрения Алиса, конечно, стала шагом вперед – это полноценная нейросеть, способная к импровизации и развитию, в отличии от Сири, имеющей заранее прописанные ответы. Зато Сири вызывается фразой из любого состояния смартфона, а вот для работы с Алисой потребуется открывать соответствующее приложение.

Правда, на деле это пока скорее оптимистичные прогнозы, нежели реальное положение дел – Алиса пока не особенно восприимчива к формулировкам вопросов, а потому отвечает шаблонно. В основе же распознавания человеческой речи у Алисы лежит технология SpeechKit.

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

Тестирование запросов

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

Информационные запросы в целом оказались по силам обеим дамам.

Если вас интересует личное мнение ассистента, то Алиса тут имеет преимущество – у нее оно есть, Сири же способна только предоставить мнение из интернета.

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

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

Промежуточные итоги

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

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

Если Вы это читаете, значит Вам было интересно, поэтому пожалуйста подпишитесь на наш канал на , ну и за одно поставьте лайк (палец вверх) за труды. Спасибо!
Подписывайтесь на наш Телеграм @mxsmart .