Полевой Дмитрий Валерьевич

advertisement
На правах рукописи
Полевой Дмитрий Валерьевич
РАЗРАБОТКА МОДЕЛЕЙ, МЕТОДОВ И СРЕДСТВ
ОБРАБОТКИ ТАБЛИЧНЫХ ДОКУМЕНТОВ
В ИНФОРМАЦИОННЫХ СИСТЕМАХ
Специальность 05.13.18 – математическое моделирование, численные
методы и комплексы программ
АВТОРЕФЕРАТ
диссертации на соискание ученой степени
кандидата технических наук
Москва - 2007
Работа выполнена на кафедре прикладной экономики Московского физикотехнического института (государственного университета)
Научный руководитель:
доктор технических наук, профессор
член-корреспондент РАН
Арлазаров Владимир Львович
Официальные оппоненты:
доктор физико-математических наук, профессор
Серебряков Владимир Алексеевич
кандидат физико-математических наук
Николаев Дмитрий Петрович
Ведущая организация:
Институт проблем информатики Российской академии наук (ИПИ РАН)
Защита состоится “ 25 ” мая 2007 г. в 11 час. 10 мин.
на заседании диссертационного совета К 212.156.02 при Московском физико техническом институте (государственном университете) по адресу: 141700,
Московская обл., г. Долгопрудный, Институтский пер., 9, ауд. 903 КПМ.
С диссертацией можно ознакомиться в библиотеке МФТИ
Автореферат разослан “ 23 ” апреля 2007 г.
Ученый секретарь
диссертационного совета
К 212.156.02
Федько О.С.
2
Общая характеристика работы
Актуальность проблемы
Автоматизированная обработка современных деловых документов –
ввод с бумажного носителя, сортировка, маршрутизация и т.п. – активно
развивающаяся область компьютерных технологий. За последние 20 лет
качество оптического распознавания отдельного символа и строки текста
(OCR) было доведено до достаточного для промышленного применения
качества. Программы распознавания текста стали важной (а для некоторых
видов бизнес-процессов – необходимой) частью офисного программного
обеспечения, которое успешно решает задачу ввода текстовой информации.
В последние годы все более актуальным свойством систем
автоматизированного ввода документов с отсканированного графического
образа становится возможность “понимания” структуры исходного
документа и создания адекватного электронного представления. Ввод
делового письма, факса, журнальной статьи с текстом в несколько колонок,
обтекающим цветные иллюстрации – такого рода задачи вполне успешно
решают современные системы OCR общего назначения, опираясь на
универсальные представления о возможном дизайне и правилах
форматирования документа. Существенную долю среди обрабатываемых
документов составляют табличные документы, для которых состав,
расположение и структура информации определенным образом
фиксированы. Для систем, специализированных на вводе и обработке
табличных документов априорное знание структуры и правил заполнения
является важной входной информацией, существенно расширяющей
технологические возможности обработки документа и повышающей
качество распознавания.
С другой стороны для создания и редактирования таблиц используются
следующие классы технологий
 в области генерации бумажных и электронных документов настольные издательские системы и генераторы отчетов;
 в области хранения и манипулирования данными – СУБД;
 в области расчетов и визуального манипулирования плоскими
представлениями – табличные процессоры;
 в области ввода – системы оптического распознавания.
