Разговор со змеем. Программа распознавания голоса “Горыныч Проф 3.0”

Практически вся современная научная фантастика предсказывает нам, что в будущем компьютером и прочими “умными” бытовыми приборами мы будем управлять исключительно голосом. Этот весьма необычный способ управления существует уже сегодня, но вот работоспособен ли он?

Была такая реклама в одном уважаемом компьютерном журнале: с помощью встроенного в ноутбук микрофона в реальном времени осуществлялся захват звука англоязычного блока теленовостей CNN; полученный звуковой поток тут же передавался системе распознавания речи «Горыныч», преобразовывался в электронный текст и отображался в окне WordPad; распознанный англоязычный текст обрабатывался программой-переводчиком «ПРОМТ» и уже на русском языке распечатывался на принтере «для неторопливого чтения в свободное время».

«Уже ль тот самый «Горыныч»?» – появилась мысль-воспоминание о бесплодных попытках пять лет назад диктовать команды компьютеру с помощью программы с аналогичным названием, которая представляла собой всего лишь русскоязычный модуль к англоязычной системе Dragon Dictate 2.5.
Закралось смутное сомнение и насчет захвата звука с открытого источника с помощью встроенного микрофона – такие микрофоны конструктивно не предназначены для распознавания речи, и об этом говорится в инструкциях ко всем программам речевого восприятия, в том числе и к «Горынычу».
Дабы рассеять возникшие сомнения и оценить реальные возможности программы, мы протестировали «Горыныча», и результаты этого теста представили в данной статье.

О ПРОГРАММЕ
«Горыныч Проф 3.0″ – собственная разработка российской компании VoiceLock.
«Древние» версии русских «Драконов» – «Комбат» и «Диктограф», представляющие собой простой перевод программы Dragon Dictate, не имеют никакого отношения к современному «Горынычу» — единственной на сегодняшний день полнофункциональной системе распознавания речи, которая кроме английского понимает и русский язык.

Чем же «Горыныч» может нас порадовать? Программа имеет два режима: команд и диктовки. Ввод текста возможен в окна любых приложений под Windows. Ожидаемая скорость ввода — 500-700 печатных знаков в минуту. Реализована возможность голосового управления периферийным оборудованием, функциями прикладных программ и операционных систем Windows 98SE/Mе/2000/XP. В основе работы — принцип дикторонезависимости. Программа распространяется на CD компанией «Новый Диск» (www.nd.ru/products/exclusive/gorynych3.asp) и стоит $49. Облегченная версия (light) урезана в возможностях, имеет маленькие словари, но позволяет сделать вывод насчет эффективности и к тому же стоит на порядок меньше полной ($4).

Как видите, программа, судя по ее описанию, обещает заманчивую перспективу — отложить в сторону мышь с клавиатурой и просто говорить в микрофон. Компьютер будет выполнять команды и печатать текст в два раза быстрее профессиональной машинистки. (Для сравнения — обычные пользователи печатают на клавиатуре со скоростью 50-100 символов в минуту.) Программа поймет голос любого пользователя сразу после установки (раз она дикторонезависимая).


ГОТОВИМСЯ К ВСТРЕЧЕ С «ГОРЫНЫЧЕМ»

Самой распространенной ошибкой при работе с программами речевого восприятия является использование устройств мультимедиа низкого качества. В результате на форумах, посвященных этим программам (пример — forum.ru-board.com), можно увидеть нелестные отзывы вроде: «Поставил я «Горыныча» и снес его через два дня – полнейший отстой, ничего не слышит!». Конечно, не услышит, если пытаться общаться с программой с помощью микрофона за 200 рублей и такой же дешевой звуковой карты.

Распознавание речи – настолько не типовая задача, что решить ее при помощи стандартного оборудования, устанавливаемого по умолчанию на большинство компьютеров, попросту невозможно. Нечего и мечтать о работе с «Горынычем» без гарнитуры вроде “Voice Direct” (наушники с закрепленным на них микрофоном). Эта гарнитура обеспечивает приемлемое качество передачи речи и позволяет минимизировать влияние сторонних фоновых шумов. Не нужно использовать и встроенные (например, в монитор) приемники звука. Как микрофон, так и звуковая карта должны быть среднего и высшего уровня, а значит, должны быть недешевые.

