Содержание статьи
Научный журнал Научное обозрение. Педагогические науки ISSN 2500-3402 ПИ №ФС77-57475
Распознавание + верификация: что в процессе делают люди
Важной частью любой системы распознавания символов является подсистема сегментации. Различие написанных слов в изображении и выделение букв в словах является довольно трудоемкой задачей, которая требует немало внимания, чем, собственно, сам процесс распознавания. Еще более важной является система выделения признаков, которая должна найти уникальные свойства выделенных букв и отбросить не нужные буквы. Современная машина распознавания рукописного текста не может существовать без словаря и подсистемы распознавания контекста. Они позволяют машине использовать внешние данные для решения конфликтных ситуаций, например, определение отличия между малыми и большими буквами или понимание неясно написанных символов.
Существуют 2 способа распознавания рукописи. В онлайновом буквы выводятся при помощи стилуса и тут же появляются в печатном виде на экране девайса. В офлайновом подразумевается именно распознавание документов: текст уже существует на бумаге и его надо перевести в электронный вид. При этом распознавание текста можно проводить на базе отсканированной копии так и фотографии. Когда вы слышите о программе распознавания документов, всегда подразумевается именно офлайновый метод.
Перед распознаванием рабочего массива документов нейросеть нужно обязательно обучить на качественно размеченном тестовом наборе данных. Его создают из реальных документов, требующих распознавания. В процессе обучения результат распознавания сверяется с датасетом, в котором хранится множество изображений для каждой буквы, написанной разным почерком. Вычисляется разница межу предсказанным и реальным значением и на этом основании нейросеть обучается (меняются веса в слоях нейросети)
На сегодняшний день разработано много систем, которые демонстрируют возможности искусственных нейронных сетей: сети способные синтезировать человеческую речь, распознавать рукописные буквы, сжимать изображения. Большинство мощных сетей, которые ориентированы на распознавание символов и звуков берут за основу принцип обратного расширения, который является систематическим подходом для обучения многослойных сетей.
Большую часть информации человеческий мозг получает при помощи различных образов, при этом для нас нет никакой сложности, чтобы описывать различные предметы, явления, животных, людей и т.д. Данная задача, которую мы считаем очень простой для себя, для компьютера является весьма сложной, с точки зрения реализации. В последнее время активно начала развиваться такая область искусственного интеллекта как нейронные сети. Нейросети широко применяются в самых различных областях, начиная от систем распознавания речи до распознавания вторичной структуры белка, классификации различных видов рака и генной инженерии, автоматизации процессов распознавания образов, прогнозирования, адаптивного управления, создания экспертных систем, организации ассоциативной памяти, обработки аналоговых и цифровых сигналов, синтеза и идентификации электронных цепей и систем и т.д. Нейронные сети являются частью раздела искусственного интеллекта, в котором для обработки сигналов используются явления, аналогичные происходящим в нейронах живых существ. В большинстве случаев преобразование сигналов в режиме реального времени приобретает все более распространенную форму. На сегодняшний день существует огромное количество программного обеспечения, использующего возможности технологии искусственных нейронных сетей.
Человеческий почерк состоит из последовательных штрихов. Символы рукописного текста формируются последовательно, один символ завершается перед началом следующего. Но существуют и исключения – например, в русском языке точки над «ё» и черта над «й», как правило, задерживаются, сначала пишется основная часть слова, а потом слово завершается написанием точек или же запятых.
Во-вторых, несколько символов могут выглядеть одинаково, либо практически не отличаются в почерке или некоторые буквы могут быть написаны неаккуратно, и быть похожими при этом на совершенно другие буквы. Эта проблема обычно решается использованием словарей, в которых программа может найти сомнительное слово, и таким образом можно избежать неточностей.
На результаты обучения огромное влияние оказывает подбор начальных значений весов – инициализация нейронной сети. К сожалению, не существует универсального метода подбора весов, по этой причине в большинстве практических реализаций чаще всего применяется случайный подбор весов с равномерным распределением значений в заданном интервале.
Как происходит основной процесс распознавания рукописи
В зависимости от типа текста, применяют разные виды нейросетей. Например, если документ стандартный, его можно распознать при помощи языковой модели: она умеет предсказывать следующее слово по нескольким предшествующим. Особенно хорошо языковая модель работает при распознавании однотипных документов, где встречаются повторяющиеся слова, словосочетания и предложения. Так, если при оцифровке документов ИИ работает с приказами или заявлениями, которые, как правило, составлены по схожим шаблонам, значительную часть документа можно распознать довольно быстро.
На этом этапе к работе необходимо подключать верификаторов — людей, которые работают либо в штате компании/архива, либо нанимать внешних квалифицированных сотрудников, то есть отдать вопрос на аутсорс. Аутсорсинговую верификацию предлагают далеко не все игроки рынка, из-за чего в проектах оцифровки документов, которые содержат рукописные элементы, по факту возникают трудности.
Нейронная сеть Хопфилда (Hopfield network, HN) – это полносвязная нейронная сеть с симметричной матрицей связей (рис. 4). Во время получения входных данных каждый узел является входом, в процессе обучения он становится скрытым, а затем становится выходом. Сеть обучается так: значения нейронов устанавливаются в соответствии с желаемым шаблоном, после чего вычисляются веса, которые в дальнейшем не меняются. После того, как сеть обучилась на одном или нескольких шаблонах, она всегда будет сводиться к одному из них. Данную сеть иногда называется сетью с ассоциативной памятью; как человек, видя половину таблицы, может представить вторую половину таблицы, так и эта сеть, получая таблицу, наполовину зашумленную, восстанавливает её до полной.
У всех букв есть статические и динамические свойства. Статистические свойства заключаются в форме и размере символа, а динамические заключаются в порядке и количестве штрихов. В русском языке больше вариантов в присутствии или отсутствии повторных штрихов. Повторный штрих – это штрих в месте, где что-то уже написано, обычно он делается, чтобы избежать поднимания ручки.
Примерно 90 % информации человеческий мозг получает при помощи образов. Еще люди эпохи палеолита рисовали на стенах пещер различные образы, для сохранения и передачи информации. Со временем передача информации посредством живописи частично заменилась более универсальным способом, при помощи письменности.
Во-первых, это то, что большинство символов могут быть написаны по-разному. Например, на рис. 1 приведены разные возможные стили письма на китайском языке [1], которые современные системы могут без трудностей различать и распознавать. Также редко можно встретить двух людей с одинаковым почерком. Эта задача связана с различием шрифтов в классической задаче распознавания текста. Но в отличие от шрифтов, каждая буква в тексте одного человека может иметь свой собственный стиль в зависимости от контекста, в котором осуществляется написание окружающих букв.
Существует множество задач распознавания образов для рукописного текста. Они охватывают отличия языковых символов, формул, например таких, которые используются при редактировании. Проблемы распознавания символов языка включают в себя, например, большие алфавиты китайских иероглифов, японские хирагану и катакану, арабские рукописные алфавиты и шрифты в западных языках. Но самой большой проблемой в распознавании рукописного текста являются трудности, которые вызывают у людей трудности прочитать даже собственный почерк.
Самой популярной и широко исследуемой и применяемой нейронной сетью является сверточные нейронные сети – Convolutional Neural Network (CNN). CNN используют серию фильтров с необработанными пиксельными данными изображения для извлечения и изучения функций более высокого уровня, модель которой затем может использоваться для классификации. CNN состоит из сверточных слоев, объединенных слоев и плотных (полностью связанных) слоев (рис. 2) [2].