Голосовой пользовательский интерфейс: научная фантастика или реальность?

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

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

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


Схема системы с голосовым пользовательским интерфейсом

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

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

  1. Как человек обычно выполняет эту задачу?
  2. Есть ли возможность выполнить задачу за наименьшее количество шагов?
  3. Как большинство людей воспринимают эту задачу, т.е. их «ментальная модель» этой задачи?

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

Графические пользовательские интерфейсы используют возможность отображения информации на экране компьютера. Панель инструментов закреплена: она остается на экране, а иконки на ней не изменяются. Постоянство панели инструментов уменьшает необходимость запоминания пользователем целого ряда действий и команд. Речь же представляет собой поток звуков. Поэтому человеку необходимо полагаться на свою память, чтобы помнить, что произошло несколько секунд или минут назад. Это значит, что разработчикам голосовых пользовательских интерфейсов следует контролировать нагрузку, которую они оказывают на память пользователя. Обеспечение приемлемого уровня «когнитивной нагрузки» является одним из ключевых моментов в создании удобного в использовании голосового пользовательского интерфейса.

Как уже упоминалось выше, предугадать ответы пользователя – это задача эффективно разработанной грамматики. Грамматика определяет, что система может «понять» и как ей на это реагировать. Система, грамматика которой включает максимально ограниченный набор слов, распознает лишь ответы «да», «нет», в то время как расширенная грамматика позволяет системе правильно распознать такие ответы как «да, пожалуйста», «ммм... ага», «ну да». Некоторые грамматики позволяют распознать ответы вроде «я не знаю», после чего система предлагает несколько вариантов ответа для того, чтобы помочь пользователю определиться.

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

Если ответ пользователя не совпадает с теми, которые содержатся в грамматике, он может привести к ошибке распознавания, поэтому система должна уточнить, каким образом следует ответить:

Если система все же не справляется с ошибкой, она предлагает пользователю перевести вызов на оператора.

Если говорить о навигации по системе, то следует отметить, что работая с приложением, пользователь должен всегда иметь возможность вернуться на один шаг назад в диалоге, еще раз прослушать последнее сообщение системы или пропустить какой-либо уровень диалога и сразу перейти на следующий. Варианты команд пользователя для навигации по системе должны быть включены в грамматику. Грамматика должна содержать и все возможные синонимы команд. Например, для команды «Повторить» нужно учесть ряд синонимов, начиная от «Скажите еще раз, пожалуйста» до «Что?».

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

Также следует тщательно продумать, какие команды пользователь должен подтверждать и когда. Подтверждение выбора команды особенно необходимо в случаях, где цена ошибки достаточно высока. Как в случае с командой «Отменить», когда пользователь может случайно завершить диалог с системой и прервать, например, процесс бронирования билета.

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

Важно уделить особое внимание и качеству озвучивания и записи сообщений системы. Правильно разработанная грамматика, содержащая все возможные синонимы, допускает разнообразие ответов пользователя, однако сообщения системы должны быть более четкими. При разработке голосового пользовательского интерфейса необходимо всегда пояснять пользователю, каким образом ему следует отвечать. Для этого, если допустимый ответ подсказать пользователю нельзя, разработчики приложения предусматривают наличие ряда ключевых слов, которые помогают пользователю дать понятный системе ответ. Например, «Вы хотите “выбрать пункт назначения”, “получить информацию о гостиницах” или “забронировать комнату”?»

Остановимся немного на сообщениях системы. К сообщениям системы относятся подсказки, которые бывают трех типов:

  1. Запрос информации – обращение к пользователю с просьбой сделать выбор, выбрать из меню, выбрать часть информации, которую нужно исправить, а также ввести свои данные, к примеру, номер телефона.
  2. Сообщение о текущем состоянии системы – сообщение о возникновении ошибки, краткое изложение информации, которую нужно подтвердить, а также фразы вроде «Подождите, пожалуйста», которые сообщают пользователю о возникновении задержки при обработке данных. К данной категории также относятся так называемые «метки», которые сообщают пользователю, на каком уровне диалога он находится, например, «Вы вернулись в главное меню».
  3. Сообщение информации – может быть инициировано системой либо пользователем. К первому относятся приветствие, а также сообщение пользователю инструкции по работе с приложением. Ко второму относится информация, которую запрашивает пользователь, например, справка, прогноз погоды и пр.

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

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

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

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

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

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