НАСТРОЙКА МИКРОФОНА

«Горыныч» состоит их трех отдельных программных модулей, которые не могут быть запущены одновременно. Собственно, сам «Горыныч Проф 3.0″ – это главное окно программы, модули «Настройка словарей» и «Настройка микрофона». Последний модуль необходимо запустить первым – сразу после установки программы. Без этого шага сам «Горыныч» просто не запустится. Настройка микрофона (может быть как ручной, так и автоматической) заключается в произнесении нескольких фраз и, в соответствии с индикаторами, уменьшении или увеличении уровня записи. Один цикл автоматической настройки состоит из двух последовательно проводящихся тестов: шума и сигнала с данными. При тесте шума нужно соблюдать тишину (ничего не говорить в микрофон), поскольку эта часть нужна для определения уровня фонового шума. В тесте сигнала с данными достаточно произнести любую фразу из двух-трех слов. Говорить следует с такой громкостью и интонацией, с какой в дальнейшем вы собираетесь работать с программой.

ИНТЕРФЕЙС «ГОРЫНЫЧА»
При запуске основного модуля программы открывается главное окно и два вспомогательных окна мониторинга, предназначенных для наблюдения за сигналом с микрофона во время произнесения слов. В верхнем окне сигнал отображается по мере поступления со звуковой карты. В нижнее окно выводится графическое отображение сказанного слова.

В средней части главного окна расположена панель с основными кнопками управления.
- Кнопка включения и выключения звукозаписи. Важно помнить: перед выходом из программы звукозапись следует выключить.

- Кнопки английского/русского языка – переключают программу в режим использования английских/русских словарей диктовки и команд.

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

- Кнопка прослушивания предыдущего сказанного слова – для контроля качества сигнала с микрофона. Например, если прослушивание сопровождается сильным треском, то это может быть следствием шума при записи звука.

- Кнопка переключения между режимами команд и диктовки.

В процессе работы с программой в главном окне отображается следующая информация:

- описание текущего режима работы;
- заголовок окна, в которое будет выводиться текст в режиме диктовки (этим текстом и будет вестись управление в командном режиме);

- описание текущего состояния звукозаписи;

- текстовое отображение последнего распознанного слова.

НАСТРОЙКА СЛОВАРЕЙ
«Горыныч» может распознать только те слова, которые имеются в его активном словаре. Каждому элементу такого словаря соответствует его текстовое представление и звуковая модель произношения – как слышится и как пишется. Программа укомплектована словарями диктовки на 5000 слов и словарями команд на 100 слов для каждого из двух языков. В каждом словаре можно заменить (потренировать) слова, уже находящиеся в нем, либо настроить слово под свое произношение. Для контроля записанное слово можно прослушать.
Новые команды станут дикторонезависимыми, если их произнесет и запишет по очереди 15-20 человек.

РЕЖИМ КОМАНД
«Горыныч» запускается в режиме команд. Остается только включить звукозапись, чтобы эти команды могли быть услышаны, распознаны и выполнены. В окно доступных команд выводится список слов, которые можно сказать в данный момент. Список этих команд изменяется в зависимости от того, что происходит на компьютере. Например, щелчок мыши по Рабочему столу приводит к появлению в этом списке команд, соответствующих подписям под значками: «Блокнот», «Корзина», «Мой компьютер» и другие.

Однако некоторые команды, например, для значков «Книга», «Проигрыватель Windows Media» и The Bat!, не появляются. Оказывается, многие команды отсутствуют в русском словаре команд, и их нужно в него добавить. Но и после этого не все из них будут в списке доступных. Так, из перечисленных выше команд в список добавилась только «Книга».

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

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

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

К сожалению, программа не выводит команд для запуска приложений из списков кнопки «Пуск» и «Все программы». Запустить что-то из этих перечней можно, лишь перемещаясь по ним с помощью команд управления курсором мыши («вверх», «влево», «вправо», «дальше», «нажать ввод»). Если программ установлено много, голосовая навигация по этим спискам становится неудобной – проще и быстрее сделать это мышью. Добавим, что «Горыныч» не всегда правильно распознает команды, да еще и моментально выполняет то, что услышал – в программе нет режима подтверждения или отмены команды. Вот почему во избежание досадных недоразумений лучше сразу переозвучить весь командный словарь.

