Голосовое управление

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

Привет из далеких 60 - х

Первое устройство для распознавания голоса увидело свет в далеком 1964 году. IBM Shoebox произвел настоящую сенсацию в индустрии речевых технологий: он работал с цифрами от 0 до 9 и довольно хорошо понимал речь в 95-97% случаев. Мало кому известно, что имеющийся в арсенале IBM мощный программный пакет для высококачественного распознавания естественной человеческой речи ViaVoice берет свое начало именно с Shoebox. Развитие технологии голосового управления началось в 60 - х годах прошлого столетия. До 90 - х годов эта тема вообще находилась под строжайшим государственным секретом, потому как технология распознавания голоса входила в список стратегических. Со временем большие умы поняли, что само распознование речи - капля в море задач, которые необходимо решить для применения подобной технологии в полевых условиях. Тогда над разработкой специалисты бились сразу по двум фронтам - в области инженерии и лингвистики. Лингвисты изучали правильность произношения тех или иных фонем, а инженеры пытались автоматизировать систему распознавания, которая бы самостоятельно улучшала качество. Шли годы, и в начале 80 - х годов инженеры получили первые результаты своей работы: система кое-как работала, но процент расшифровки речи был очень далек от желаемого. Тут-то им и пришлось объединиться с лингвистами, дабы улучшить свою систему. Так уже в середине 90 - х годов совместными усилиями была создана первая в мире система голосового управления информационных терминалов DARPA Air Travel Information System, где человек мог запросить у терминала на английском языке «Рейсы из Нью-Йорка в Вашингтон» и получить необходимые данные. Работало это все благодаря тому, что программа автоматически выделяла ключевые слова и на их основе формировала запрос. Также в середине 90 - х годов были совершены попытки внедрения речевой технологии в IT - индустрии. В мобильные телефоны была добавлена новая опция, позволяющая осуществлять вызов абонента с помощью голосового набора. Но работала технология откровенно плохо, зачастую вынуждая диктовать информацию чуть ли не по слогам. Со временем увеличение вычислительных мощностей мобильных устройств и развитие самой технологии позволили создавать для них более сложные программы с функциями распознавания речи. Сегодня в виртуальном магазине Арр Store пользователь гаджетов на iOS может найти целую гору интересных приложений, которые бы расширяли возможности смартфона или планшета Apple. Кстати, именно в мобильных гаджетах Apple впервые была реализована функция Voice Control. Которая, как нетрудно догадаться из названия, позволяет управлять телефоном и плеером при помощи голосовых команд. Все сделано довольно просто, понятно и интуитивно: есть набор команд, из которых и следует выбрать, что тебе необходимо: набрать номер телефона Васи Пупкина, включить нужную песню, альбом.

Первое устройство распознавания речи IBM Shoebox songs by Foo Fighters» - получаешь воспроизведение всех треков этого исполнителя. Ничуть не хуже работает распознавание и на родном, великом - могучем языке. Разработчики Google тоже постарались для мобильной индустрии, сделав приложение для голосового поиска в Интернете - Google Voice Search, которое также поддерживает русский язык. Кстати обработка запроса в данном приложении выполняется не на мощностях мобильного устройства, а на удаленном сервере. Приложение записывает произнесенную фразу и тут же отсылает всю информацию на сервер, где запрос обрабатывается и высылается обратно с уже готовыми результатами поиска. После того как Apple купила компанию Siri, она собирается усовершенствовать функцию голосового поиска в новой версии мобильной операционной системы iOS 5. Диктовать телефону долгую речь, которую он без труда будет переводить в текст для SMS или электронной почты, должно быть весьма удобно. А там, глядишь, и виртуальные клавиатуры больше не понадобятся.