Тот факт, что на разных этапах бизнес процессов одна и та же
информация имеет различное представление, и работа с ней происходит с
помощью разных механизмов, приводит зачастую к дублированию
программного кода, к дополнительному коду для преобразований форматов,
к недостаточно надежной обработке исключительных ситуаций. Все эти
технологии решают какие-то частные проблемы и не рассматривают задачу
обработки табличных документов как единое целое. Отсюда и вытекает
актуальность предложенной темы диссертации.
3
Цель работы, задачи исследования
Целью данной работы является построение формальной модели
табличного документа и технологии, позволяющей согласованно описывать
табличные данные, плоские представления, а так же манипуляции с ними в
основных процессах ввода и вывода таблиц.
В соответствии с поставленной целью основными задачами являются:
1. Исследование существующих подходов и моделей обработки
таблиц.
2. Разработка модели табличного документа и технологии,
позволяющей описывать данные, операции и способы построения
различных представлений в процессах ввода, вывода и редактирования
таблиц.
3. Реализация разработанных модели и технологии в комплексе
программ для обработки табличных документов.
Объект исследования – технологии обработки табличных документов.
Предмет исследования – модель информационного, визуального и
операционального представления табличного документа.
Методы исследований
В работе использовались методы системного анализа, теории структур
данных и баз данных, теории информационных функций, теории графов,
теории множеств. Экспериментальный анализ проводился с помощью
компьютерного моделирования.
Научная новизна
Новизна предложенного в работе подхода состоит, прежде всего, в
разработке универсальной структурно ориентированной модели таблицы,
используемой для решения различных задач и абстрагированной от
конкретных методов обработки. В отличие от существующих подходов, как
правило, ориентированных либо на реляционное представление данных, либо
на представление в экранном или бумажном виде, предложенная модель
позволяет отражать в структуре таблицы исходную модель предметной
области, а построение и анализ плоских представлений табличной
информации производить уже с учетом наличия этой структуры. Такой
подход позволяет адекватней описывать множественность представлений
при инвариантности внутренних структур и данных, а так же объединять
процессы ввода/вывода. Ориентированность модели на базовые логические
структуры таблицы при независимости модели от формы представления и
особенностей конкретных методов обработки обеспечивает ее открытость
для разработки, расширения и специализации.
Для практической реализации предложенной модели в виде комплекса
программ распознавания табличных документов разработан алгоритм
быстрого построения минимального остовного дерева на компонентах
4
связности и опирающийся на него метод анализа изображения документа.
Предложена модель и технология системы логического контроля содержания
табличного документа и способ описания правил, позволяющие проводить
автоматическую формальную проверку для выявления потенциально
опасных мест на этапе проектирования системы контроля логики заполнения
табличного документа.
Практическая значимость
Предложенные в диссертационной работе модели и методы реализованы
в комплексе программ Cognitive Forms, зарегистрированном в Роспатенте
(№2003610606). Этот комплекс программ предназначен для промышленного
ввода документов и имеет внедрения в ряде федеральных, производственных
и коммерческих структур. На его основе были реализованы и введены в
эксплуатацию проекты по автоматизации ввода:
- документов персонифицированного учета для Московского
отделения Пенсионного фонда России;
- платежных документов для Сбербанка России и ряда других
коммерческих банков;
- счетов-фактур для Магнитогорского Металлургического Комбината.
Положения, выносимые на защиту
На защиту выносятся следующие основные положения:
1. математическая модель табличного информационного объекта и
табличного документа;
2. методы сегментации изображения и анализа правил логического
контроля в технологии оптического ввода табличных документов;
3. реализация предложенных модели, методов и технологии в
комплексе программ в среде ОС Windows.
Апробация работы
Научные и практические результаты диссертации доложены, обсуждены
и получили одобрение специалистов на XLIX научной конференции МФТИ
(Долгопрудный, 2006 г.), научных семинарах кафедры прикладной
экономики МФТИ в 2003-2006 гг., лаборатории методов искусственного
интеллекта ИСА РАН в 2003-2007 гг., отдела систем математического
обеспечения ВЦ РАН в 2007 г. а также на научно-технологических семинарах
в компании ООО "Когнитивные технологии" 2003-2007 гг.
Публикации
По теме диссертации опубликовано три работы, две из списка изданий,
рекомендованных ВАК РФ.
5
Структура работы
Основной текст диссертационной работы изложен на 130 страницах,
состоит из введения, четырех глав, заключения и списка использованных
источников, включающего 142 наименования.
Содержание работы
Во введении обосновывается актуальность темы, формулируется цель
исследования, и определяются основные задачи.
В первой главе рассматривается табличное представление информации
и его основные функции. На основе обзора основных классов программного
обеспечение для работы с таблицами анализируется использование
табличной парадигмы при решении различных прикладных задач, а также
рассматриваются основные процессы обработки таблиц.
В обзоре показывается, что основное влияние на понимание таблиц
оказывают табличные процессоры, СУБД и настольные издательские
системы, поэтому большинство теоретических и прикладных работ,
посвященных работе с таблицами, сосредоточено вокруг манипулирования
элементами таблицы и их визуального представления (на экране или "на
печати"). При этом для вывода и ввода таблиц используются разные модели.
Модели вывода таблиц тяготеют к иерархическим конструкциям, которые
естественны для представления экземпляра документа, а модели ввода
строятся над матричными структурами, которые естественны для плоского
представления таблицы. Эта проблема соответствует различию между
структурами реляционных баз данных и привычным (традиционным)
иерархическим оформлением таблиц на бумаге. При этом именно модели
визуализации приходится решать задачи определения допустимых и
осмысленных реструктуризаций и их реализаций, в том числе
автоматических.
По результатам анализа основных моделей табличного представления
информации
выделяются
вопросы,
требующие
дополнительного
исследования. В частности, указывается несогласованность моделей в
различных процессах ввода и вывода таблиц, а так же обозначается проблема
множественности представлений одного информационного объекта.
Вторая глава посвящена разработке формальной модели таблицы в
составе табличного документа. Комплексная модель таблицы состоит из
следующих согласованных моделей:
1.
модель табличного информационного объекта (ИО), описывающая
классы
допускающих
плоское
представление
ИО
и
предоставляющая:
a. способ описания структуры данных экземпляра таблицы;
b. способ
описания
внеструктурных
зависимостей
и
ограничений данных;
6
c. формализацию допустимых операций над экземпляром
таблицы.
2. модель плоского представления, определяющая:
a. модель носителя;
b. алгоритмы построения представлений экземпляра таблицы;
c. способ описания выбора конкретного варианта алгоритма и
набора его параметров;
Части модели таблицы должны быть согласованы в том смысле, что
 любой экземпляр таблицы содержит факты предметной области в
соответствии с моделью предметной области;
 для любого экземпляра таблицы можно построить плоское
представление, в соответствии с алгоритмом построения плоского
представления и моделью данных;
 операции над таблицей определяются так, чтобы при любом
переходе между экземплярами таблицы выполнялись предыдущие
пункты;
 представленный
в
соответствии
с
моделью
плоского
представления табличный объект может быть выделен,
идентифицирован, и разобран в соответствии с моделью
распознавания.
Бесконечный носитель рассматривается в качестве основного для
теоретических
рассуждений.
Объекты
на
нем
описываются
прямоугольниками со сторонами параллельными осям декартовой системы
координат. При рассмотрении практических задач вывода таблиц на экран и
печать используется конечный динамический или статический (страничный)
носитель. Ячейкой таблицы называется прямоугольная областью носителя,
ограниченная линиями и/или просветами, в которой отображено значение
ячейки. Плоское представление таблицы представляет собой множество
ячеек, покрывающих прямоугольную область носителя.
В работе таблица рассматривается, как часть документа. Модель
документа MDOC  MD ,MI ,MV состоит из моделей содержания M D ,
взаимодействия M I и визуализации M V .
Модель содержания MD  BS,TS, RS
атрибутов документа BS  Bi | i  ISEC
UN
документа
TS  B  | i  ISEC
TBL .
i
Без
определяет кортеж уникальных
и кортеж табличных атрибутов
ограничения
общности
уникальные
атрибуты можно считать элементарными (несоставными) объектами,
определяющими типы и ограничения данных. Табличный атрибут является
составным
и
представляется
кортежем

  
i  ISEC
TBL B  T , BID , BINFO ,
i
i
i
i
содержащим табличный информационный объект T  i  , идентификационный
7
i
атрибут BIDi  и информационный BINFO
атрибут. Табличный информационный
объект
определяет
множество
элементарных


i
ij
T    B  | j .
атрибутов
Множество бинарных отношений RS  RSi | i определяет отношения пар
атрибутов, например "атрибут-заголовок" или "таблица-заголовок таблицы".
Табличный информационный объект соответствует множеству реляционных
отношений, а его структура рассматривается ниже.
Визуальное представление ELi  элементарного атрибута B i  , называется
элементом документа, содержит текст TX i  и вписывается в прямоугольник
носителя RCi  в соответствии с параметрами форматирования FR i  , то есть
EL   TX   , RC  , FR   . Модель визуализации
i
i
i
i
MV  ES, ER
макет документа как множество элементов документа
множество


ER  ER i  | i
геометрических
определяет
 
ES  EL 
i
непротиворечивых
и
бинарных
отношений между прямоугольниками этих элементов.
Модель взаимодействия M I : M D  M V определяет связь модели
содержания и модели визуализации. Модель визуализации, а следовательно,
и модель взаимодействия при фиксированной модели содержания
определяется неоднозначно.
Для описания табличного информационного объекта воспользуемся

информационными функциями явного 1  f 2 ,..., N , 1,..., M

F 1,..., N , 1,..., M


и неявного
вида. Аргументами функций являются существенные
переменные, которые могут принимать множество значений, и
идентификационные (именующие), множество значений которых ограничено
единственным элементом. Функцию, которая определена на декартовом
произведении множеств значений аргументов, будем называть полной.
Векторной информационной переменной называется кортеж, элементами
которого являются информационные переменные. На множестве
информационных переменных заданы отношения типа именования.
Распространенной моделью таблицы является матрица, которая суть
функция двух индексных аргументов. Значения функции представляются в,
быть может, объединенных ячейках. Объединение ячеек и форматирование
часто используется для визуализации субординации и группировки значений
переменных в заголовочных зонах плоского представления, однако матрица
не отражает структуры табличного объекта.
Общая схема (Рис.1.а) экземпляра плоского представления табличного
ИО в документе состоит из областей следующих типов:
8
1.
2.
3.
4.
5.
6.
7.
идентификационная зона;
угловая заголовочная зона;
горизонтальная заголовочная зона;
вертикальная заголовочная зона;
врезанная заголовочная зона;
матричное ядро;
информационная зона.
ИДЕНТИФИКАЦИОННАЯ ЗОНА
УГЛОВАЯ
ЗАГОЛОВОЧНАЯ
ЗОНА
ГОРИЗОНТАЛЬНАЯ
ЗАГОЛОВОЧНАЯ ЗОНА
ВЕРТИКАЛЬНАЯ
ЗАГОЛОВОЧНАЯ
ЗОНА
МАТРИЧНОЕ
ЯДРО
ВРЕЗАННАЯ ЗАГОЛОВОЧНАЯ ЗОНА
ВЕРТИКАЛЬНАЯ
ЗАГОЛОВОЧНАЯ
ЗОНА
МАТРИЧНОЕ
ЯДРО
ИНФОРМАЦИОННАЯ ЗОНА
б)
в)
Заголовок 1
заголовок 1.1
заголовок 1.1.1
заголовок 1.1.2
заголовок 1.2
Заголовок 2
Заголовок
тема 1
группы 1
тема 2
Заголовок
группы 2 тема 3
Заголовок группы 3
г)
д)
а)
Рис.1. Пример а) общей схемы макета таблицы, вертикальной заголовочной зоны типа б)
матрица, в) Т-иерархия, г) М-иерархия, г) Г-иерархия.
Рассматриваются вертикальные заголовочные зоны 4-х типов: матрица
(Рис.1.б), Т-иерархия (Рис.1.б), М-иерархия (Рис.1.в) и Г-иерархия зоны
(Рис.1.г). Для горизонтальной заголовочной зоны допустимые типы: матрица,
Т-иерархия и Г-иерархия. Логически заголовочная зона представляется лесом
деревьев, в которых пути от корня до вершин (м.б. внутренних) определяют
уникальный для зоны ключ, состоящий из значений ячеек заголовочной
зоны. Тело таблицы в общем случае представляется матричной таблицей,
которая согласована с заголовочными областями геометрически. Врезка
является способом компактного размещения одного или нескольких старших
уровней
заголовков
вертикальной
зоны.
Идентификационная
и
информационная зоны содержат общую неструктурированную таблично
информацию (название, сноски).
Таким образом, идентификационный и информационный атрибуты
отображаются в соответствующие зоны. Табличный информационный объект
представляется в виде матричного ядра и, может быть, обрамляющего его
заголовочных зон.
Рассмотрим
множество
непересекающихся
прямоугольников
  R i | i, R k , R l  R k  R l   . Пересечения и объединения будем