Для оценки качества работы программы в командном режиме вычислялся процент правильно распознанных команд от общего количества произнесенных. После десяти попыток выводился усредненный показатель. В командном режиме «Горыныч» сработал довольно сносно – с уровнем распознавания 87%.

ДИКТАНТ
Достаточно включить режим диктовки, перейти в окно любого текстового редактора – и можно начать диктовать. Делать это нужно монотонно, без интонаций и с паузами после каждого слова. Сам процесс диктовки несложен: вы говорите слово, программа его обрабатывает, в окне диктовки печатается то, что программа услышала, а в отдельном окошке предлагается список вариантов, наиболее близких по звучанию. Щелкнув по одному из вариантов, можно заменить им напечатанное слово. Слова выводятся практически мгновенно. Если слово не распознается, нужно занести его в словарь.

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

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

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

ДРЕССИРОВКА «ГОРЫНЫЧА»
То, что «Горыныч» некоторые слова все же слышит, наводит на мысль, что программа не так уж и безнадежна, как может показаться поначалу. Значит, нужно найти и устранить причины, по которым она не воспринимает другие слова.

Заглянем в русскоязычный словарь диктовки. Оказывается, из 32 слов нашего текста в словаре присутствует всего семь! Да еще точка с запятой. Диктуем только эти семь слов – распознано четыре. Диктуем 50 других слов, имеющихся в словаре, – распознано 32, причем только десять из них с первой попытки. Остальные пришлось повторить от двух до пяти раз.

Вывод: несмотря на дикторонезависимость программы, слова распознаются неуверенно и далеко не на все 100%. Для повышения уровня распознавания необходима тренировка словаря, и оптимальным будет добавление собственных вариантов произношения для всех слов.

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

К счастью, «Горыныч» способен «привыкать» к голосу пользователя, и чем чаще вы диктуете, тем быстрее это происходит. Главное, после работы с программой не забывать сохранять словари. Однако от запоминания неудачных сеансов (много нераспознанных слов) лучше отказаться, иначе качество распознавания только ухудшится.

Так, десять раз продиктовав «Горынычу» наш текст (каждый раз закрывая программу и сохраняя свои варианты произношения), удалось повысить уровень распознавания до 85%. Однако неуверенность идентификации осталась довольно высокой: 20% слов пришлось повторять дважды, чтобы они хотя бы появились в окне вариантов, и дополнительно 5% всегда выбирались из этого списка.

ОФОРМЛЕНИЕ ТЕКСТА
Придавать тексту нужный вид в «Горыныче» можно, лишь переключившись в командный режим с использованием голосовой навигации по меню текстового редактора. Делается это неоправданно долго, и гораздо проще оформить текст вручную. То же можно сказать и о перемещении по документу (страница вверх, страница вниз) и по тексту (влево, вправо и т. д.).

Встроенного контроля пунктуации в программе нет, поэтому точки и запятые нужно диктовать в нужном месте. Однако ставить их тоже придется вручную – «Горыныч» почему-то печатает эти знаки препинания отдельно от текста (через пробел). Более того, вместо запятой упорно лепит точку, хотя прекрасно «слышит» этот символ – «,» присутствует в списке вариантов, но при ее выборе все равно появляется точка.

За правописанием «Горыныч» не следит — предполагается, что при пополнении словарей вы будете правильно набирать слова. И все же лучше проверить текст средствами программы Word. Добавим, что «Горыныч» все печатает с маленькой буквы – большие нужно вводить с клавиатуры. Сидеть сложа руки, диктуя «Горынычу» текст, как видите, не получится.

ПОПОЛНЕНИЕ СЛОВАРЯ ДИКТОВКИ
Напомним, что словарь «Горыныча» запускается в отдельном программном модуле, и для его запуска нужно закрыть главное окно программы. Добавлять таким образом каждое нераспознанное слово (а таких поначалу немало) — не набегаешься. К тому же эти вновь добавляемые слова не сортируются по алфавиту, а валятся в кучу в конец словаря. В результате трудно проверить наличие какого-то слова, поскольку поиск по словарю отсутствует.