На первый взгляд процесс распознавания речи прост и понятен. Но на самом деле это очень сложная комплексная система, не ограниченная обработкой информации на облачном сервере или примитивным сравнением с заранее записанными предложениями. Процесс распознавания речи разделен на несколько этапов, начальным из которых является оцифровка. На этом этапе входящий аудиосигнал с микрофона записывается и разбивается на очень маленькие по времени фрагменты - фонемы для дальнейшей обработки. Для каждого фрагмента записывается дополнительная информация его характеристик, а на этапе записи информационных характеристик каждый производитель применяет различные методы. Оцифровка звукового сигнала выполняется с помощью специального устройства, называемого аналого-цифровым преобразователем, который периодически измеряет уровень входного сигнала и записывает результаты измерений. Набор таких значений и есть оцифрованный входящий сигнал. Также на этапе оцифровки звуковой сигнал проходит стадию подавления различных внешних шумов с помощью специальных шумоподавляющих фильтров. Самые сильные шумовые помехи возникают на низких частотах, а как известно, человеческая речь звучит на средних и высоких частотах, поэтому заранее известный низкочастотный шум отрезается. После оцифровки и удаления шумов программа начинает изучать фонемы и соединять их в возможные варианты слов для дальнейшего сравнения с уже известными программе словами, фразами и предложениями. Собственно, так программа и понимает то, что говорит пользователь. Полученный результат может отображаться текстом на экране или будет воспринят в качестве команды к действию. Но как программа может определить наиболее точный вариант из сказанного нами, когда мы говорим не одно или два слова, а целую фразу? Современные системы распознавания речи содержат в себе специальные системы моделирования, которые с помощью математических вычислений и применения теории вероятности способны определить наиболее точный вариант. Принцип работы этих методов заключается в том, что они обрабатывают уже оцифрованную информацию и с помощью сложных математических вычислений извлекают все скрытое в ней. Проще говоря, из сказанного человеком предложения они выбирают основные слова для запуска определенной команды. Наиболее распространенной считается скрытая модель Маркова, в которой каждая фонема представляет звено цепи, из которых и складывается целое слово. Программа пытается построить слова из этого конструктора, и каждой фонеме присуждается число вероятности ее употребления. Далее программа пытается выстроить логические цепи из этого хаоса фонем, так впоследствии и получится предложение. Нетрудно догадаться, что процесс этот чертовски сложен, и, на данном этапе, далеко не идеален. Так что в случае ошибки или неправильного распознавания сказанной команды неторопись бить ногой системный блок и винить разработчиков в совершенной бесполезности скачанной тобой программы. По сравнению со скрытой моделью Маркова, модель нейронной сети еще более сложна и запутана. Эта система состоит из огромного количества функционирующих простых процессоров с множеством связей, благодаря чему она может с легкостью «вытащить» все данные из избыточной информации. В 50 - х годах эту модель хотели окрестить искусственным интеллектом, однако мечты об этом невероятно мощном инструменте развеялись, как пасмурная погода жарким летом. Одной из особенностей данного метода было то, что нейронные сети обладают способностями к самообучению - сеть самостоятельно учится распознавать необходимые объекты. Далее, в соответствии с характеристиками, они группируются в классы. Принцип работы заключается в том, что сеть, состоящая из множества простых процессоров, работает с полученными данными после их оцифровки, принимая уже обработанные данные и корректируя их. После этого результат сравнивается с другими полученными данными и выбирается вариант, наиболее подходящий для ответа. Естественно, какой бы сложной и уникальной ни была система распознавания речи, она не может быть идеальной. Однако разработчики всеми силами пытаются выловить наиболее часто возникающие проблемы и как можно быстрее их устранить. В остальном все зависит от пользователя. Для того чтобы система работала безукоризненно,необходимо произносить команды четко и громко, избегая внешних шумов, давая системе максимальную возможность их корректного распознавания. Еще одной ключевой проблемой становится совершенно разное произношение одного и того же слова как разными людьми, так и одним и тем же человеком в различных ситуациях. Дополнительные неудобства возникают из-за произвольных интонаций, ударений, нестрогой структуры фраз, пауз, повторов. Продолжать разговор о фонетических особенностях и дефектах человеческой речи можно бесконечно.

Развитие программ голосового управления

Именно с начала 90 - х годов прошлого столетия.с развитием всей индустрии инфокоммуникационных технологий, и стали появляться первые коммерческие программы распознавания речи. Компания Dragon System в 1990 году выпустила первую систему преобразования устной речи в письменную - Dragon Dictate, которая была способна распознавать 30 тысяч слов. Именно Dragon Dictate и послужила примером для наших отечественных разработчиков программ вроде «Горыныча», «Комбата» и «Диктографа». Правда, плоды трудов соотечественников на нашем родном языке работали не так хорошо, как хотелось бы, но это тема для отдельного разговора.