рассматривать нестрого, то есть только в случае ненулевой площади.
Определим минимальный охватывающий прямоугольник (Рис.2.б)
R   RECT  min
R .x ,min R .y ,max R i .x R ,max R i.y B  .
R  i L R  i T

i
i
R i
9
R i

а)
б)
в)
г)
д)

Рис.2. а) охватывающий прямоугольник R , б) отношение родитель – ребенок для
прямоугольников, в) корневой прямоугольник, г) отношение брат – брат, д) продолжение
родителя детьми.
Прямоугольники R 0 и R 1 находятся в отношении родитель - ребенок
F C
(Рис.2.б), что обозначим R 0 FC R1 или r    R 0 ,R1  , если
 R 0.x R  R1.x L

 R 0.yT  R1.yT
 R .y  R .y
1 B
 0 B
Определим дополнительный прямоугольник R root : R root R (Рис.2.в) с
FC
соблюдением следующих условий
 R root .y  R .y
T
T

root

 R .y B  R .y B .
 root
R
R
FC

Множество    R root  назовем расширением исходного множества.
Расширение   и множество отношений R 
наследования    , R 
F C
F C
на нем определяют граф
, который является деревом.
Будем говорить, что прямоугольники R 1 и R 2 находятся в
геометрическом отношении старший брат - младший брат (Рис.2.г) и
B B
записывать R1 BB R 2 или r    R 0 ,R1  , если справедливо соотношение

