Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

Изменения в распознавании рукописного текста

Напечатать страницу
18.02.2009 14:29 | deeper2k

Microsoft работает над технологией распознавания рукописного текста более 15 лет. Все началось с Pen Extensions для Windows 3.0. В связи с улучшенной интеграцией и доступностью компонентов распознавания рукописного текста в Windows Vista мы отмечаем, что число пользователей, использующих рукописный текст для ввода информации в компьютер, растет и рукописный текст используется в различных сферах, включая образование, здравоохранение, банковское дело, страхование, в правительственных и других структурах. Отрадно наблюдать, как эта новая форма естественного ввода информации находит применение в новых сценариях. Безусловно, мы постоянно должны улучшать качество распознавания, а также добавлять новые языки. В этой статье Ивонна (Yvonne), программный менеджер команды User Interface Platform, расскажет об изменениях в технологии распознавания рукописного текста в Windows 7. - Стивен

Добрый день! Меня зовут Ивонна. Я программный менеджер команды Tablet PC and Handwriting Recognition. Эта статья посвящена работе, которую мы проделали, чтобы улучшить распознавание рукописного текста в Windows 7.

Microsoft занимается развитием сенсорных технологий с начала 90-х годов прошлого столетия и с выпуском Windows Vista распознавание рукописного текста стало доступным для 12 языков, включая английский, американский английский, немецкий французский, испанский, итальянский, голландский, бразильский (португальский), китайский (упрощенный и традиционный), японский и корейский. Пользователи часто спрашивают, когда будет доступно распознавание на других языках и почему не поддерживается конкретный язык. Так вот, в Windows 7 мы планируем добавить поддержку новых языков, включая норвежский, шведский, финский, датский, русский и польский. А теперь давайте поговорим о том, чего стоит разработка распознавания для новых языков.

Windows поддерживает полноценное распознавание рукописного текста, то есть вам не потребуется обучаться какому-то специальному письму. На самом деле, мы научили (или "натренировали") Windows распознавать почерк тысяч людей, при этом чем больше вы пишите, тем лучше Windows вас понимает. В течение последних 16 лет мы разработали мощные механизмы распознавания рукописного текста и сегодня продолжаем работу над тем, чтобы сделать процесс распознавания более точным, быстрым и более функциональным. Добавление новых языков распознавания связано не столько с добавлением новых словарей, сколько с крупными инвестициями. Начинается все со сбора различных вариантов почерка, затем анализируются данные и происходит тренировка системы. Как только качество распознавания достигает предварительно определенного уровня, мы добавляем технологию в систему и продолжаем ее совершенствовать.


Сбор информации
Разработка нового механизма распознавания рукописного текста начинается со сбора информации. Мы собираем миллионы слов и символов, написанных десятками тысяч авторов со всего света.

Перед тем, как рассказать о том, с какими трудностями связан сбор информации, мне хотелось бы ответить на вопрос, который нам часто задают пользователи: "Почему нельзя использовать существующий механизм распознавания с новым словарем?" Во-первых, в некоторых языках есть специальные символы или ударения. Но, пожалуй, более важно то, что в разных странах люди учатся писать совершенно по-разному. Это касается стран, использующих один и тот же язык, например, США и Великобритания. Символы, которые вам могут показаться похожими, для компьютера могут оказаться совершенно разными. Именно поэтому мы вынуждены собирать и анализировать реальное написание символов, знаков пунктуации и других элементов почерка.

Сбор статистики очень непрост и требует массу времени, поскольку важно, чтобы собранные данные были достоверными. Поэтому в различных странах, для которых разрабатываются механизмы распознавания, мы очень аккуратно подходим к сбору статистики.

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

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

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

Вот как выглядит наш инструмент для сбора информации о почерке:


Рис. 1: Инструмент для сбора информации о почерке



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

Давайте взглянем на некоторые примеры, иллюстрирующие разнообразие почерков, в нашей базе:


Рис. 2: Примеры почерка, иллюстрирующие различные варианты написания



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


Нейросеть и языковая модель
Как только собрано достаточное количество образцов рукописного текста, мы создаем из этих данных тренировочный пакет, используемый разработчиками, и "слепой" пакет, используемый тестовой командой. Тренировочный пакет используется для тренировки нейросети, ответственной за процесс непосредственного распознавания. Реальные образцы рукописного текста крайне важны при разработке высококачественного механизма распознавания; механизм распознавания был бы не так хорош, не будь тренировочного пакета. Чем больше данных поступает в нейросеть, тем более эффективней будет распознавание рукописного текста.

