Обновленный Google Now для iPhone — прощай, Siri. Подписка на новости

В 2011 году Apple произвела новую революцию - их смартфон заговорил. Появление «Сири» ознаменовало новую эру управления гаджетами. Люди смогли обращаться к своим гаджетам, как к человеку, запрашивая у них важную (и не очень) информацию. Погоду, напоминания и свежую почту теперь можно узнать не переходя от приложения к приложению. Естественно, другие технологические компании и производители смартфонов не могли остаться в стороне и решили показать схожие решения, в разной степени лучше или хуже «Сири». В этом материале поговорим о лучших аналогах Siri для Android, насколько далеко шагнул прогресс и на что эти аналоги способны.

Google Now

Несмотря на тот факт, что служба Google Now отличается от других голосовых помощников, его все же считают аналогом «Сири» для «Андроид». Google Now - это искусственный интеллект живущий в вашем телефоне, знающий все о ваших интересах, делах, ближайших рейсах и событиях в календаре. Помимо функции секретаря, Google Now прекрасно справляется с поиском информации в Сети. Команда OK, Google уже стала культовой и помогает миллионам людей находить ответы на свои вопросы ежедневно. Google Now умеет собирать ваши поисковые запросы и на их основе выводить релевантную информацию. Например, вы недавно искали билеты на матч любимой команды. В этом случае Google Now начнет отправлять вам карточки с информацией о предстоящей игре, других играх команды и их успехах в турнире.

Google Assistant

«Ассистент» - это новый этап развития Google Now. Это Siri для «Андроид» в лучшем исполнении. Ассистент не просто умнее своего предшественника, но и гораздо функциональнее. С его помощью можно создавать напоминания, события в календаре и отправлять сообщения. Захотели вдарить рока по пути на работу? Попросите «Ассистента» включить вам ТОП лучших треков в жанре и он составит для вас идеальный плейлист.

Не понимаете что за слово написано на вывеске? Попросите «Ассистента» перевести его на ваш язык, ведь он прекрасен в роли лингвиста и знает больше 100 языков.

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

Cortana

Microsoft в последнее время славится своими бесконечными (и неудачными) попытками догнать оппонентов, внедряя похожие функции в свои устройства и гаджеты конкурентов. Не постеснялись Microsoft сделать и некий аналог «Сири» для «Андроид». Зовут ее Cortana (это отсылка к одному из персонажей в игре Halo). По сути, эта помощница почти ничем не отличается от конкурентов. Microsoft предприняли попытку усидеть сразу на двух стульях, посему в интерфейсе есть и умные карточки, подстраивающиеся под конкретного пользователя, и человечная девушка-собеседник, создающая ощущение живого общения.

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

Bixby

Вот уж кто действительно давно должен был скопировать идеи конкурентов, так это Samsung. В 2017 году, вместе с Galaxy S8, корейские инженеры продемонстрировали нам свои собственные разработки в области искусственного интеллекта, которого назвали необычным именем Bixby. Что интересно, Bixby - это не просто аналог «Сири» для «Андроид». Это целый комплекс самообучающихся служб, готовых давать подсказки в течение дня и находить полезную информацию. Функциональность не сильно отличается от «Ассистента Google» и самой Siri, поэтому поговорим о важных отличиях.

Во-первых, Bixby понимает контекст и обладает когнитивной толерантностью. То есть если вы спросили его кто такой Марлон Брандо, а затем, в каких фильмах он снимался, не упоминая имени, то Bixby, проанализировав ваш диалог, сам поймет о ком идет речь. Во-вторых, Bixby умеет искать информацию с камеры. Это значит, что достаточно навести ее на какую-то вещь или объект - и Bixby тут же расскажет вам о нем все, что знает интернет.

«Яндекс. Алиса»

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

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 отметили, что, несмотря на объективность, исследование не является глубоко научным, поэтому относится к нему нужно с изрядной долей иронии.

Рынок голосовых ассистентов расширяется, особенно для русскоязычных пользователей. 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, ввиду большей загруженности, выглядит запутанней.

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 могла бы и обидеться за сравнительный вопрос, но поступила иначе – вывела информацию из сети про рок-группу Алиса. Кинчев в каждом из нас удовлетворен.


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


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


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


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


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