R 0 : R 0 FC R1, R 0 FC R 2
.

R
.y

R
.y

2 T
 1 B
Рассмотрим
множество
детей

CH  R 0   R i | i 
N , R 0 FC R i

для
прямоугольника R 0 . Будем говорить, что дети полностью продолжают
родителя и записывать R 0 CH  R 0  , если справедливо соотношение
i 


i 


N
R i CH  R 0 
N 1
R i BB R i1
 R1.yT  R 0.yT

 i  N 1 R i .y B  R i1.yT .

 R N .y B  R 0.y B
Будем говорить, что прямоугольники множества R i  образуют Тиерархическое покрытие, если они плотно покрывают охватывающий
10
прямоугольник R  
R i
единственным образом
R i , и для каждого из них родитель определен
R i  !R j  : R j FC R i . Последнее условие
означает единственность пути из любого прямоугольника через родителей до
корня дерева, соответствующего R root . Именно так расположены ячейки в
вертикальной заголовочной зоне.
Для множества прямоугольников формулируется и доказывается
следующая теорема о плотной укладке в Т-иерархическую заголовочную
зону.
R  R  : R
 R 
R
CH  R i 
i
i CF R  R i


R i i
 



R i  !R j  : R j FC R i
R i  R  : R i CF R  R i .x R  R .x R



Далее для всех типов заголовочных зон рассматривается укладка ячеек
ключей и формулируется
определение
“правильного” плоского
представления: имеющее заголовочные зоны плоское представление является
геометрически согласованным, если любая граница ячеек матричного ядра
подтверждается границей ячейки-ключа соответствующей заголовочной
зоны.
Непустая угловая зона может содержать значения только
несущественных переменных и должна быть согласована с вертикальной
и/или горизонтальной заголовочной зоной. Угловая зона играет для
вертикальной или горизонтальной заголовочной зоны ту же роль, что и
заголовочная зона для тела, поэтому согласование идет по аналогичным
правилам. Основными типами непустых угловых зон являются матрица
(Рис.3.а) и Т-иерархия (Рис.3.б). Одновременное согласование угловой зоны с
обеими заголовочными зонами возможно для косого (Рис.3.в) и матричного
(Рис.3.г) типа.
а)
б)
в)
г)
Рис.3 Макет угловой заголовочной зоны типа а) матрица, б) Т-иерархия, в) косая
симметрия, г) матричная симметрия.
По числу заголовочных зон плоское представление относится к одному
из следующих классов:
1. плоское представление, которое не содержит заголовочных зон;
2. плоское представление, которое содержит одну заголовочную
зону;
3. плоское представление, которое содержит две заголовочные зоны.
По результатам анализа разных классов плоских представлений в работе
выделяется три базовых типа табличных информационных объектов, для
которых определяются базовые операции, сохраняющие структуру объекта.
11
Класс I - многомерный табличный информационный объект TN , N  1
 