Нейросеть представляет собой нейросеть с временной задержкой (Time-Delay Neural Network или TDNN), которая умеет распознавать объединенные буквы рукописного текста. TDNN при обработке букв, цифр и символов оценивает предстоящий и послестоящий сегменты текста. Возможности TDNN громадны, но не при размашистом почерке, когда между буквами большое расстояние. Для того, чтобы увеличить точность распознавания, нам пришлось использовать информацию, которая выходит далеко за пределы формы букв: мы называем это контекстом языковой модели. Львиную долю контекста можно почерпнуть из лексикона, представляющего собой весь набор слов конкретного языка. Для большинства языков это все тот же лексикон, который используется для проверки орфографии. Вместе TDNN и лексикон просчитывают вероятности слов и предлагают наиболее подходящие варианты.

Тренировка нейросети требует массу времени. Мы всегда экспериментируем с заимствованными из других языков данными с целью увеличить размер тренировочных данных и, как следствие, точность распознавания. Хотя заимствованные из других языков символы не всегда являются ключом к успеху. Как сказано выше, количество штрихов, форма букв, стиль письма и размер букв могут существенно отличаться от пользователя к пользователю и могут негативно влиять на производительность TDNN-сети. Практически всегда требуется проводить несколько заходов для тренировки, повторную тренировку и настройку перед тем, как найти "правильную формулу", обеспечивающую максимальную точность распознавания.

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


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


Рис. 3: Мастер персонализации



И как показано на снимке, пользователю предлагается написать с помощью пера предложение. Чем больше данных вводится через мастер персонализации, тем более точным становится механизм распознавания. В дополнение к отбору примеров рукописного текста пользователи могут устранять конкретные ошибки при распознавании. Наша функция персонализации весьма непроста и представлена несколькими отдельными модулями, которые позволят оптимально настроить механизм распознавания. Мы с радостью сообщаем, что персонализация будет доступна для всех языков распознавания, которые были представлены в Vista, и для новых языков, которые появятся в Windows 7. Поэтому настоятельно рекомендуем использовать эту функцию для увеличения точности механизма распознавания.

Мы продолжим работать над механизмами распознавания, в том числе с помощью статистики, собранной через систему телеметрии (анонимно, конфиденциально, добровольно). В Windows Vista мы реализовали функцию "Сообщить об ошибке при распознавании", которая позволяла пользователям направлять некорректно распознанные фрагменты текста. После того, как пользователь подправил слово в панели Tablet Input Panel (TIP), он может направить неверно распознанный фрагмент текста вместе с правильной версией на анализ в Microsoft.

Вот как выглядит утилита для отправки некорректного рукописного текста:


Рис. 4: С функцией "Сообщить об ошибке в распознавании" пользователи смогут выбрать, о каком фрагменте некорректно опознанного текста они желают сообщить.



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

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


Источник: http://blogs.msdn.com/e7ru
Перевод: deeper2k

Комментарии

Не в сети

Честно - поражает как это работает...

18.02.09 14:47
0
Не в сети

И конечно всю прелесть познать удастся только англоязычным юзерам, т.к. МС рус нифига что либо делать не будет... взять к примеру распознавание речи которое вообще отказывается запускаться в локализированных продуктах

18.02.09 14:50
0
elk 0
Не в сети

windows mobile кириллцу разве не распознаёт?

18.02.09 15:19
0
Не в сети

интересно, компьютер в бсод уйдёт увидя мой почерк?

18.02.09 15:37
0
Не в сети

wiccanmist, Вы ошибаетесь. Могу Вам точно сказать, что в русской версии Windows 7 будет работать распознавание текста на русском языке. Что касается речи, то это сделано намеренно - очень мало пользователей в России решится управлять компьютером на английском языке. Оставим в стороне энтузиастов, я говорю про рядовых пользователей.

18.02.09 17:30
0
Не в сети

очень мало пользователей в России решится управлять компьютером на английском языке


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

18.02.09 19:42
0
Не в сети

Об этом речи никогда не было. Это очень сложно технически. В ближайшем обозримом будущем этого в Windows не будет.

18.02.09 19:56
0
Не в сети

у нас в офисе весной прошлого года приезжали ребята из Microsoft Serbia Development Center (MSDC, Сербия), которые как раз целой группой занимаются распознаванием группы славянских языков (к которым относится и русский, и сербский), собирали данные наших почерков. Вот этой самой программой

После этого я осенью, когда был на PDC, поставил себе 6801 (Pre-beta) и наслаждался распознаванием русского языка. Мои каракули система легко распознавала

Так что могу сказать, что Windows 7 очень неплохо распознает русский рукописный язык.

20.02.09 01:08
0
Не в сети

былобы неплохо русское распознование речи получить в винде...
где ты горыныч...

23.02.09 16:35
0
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
420.55 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.032 секунд (Общее время SQL: 0.015 секунд - SQL запросов: 69 - Среднее время SQL: 0.00022 секунд))
Top.Mail.Ru