Распознавание речи в Office XP

Распознавание речи в Office XP

Андрей Колесов

В версию Microsoft Office XP корпорация впервые включила модуль под названием “Альтернативный ввод”, предусматривающий ввод речевой информации и рукописных текстов. Все это пока работает для английского, японского и китайского языков в соответствующих версиях пакета. Тем не менее познакомиться с возможностями модуля на примере международной английской версии полезно, так как, вполне вероятно, нечто подобное будет доступно для русского языка.

Рис. 4. Окно Мастера настройки речи

Как это все работает

Программные модули альтернативного ввода представляют собой автономные компоненты, непосредственно связанные с языковой панелью инструментов Language Bar, которая после установки Office XP прописывается в Windows и автоматически меняет ранее существовавший блок переключения клавиатуры. Так что теперь, щелкнув по значку языка на панели задач, вы можете выбрать команду “Показать панель языка” и увидеть кнопки данной панели (рис. 1). Соответственно средства “Альтернативного ввода” становятся доступны не только офисным приложениям, но и другим программам, поддерживающим данную технологию (например, Internet Explorer 5.0 и Outlook Express 5.0).

Для использования функций альтернативного ввода нужно указать подключение соответствующего компонента в программе установки Office XP (Alternative User Input). В русской версии он отсутствует, но вся справочная информация имеется в локализованном виде, поэтому, обратившись к ней через кнопку Help на языковой панели, можно прочитать описание технологии (рис. 2).

Теперь посмотрим, как работают функции распознавания рукописного текста. Для ввода служат планшеты с перьевым вводом и обычная мышь. Воспользуемся вторым вариантом. Через меню Handwriting на языковой панели вызовем окно Writing Pad, напоминающее Блокнот, введем в нем с помощью мыши — это очень нелегко с непривычки — текст (рис. 3). Не знаю, как вы, а Office XP смог понять в этих каракулях фразу “Hello frоm Andy!” и вставил ее в текущее место документа. Имеется также режим ввода Write Anywhere, при котором писать мышью можно в любой области экрана.

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

Так вот в Microsoft Office реализован первый вариант, поэтому ввод может выполняться только пером. А распознать текст, написанный на бумаге (после сканирования образа и копирования через буфер обмена в Writing Pad), пока в принципе нельзя.

Для распознавания речи конечно же требуется подключить к компьютеру микрофон. Данный механизм подразумевает необходимость настройки на конкретного пользователя. Поэтому при первом же обращении к средствам распознавания речи вам понадобится обучить компьютер понимать ваше произношение. Для этого нужно сначала ввести некоторые сведения о себе — возраст (до 12 лет или старше) и пол (рис. 4), а потом читать в течение 10 минут предлагаемый текст. С помощью выделения автоматически показываются распознанные слова, т. е. фактически выполняется проверка вашего произношения (движок настроен на североамериканское произношение). В будущем можно пройти дополнительные уровни обучения, а также сделать несколько профайлов для разных пользователей. Процесс обучения включает возможность расширения речевой базы путем ввода слова и записи его произношения.

Рис. 1. Языковая панель

Для текущей работы есть два режима — ввод команд и диктовка (они запускаются нажатием соответствующих кнопок на языковой панели). С первым все довольно просто — вместо выбора команд меню и кнопок панели инструментов вы последовательно называете нужные слова: File, Print, OK. Точно так же с помощью голоса выполняются установки флажков и переключателей, выбор позиций списков и ввод текстовых полей в появляющихся диалоговых окнах. Мне с моим далеким от совершенства произношением английских слов удалось “покомандовать” без особых проблем.

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

Конечно же данный режим гораздо сложнее для распознавания и результат сильно зависит от произношения. Несмотря на наличие механизма настройки на индивидуального диктора, этот вариант движка ориентирован (что подчеркивается в документах Microsoft) на североамериканское произношение. По оценкам Microsoft, прохождение первого теста обеспечивает распознаваемость речи для жителей США примерно на 80%, после прохождения еще нескольких уровней обучения — до 90—95%.

Я не могу похвастать большими успехами во вводе произвольного английского текста, но после начального обучения фраза “I am writing this document” в моем исполнении распознавалась без проблем. Нужно отметить, что оба механизма распознавания (для рукописного текста и речи) используют проверку грамматики. Например, при рукописном вводе распознаватель упорно не хотел понимать правильно последнюю букву в английском написании моей фамилии — Kolesov. Проблемы исчезли после добавления ее в словарь. При речевом вводе ситуация еще сложнее — распознаватель явно пытается построить правильную с точки зрения грамматики фразу. Во всяком случае, в инструкции подчеркивается, что желательно говорить слитно, а не отдельными словами.

Оценивая средства “Альтернативного ввода” в Office XP в целом, нужно отметить, что их возможности пока еще далеки от совершенства. Более того, это не лучшие достижения в области распознавания речи и рукописного текста. Но само их появление в массовом продукте является дополнительным стимулом для разработчиков форсировать исследования в данной области.