Вот почему нераспознанные слова лучше набирать вручную, копировать в отдельный файл, а позже скопом добавлять в словарь – в один сеанс. Важно не допускать появления в словаре дублированных записей (программа допускает их создание). Отслеживать изменение в словаре с анализом новых слов можно разными способами, например с помощью специального макроса для Excel (www.vector-ski.com/vecs/govorilka/dic/DigaloR_VOleg.zip).

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

Понятно, что с таким набором слов попросту невозможно надиктовать нормальный связный текст. Отсюда задача: для начала добавить в словарь «Горыныча» эти недостающие словоформы. Если вы собираетесь диктовать программе какие-то специфические тексты, например из области эзотерики или программирования, придется добавить множество слов по этой тематике. С этой целью удобно воспользоваться одной из программ, умеющих выделять ключевые и наиболее информативные слова из разных мудреных текстов. Примером такой программы является «МЛ Аннотатор SDK 1.0″ (www.medialingua.ru/annotator.html) компании «МедиаЛингва».

РАСПОЗНАВАНИЕ РЕЧИ С ОТКРЫТЫХ ИСТОЧНИКОВ

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

- Словари диктовки «Горыныча» (да простят нас его разработчики) можно назвать словарями Эллочки-Людоедки по сравнению со словарями таких англоязычных программ, как IBM ViaVoice и Dragon NaturallySpeaking.

- Даже если использовался пополненный кем-то словарь «Горыныча», скажем, хотя бы до 50 тыс., он фактически является индивидуальным и малопригодным для распознавания речи произвольного диктора.

Теперь представьте текст без знаков препинания, составленный из ограниченного словарного набора и без малейших признаков форматирования. А что получится после перевода такого текста, даже если исключить ошибки при его распознавании? Вот диктор CNN удивился бы, увидев такой текст!
Дабы не обидеть разработчиков единственной подобной русскоязычной программы, скажем, что и зарубежные «коллеги» «Горыныча» не смогут справиться с распознаванием теленовостей. Достаточно назвать одну причину: акустическая модель программ не успеет адаптироваться под конкретного диктора.

Итак, «Горыныч» весьма неплохо справляется с управлением компьютером, и даже light-версия вполне подойдет для этой цели. Конечно, при условии, что словари будут пополнены недостающими командами.

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

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

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

Более того, существуют специальные версии программ Dragon NaturallySpeaking и IBM ViaVoice для различных диалектов одного и того же языка – например, для английского: американская, английская, британская. Вот почему практически невозможно «приспособить» эти программы для русского языка (например, взять и надиктовать для них русский словарь с использованием транслитерации хотя бы для работы в режиме команд).

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

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

Велик и могуч русский язык
Разработка модуля распознавания русской речи требует значительных финансовых и интеллектуальных ресурсов. Эта задача оказалась не по зубам даже таким крупнейшим компаниям–разработчикам речевых технологий, как IBM, Scansoft, Philips. По той же причине до сих пор отсутствует поддержка русского языка в системе речевого ввода в Office XP — даже Microsoft распознавание русского языка с его обширным словообразованием оказалось не под силу. В результате большинство разработанных на сегодня речевых программ – англоязычные, для других языков их значительно меньше.

Русскоязычные же утилиты можно буквально пересчитать по пальцам. Еще более обидным является то, что «достать» хорошие русскоязычные модули распознавания речи простому пользователю практически невозможно – российские речевые технологии являются либо объектами научных исследований и носят, скорее, демонстративный характер, либо предметами коммерческих сделок. В качестве примеров можно назвать разработки московской и минской компаний «Стэл — Компьютерные Системы» (www.stel.ru) и «Сакрамент» (www.sakrament.com), рассчитанные на применение в различных аппаратных системах и программных приложениях.

Самые популярные статьи:

Итоги конкурса «Выбери модель, выиграй KODAK Playtouch!»
Итоги конкурса «Знаешь ли ты Verbatim?»



Об авторе