Метод обнаружения статистических таблиц в метафайлах

МЕХАНИКА. ТРАНСПОРТ. МАШИНОСТРОЕНИЕ

«

Бычков И.В., Ружников Г.М., Хмельнов А.Е., Шигаров А.О. УДК 004.932.2

МЕТОД ОБНАРУЖЕНИЯ СТАТИСТИЧЕСКИХ ТАБЛИЦ В МЕТАФАЙЛАХ

Введение.

При решении многих научных и практических задач требуется извлекать данные из таблиц, содержащихся в различных документах. В настоящее время разрабатываются методы и системы извлечения таблиц из документов, которые позволяют автоматизировать этот процесс. Обзоры работ по извлечению и обработке таблиц [1, 2, 3, 4], появившиеся за последние годы, показывают растущий интерес к данной проблематике. Первым этапом извлечения табличных данных является обнаружение таблиц в документах, т.е. поиск на страницах документов областей, являющихся изображениями таблиц.

Существующие методы обнаружения таблиц, как правило, используют в качестве входных данных растровые изображения или ASCII текст. В то же время, для методов обнаружения таблиц интересной возможностью является использование в качестве представления входных данных одного из обменных форматов, например, PostScript [5], PDF [6] или EMF [7]. Эти форматы являются более информативными, по сравнению с растровыми изображениями и ASCII текстом, т.к. помимо текста и графики они дополнительно содержат шрифтовые метрики выводимого текста, а также информацию о порядке вывода этого текста на печать. Эта полезная информация может быть использована для более эффективного и аккуратного обнаружения таблиц. Извлекать таблицы из PDF файлов предлагается в работе [8], причём её авторы, отмечают, что им неизвестны другие методы извлечения таблиц из PDF файлов.

В настоящей работе предлагается эвристический метод обнаружения таблиц ориентированный на метафайлы EMF. В отличие от других обменных форматов, EMF может интерпретироваться с помощью функций GDI API [7] (часть Windows API). Это делает обработку EMF достаточно простым и доступным процессом. При этом документы различ-

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

1. Особенности статистических таблиц.

Сложность обнаружения таблиц во многом обусловлена тем, что разнообразие всевозможных форм изображения таблиц очень велико. Многие существующие методы обнаружения таблиц ориентированы на различные особенности таблиц, которые, обычно, определяются стандартами и соглашениями, принятыми в некоторой предметной области. Предлагаемый в данной работе метод ориентируется на особенности, так называемых, статистических таблиц. Такие таблицы используются в государственных статистических отчетах России, США, Евросоюза, Китая, Японии, а также в финансовых отчетах различных компаний. На рис. 1 показан пример статистической таблицы с характеристикой её основных элементов.

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

ГЬОТОЛЛУш разграфка

Шапка

Охкгшсающий заголовок, строки

Вложенный заголовок строки

и

Иркутская область Ещтский район

Ох ваты паю ш ни заголовок столбца

! 2004 i 2005 ! 2004 ; 2005^ ВлОЖСННЫЙ заголовок столбца

Хозяйства перк категорий * 7250 9334

977

18

16

иркутский район КачугСкий район Кумтунсний район

J Иркутская область

Боковик \ братский раной

Заларинский районл

61 98 20 15

414 722 19 20 _

с/х Про ДА 3221 5237 нмтия 24

159 488 19 17

56 121 18 22

Перерез

Рис. 1. Пример статистической таблицы

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

ршя

УЪЯВПЁ

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

2. Получение данных из метафайлов.

Для печати документов в метафайлы можно использовать виртуальный EMF принтер. Каждый метафайл, полученный при печати документа, соответствует одной странице документа. В метафайлах инструкциям вывода текста соответствуют записи типа EMR_ EXTTEXTOUTW [7] и недокументированного типа EMR_SMALLTEXTOUT. Инструкциям вывода линеек часто соответствуют записи типа EMR_BITBLT [7]. С помощью контекста данного метафайла, в соответствии с его системами координат и режимами отображения, выполняется интерпретация данных из этих записей: определяются позиции вывода текста, межсимвольные расстояния и некоторые шрифтовые метрики. При этом игнорируются записи, соответствующие инструкциям, которые выводят текст вне области страницы либо выводят текст с тем же цветом, что и цвет фона области, ограничивающей этот текст.

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

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

Внешний зазор Ограничивающий

Подстрочный Межсимвольные интервалы  интервал_

Рис. 2. Пример текстового элемента

вывода графики, извлекаются линейки (линии разграфки).

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

3. Обнаружение таблиц на странице документа.

В работе [9] предлагается метод обнаружения таблиц, ориентированный на растровые изображения и использующий структуры схожие с рассматриваемыми в данной работе текстовыми элементами. Эти структуры, называемые «связанными компонентами», соответствуют отдельным словам и имеют ограничивающие прямоугольники, как и текстовые элементы. Авторами работы [9] предлагается объединять «связанные компоненты» в структуры, называемые, «word blobs», в том случае, если они расположены в одной строке текста и ширина промежутка между ними не превышает определенного порога. В результате, строка текста, скорее всего, будет содержать единственную структуру «word blob», а строка таблицы, скорее всего, будет содержать несколько таких структур. Это предположение используется для того, чтобы идентифицировать строки таблицы и отличить их от строк текста.

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

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

а б в

Рис. 3. Пример формирования текстовых блоков: исходная страница

«word blobs» из метода [9]. На рис. 3 показан пример формирования текстовых блоков на странице из текстовых элементов.

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

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

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

а б в

Рис. 5. Пример выделения на странице строк табличных регионов: исходная страница

Рис. 4. Пример сегментации белого пространства строки: штриховкой выделены вертикальные промежутки

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

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

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

