МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ В ЗАДАЧАХ ДИНАМИКИ И УПРАВЛЕНИЯ
http://www.w3.org/TR/xslt, свободный. - Загл. с экрана.
5. The XML C parser and toolkit of Gnome [Электронный ресурс] / The GNOME project -Режим доступа: http://xmlsoft.org/, свободный. - Загл. с экрана.
6. XPath Version 1.0. / Консорциум W3C - Режим доступа: http://www.w3 .org/TR/xpath, свободный. - Загл. с экрана.
7. Черкашин, Е.А. Автоматизация синтеза ядра информационной системы с использованием UML-описания / Е.А. Черкашин, Р.К. Федоров, И.В. Бычков, В.В. Парамонов //
9.
Вычислительные технологии. - 2005. - Т. 10. -С. 114-121.
Парамонов, В. В. Реализация и апробирование интеллектного варианта MDA-подхода автоматизации конструирования
информационной системы / В.В. Парамонов // Современные технологии. Системный анализ. Моделирование. Специальный выпуск. - 2008. - С. 69-75.
Братко, И. Алгоритмы искусственного интеллекта на языке PROLOG. 3-е изд. / И. Братко. - М: Изд-во ВИЛЬЯМС - 2004. - 420 с.
Шигаров А.О.
УДК 004.932.2
ТЕХНОЛОГИЯ ИЗВЛЕЧЕНИЯ ТАБЛИЧНОЙ ИНФОРМАЦИИ ИЗ ЭЛЕКТРОННЫХ ДОКУМЕНТОВ РАЗНЫХ ФОРМАТОВ
Введение. Для решения многих научных и практических задач требуется извлекать информацию из таблиц, содержащихся в различных документах (например, для поиска информации или анализа данных). Подробно такие задачи рассматриваются в обзоре [1]. Если при этом имеется большое количество таблиц и документов, то ручное извлечение табличной информации (когда оператору приходится визуально обнаруживать каждое табличное значение в документе, а затем вручную вводить его в некоторую форму) может оказаться достаточно трудоемким процессом, связанным с большим количеством возможных ошибок оператора. В данной работе предлагается технология извлечения табличной информации из электронных документов, которая позволяет автоматизировать этот процесс.
В данной технологии решаются следующие задачи извлечения табличной информации:
1) обнаружение таблиц в документах;
2) функциональный анализ таблицы -определение того, какую функцию выполняют отдельные ячейки таблицы (являются ли эти ячейки данными или заголовками); 3) сегментация таблицы на отдельные ячейки; 4) структурный анализ таблицы - определение связей между ячейками таблицы. Предлагаемая технология
включает в себя эвристические методы решения этих задач, а также основанную на этих методах программную систему, которая позволяет решать эти задачи автоматически и полуавтоматически. Результатами извлечения табличной информации являются семантические описания таблиц, которые могут интерпретироваться с целью преобразования их к требуемому виду, например, к виду отношений в терминах реляционных баз данных.
1. Сравнение с существующими методами и системами извлечения табличной информации. Существующие методы и системы решают, как правило, только отдельные задачи извлечения табличной информации, например, только обнаружение таблиц или только сегментацию таблиц. В обзоре [2] из 28 рассматриваемых методов и систем извлечения табличной информации указано всего две системы: авторов Douglas и др. [3] и Hu и др. [4, 5], которые, как и предлагаемая технология, выполняют комплексно все перечисленные задачи. Следует отметить, что система авторов Douglas и др. ориентирована на особенности таблиц, содержащихся в документации строительной промышленности, представленной в виде ASCII-текста. В работах авторов Hu и др. предлагаются методы, ориентированные на ASCII-текст и
ИРКУТСКИМ государственный университет путей сообщения
растровые изображения в качестве форматов входных данных. При этом в методах [4, 5] предполагается, что текст внутри документа имеет достаточно простое форматирование,
ограниченное возможностями ASCII-текста. Другие недостатки методов и систем [3-5] обсуждаются в работах [6-8].
В большинстве существующих методов и систем извлечения табличной информации в качестве входных данных используются растровые изображения или ASCII текст (подробное сопоставление существующих систем и используемых ими форматов входных данных приводится в обзоре [2]). В то же время авторами Ramel и др. [9], а также Hassan и др. [10] предлагается использовать в этом качестве форматы печати документов (языки описания страниц) PostScript [11] и PDF [12]. По сравнению с растровыми изображениями и ASCII-текстом эти форматы содержат больше полезной информации (например, шрифтовые метрики, порядок вывода текста на печать), которую можно использовать для более эффективного (точного и полного) извлечения табличной информации из электронных документов. Кроме того, по сравнению с растровыми изображениями при использовании этих форматов не требуется OCR (Optical Character Recognition) обработка, которая может привести к искажению обрабатываемой информации.
В предлагаемой технологии в качестве формата входных данных используется один из таких форматов печати документов — EMF (Enhanced Metafile) [13]. Это позволяет применять данную технологию для извлечения табличной информации из электронных документов таких широко используемых форматов, как, например, DOC (Microsoft Word), XLS (Microsoft Excel), PDF, HTML, ASCII-текст. Документы всех этих форматов можно напечатать в метафайлы с помощью любого виртуального EMF-принтера. При этом предполагается, что текст таблиц в печатаемых документах является
машиночитаемым (именно такое
Штта
помощью функций GDI (Graphics Device Interface, часть Windows API) [13], что обеспечивает достаточно простой и полный доступ к информации, представленной в печатаемых документах. Следует отметить, что в обзорах по данной тематике [1, 2, 15-21] не приводится ссылок на методы или системы извлечения табличной информации, ориентированные на обработку метафайлов. Авторам также неизвестно об их существовании.
Сложность извлечения табличной информации во многом обусловлена тем, что разнообразие форм изображения таблиц очень велико. Существующие методы и системы извлечения табличной информации
преимущественно ориентированы на
определенные особенности таблиц, которые определяются стандартами и соглашениями некоторой предметной области. При этом эффективность таких методов и систем во многом зависит от тех задач, на которые они ориентировались при разработке: являясь эффективными при решении одних задач, они могут оказаться неэффективными при решении других. Предлагаемые в рамках данной технологии методы извлечения табличной информации ориентируются на особенности так называемых статистических таблиц. Такие таблицы используются в государственных статистических отчетах России, США, Евросоюза, Китая, Японии и других стран, в медицинских статистических сборниках, в научно-технических изданиях, а также в финансовых отчетах различных компаний.
2. Таблицы в статистических документах. Статистическая таблица состоит из шапки с заголовками столбцов, боковика с заголовками строк, тела с элементами данных, а также может иметь перерезы внутри тела (см. рис. 1). При этом
Шапка
Охватывающий заголовок строки
Вложенный заголовок строки
Боковик
1
¡намолочено ¡намолочено •Ф-г !зерна, всего ¡зерна, с 1 га!
иркутская область Братский район
заларинский район Зиминский район иркутский район качугский район куйтунский район
<
иркутская область Братский район заларинский район
хозяйства всех категории
7250 9334 30 20
640 977 18 16
100 141 17 13
292 1309 2S 28
799 942 16 18
61 9S 20 15
414 722 19 20
с/х предприятия 4"
3221 5237 23 24
159 488 19 17'
56 121 18 22
Охваты вающи! -заголовок столбца
Вложенный
заголовок
столбца
т,
ело ■Перерез
-Элемент данных
Рис. 1. Статистическая таблица
представление текста является наиболее используемым в документах указанных
форматов). В отличие от файлов других распространенных
форматов печати документов: PostScript, PDF, PCL [14] и др. метафайлы интерпретируются с
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ В ЗАДАЧАХ ДИНАМИКИ И УПРАВЛЕНИЯ
заголовки столбцов и строк могут образовывать многоуровневые иерархии вложенности. Охватывающие заголовки столбцов всегда расположены непосредственно над
соответствующими им вложенными заголовками. Вложенность заголовков строк образуется с помощью отступов от левого края. Статистическая таблица может иметь полную или частичную разграфку или не иметь ее вовсе. При этом разграфка таблицы может быть образована как графическими примитивами, так и символами псевдографики, в последнем случае будем говорить, что таблица имеет текстовую разграфку.
Кроме таблиц страницы статистических документов могут содержать текст, включая текст с выравниванием по ширине, колонтитулы с табличным форматированием, а также надписи к рисункам.
3. Обработка страницы окумента. После печати документа в метафайлы каждой его странице будет соответствовать отдельный метафайл. Метафайл состоит из набора записей, каждая из которых представляет некоторую ОБ1-инструкцию. При этом инструкциям вывода текста соответствуют записи типа
ЕМЯ_ЕХТТЕХТОиТ^ а также записи типа ЕМЯ_8МЛЬЬТЕХТОиТ [13]. Инструкциям вывода линеек часто соответствуют записи типа ЕМЯ_Б1ТБЬТ [13]. С помощью контекста устройства, на котором воспроизводится обрабатываемый метафайл, в соответствии с системами координат и режимами отображения, используемыми в данном метафайле, интерпретируются ОБ1-инструкции,
представленные записями указанных типов. При этом из метафайла извлекаются структуры, называемые текстовыми элементами, каждая из которых соответствует отдельному «слову» (под «словом» здесь понимается последовательность подряд идущих непробельных символов в строке текста) и содержит дополнительную информацию: шрифтовые метрики, межсимвольные интервалы и ограничивающий прямоугольник. Также из метафайла извлекаются линейки (линии разграфки).
Извлеченные из метафайла данные проходят предобработку. Текстовая разграфка исключается из текста и объединяется с остальной разграфкой. Выполняется объединение текстовых элементов, вплотную прилегающих друг к другу боковыми сторонами своих ограничивающих
прямоугольников, а также разделение текстовых элементов, имеющих удлиненные межсимвольные
интервалы, которые используются вместо пробелов. После предобработки большинство текстовых элементов будут соответствовать отдельным целым «словам». Более подробно предлагаемый процесс извлечения данных из метафайлов и их предобработка обсуждаются в работах [8, 22, 23].
Извлечение табличной информации начинается с обнаружения таблиц на странице документа, т.е. с поиска ограничивающих прямоугольников таблиц. Для этого текстовые элементы, близко расположенные в одной строке текста друг к другу и при этом не разделенные линейками, объединяются в более крупные структуры, называемые текстовыми блоками, для которых также вычисляются ограничивающие прямоугольники. Затем среди строк, составленных из текстовых блоков, выбираются те, которые удовлетворяют ряду эвристик о составе табличных строк. На обрабатываемой странице выполняется поиск последовательностей подряд
расположенных сверху вниз выбранных табличных строк, которые коррелируют между собой, по расположению вертикальных промежутков «белого» пространства (т.е. пространства, не занятого ограничивающими прямоугольниками текстовых блоков) между текстовыми блоками, принадлежащими данным строкам. Обнаруженные последовательности строк могут оказаться таблицами или их частями. Поэтому выполняется дополнительное
объединение соседних последовательностей строк, которые коррелируют по расположению своих вертикальных промежутков «белого»
пространства. После этого вычисляются прямоугольники, ограничивающие такие последовательности. Предполагается, что каждый такой прямоугольник ограничивает таблицу. Более подробно предлагаемый метод обнаружения таблиц рассматривается в работах [8, 22, 23].
4. Анализ и обработка таблицы. Каждая таблица, обнаруженная на странице документа, обрабатывается и анализируется. Прежде всего выполняется функциональный анализ таблицы. Функция (роль) ячейки определяется ее месторасположением в таблице (например, ячейка, расположенная в шапке таблицы, является заголовком столбца). Предлагаемый метод функционального анализа строится как поиск базовой точки тела таблицы, которая делит таблицу на шапку, боковик и тело (см. рис. 2). Для этого внутри таблицы определяется область поиска базовой точки тела таблицы — той части таблицы, которая начинается непосредственно под
самым нижним охватывающим заголовком столб-столбца. Эта область сегментируется на ячейки с помощью предварительной разграфки таблицы, которая строится по вертикальным промежуткам «белого» пространства этой таблицы и ограничивающим прямоугольникам ее строк. Данные, содержащиеся в теле статистической таблицы, являются числами или специальными знаками из ограниченного набора. С помощью заранее заданных регулярных выражений для каждой непустой ячейки определяется тип данных содержащегося в ней текста. По ячейкам сегментированной области поиска базовой точки тела таблицы, содержащим числовые данные, строится ограничивающий прямоугольник тела таблицы. Вершина в левом верхнем углу этого прямоугольника является базовой точкой тела таблицы. Кроме того, отдельно определяются строки таблицы, содержащие перерезы.
На основе результатов функционального анализа таблицы выполняется ее сегментация. Для этого необходимо иметь информацию о границах ячеек. Рассматриваемые статистические таблицы, как правило, имеют только частичную разграфку или не имеют ее вовсе. Предлагаемый метод сегментации таблицы основан на восстановлении полной разграфки обрабатываемой таблицы. Прежде всего по вертикальным промежуткам «белого» пространства обрабатываемой таблицы восстанавливаются вертикальные линейки. Затем
из верхних вершин полученных вертикальных линеек протягиваются горизонтальные линейки вправо и влево до ближайших не менее протяженных вертикальных линеек. Полученные горизонтальные и вертикальные линейки составляют предварительную разграфку в шапке таблицы. После этого внутри каждой ячейки предварительной разграфки шапки таблицы текстовые блоки объединяются. Далее по горизонтальным промежуткам «белого» пространства обрабатываемой таблицы восстанавливаются горизонтальные линейки в ее шапке. Горизонтальные линейки в теле и боковике восстанавливаются по ограничивающим прямоугольникам табличных строк. Эти горизонтальные линейки и полученные ранее вертикальные линейки составляют полную разграфку обрабатываемой таблицы, которая корректируется с помощью исходной разграфки этой таблицы при ее наличии. С помощью восстановленной полной разграфки таблица сегментируется на отдельные ячейки.
Для полученных ячеек таблицы выполняется структурный анализ, в результате которого строится структурное описание таблицы, включающее в себя дерево заголовков столбцов, дерево заголовков строк, дерево перерезов и набор элементов данных (значений из тела таблицы). Эти деревья соответствуют тем иерархиям вложенности, которые образуют заголовки.
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ В ЗАДАЧАХ ДИНАМИКИ И УПРАВЛЕНИЯ
Вложенные заголовки являются в этих деревьях подузлами охватывающих заголовков; корнями этих деревьев являются пустые заголовки. Каждый элемент данных сопоставляется с одним заголовком столбца, одним заголовком строки и одним перерезом. Для формирования деревьев заголовков и связывания элементов данных с заголовками выполняется анализ компоновки ячеек таблицы. В зависимости от предметных задач, для решения которых требуется извлекать табличную информацию, такие структурные описания могут интерпретироваться для преобразования их к требуемому виду. Более подробно предлагаемая модель структурного описания таблицы рассматривается в работах [7, 24].
5. Программная система извлечения табличной информации. На основе описанной технологии была разработана программная система для извлечения табличной информации из электронных статистических документов, представленных в виде метафайлов. Эта система имеет графический пользовательский интерфейс, который визуализирует процесс извлечения табличной информации и позволяет пользователю корректировать результаты каждого этапа этого процесса (см. рис. 2).
Пользователь может открыть один или несколько метафайлов, каждый из которых представляет некоторую страницу документа. При этом в навигационной панели для каждой страницы будет создан ее эскиз (миниатюрное изображение). Эскизы страниц служат как навигационное средство. Выбирая эскиз страницы, пользователь переходит к обработке соответствующей страницы документа. Извлечение табличной информации на выбранной странице выполняется поэтапно.
Прежде всего, выполняется автоматическое обнаружение таблиц, в результате которого на странице документа визуализируются ограничивающие прямоугольники обнаруженных таблиц. При необходимости пользователь может вручную переместить, изменить или удалить любой ограничивающий прямоугольник таблицы, а также вручную выделить ограничивающий прямоугольник таблицы. Затем внутри каждой таблицы, обнаруженной на странице документа, выполняется автоматический поиск базовой точки ее тела. Обнаруженные базовые точки тел таблиц также визуализируются на обрабатываемой странице документа. При этом пользователь имеет возможность скорректировать полученные результаты, вручную перемещая базовую точку тела таблицы внутри ее ограничивающего прямоугольника.
После этого выполняется автоматическое восстановление полной разграфки каждой таблицы, обнаруженной на странице документа. Восстановленные вертикальные и горизонтальные линейки визуализируются внутри таблиц на обрабатываемой странице документа. При необходимости пользователь имеет возможность вручную скорректировать автоматически восстановленную разграфку: удалить, добавить, переместить или изменить линейки. Завершается обработка таблиц автоматически выполняемым структурным анализом. В результате для каждой таблицы строится ее структурное описание, которое отображается в расположенной справа панели результатов обработки страницы. При этом пользователь может отредактировать наименования заголовков и значения элементов данных, а также сохранить полученные структурные описания таблиц в виде XML-документов, которые в дальнейшем могут трансформироваться к требуемому виду, например, к электронным таблицам или таблицам реляционных баз данных.
Заключение. Анализ структуры и особенностей статистических таблиц позволил сформулировать эвристики, на основе которых разработаны описанные методы извлечения табличной информации. Использование в предлагаемой технологии в качестве входных данных метафайлов позволило применить ее к документам, представленным в разных форматах (например, PDF, DOC, XLS, HTML, ASCII-текст). Данная технология показала высокую эффективность при извлечении табличной информации из научно-технических изданий, государственных, медицинских и финансовых статистических отчетов.
Работа выполнена при финансовой поддержке президентской программы «Ведущие научные школы РФ» (проект № НШ-1676.2008.1).
БИБЛИОГРАФИЯ
1. Embley, D.W. Table-processing paradigms: a research survey / D.W. Embley, M. Hurst, D. Lo-presti, G. Nagy // Intern. J. on Document Analysis and Recognition. - 2006. - Vol. 8, No. 2. - P. 6686.
2. Silva, A.C. Design of an end-to-end method to extract information from tables / A.C. Silva, A.M. Jorge, L. Torgo // Intern. J. on Document Analysis and Recognition. - 2006. - Vol. 8, No. 2. - P. 144-171.
3. Douglas, S. Using Natural Language Processing for Identifying and Interpreting Tables in Plain Text / S. Douglas, H. Matthew, Q. David // 4th
Symp. on Document Analysis and Information Retrieval. - USA. - 1995. - P. 535-545.
4. Hu, J. Medium-Independent Table Detection / J. Hu, R. Kashi, D. Lopresti, G. Wilfong // Document Recognition and Retrieval VII, SPIE (USA). - 2000. - Vol. 3967. - P. 291-302.
5. Hu, J. Table structure recognition and evaluation / J. Hu, R. Kashi, D. Lopresti, G. Wilfong // Document Recognition and Retrieval VIII, SPIE (USA). - 2001. - Vol. 4307-05. - P. 44-55.
6. Mandal, S. A simple and effective table detection system from document images / S. Mandal, S.P. Chowdhury, A.K. Das, B. Chanda // Intern. J. on Document Analysis and Recognition. - 2006. -Vol. 8, No. 2. - P. 172-182.
7. Хмельнов, А.Е. Метод извлечения таблиц из неформатированного текста / А.Е. Хмельнов, А.О. Шигаров // Вычисл. технологии. - 2008. -Т. 13, спец. вып. 1. - С. 93-101.
8. Бычков, И.В. Эвристический метод обнаружения таблиц в разноформатных документах / И.В. Бычков, Г.М. Ружников, А.Е. Хмельнов, А О. Шигаров. - 2009. - Т. 14, № 2. - C. 58-73.
9. Ramel, J.Y. Detection, Extraction and Representation of Tables / J.Y. Ramel, M. Crucianu, N. Vincent, C. Faure // Proc. 7th Intern. Conf. on Document Analysis and Recognition. - IEEE Computer Society. - 2003. - Vol. 2. - P. 374-379.
10. Hassan, T. Table Recognition and Understanding from PDF Files / T. Hassan, R. Baumgartner // Proc. 9th Intern. Conf. on Document Analysis and Recognition (ICDAR 2007). - IEEE Computer Society. - 2007. - P. 1143-1147.
11. PostScript Language Reference, Third Edition. -Addison-Wesley, 1999.
12. PDF Reference Version 1.6 (5th Edition). -Adobe Press, 2005.
13. Microsoft Developer Network. -http://msdn.microsoft.com/.
14. PCL 5 Printer Language Technical Reference Manual. - First Edition. - HP, 1992.
15. Handley, J.C. Document recognition / J.C. Hand-ley // Electronic Imaging Technology. Chapter 8.
- IS&T/SPIE Optical Engineering Press. - 1999.
16. Hurst, M. The Interpretation of Tables in Texts, Ph.D. thesis / M. Hurst // University of Edinburgh, 2000.
17. Embley, D.W. Notes on Contemporary Table Recognition / D.W. Embley, D. Lopresti, G. Nagy // Proc. 7th Int. Workshop on Document Analysis Systems. - Springer. - 2006. - P. 164-175.
18. Lopresti, D. Automated table processing: An (opinionated) survey / D. Lopresti, G. Nagy // Third IAPR Intern. Workshop on Graphics Recognition. - India. - 1999. - P. 109-134.
19. Lopresti, D. A tabular survey of automated table processing / D. Lopresti, G. Nagy // Lecture Notes in Computer Science. - 2000. - Vol. 1941. - P. 93-120.
20. Zanibbi, R. A survey of table recognition: Models, observations, transformations, and inferences / R. Zanibbi, D. Blostein, J.R. Cordy // Intern. J. on Document Analysis and Recognition. - 2004. -Vol. 7, No. 1. - P. 1-16.
21. Zanibbi, R. A Language for Specifying and Comparing Table Recognition Strategies, Ph.D. thesis / R. Zanibbi // Queen's University Kingston. - Canada. - 2004.
22. Bychkov, I.V. A method for table detection in metafiles / I.V. Bychkov, A.E. Hmelnov, G.M. Ruzhnikov, A.O. Shigarov // Proc. 9th Intern. Conf. on Pattern Recognition and Image Analysis: New Information Technologies. -2008. - Vol. 1.
- P. 66-69.
23. Бычков, И.В. Метод обнаружения таблиц в метафайлах / И.В. Бычков, Г.М. Ружников, А.Е. Хмельнов, А.О. Шигаров // Современные технологии. Системный анализ. Моделирование. - 2008. Спецвыпуск. - С. 47-51.
24. Хмельнов, А.Е. Извлечение таблиц из неформатированного текста / А.Е. Хмельнов, А.О. Шигаров // Докл. 13-й Всерос. конф. Математические методы распознавания образов. -2007. - С. 551-553.