представляется кортежем TN  V  f V  V ,I, , ,  , где вектор измерений
V  I  i Ii
определяет
подпространство
в
котором
вектору
N
 V  i,Vi | i 
полного
N
 

адресного
пространства

  i i  Si,Vi  i,Vi  | V i   Ii  по закону из множества функций
N
  





  fV V | V  I
 


сопоставляется
скалярная
зависимая

переменная

V  f V  V из множества зависимых переменных   V | V  I .
Важным частным случаем является количество измерений N  2 :


T2  p,q  f p,q Rp , Cq ,I R ,IC ,  R , C ,  RC ,  RC ,
для которого измерения I R ,IC и адресные подпространства  R , C
называются строковыми и столбцовыми, соответственно. Закон 
определяет способ перехода от общего вида к плоскому
 



 V  f V  V ,I, , ,    p,q  f p,q Rp , Cq ,I R ,I C ,  R ,  C ,  RC ,  RC .
В работе определяются следующие операции над табличным ИО,
сохраняющие класс объектов:
1. JNDIM  I j,I DJOIN  - объединить измерения Ii  I DJOIN  I в одно новое
I j.
2. DNDIM  I j,I DISJOIN 
разделить
-
измерение
Ij I
на
несколько
Ii  I DJOIN  I .
 
4. DELF S
 - удалить функции f измерения I .
5. DELV S , 
 - добавить значение  функции f
3. ADDF St,V t  - добавить новую функцию f t,V t  измерения I t .
t,V  t 
t,V  t 
t,V  t 
It .

( )
t,V  t 
t
(*)
t,V  t 
t,V  t 
измерения

( )
(*)
6. DELV St,V t  , t,V
- удалить значение t,V
функции f t,V t  измерения
 t 
 t 
It .

( )
()
, t,V
7. SUBV St,Vt  , t,V
 t 
 t 

- заменить значение
()
t,V
t 
 
функции
fs
()
измерения I t на новое t,V
.
 t 
Класс II табличных ИО являются объекты следующего вида T   , где
функции множества функций
12
   
   

  F0  , Fi i | i, i  V  i,1,..., i,N  ,   V 1,...,  N  F0 
согласованы
по числу аргументов N
Для таких табличных объектов определены следующие операции:
1. ADDF Ft  t  - добавить новую функцию Ft .
 
2. DELF  F    - удалить существующую функции F .
3. ADDV  F    ,    - добавить значение   функции F .
4. DELV  F    ,    - удалить значение   функции F .
t
t
t
*
t
t
*
t
t
*
*
t
t
t
t
t
t
В работе показывается эквивалентность табличных ИО класса I
множеству реляционных отношений. Класс II табличных ИО в общем случае
не имеет прямого реляционного представления.
Макет плоского представления описывается таблицей, подобной
экземпляру, в ячейках которой содержатся переменные. Дополнительно
задается иерархия и способ упорядочивания по значениям переменных. Если
упорядочивание значений не возможно задать аналитически, макет и
представление совпадают. Плоское представление табличных ИО класса I
имеет не менее одной заголовочной зоны, содержащей значения
существенных переменных (Рис.4.а).

Cq
 1
…
 N
