Программное обеспечение для распознавания голоса позволяет людям указывать своим устройствам, что делать, просто разговаривая с ними, без необходимости использовать мышь, клавиатуру или касаться экрана. Такой вид взаимодействия с компьютерами кардинально меняет наше отношение к технологиям, снижая барьеры внедрения, помогая выполнять многозадачность и обеспечивая доступность. В последнее десятилетие или около того эта технология использовалась для создания голосовых помощников, таких как Siri, на iPhone и домашних устройствах, таких как Alexa. Этот уровень взаимодействия можно перенести в браузеры, чтобы улучшить взаимодействие с пользователем, стимулировать новые виды взаимодействия и оставить длительное впечатление.

Инструменты, доступные для создания такого опыта, используют обработку естественного языка, ветвь машинного обучения, которая отвечает за синтез и понимание текстов. Для этого урока мы выбрали инструмент Facebook’s Wit AI, инструмент для создания естественного языкового опыта, и мы рассмотрим:

  • Определение понимания естественного языка.
  • Рекомендации по проектированию голосовых интерфейсов.
  • Обучение нашей модели с помощью Wit AI.
  • Интеграция с простым веб-приложением для изменения свойств пользовательского интерфейса, таких как цвета, размер текста и добавление кнопок.

Понимание естественного языка (NLU)

NLU — это подраздел обработки естественного языка в машинном обучении, который фокусируется на способности машины понимать и интерпретировать человеческий язык, извлекать смысл, определять контекст и делать выводы. Вот некоторые ключевые термины, связанные с NLU:

  • Высказывания — это письменные или устные сообщения.
  • Интент — это цель или задача сообщения.
  • Сущности — ключевые значения, имеющие отношение к цели сообщения.

Соображения по дизайну

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

  • Интерактивный — в разговоре участвуют две стороны, и ни одна из сторон не должна доминировать в разговоре.
  • Контекстуальный — вовлеченные стороны должны иметь справочную информацию, чтобы избежать необходимости повторять разговоры.
  • Сотрудничество — вопросы и ответы должны способствовать развитию разговора, а не мешать ему.
  • Вариативность. Есть много способов сказать одно и то же, поскольку язык беглый, поэтому разговор не должен казаться роботизированным или написанным по сценарию.
  • Мультимодальность — разговоры связаны не только с голосом, но и с другими невербальными сигналами, такими как жесты рук.

Обучение модели с помощью Wit.ai

Перейдите на веб-сайт Wit AI и войдите в свою учетную запись Facebook, чтобы иметь возможность создать свое приложение Wit. Нажмите кнопку Новое приложение и вызовите приложение web_styling. Видимость вашего приложения может быть общедоступной или частной в зависимости от вашего варианта использования. На данный момент выберите частную видимость.

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

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

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

Для этого перейдите на страницу понимания в недавно созданном приложении Wit и выполните следующие задачи:

  • В текстовом поле высказывания введите увеличить размер шрифта
  • В раскрывающемся списке намерений введите увеличить размер элемента и нажмите кнопку «Создать намерение».
  • В текстовом поле высказываний выделите размер шрифта, и появится раскрывающийся список. Создайте новый объект под названием размер шрифта.
  • Нажмите кнопку поезда и подтверждения.
  • Повторите для фраз «уменьшить размер шрифта», «увеличить шрифт» и «уменьшить шрифт», как обсуждалось выше.

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

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

После того, как вы освоитесь с приложением Wit, перейдите на страницу настроек и получите секретный ключ, который мы будем использовать для интеграции с веб-сервисами Wit.ai.

Внешняя разработка

Для простоты мы будем использовать ванильный JavaScript. Сначала создайте файл index.html и добавьте следующий код для исходных веб-элементов и таблиц стилей, необходимых для различных стилей, которые мы хотим изменить.

Затем создайте файл JavaScript с именем voice.js, и этот код интегрируется с веб-сервисами Wit AI с помощью вашего секретного ключа. Запрашивая доступ к микрофону, эта демонстрация использует API Web Speech для целей распознавания речи, то есть преобразования вашей речи в текст. Вы можете проверить совместимость этой функции в разных браузерах. Затем расшифрованный текст отправляется в онлайн-сервисы Wit AI, а результаты затем обрабатываются в действия, которые изменяют внешний вид веб-страницы.

Заключение

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

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

Независимая от редакции, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и командам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим нашим авторам и не продаем рекламу.

Если вы хотите внести свой вклад, перейдите к нашему призыву к участию. Вы также можете подписаться на получение наших еженедельных информационных бюллетеней (Еженедельник глубокого обучения и Информационный бюллетень Comet), присоединиться к нам в Slack и следить за Comet в Twitter и LinkedIn, чтобы получать ресурсы, события и многое другое, что поможет вам быстрее создавать лучшие модели машинного обучения.