Введение 3
Глава 1. Глоссарий 5
Глава 2. Обзор 8
2.1. Обзор литературы и предметной области 8
2.2. Технологии и инструменты 11
Глава 3. Методы обработки оглавления 14
3.1. Выделение секции оглавления в документе 14
3.2. Разбиение оглавления на заголовки 17
3.3. Выбор критериев иерархизации 26
3.4. Алгоритм иерархизации оглавления 31
Глава 4. Реализация 35
Глава 5. Эксперименты и результаты 37
Заключение 41
Приложение А. Листинги программ 46
Приложение Б. Фрагменты архитектуры 55
Приложение В. Примеры вывода результата
В настоящее время большая часть информации хранится в текстовом виде. И одним из самых распространённых форматов для передачи, в частности, научного знания является PDF. Несмотря на развитие информационных технологий и изобилие разнообразных инструментов для работы с текстами и документами, PDF всё ещё остаётся трудным для обработки, структурирования и качественного выделения необходимых данных.
Этот факт может стать серьёзным препятствием на пути к обработке и систематизации научного знания, использования его для выполнения различных задач, например, генерации аннотаций, анализа тематики, выделения тенденций и других. Для каждой из этих задач требуются сведения о структурном составе документа, одним из самых надёжных источников которых является оглавление документа. Проблема, однако, в том, что множество статей описывают лишь простое выделение оглавления без учёта его иерархической структуры, а, значит, не дают никакой существенной информации. Статьи же, которые описывают структурную сегментацию документа с использованием оглавления либо не ориентированы на русскоязычные тексты [1], либо не учитывают всех типов и форматов оглавлений на сегодняшний день [2], либо предоставляют только теоретическую базу по вопросу [3].
Поэтому цель настоящей работы - составить качественный алгоритм выделения иерархической структуры заголовков оглавления PDF-документа на основе стилевой информации.
Для выполнения поставленной цели потребуется выполнение следующих задач:
• составить алгоритм выделения блока оглавления из PDF-документа;
• составить алгоритм разбиения оглавления на заголовки (единицы оглавления), избегая неинформативных частей (разделителей, колонтитулов
• определить релевантные для задачи иерархизации стилевые характеристики;
• составить алгоритм выделения стилевых характеристик и распределения заголовков на уровни иерархии в соответствии с этими параметрами;
• выбрать формат представления результата, удобного для последующего анализа и применения в различных областях;
• реализовать программный инструмент, выполняющий все вышеперечисленные задачи.
В результате выполнения всех описанных ранее действий были получены: набор библиотек для решения сервисных задач (извлечение оглавления в виде набора единиц, разбитых на составляющие (см. 3.2); иерархизация единиц оглавления), приложение, использующее этот набор библиотек для решения вышеописанных, а также базовый корпус тренировочных текстов, на которых проверяется работа данного приложения. Из множества поставленных задач были выполнены следующие:
• составлен алгоритм выделения блока оглавления из PDF-документа;
• составлен базовый алгоритм разбиения оглавления на заголовки (единицы оглавления), избегая неинформативных частей (разделителей, колонтитулов и т. д.) и учитывая разнообразие форматов оглавления;
• определены релевантные для задачи иерархизации стилевые характеристики;
• составлены алгоритмы выделения стилевых характеристик и распределения заголовков на уровни иерархии в соответствии с выбранными критериями;
• предложены два формата представления результата: текстовый и в виде интеллект-карты, пригодных для последующего анализа и применения в различных областях;
• реализован программный инструмент, выполняющий все вышеперечисленные задачи.
Полученное приложение может обрабатывать не только русскоязычные документы, но и документы других языков, при условии, что у них сходная структурная организация. Для этого достаточно дополнить файл настроек ключевыми словосочетаниями для обозначения оглавления. Используемые в приложении алгоритмы можно дорабатывать для повышения точности, например, посредством применения эвристик или методов машинного обучения. В целом можно отметить, что проблема извлечения оглавления из русскоязычных документов научной тематики изучена и успешно решена, однако требуются как улучшения описанных подходов, так и рассмотрение способов извлечения содержания из источников других тематик, обладающих своими особенностями оформления оглавлений.