Рис. 2. Справка “Альтернативного ввода”

Когда появится поддержка русского языка

Краткий ответ таков: когда соответствующие модули для Office сделают местные компании. Ведь общая стратегия разработки подобных средств для национальных рынков у Microsoft выглядит следующим образом. По вполне очевидным причинам новшества сначала реализуются для пользователей в США: это огромный рынок (около 50% мирового), для которого нужно сделать одно решение (а не десять, как для Европы, занимающей не более 30% рынка). При этом “американское” решение, как правило, бывает и самым дешевым по отношению к другим в силу наличия огромного технологического задела, да и пользователь в Америке наиболее подготовлен к восприятию инноваций. Например, по экспертным оценкам, более 60% исследований в области речевых технологий приходится на США (один диалект одного языка) и лишь 30% на Европу (четыре-пять основных языков).

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

В случае с “Альтернативным вводом” Microsoft придерживается второго подхода. Собственно этот блок состоит из двух модулей. Первый — модуль сопряжения приложения с конкретным “движком” (включая визуальный интерфейс, справку и пр.). Он входит во все национальные версии Office XP, в чем можно убедиться, открыв языковую панель и вызвав соответствующую справку.

Второй — сам программный “движок”, реализующий некий функционал (в данном случае распознавание речи и пр.). Сегодня он представлен, как уже говорилось, тремя вариантами для трех языков, которые включены в состав соответствующих национальных версий. При этом имеется автономный продукт Microsoft Office Proofing Tools (цена около $100, подробнее о нем — www.microsoft.com/ rus/officexp/information/proofing_tools_faq.htm), содержащий полный набор средств Microsoft для национальных языков: проверку грамматики (несколько десятков языков, в том числе и русский), автоматический перевод для ряда языков, распознавание речи (три языка). Установив этот продукт с русским Office XP, вы сможете, например, проверять итальянскую грамматику, распознавать американскую речь и вводить китайские иероглифы...

Кроме того, на сайте Microsoft (http://msdn.Microsoft.com/downloads/) опубликован бесплатный набор Speech API 5.1, с помощью которого все желающие могут подключить свои средства распознавания речи к Office XP, в том числе и на русском языке. Отметим, что наличие речевого “движка” в международной (английской) версии Office XP совсем не исключает необходимости использования альтернативных средств (например, с учетом профессиональной области, возраста, места жительства и пр.). Сейчас Microsoft рассматривает вопрос о публикации аналогичного пакета API для применения рукописного текста. Кстати, в октябре корпорация анонсировала набор .NET Speech SDK Technical Preview 1.0 для использования речевых технологий в приложениях независимых разработчиков.

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

Рис. 3. Рукописный ввод с помощью мыши

Как известно, эти языки используют иероглифы, счет которых идет на тысячи. Понятно, что ни одна клавиатура не может справиться с подобной задачей. Для ее решения используется метод IME (Input Method Editor), суть его заключается в следующем. В упрощенной трактовке в традиционных языках (в том числе русском) каждая буква соответствует определенному звуку (вспомним, что письменность вторична по отношению к речи), а иероглифу — некая комбинация фонетических элементов. Поэтому можно провести параллель между иероглифом и словом (хотя порой один иероглиф включает целое предложение).

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

Почему же речевой ввод особенно необходим для этих языков? Дело в том, что для русского языка скорости речи и клавиатурного ввода (для опытного пользователя) в общем-то соразмерны. А для китайского и японского языков клавиатурный ввод медленнее по крайней мере на порядок. Поэтому речевой ввод — это очень значительное повышение производительности работы пользователя.

Проблемы с переключением клавиатуры

Итак, новшеств “Альтернативного ввода” и дополнительных функций языковой панели инструментов еще нет в русском варианте Office XP, а вот некоторые проблемы уже появились.

Сразу после установки Office XP во время тривиального набора текста в Outlook Express у меня неожиданно перестало работать переключение языка с помощью клавиатуры. С тех пор данная ошибка проявляется случайным образом (причем при активном переключении языка довольно часто) и требует перезагрузки приложения. К сожалению, вернуться к исходному варианту управления переключением клавиатуры, который был в моем Windows 98 до установки Office XP, уже не удается.

Вторая проблема — если сделать языковую панель невидимой (выбрать команду Close), то вывести ее снова на экран с помощью средств Панели управления нельзя, так как соответствующая кнопка Language Bar в окне Text Services недоступна. Единственный выход: напрямую отредактировать системный Реестр, установив в нем HKEY_CURRENT_USER\Software\Microsoft\ CTF\LangBar\ShowStatus = 2

Microsoft признает эти ошибки в русском Office XP и обещает их исправить...

Список литературы

Для подготовки данной применялись материалы сети Интернет из общего доступа