Rp
p,q
t 1
…
t  N 
а)
б)
Рис.4. Общая схема макетов вывода плоских представлений табличных ИО а) первого
класса, б) второго класса
Плоское представление табличных ИО класса II либо вообще не имеет
заголовочной зоны, либо заголовочная зона содержит значения
идентификационных переменных (Рис.4.б).
Таким образом, структурная информация фиксируется общим видом
табличного ИО и сохраняется для всех определенных выше операций.
Внеструктурные зависимости и ограничения данных фиксируются
информационными функциями.
Основными представлениями таблиц являются бумажные документы,
электронные документы и БД. В процессах ввода с помощью автоматических
или полуавтоматических процедур информация из представления-источника
преобразуется в табличный информационный объект.
Выделения и анализ структуры объектов изображения или текстового
документа является первым шагом в решении комплексной задачи
автоматизации ввода табличных документов, где обработка таблиц требует
специфических действий. В соответствии с рассмотренной моделью
визуализации, плоское представление табличного ИО состоит из ячеек,
обладающих явными или неявными границами, поэтому именно
геометрический анализ объектов изображения в целях выявления
13
компактных и структурированных в соответствии с моделями визуализации
графических примитивов является ядром процессов оптического ввода
таблиц.
Другой важной задачей реализации промышленной системы ввода
табличных документов является верификация результатов распознавания.
Вышеизложенная модель описывает связи значений переменных табличного
ИО в терминах структурных элементов, что позволяет отвлечься от
конкретного плоского представления. Таким образом, при вводе известных
документов можно сформулировать и реализовать наборы правил, которым
данные должны соответствовать. Автоматическая проверка и предъявление
оператору результатов позволяет контролировать результаты распознавания
и действия оператора, что, в свою очередь, существенно повышает общее
качество системы ввода
В третьей главе рассматриваются практические задачи реализации
технологии оптического ввода табличных документов. В качестве
инструмента анализа графического образа предлагается метод выделения и
классификации зон изображения (сегментации), результаты которого
используются в дальнейшем анализе взаимного геометрического положения
и содержимого зон для выявления структуры документа.
Предложенный метод сегментации использует минимальное остовное
дерево,
построенное
на
компонентах
связности
изображения
структурированного
документа.
Минимальный
охватывающий
прямоугольник компоненты связности является точкой x1,y1,x2,y2  4
четырехмерного псевдометрического пространства. Расстояние между двумя
прямоугольниками определяется следующим образом w(a,b)  | dx |  | dy | , где
dx  max  max  a.x1  b.x2,0  , max  b.x1  a.x2,0   ,
dy  max  max  a.y1  b.y2,0  , max  b.y1  a.y2,0   .
Если бы все искомые объекты (ячейки, колонки, строки, символы)
удовлетворяли свойству компактности, для выделения N объектов было бы
достаточно удалить N-1 наиболее длинное ребро. На практике объекты могут
иметь точки сближения (ребра, нарушающие свойство компактности).
Поэтому:
 процедура выбора удаляемых ребер менее тривиальна, чем
удаление наиболее длинных;
 полученные в результате фрагменты могут быть не полными
объектами, а лишь фрагментами объектов.
При выборе удаляемых ребер анализируются групповые свойства
подграфов, получаемых в результате удаления ребра, и свойства входящих в
подграфы элементов.
Существенным вопросом реализации стала вычислительная сложность
построения минимального остовного дерева, так как для документов низкого
качества (например, рассыпанный матричный принтер) количество вершин
графа может достигать порядка 10-20 тысяч. Оценки сложности реализации
14
классических алгоритмов на графах дают скорость роста сложности не менее
квадратичной функции от числа вершин, однако, этот результат можно
улучшить, если отвлечься от чисто графовой постановки задачи.
Пусть S – некоторое конечное множество, элементы которого мы
называем точками данных, и на котором определена некоторая функция
расстояния w : S  S  R ,удовлетворяющая условиям a, b  S :
 w  a,b   0

 w  a,a  = 0

 w  a,b  = w  b,a 
 w  ,    const

.
Заметим, что w не является метрикой, поскольку не соблюдается
w  a,b  = 0  a = b и w  a,b   w  a,c  + w  b,c ,  a, b, c S.
Пусть можно определить функцию расстояния между точками и
множествами точек w(a,S) таким образом, что:
1. расстояние от точки до любого подмножества исходного
множества не меньше расстояния от точки до исходного
множества, a S, S2  S1  S  w(a,S1)  w(a,S2 )
2. расстояние между двумя точками совпадает с расстоянием между
любой их этих точек и одноточечным множеством, содержащим
вторую точку, a  S, S1= b  S  w  a,S1  = w( a, b ) .
Расстояние от некоторой точки до объединения множеств не превышает
расстояния от точки до каждого из подмножеств w  a,S1  S2   w  a,S1  ,
w  a,S1  S2   w a, S 2 
и обращается в ноль на элементе множества
a  S1  S  w  a, S1  = 0 .
Если для любых точек и множеств a  S S1  S операция вычисления
расстояния между точкой и множеством w  a,S1  имеет сложность порядка
сложности вычисления расстояния между точками w  a,b  , то возможно
построение вспомогательной структуры данных для эффективного решения
задачи поиска k-ближайших соседей некоторой точки.
Рассмотрим семейство SN разбиений исходного множества точек S  S0 
на
непересекающиеся
подмножества
1


(q2)
Sp  Sp  | q  QP , q1  q2  S(q1)
  , образующих полное покрытие
p  Sp
q
исходного
множества
p 
Sp   S
q
N
qQP
и
вложенности Spq , Spq  1 !J p,q , J p,q  1 : Spq 
N
разбиений имеет вид S   Sp | p 
N
 S0  S .
15
обладающих
jJ p,q
свойством
j
Sp 1 . Полное семейство
q1
q2
N
N
Будем говорить, что между множествами SP1   S  и SP2  S 
установлено отношение родитель-ребенок SP1 
q1
SP1   SP2  . Множество пар вида SP1 
q1
q2
SP2 
q1
N
разбиений   S ,R
q2
SP2  , если P2  P1  1 и
q2
определяет ребра дерева
. Для поиска ближайшего соседа точки a S



, хранящую пары вида w a,SPq  ,SPq  в
организуем очередь с приоритетом

порядке возрастания w a,SPq  . Далее применим следующий алгоритм:
1. На первом шаге поместим в очередь вершину дерева разбиений  ,
 w  a,S0  ,S0 .
