С таким шумом вокруг голосовых пользовательских интерфейсов (VUI) я решил попробовать и немного поэкспериментировать. Идея заключалась в том, чтобы использовать голосовой интерфейс для выполнения чего-то необычного, но в то же время доступного для широкой аудитории. Итак, как бы мне ни нравились все эксперименты с IoT (например, этот), мне пришлось отказаться от них, поскольку для работы с ними требуется оборудование.

Это должно было быть что-то доступное в Интернете, и было принято решение использовать веб-сайт нашей компании в качестве игровой площадки.

Если вы просто хотите поиграть с ним, а не читать о том, как он сделан, перейдите к концу этой статьи сейчас.

Что, если бы вы могли перемещаться по сайту с помощью голоса?

Ах, да. Устройтесь поудобнее и поговорите со своим экраном. Какой фантастический способ продемонстрировать, на что способен VUI! Трюк? да. Но как цифровое агентство мы имеем право (если не обязанность) играть с новейшими технологиями - и кто знает, в какой момент они будут процветать и приносить прибыль нашим усилиям.

И да, подобные вещи уже существуют - используя SpeechAPI, вам нужны только навыки HTML и JS для его создания. Но, как быстро выяснилось, поддержка SpeechAPI на данный момент очень слабая:

Google Ассистент спешит на помощь

В поисках альтернативного решения я направил свое исследование в сторону умных динамиков. В последнее время в нашем агентстве мы много экспериментируем с диалоговыми интерфейсами (чат-ботами), и их расширением являются голосовые помощники (Google Assistant, Alexa, Siri). Выбор Google Assistant в качестве основной голосовой платформы для проекта не занял много времени - он доступен на каждом устройстве Android, позволяет одновременно создавать разговоры с голосовым и визуальным интерфейсом, поставляется с отличными SDK и документацией - и действительно весело играть.

План

Итак, чего мы хотим достичь? Для начала рассмотрим классический путь пользователя на корпоративном веб-сайте:

  1. Пользователь попадает на главную страницу
  2. Прокрутите немного вниз, чтобы узнать, что происходит
  3. Начинает просматривать интересующие вас области. Щелкает по элементам навигации.
  4. Пользователь читает немного больше о конкретной области интересов, возможно, воспроизводит видео.
  5. Наконец, хочет связаться и заполняет контактную форму.

Отлично, давайте сделаем все это голосом.

Инструменты

Теперь это становится технически сложным. Вот что мы использовали:

  1. Dialogflow - для создания разговорных точек входа, намерений и управления всем легко и удобно в Actions on Google.
  2. Приложение NodeJS - для создания пользовательских функций и обработки сложных запросов, что иначе невозможно сделать в Dialogflow.
  3. Heroku - для размещения нашего приложения nodejs. Платный тариф нужен, чтобы наше приложение не засыпало
  4. Веб-сайт - в идеале построенный в стиле одностраничного приложения - для обеспечения плавного перехода между страницами и упрощения обработки сеансов.
  5. Socket.io - для соединения клиента VUI и веб-сайта и обеспечения связи в реальном времени.

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

Одна из задач заключалась в том, чтобы ввести механизм синхронизации, чтобы связать 2 устройства вместе и предотвратить трансляцию событий другим клиентам. К счастью, Stackoverflow полон хороших людей, раздающих фрагменты кода практически для каждого случая использования. Случайно сгенерированный номер (на стороне сервера), проверенный на соответствие занятым комбинациям и возвращенный на интерфейс веб-сайта, сделал свое дело. Затем голосовой агент просит предоставить этот уникальный номер для синхронизации устройств, и после успешной операции socket.io приветствует агента и веб-сайт в одной комнате.

Опубликуйте свое действие

Чтобы сделать наше действие доступным для обнаружения, нам пришлось пройти процесс утверждения. На это у Google уходит 1-2 дня.
Внимание! Каждый раз, когда вы хотите опубликовать даже самое маленькое изменение, сделанное в Dialogflow, вы должны снова пройти процесс утверждения. Честно говоря, это довольно неприятно, но качество на первом месте.

Самая большая уловка заключалась в том, чтобы сделать одно намерение обнаруживаемым, сказав: «Окей, Google, попроси Гринвуда Кэмпбелла сделать что-нибудь потрясающее». Таким образом, мы могли бы провести пользователя в нашем особом путешествии и использовать его в качестве контекста в настройке Dialogflow. Контекст также служит своего рода памятью голосового агента.

Как позже выяснилось, Google также проиндексировал наше намерение с неявным вызовом: Окей, Google, управляй сайтом с помощью голоса. Вам вообще не нужно упоминать название нашего агентства Greenwood Campbell (это почти как получить домен веб-сайта бесплатно!). Подробнее об обнаружении действий и типах вызова здесь.

Вы все еще можете вызвать действие Гринвуда Кэмпбелла, сказав «Окей, Google, поговорите с Гринвуд Кэмпбелл», но таким образом вы никогда не найдете контроллер веб-сайта. Наш эксперимент планировалось начать с взаимодействия с веб-сайтом.

Мись, а не мееш

Самое интересное (когда я говорю «весело», я имею в виду, что мы плохо боролись…) у нас было с формой обратной связи.

Сначала мы разрешили пользователям произносить свое имя для заполнения полей формы. Но - если ваше имя не английское или не очень распространенное, Google Assistant либо не понял его, либо написал с ужасной ошибкой. Моя фамилия Миш - по-польски «плюшевый мишка», но Google так и не понял. И меня не устраивает отправка неверных данных через контактную форму.

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

Выводы

Запуск этого эксперимента в реальном времени увеличил посещаемость нашего веб-сайта на несколько сотен процентов, а также значительно снизил показатель отказов и значительно улучшил среднее время, проведенное на сайте. Это также принесло нам некоторое признание в галереях веб-сайтов (и награды!). И у нас есть отличная демонстрация возможностей VUI, даже если это всего лишь небольшая шутка. Однако лучший вывод - это изучение множества систем и уверенность в доставке Actions on Google нашим клиентам.

Давайте играть!

Вот он: https://www.greenwoodcampbell.com/

Используйте приличный браузер и экран ноутбука / рабочего стола для запуска контроллера VUI. Вам понадобится телефон с Google Ассистентом или Google Home, чтобы взаимодействовать с ним. Повеселись :)

Если вы тоже экспериментируете с VUI и интеграциями, дайте мне знать об этом в комментариях. Я всегда рад слышать интересные идеи. Ура!

РЕДАКТИРОВАТЬ: поскольку эта интеграция больше не является частью веб-сайта greenwoodcampbell.com, я подумал, что было бы полезно посмотреть видео о том, как это работает. Вот он (звук плохой, извините!)

Получайте лучшие предложения по программному обеспечению прямо в свой почтовый ящик