Dragon Dictate позволяла запускать при помощи голоса приложения Windows, управлять их работой в командном режиме, а также надиктовывать текст. Программа предварительно обучалась пользователем: нужно было по нескольку раз проговаривать в микрофон фразы, которые появлялись на экране. Причем после установки и обучения программы необходимо было еще пройти дополнительный курс обучения - на этот раз уже для пользователя. Первые коммерческие программы уже хоть как-то умели понимать человека, но до совершенства им было далеко. Наконец в 2001 году SpeechWorks Software и Intervoice Hardware для компании Amtrak, которая занималась обслуживанием железнодорожных пассажиров, создали первый в своем роде программный продукт - «Джули», стоимостью 4 миллиона долларов. Эта программа - «виртуальный агент», которая по телефону сообщала расписание поездов, время их прибытия и отправления, а также позволяла брони - Схема простой нейронной сети.

До этого компания Amtrak использовала тоновую систему справки, которая очень не нравилась клиентам компании.

В недалеком 2004 году достижения человечества в области речевых технологий были относительно малы, однако именно в этом году, в связи с быстрым развитием мобильных технологий, разработчикам пришла в голову идея создания свободного голосового сервера Google под названием G00G - 411. Свою работу сервис начал в 2007 году, предлагая простой и удобный набор функций: вы звоните, спрашиваете простую информацию, например, номер телефона учреждения, и немедленно получаете ее - причем совершенно бесплатно. Проект G00G - 411 стал стартовой точкой для начала создания огромного свода голосовых данных, в дальнейшем открыв перед разработчиками еще большие возможности развития области речевых технологий. А вот самой удачной системой речевого управления компьютером на сегодняшний день считается, как ни странно, стандартный голосовой интерфейс Windows 7. Предыдущая версия функции распознавания речи появилась в Windows Vista в 2006 году, однако в «семерке» голосовое управление довели до ума, оно стало более функциональным и получило ряд дополнений. К сожалению, все это доступно лишь людям, говорящим на английском, французском, испанском, немецком, японском и китайском языках. Компания Microsoft начала разработку в сфере речевых технологий в 1993 году. Разработчики вели исследования по распознаванию речи и преобразованию текста в речь, что в конечном итоге привело компанию к разработке Speech API, так называемого «речевого движка». Speech API можно рассматривать как интерфейс, который связывается с приложениями для распознавания речи. Для управления голосом в Windows 7 используется Microsoft Speech Recognizer. Первая версия Speech API была выпущена ещё в 1995 году и уже была встроена в Windows 95 и Windows NT 3.51. Каждый год разработчики совершенствовали свой продукт и выпускали новую версию SAPI. Последняя версия была выпущена в 2000 году, ей стала SAPI 5.0, которая уже работала с комплектом офисных приложений Office ХР с поддержкой речевого ввода и управления. Финальным релизом версии стала та самая SAPI 5.4, которая сегодня поставляется вместе с расширенной версией Windows 7.

Будущее голосового управления

Голосовое управление проникло во все сферы технологической деятельности человека и добралось даже до индустрии компьютерных игр. В 2008 году нам посчастливилось увидеть две игры с модным интерфейсом голосового управления.

Игра под названием SOCOM, представленная компанией Sony Computer Entertainment America, по-настоящему порадовала своим взаимодействием с игроком. Второй релиз был от компании Ubisoft - Tom Clancys End War. В ней пользователь может примерить на себя роль генерала, отдающего устные приказы на поле боя. Обе игры стали прародителями жанра компьютерных игр с голосовым управлением.Увы,несовершенство технологии быстро свело на нет затею выпускать подобные игры. Сегодня технология распознавания речи является одной из наиболее перспективных в мире. В первую очередь разработчики видят необходимость ее развития для людей с ограниченными возможностями. Так, на одной конференции, посвященной данной теме, была представлена программа, позволявшая рисовать без использования рук. Вполне возможно, что в скором времени мы сможем забыть о клавиатуре и мыши, которые заменит микрофон и программа для распознавания речи. Но если принимать во внимание тот факт, что за 35 лет жизни индустрии ПК удобнее мышки и клавиатуры никто так ничего и не придумал, надеяться, что в ближайшие годы революция голосового управления все же случится, вряд ли стоит.