2. Далее до завершения на каждом шаге будем вынимать из очереди
верхний элемент
 w  a,SP1   ,SP1  .
q1

q1

q1
q1
a. Если SP1   1 , то вынутая вершина SP1  является ближайшим
соседом и задача решена.
b. В противном случае у текущей вершины SP1  есть потомки
j
S  , до которых следует вычислить расстояния и поместить
q1
P1
соответствующие в очередь j J P1,q1
j
j
 w  a,SP1 1  ,SP 1 .


Перейти к следующему шагу.
Для построения минимального остовного дерева полносвязного графа
над множеством прямоугольников в работе предлагается алгоритм MSTKD, являющийся модификацией алгоритма Прима и использующий
поисковую структуру. Построение остова A начинается с произвольной
вершины графа G , соответствующего полносвязному графу над множеством
прямоугольников с весом ребер, определяемым как расстояние между
прямоугольниками. Построение остова состоит в последовательном
добавлении к нему ребер. Назовем связанными вершины из остова, и
свободными - не из остова. Назовем безопасным для данной связанной
вершины v ребро минимального веса v,   v  среди всех ребер,
соединяющих
ее
со
свободными
вершинами,
  v   arg amin
w  v,a  ,
G\A
доопределим   v     w  v,   v     .
Безопасное ребро v,   v  для каждой вершины v остова хранится в
очереди с приоритетом Q в порядке возрастания длины ребра w  v,   v  .
Алгоритм состоит в следующем:
16
1. Инициализируем счетчик свободных вершин числом таких
вершин.
2. Выберем произвольную вершину r и назначим ее вершиной
остова, уменьшим счетчик свободных вершин на единицу,
вычислим безопасное для r ребро r,   r  и поместим его в
очередь.
3. Далее, пока есть свободные вершины, на каждом шаге вынимаем
из очереди верхний элемент Q  v,   v  :
a. если вынутое ребро v,  v  безопасное, то добавим
вершину   v  и само ребро к остову A , уменьшим счетчик
свободных вершин на единицу, вычислим новые безопасные
ребра для обоих концов ребра v и   v  , а также добавим
новые ребра в очередь. Перейдем к следующему шагу.
b. если вынутое ребро v,  v  перестало быть безопасным, то
вычислим новое безопасное ребро для вершины v и добавим
его в очередь. Перейдем к следующему шагу.
Число всех ребер исходного графа конечно, поэтому алгоритм завершает
свою работу за конечное число шагов. В практической реализации процедура
поиска безопасного ребра осуществляет поиск ближайшего соседа на
раскрашенном в два цвета множестве вершин с помощью поисковой
структуры, хранящей совместно вершину SPq  дерева разбиений и
гиперпрямоугольник, охватывающий всех её потомков.
Одним из возможных способов увеличения эффективности работы с
табличными документами является использование интерактивных
возможностей
современных
технологий.
Применительно
к
документообороту – это возможность создавать документы, которые сами
проверяют правильность вводимых данных при заполнении и подсказывают,
как исправить ошибки. Другой стороной решения проблемы является
автоматический контроль правил заполнения и целостности данных
табличного документа при верификации результатов распознавания.
В процессе редактирования состояние таблицы можно рассматривать как
совокупность значений всех реквизитов и вспомогательных переменных – то
есть всех переменных, участвующих в условиях переходов между
состояниями. Тогда изменение значения одной из управляющих переменных
будет означать событие и изменение состояния документа. Событийная
система, которой является электронный документ в момент заполнения,
сильно отличается от обычных программ - действиями пользователя могут
быть созданы практически любые переходы между состояниями. Поведение
же программы при непредусмотренном переходе может быть различным: от
нарушения защиты памяти до продолжения функционирования с созданием
различного рода побочных эффектов.
17
После определения события e , обработчика событий и очереди
обработки Q при последовательной обработке событий формально
показывается, что зацикливание обработки события (обработка очереди
продолжается бесконечно долго) возможно тогда и только тогда, когда в
очереди появляется событие, порождающее само себя
t e  Qt N : e  M Ne
Ориентированный граф обработки событий отражает возможные
зависимости попадания событий в очередь EG = { EG , AG } , где EG –
множество событий, A G – множество зависимостей.
a=(u,v)  AG 
 u,v  EG , (u,v)  A G , означает, что при обработке u в