Year! Total : ВУ^1 and ; Total \\ Saw-logs \ Plywood ! й Others ЛС 6 • Chips Imported I;;!';: logs " . .

200099,263 S v". 18,022; v-i 12,798 138 .;.-; 4,749 331 :::v.:81,241:;-

0 2001 ;>;V\4 91,247 S 16,759: X; 11,766 \\>X;l82 4,509 ;X302 : 74,488;:;

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

ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ

его строк формируется множество его собственных вертикальных промежутков.

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

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

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

4. Экспериментальная оценка.

Экспериментальная оценка предлагаемого метода проводилась в соответствие с критериями, предложенными в работе [10]. Таблица считалась корректно обнаруженной, если, по крайней мере, корректно было обнаружено её тело, т.е. каждая строка в теле таблицы, была идентифицирована, как часть данной таблицы, а любая строка, не принадлежащая данной таблице, не была ошибочно идентифицирована, как строка её тела. Для измерений использовалось две оценки эффективности метода обнаружения: точность обнаружения — процент количества корректно обнаруженных таблиц к общему количеству обнаруженных таблиц; полнота обнаружения — процент количества корректно обнаруженных таблиц к общему числу существующих таблиц.

European Union

N Germany 11,662 N 10,684 86,690 \ \ 81,784 X 415 6.525 1.685

Belgium-Luxembourg4^ X 9.505 \ J 5.284 s- 67.820 \ N. 37.930 V 123 146 648

^Netherlands X § 2>775\ 4,875 V 21,429 \ \ 39,694 X \ -

\ France <\ X 5.612 0 V 3.030 X 15.889^ S4 12.923 V \ ^

Other Markets

n Japan ^13352 Л s\9.117 90.901 \ \ 52.604 >\ 107 76 550 313

•ч Russian Federation Vx, \ 6,406 Л V 8,801 X29,026 \ •47,781 V 1.173 5.123 V \

N Switzerland \ 1.902 V -Xх 2.899 Vi 13.713 > ^ 21.090 X 144 58 S78 447

Рис. 7. Пример расположения табличных регионов на странице: табличные регионы выделены прямоугольными рамками; вертикальные промежутки в табличных регионах выделены штриховкой

В качестве экспериментальных данных использовались государственные статистические отчёты России («Регионы России, социально-экономические показатели 2002», «Сельское хозяйство Иркутской области 1993-1998» и др.), США («Tobacco: World Markets and Trade 2005» и др.), Евросоюза («Eurostat yearbook 2006-07»), Японии («Statistical Handbook of Japan 2007»), а также из финансовые отчеты различных компаний («Boeing Co., Annual Report 2006», «OJSC Aeroflot - Russian Airlines, Consolidated Financial Statements For the Year Ended December 31, 2006», «ОАО АК Транснефть, Консолидированная финансовая отчетность за год, закончившийся 31 декабря 2006 года» и др.). Эти документы были представлены в форматах: PDF, DOC, XLS, HTML.

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

Экспериментальная оценка показывает применимость этого метода для обнаружения

Рис. 8. Примеры результатов обнаружения: прямоугольными рамками на страницах выделены прямоугольные области, определенные как таблицы

МЕХАНИКА. ТРАНСПОРТ. МАШИНОСТРОЕНИЕ

«

Таблица 1 Точность и полнота обнаружения

Формат Количество таблиц Точность Полнота

PDF 132 84,1 % 96,2 %

DOC 248 80,9 % 91,9 %

XLS 45 93,0 % 88,8 %

HTML 15 87,5 % 93,3 %

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

Заключение.

Статистические таблицы имеют существенное сходство в структуре расположения своих компонентов. Это сходство позволило сделать некоторые предположения о таких таблицах и сформулировать эвристики, используемые предлагаемым методом обнаружения таблиц. Использование метафайлов, в качестве источника данных в предлагаемом методе, позволяет применить этот метод к документам, представленным в разных форматах (например, PDF, DOC, XLS, HTML и др.).

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

БИБЛИОГРАФИЯ

1. Silva A.C., Jorge A.M., Torgo L. Design of an end-to-end method to extract information from tables // International Journal on Document Analysis and Recognition. 2006. Vol. 8, No. 2. pp. 144-171.

2. Embley D.W., Hurst M., Lopresti D., Nagy G. Table-processing paradigms: a research survey // International Journal on Document Analysis and Recognition. 2006. Vol. 8, No. 2. P. 66-86.

3. Lopresti D., Nagy G. A tabular survey of automated table processing // Lecture Notes in Computer Science. Springer. 2000. Vol. 1941 P. 93-120.

4. Zanibbi R., Blostein D., CordyJ.R. A survey of table recognition: Models, observations, transformations, and inferences // International Journal on Document Analysis and Recognition. 2004. Vol. 7, No. 1. P. 1-16.

5. PostScript Language Reference, Third Edition // Addison-Wesley, 1999.

6. PDF Reference. Fifth edition. Adobe.

7. Microsoft Developer Network

8. Hassan T., Baumgartner R. Table Recognition and Understanding from PDF Files //In Proc. 9th International Conference on Document Analysis and Recognition (ICDAR 2007), IEEE Computer Society, 2007. P. 1143-1147.

9. Mandal S., Chowdhury S.P., Das A.K., Chanda B. A simple and effective table detection system from document images // International Journal on Document Analysis and Recognition. 2006. Vol. 8, No. 2. P. 172-182.

10. Hu J., Kashi R., Lopresti D., Wilfong G. Medium-Independent Table Detection // Document Recognition and Retrieval VII. IS\&T/SPIE Electronic Imaging, San Jose, 2000. P. 291-302.