очередь попадет v .
Все правила автоматического контроля r могут быть описаны в
терминах связи событий: правило r задает подмножество связей событий
Ar  {(u,v) : u  Einr ,v  Eout
r }.
Одно событие может приводить к выполнению нескольких правил,
поэтому множество связей событий для документа
AG =
rR
Ar
и множество событий для документа
EG =
rR
Einr 
rR
Eout
r
С точностью до повторений событий, порождаемых при обработке
события состояние очереди определяется связями правил
M1e =
Eout
r .
rR : eEin
r
Таким образом, состояние очереди событий описывается в терминах графа
M ne  q  EG : путь в EG длинной n между q и e,
зависимостей событий
что дает эквивалентность условия потенциального зацикливания обработки
событий наличию цикла в графе обработки EG. Таким образом, описание
правил в терминах множеств событий (инициирующих и порождаемых) и
последующий анализ графа зависимостей позволяет выявлять потенциально
опасные места еще на этапе проектирования системы контроля логики
заполнения табличного документа. Выявленные потенциальные циклы могут
быть проанализированы более тщательно для принятия решения о
пересмотре правил. Так же на основании этой модели можно строить
безопасные, с точки зрения зацикливания, системы интерактивного ввода
информации.
В четвертой главе рассматривается технология обработки табличных
документов, использующая предложенные модели и методы. Технология
разработана при участии автора и реализована так же с его участием в виде
комплекса программ Cognitive Forms. Комплекс позволяет организовывать
18
технологические линии массового ввода стандартизованных форм
документов. Модули комплекса устанавливаются на компьютерах,
соединенных в локальную вычислительную сеть, и, взаимодействуя между
собой, организуют конвейер обработки данных, позволяющий вводить до
10 000 и более страниц за сутки. Комплекс функционирует на платформе
Win32, включает 14 исполняемых модулей (основных и вспомогательных) и
95 динамически подгружаемые библиотеки. Основная часть комплекса
реализована на языке C++.
По результатам анализа типовых технологических линий обработки
табличных документов были выделены и реализованы автором следующие
компоненты для работы с таблицами:
1.
контейнер - хранилище и доступ к данным таблицы;
2.
редактор электронного (экранного) представления таблицы;
3.
компонента вычислений и проверки данных таблицы;
4.
редактор печатного макета таблицы;
5.
генератор табличной части отчета (печать);
6.
выделитель таблиц на изображении;
7.
редактор разметки изображений таблиц (создание, контроль и
просмотр разметки изображений и электронных представлений);
8.
анализатор структуры и восстановления табличного ИО;
9.
утилиты (конверторы и т.д.).
Общая схема обработки документов (Рис.5) состоит из двух этапов:
 подготовительного, на котором происходит дизайнирование
машинночитаемого документа и его подготовка к распознаванию –
созданию шаблона документа,
 и основного, на котором происходит сканирование,
распознавание, верификация потока табличных документов и экспорт
результатов во внешнюю информационную систему.
подготовка
описаний таблиц
экранный
редактор
предварительный этап
основной этап
сканирование
документов
разборщик
изображений
распознавание
таблиц
вычислитель
анализатор
структуры
верификация
результатов
редактор
разметки
изображений
утилита
экспорта
данных
выгрузка
результатов
контейнер
Рис.5. Общая схема системы ввода табличных документов.
В заключение главы рассматриваются примеры использования
разработанной технологи. В частности, описываются особенности системы
ввода счетов-фактур Магнитогорского металлургического комбината.
19
В заключении сформулированы основные результаты диссертационной
работы.
Основные результаты работы
1. На основе анализа основных типов плоских представлений
табличной информации предложена классификация типов таблиц
по особенностям визуального макета. Каждому типу плоского
представления сопоставлен табличный информационный объект,
описываемый в терминах информационных функций. Для каждого
типа табличного информационного объекта определен набор
операций, достаточный для манипулирования и сохраняющий
класс объекта.
2. Разработана модель описания и построения плоского
представления
табличного
информационного
объекта.
Сформулирован критерий геометрической согласованности
разных частей таблицы.
3. Разработан алгоритм быстрого построения минимального
остовного дерева на компонентах связности и опирающийся на
него метод анализа изображения документа.
4. Предложена технология контроля целостности данных табличного
документа, позволяющая проводить автоматическую формальную
проверку согласованности множества правил проверки на этапе
проектирования.
5. Разработанная модель табличного документа и технология его
обработки, реализованные в виде комплекса программ,
использованы в ряде организаций.
Публикации по теме диссертации:
1. Полевой Д.В. Анализ обработки событий в объектно-событийной
модели документа // Труды института системного анализа Российской
академии наук (ИСА РАН). Документооборот. Концепции и
инструментарий. – М.: Эдиториал УРСС, 2004. - С. 83-91.
2. Полевой Д. В., Постников В. В., Усков А. В. Алгоритм быстрого
построения минимального охватывающего дерева для множества
точек в конечномерном псевдометрическом пространстве // Труды
института системного анализа Российской академии наук (ИСА РАН).
Интеллектуальные информационные технологии. Концепции и
инструментарий: Т.16. – М. КомКнига, 2005. - С. 130-145.
3. Полевой Д. В. Таблицы в системах обработки документов - М.:
Издательство ЛКИ, 2007.- 48 с.
20
Полевой Дмитрий Валерьевич
Разработка моделей, методов и средств обработки
табличных документов в информационных системах
Автореферат
Подписано в печать 16.04.2007
Усл. Печ. Л. 1.2 Тираж 80 экз. Заказ № 376
Московский физико-технический институт
(государственный университет)
НИЧ МФТИ
Печать на аппаратуре Rex-Rotary Copy Printer 1280
141700, Московская обл., г. Долгопрудный, Институтский пер., 9
21
Download