Система автоматической разметки научных статей

Особенности научных статей, представленных в формате PDF. Разработка классов для системы автоматической разметки. Выбор программного обеспечения для реализации и обучения нейронной сети. Алгоритмы сортировки блоков в соответствии с иерархией документа.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 13.07.2020
Размер файла 5,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Аннотация

Для анализа документов в структурированном машиночитаемом формате важным этапом является распознавание макета неструктурированных документов. Наиболее распространенным форматом научных статей является PDF-формат. В связи с этим объектом разработки данной выпускной квалификационной работы является система для автоматической разметки научных публикаций, представленных в формате PDF.

Целью работы является создание клиент-серверной системы, способной извлекать текстовую и нетекстовую информацию из научной статьи в PDF-формате и представлять ее в docx-формате с сохранением исходной иерархии блоков в публикации. Языком разработки системы является Python. Основной принцип работы системы заключается в следующем: модель сегментирования Mask R-CNN выделяет информационные блоки на изображении PDF-страницы и классифицирует (текст, заголовок, список, фигура, таблица), блоки сортируются в соответствии с исходной иерархией документа, затем применяются модули извлечения информации из соответствующих информационных блоков. Текст извлекается с помощью библиотеки pdftotext и Tesseract OCR в зависимости от наличия текстового слоя в PDF-документе. Таблицы по возможности извлекаются библиотекой PDFPlumber или остаются в виде изображения. Формулы извлекаются с помощью модели ScanSSD. После извлечения информации формируется итоговый документ в docx-формате и дополнительные папки с извлеченными нетекстовыми элементами, из которых собирается zip-архив. Система разделена на клиентскую и серверную части, реализованными с помощью архитектурного стиля REST и библиотеки Flask. Полученные части упакованы в Docker-контейнеры.

Выпускная квалификационная работа состоит из 69 страниц, содержит 12 рисунков и 6 приложений.

Исходный код можно найти на github.com: https://github.com/owls-nlp

Abstract

An important step in the analysis of documents in a structured machine-readable format is the recognition of the layout of unstructured documents. The most widespread format for scientific articles is the PDF format. Therefore, an object of development of this final qualification work is an automatic system for tagging of scientific articles presented in PDF format.

The aim of the work is to create a client-server system capable of extracting text and non-text information from scientific articles in PDF format and presenting it in docx format while preserving the original hierarchy of blocks in the publication. The system's development language is Python. The basic principle of the system's operation is as follows: The Mask R-CNN segmentation model selects information blocks from the image of a PDF page and classifies it (text, title, list, figure, table), blocks are sorted according to the original document hierarchy, then information extraction modules are applied for information blocks. Text is extracted using the pdftotext library and Tesseract OCR, depending on the presence of a text layer in the PDF document. Tables are extracted by the PDFPlumber library or remain as images. Formulas are retrieved using the ScanSSD model. After extracting the information, the final document in docx format and additional folders with the extracted non-text elements are created from which the zip archive is collected. The system is divided into client and server parts, implemented using the REST architectural style and the Flask library. The resulting parts are packaged in Docker containers.

The final qualification work consists of 69 pages and contains 12 figures and 6 appendices.

Source code can be found at github.com: https://github.com/owls-nlp

Оглавление

Введение

1. Анализ предметной области

1.1 Особенности научных статей, представленных в формате PDF

1.2 Анализ существующих решений

1.2.1 Обзор систем для работы с PDF-документами научных статей

1.2.2 Обзор подходов к выделению информационных блоков

1.2.3 Обзор подходов для работы с текстовым слоем PDF-документов

1.2.4 Обзор подходов для распознавания текста с изображения

1.2.5 Обзор подходов к извлечению таблиц из PDF-документов

1.2.6 Обзор подходов к извлечению формул из PDF-документов

1.3 Выводы

2. Описание разработанной системы

2.1 Разработка классов для системы автоматической разметки научных статей

2.2 Поиск информационных блоков на изображении

2.2.1 Выбор данных

2.2.2 Выбор архитектуры нейронной сети

2.2.3 Выбор программного обеспечения для реализации и обучения нейронной сети

2.3 Алгоритмы для сортировки блоков в соответствии с иерархией документа

2.3.1 Формат 1

2.3.2 Формат 2

2.3.3 Формат 3

2.4 Извлечение текста

2.4.1 Pdftotext

2.4.2 OCR

2.5 Извлечение нетекстовых элементов

2.5.1 Извлечение таблиц

2.5.2 Извлечение формул

2.6 Подготовка итогового docx-документа

2.7 Клиент-серверная система

2.7.1 Клиентская часть

2.7.2 Серверная часть

2.7.3 Реализация контейнера Docker

2.8 Выводы

Заключение

Список используемых источников

Приложение А

Приложение Б

Приложение В

Приложение Г

Приложение Д

Приложение Е

Введение

научный статья автоматический разметка

Сегодня исследователи благодаря интернету получили доступ к большому и постоянно увеличивающемуся количеству статей. По данным на январь 2020 года в библиографическую и реферативную базу данных Scopus входят 23452 рецензируемых журнала, 5500 из которых являются журналами с открытым доступом. Всего в Scopus порядка 77 миллионов публикаций [1]. Крупнейший в интернете бесплатный архив электронных публикаций научных статей и их препринтов по физике, математике, астрономии, информатике и биологии arXiv предоставляет доступ к 1670407 статей [2]. Архив медицинских статей PubMed содержит более 30 миллионов публикаций с увеличением их количества приблизительно на 1500 публикаций в день [3]. Почти 27 процентов статей, индексируемых PubMed, имеют бесплатный онлайн доступ. Также растет количество статей на русском языке. Научная электронная библиотека eLibrary предоставляет доступ к 69510 журналам, 17308 из которых на русском языке [4]. Общее число публикаций на сайте 33650634, при этом для 5540254 из них доступны полные тексты в открытом доступе. Другая научная библиотека открытого доступа на русском языке - это КиберЛенинка. Она предоставляет свободный доступ к 2126786 статьям по лицензии Creative Commons Attribution.

Основная цель представленных выше ресурсов - помочь авторам с изучением последних научных достижений, методов и приемов, а также с экспертным рецензированием, написанием и оценкой исследовательских предложений. Любая деятельность, требующая тщательной и всесторонней оценки научной литературы, превратилась в чрезвычайно сложную и трудоемкую задачу. В этом контексте, учитывая также растущий объем научной информации, свободно доступной в режиме онлайн, наличие инструментов интеллектуального анализа текста, способных извлекать, агрегировать и превращать научное неструктурированное текстовое содержание в хорошо организованное и взаимосвязанное знание, является важным фактором при работе с научными текстами. Внедрение удобных для интернета текстовых форматов и диалектов XML, таких как JATS, Elsevier Schemas и RASH быстро распространяется, однако большинство научных работ все еще доступны в виде PDF-документов, что требует соответствующих инструментов для последовательного извлечения их содержания. Portable Document Format (PDF) - это межплатформенный открытый формат документов, разработанный компанией Adobe, который стал популярен из-за возможности передавать документы между разными машинами, не теряя единый вид информации, а также позволяя сохранять различные мультимедийные возможности, которые также нужны при оформлении научных статей. Существует большое количество программного обеспечения, способного генерировать документы в PDF формате: Adobe Acrobat, Microsoft Office, Libre Office и другие. Однако эта вариативность вносит дополнительную сложность в работу с документами, т. к. каждый из инструментов имеет свои особенности генерации, но визуальный анализ документов может помочь при автоматизированной работе с научными статьями.

Научные публикации могут включать общие структурные элементы: названия, упоминания авторов, введения, основные разделы, рисунки, таблицы, формулы, цитаты, библиографии, а также сочетания этих элементов. Эти элементы требуют специальных подходов для правильной обработки. Подходы могут основываться на различных технологиях: часть может игнорировать нетекстовые элементы статей, обращая внимание только на текстовый слой PDF-документа, тем самым теряя ценную информацию, другие методы рассматривают документ как изображение и работают с ним с помощью методов компьютерного зрения. Однако однозначно нельзя сказать о том, какой метод будет подходящим при решении задачи преобразования научной статьи из формата PDF в текстовый формат с сохранением всех элементов. Эта неоднозначность связана с тем, что может меняться оформление научных статей из-за различных требований журналов к визуальному оформлению или содержательной части, разного качества проработки и оформления материала. Также сложность добавляет и то, что существует большое количество различных областей науки. Например, исследовательские статьи в области компьютерных и социальных наук могут иметь различную структуру. Статьи по общественным наукам обычно имеют разделы, называемые методологией, тогда как статьи по компьютерным наукам обычно имеют разделы описывающие подходы к решению задачи.

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

Раздел 1 содержит обзор особенностей научных публикаций в формате PDF, обзор систем, которые специализируются на работе с научными статьями в формате PDF и при этом распространяются открыто, и подходов к извлечению текстовой и нетекстовой информации из документов PDF-формата или изображений.

В разделе 2 приводится реализация системы автоматической разметки научных статей.

1. Анализ предметной области

1.1 Особенности научных статей, представленных в формате PDF

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

Рис. 1 Пример одноколонного, двухколонного и чередование одно- и двухколонного набора соответственно

В случае двухколонного набора статьи, рубрики, относящиеся к тексту всех колонок, заверстывают в красную строку по отношению ко всему формату. При этом текст по содержанию делят на две части. Если рубрика размещена внутри текста, то расположенный после нее текст нового раздела переносят в другую колонку под рубрикой [5]. (рис. 2а)

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

Рис. 2 Пример заверстки а) рубрик б) иллюстрации (или таблицы) при двухколонном наборе

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

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

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

Все PDF-документы можно разделить на две группы: searchable и scanned PDF. Searchable PDF - который так же иногда называют PDF+text - это файлы формата PDF с включенным распознанным текстовым слоем с возможностью поиска по тексту. Scanned PDF файлы не имеют текстового слоя.

1.2 Анализ существующих решений

1.2.1 Обзор систем для работы с PDF-документами научных статей

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

Система Cermine, представленная в статье [6], обрабатывает содержимое статей PDF и правильно классифицирует текстовые зоны как принадлежащие к четырем основным классам: метаданные, ссылки, тело и другие. В зоне метаданных другой классификатор отвечает за определение названия статьи, авторов, аффилиации, ключевых слов и другой релевантной информации, обычно включаемой в заголовок статьи. Классификаторы зон, используемые Cermine, - это SVM [7], которые полагаются на лексические, геометрические, последовательные и форматирующие свойства различных разделов статьи для классификации. Данная система распространяется с открытым исходным кодом и доступна онлайн. Модульная архитектура и использование методов машинного обучения делают Cermine гибким и легко адаптирующимся к новым макетам документов.

В статье [8] представлена система GROBID (GeneRation Of BIbliographic Data), которая использует классические классификаторы случайных полей для извлечения библиографических данных в сочетании с многоуровневым извлечением терминов из документов PDF. Этот инструмент рассматривается как компонент для расширения существующих и будущих крупных хранилищ технических и научных публикаций.

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

В статье [10] была представлена платформа, которая автоматически извлекает семантически богатую информацию из научных статей в PDF или JATS XML формате и представляет ее как набор данных в формате Resource Description Framework, так и посредством веб-визуализаций. Для анализа содержания научных публикаций авторы опираются на Text Mining Framework, разработанный в контексте европейского проекта Dr. Inventor [11]. Данный фреймворк, представленный в виде автономной библиотеки Java, интегрирует несколько модулей интеллектуального анализа текста, которые определяют многие структурные и семантические аспекты научных публикаций.

Для обработки содержимого статей в формате PDF используются два дополнительных модуля интеллектуального анализа текста: модуль конвертации PDF в текстовый формат с помощью библиотеки PDFX [12] и модуль определения цитирования. Следующие модули используются для обоих исходных форматов научных статей: основанный на правилах модуль для разделения статьи на предложения, встроенный модуль определения цитирования, анализатор зависимостей с учетом цитирования, который выполняет токенизацию, лемматизацию и POS-тегирование каждого предложения и строит на основе этого дерево зависимостей, модули связывания концептов и именованных сущностей и разрешения других кореференций, модуль создания резюме из текста.

В статье [13] была представлена веб-система просмотра научных статей под названием SideNoter, которая помогает пользователям читать и понимать расширенный технический контент, распространяемый в формате PDF. Эта система предоставляет способы извлечения предложений на естественном языке из PDF-файлов вместе с их логическими структурами. Также в данной системе реализовано несколько функций расширенного поиска, включая поиск по фигурам и таблицам, поиск по соответствующим разделам и рекомендации по каждой странице. Для извлечения текста из PDF используется собственный патч pdftotext, который включен в библиотеку Poppler, для адаптации к другим языкам и другим областям без необходимости подготовки обучающих данных. Кроме того, данная система использует инструмент PDFFigures для извлечения рисунков и таблиц из документов. Эта информация будет отображена в столбцах дополнительных примечаний:

Рис. 3 Интерфейс системы SideNoter

Таким образом, главным достоинством данной системы является выделение и текстовой и нетекстовой информации, но при этом данная система нарушает исходную структуру научной публикации, выделяя нетекстовую информацию в столбцы дополнительных примечаний. Для извлечения текста из PDF документа используется pdftotext библиотеки Poppler, а для извлечения изображений и таблиц - PDFFigures.

В статье [14] авторы основное внимание уделили извлечению информации из документов в формате PDF и предложили метод иерархического извлечения информации. Этот метод разбивает страницу на блоки в соответствии с эвристическими правилами, а затем классифицирует каждый блок моделью условного случайного поля. Чтобы воспользоваться преимуществами информации о структуре документов PDF, в режиме классификации используются два вида функций: функции на основе содержимого и функции на основе макета, которые анализируются в документах PDF.

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

Фреймворк принимает PDF документы сгенерированные из Word, LaTeX или Google Doc, в качестве входных данных, извлекает текст, различные физические макеты и атрибуты, такие как отступы, пробелы и информацию о шрифтах, идентифицирует логические разделы и помечает их семантически значимыми именами. Идентификация логических разделов документа не только помогает многим приложениям извлечения информации, но также позволяет пользователям быстро переходить к интересующим разделам.

Блок предварительной обработки использует PDFLib для извлечения метаданных и текстового содержимого из документов PDF. У него есть синтаксический анализатор, который анализирует XML, сгенерированный PDFLib, используя XML.etree. Он анализирует различные эвристики для получения информации о шрифте каждого символа, такой как размер, вес и семейство. Также он использует координаты каждого символа для генерации полной строки и вычисляет отступ и межстрочный интервал каждой строки. Он также рассчитывает средний размер шрифта, вес и межстрочный интервал для каждой страницы. Все метаданные, включая текст для каждой строки, записаны в CSV-файле, где каждая строка содержит информацию и текст строки. Эти данные будут затем использоваться для выделения и классификации разделов научных публикаций.

В статье [16] описывается система PDFdigest, специально разработанная для извлечения заголовков, логической структуры и текстового содержимого научных статей. Экстрактор работает как с текстовыми, так и с графическими PDF статьями, используя собственные алгоритмы на основе правил, реализованные с помощью существующих инструментов для преобразования PDF в HTML и оптического распознавания символов из изображений. PDFdigest представляет собой приложение на основе Java, которое извлекает некоторую конкретную релевантную логику и текстовое содержимое из научных статей в формате PDF и сохраняет его вывод в файл в формате XML. Он может обнаруживать статьи как с одноколонной версткой, так и с двухколонной в одном или нескольких языках для одной и той же статьи. Экстрактор работает как с текстовыми, так и с графическими файлами PDF с двумя подходами, которые имеют некоторые общие черты:

Рис. 4 Архитектура системы PDFdigest для PDF файлов на основе текста и на основе изображения

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

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

1.2.2 Обзор подходов к выделению информационных блоков

Анализируя документ как изображение, появляется возможность применения глубоких нейронных сетей и алгоритмов компьютерного зрения. Используя эти методы, можно решать задачу поиска объектов на изображении, а также задачу классификации найденных объектов. В роли таких объектов могут выступать информационные блоки научных статей: заголовки, абзацы, иллюстрации, таблицы, формулы и т. д. Методы обнаружения объектов можно разделить на две категории: region proposal based и regression/classification based.

Статья [18] стала одной из основных при реализации и дальнейшем развитии методов категории region proposal based. Нейронная сеть с архитектурой R-CNN (Region-based Convolutional Network) получает изображение на вход, определяет, где потенциально могут находятся основные объекты (области выделяются алгоритмом selective search [19] для поиска потенциальных объектов) на изображении, а затем использует CNN, свёрточную нейронную сеть, для извлечения признаков из найденной области. Полученный вектор признаков используется для определения класса объекта, а также для предсказания рамки объекта.

Развивая идеи архитектуры R-CNN, исследователи разработали архитектуру Fast R-CNN [20]. Особенностью архитектуры Fast R-CNN является отказ от генерирования примерно двух тысяч потенциальных областей, в которых может быть расположен объект, т. к. каждая потенциальная область полностью пропускалась через сверточный слой нейронной сети в архитектуре R-CNN. Сокращения потенциальных областей удалось достичь, применяя алгоритм selective search для всего изображения. Новый тип слоя RoI pooling, на вход в который приходят векторы признаков, выделенные при помощи CNN и область изображения, полученная от алгоритма. Результатом работы архитектуры Fast R-CNN является предсказание рамки найденного объекта и его класса.

Рис. 5 Принцип работы архитектуры Fast R-CNN

После архитектуры Fast R-CNN была разработана архитектура Faster R-CNN [21]. Авторы решили заменить алгоритм selective search и использовать CNN как для выполнения предложений по потенциальным областям, так и для классификации.

Развивая идею архитекутры Faster R-CNN, была разработана архитектура Mask R-CNN [22]. Mask R-CNN улучшает поиск объектов за счет перехода к задаче сегментации экземпляров класса (object instance segmentation), т. е. к выходу нейронной сети кроме рамки и класса области добавляется маска объекта.

Рис. 6 Визуализация работы архитектуры Mask R-CNN

Представителем метода regression/classification based для обнаружения объектов является архитектура нейронной сети SSD300 [23]. Основное отличие методов regression/classification based от методов region proposal based заключается в фокусировании на скорости работы обученных алгоритмов в режиме реального времени. Авторы также используют CNN для выделения признаков, однако детектируют и классифицируют объекты после каждого этапа свертки. Данный подход позволяет быстро находить и классифицировать маленькие и больше объекты на изображении.

Поскольку в рамках данного исследования выделение объекта на изображении - это первый этап в работе системы, от результата которого зависит качество извлечения информации в дальнейшем, необходимо сделать акцент на точности нахождения объектов, а не на скорости работы. Наиболее подходящей архитектурой для решаемой задачи будет Mask R-CNN.

1.2.3 Обзор подходов для работы с текстовым слоем PDF-документов

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

Статья [24] посвящена обширной оценке существующих инструментов извлечения информации из PDF-файлов, нетривиальной задаче построения эталона и разработки значимых критериев для проведения такой оценки инструментов извлечения. Авторы описали, как построить высококачественный эталон произвольного размера из параллельных данных TeX и PDF. Основным компонентом этой конструкции является специальный синтаксический анализатор TeX, который может идентифицировать логические текстовые блоки документа. С его помощью был создан набор данных из 12098 научных статей с ресурса arXiv, для которого были выбраны статьи, чтобы представить как можно более широкий спектр тем и, следовательно, форматов. Авторы предоставили обширную оценку 14 инструментов для извлечения текста из PDF и описали их сильные и слабые стороны.

Среди описанных подходов можно выделить:

1) Pdftotext [25] быстро конвертирует любые PDF-файлы в простые текстовые файлы, но не предпринимает никаких усилий для определения границ абзаца, семантических ролей.

2) Pdftohtml [26] преобразует данный файл PDF в XML или HTML, разбитый на текстовые строки. Он не идентифицирует абзацы или смысловые роли, выделяет символы с диакритическими знаками как два символа и не объединяет дефисные слова.

3) Pdftoxml [27] преобразует данный файл PDF в XML, разбитый на «блоки» (которые не соответствуют абзацам), текстовые строки и слова. Лигатуры, диакритические знаки и дефисные слова не обрабатываются.

4) PdfBox [28] - широко распространенная библиотека PDF от Apache, которая может конвертировать данный файл PDF в обычный текст. Он не определяет границы абзаца или семантические роли, но обрабатывает лигатуры и символы с диакритическими знаками. Переносимые слова не объединяются.

5) Pdf2xml [29] использует Apache Tika (которая использует PdfBox) и pdftotext для извлечения текста из заданного файла PDF. На этапе постобработки инструмент объединяет результаты обоих инструментов для улучшения идентификации границ слов.

6) ParsCit [30] на самом деле не извлекает текст из файла PDF, а обрабатывает результаты сторонних инструментов (таких как pdftotext) для извлечения основного текста и разбора справочных строк. Поэтому его возможности зависят от используемого стороннего инструмента.

7) LA-PdfText [31] - это инструмент, который фокусируется на файлах PDF научных статей и извлекает текст на основе правил, которые должны быть определены для каждого отдельного макета статьи [32].

8) PdfMiner [33] - это инструмент, который способен анализировать структуру PDF-файла и преобразовывать его в обычный текст, XML или HTML, разбитый на абзацы, строки и символы. Лигатуры, символы с диакритическими знаками и переносами слов не обрабатываются должным образом.

9) PdfXtk [34] построен на основе PdfBox и преобразует PDF файл в XML или HTML, разбитый на «блоки» (которые не соответствуют абзацам), строки, слова и символы. Символы с диакритическими знаками и переносами слов не обрабатываются надлежащим образом.

10) Pdf-extract [35] преобразует файлы PDF в XML с разбивкой на «области» (которые не соответствуют абзацам) и текстовые строки. Его единственная семантическая способность состоит в том, чтобы отличать ссылочные разделы от не ссылочных разделов и разбивать их на отдельные ссылки.

11) PDFX [36] - это инструмент, основанный на правилах, который анализирует шрифты и особенности компоновки, чтобы построить геометрическую модель файла PDF и определить заголовок, разделы, таблицы и т. д. из него [12]. Разделы разбиты на «области», которые не соответствуют абзацам.

12) PDFExtract [37] является одним из самых мощных инструментов. Он преобразует PDF-файлы научных статей в XML и способен идентифицировать семантические роли: заголовок, реферат, заголовки и абзацы. Он обрабатывает лигатуры, символы с диакритическими знаками и переносами слов.

Можно сделать вывод, что наиболее подходящим инструментом является PDFExtract, но у данного инструмента отсутствует документация и поддержка. Учитывая, что для данного исследования выделение абзацев не является приоритетной способностью инструмента - мы предполагаем, что на этапе выделения информационных блоков будут получены абзацы - и что правильная обработка лигатур, символов с диакритическими знаками и переносов слов является второстепенной, лучше отдать предпочтение тому инструменту, который делает только самое необходимое - выделяет текст из указанной области. Таким инструментом является pdftotext - быстро извлекает из PDF текстовый слой.

1.2.4 Обзор подходов для распознавания текста с изображения

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

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

Одной из первых разработок в области распознавания текста была технология Tesseract OCR [38], она начала разрабатываться в 1984 году [39] в компании HP, однако в 2006 году технология была выкуплена компаний Google. В основу технологии легли правила по выделению контуров печатных символов и их преобразованию в текст.

Примером статьи, в которой авторы не используют глубокое обучение для решения задачи распознавания текста является [40]. Авторы статьи рассматривают только задачу распознавания текста, работая с данными, где на изображении есть только текст. В основе метода, представленного в статье, лежит поэтапный подход к распознаванию текста. На первом этапе, после получения изображения на вход, используются модели на основе деревьев решений для поиска границ символов на изображении, вторым этапом используется CRF-модель, которая учитывает вероятность каждого символа, а также вероятность нахождения этих символов рядом в получаемом слове. Результатом второго этапа является предсказанное слово. Минусом данного подхода является то, что для распознавания каждого символа используется своя модель на основе решающих деревьев, что с одной стороны упрощает добавление новых символов, а с другой увеличивает время работы алгоритма, т. к. для каждого символа на изображении должны отработать все модели.

В статье [41] авторы используют следующий подход к распознаванию текста: сначала из изображения выбираются кандидаты в символы с помощью схемы идентификации символов, основанной на голосовании, эти кандидаты описываются с помощью функции гистограммы, затем выполняется классификация символов для присвоения метки наиболее вероятного класса каждому символу и полученное из символов слово сверяется со словарем. Авторы делают акцент на важности этапа идентификации символов и отмечают, что подходы основанные на бинаризации изображения [42, 43] не способны справиться с задачей, если на изображении есть шум, размытость или неравномерное освещение, а методы, основанные на связанных компонентах [44, 45], не способны обрабатывать связанные символы и прерывистые штрихи на символах. Именно поэтому авторы используют комбинацию подходов для того, чтобы решить проблему с шумом, размытостью и неравномерным освещением.

Методы, использующие глубокое обучение, можно условно разделить на две группы: методы, использующие классический подход разделения задачи распознавания текста на этапы предварительной обработки изображения, поиска символов на изображении и распознавание найденных символов и методы использующий более сложные архитектуры end-to-end.

Примером описания классического подхода глубокого обучения к распознаванию текста является статья [46]. Авторы статьи описываю созданную систему PhotoOCR, позволяющую решать оба этапа обработки текста: поиск и распознавание. Детектор текста возвращает возможные области, содержащие отдельные строки текста или символы. Обнаружение строк настроено так, чтобы отклонить ложные срабатывания. Текстовые строки-кандидаты обрабатываются для распознавания текста. Распознавание начинается с одномерной сегментации текстовой строки, чтобы идентифицировать возможные области символов. Это является важным этапом, поскольку в каждом сегменте должен находиться только один символ. После этого отрабатывает классификатор по нахождению символов на наиболее возможных областях. В качестве классификатора используется полносвязная нейронная сеть, в которую на вход поступают извлеченные при помощи гистограммы направленных градиентов признаки. Полученную систему авторы протестировали на 29 языках и получили скорость обработки около 600 миллисекунд на одно изображение.

Другим примером использования классических подходов глубокого обучения является технология Tesseract OCR. В 2016 году разработчики добавили возможность использования не только методов, основанных на правилах, но и возможность использования нейронной сети с архитектурой LSTM (Long short-term memory) [47].

Примером использования сложных подходов глубокого обучения для распознавания текста является статья [48]. В ней авторы представляют архитектуру нейронной сети CRNN.

Рис. 7 Архитектура нейронной сети CRNN

В модели CRNN компонент сверточных слоев строится путем извлечения сверточных слоев и слоев max-pooling из стандартной модели CNN, а полностью связанные слои удаляются. Такой компонент используется для извлечения признаков из последовательного представления входного изображения. Перед подачей в сеть все изображения необходимо масштабировать до одинаковой высоты. Глубокая двунаправленная рекуррентная нейронная сеть построена поверх сверточных слоев. Преимущество использования RNN заключается в том, что этот слой обладает сильной способностью захватывать контекстную информацию в последовательности. Использование контекстных сигналов для распознавания последовательностей на основе изображений более стабильно и полезно, чем обработка каждого символа независимо. Благодаря использованию описанной выше архитектуры удается добиться одних из наиболее высоких результатов качества распознавания.

В статье [49] авторы рассказывают о создании системы по распознаванию текста на основе нейронной сети end-to-end. Первым слоем нейронной сети является сверточный, он позволяет извлекать признаки из изображения. Дальше используется рекуррентная нейронная сеть с механизмом внимания, для декодирования полученных признаков в символы языка. Механизмы внимания -- это подход в глубоком обучении, который заключается в выделении части данных для более тщательной обработки. В данном случае механизм внимания упрощает выбор признаков, поступающих из сверточных слоев для лучшего использования изображения. Благодаря использованию механизма внимания удается улучшить результаты распознавания текста.

Таким образом, для данного исследования лучше подходит Tesseract OCR - данная технология поддерживает использование нейронной сети с архитектурой LSTM, а использование других, более сложных архитектур, при распознавании отсканированных документов кажется избыточным и затратным по времени.

1.2.5 Обзор подходов к извлечению таблиц из PDF-документов

Извлечение таблицы из PDF документа обычно состоит из двух основных этапов: обнаружение таблицы, т. е. восстановление ограничивающей рамки таблицы в документе, и распознавание структуры таблицы, то есть восстановление ее строк, столбцов и ячеек. Многие из существующих методов извлечения таблиц из неструктурированных документов традиционно имеют дело только с изображениями или открытым текстом [50, 51]. Эти методы могут быть применены к документам PDF путем преобразования PDF в эти форматы. Однако этот процесс приводит к потере ценной информации. Извлечение таблицы из PDF напрямую может обеспечить лучшие результаты. PDF - более богатое представление документов по сравнению с изображениями и обычным текстом. Документы PDF могут содержать машиночитаемый текст, а также векторную графику, включая правила таблиц.

В последние два десятилетия предложено несколько методов и инструментов для извлечения данных из таблицы. Авторы статьи [52] рассматривают структуру для сквозной обработки таблицы, включая задачу распознавания структуры таблицы. Они также используют инструмент pdftohtml для подготовки своих материалов. Однако этот инструмент иногда допускает ошибки при объединении фрагментов текста, которые расположены слишком близко друг к другу, поэтому данные могут быть повреждены. Автор диссертации [53] описывает комплексное обнаружение таблиц PDF и алгоритм распознавания структуры, который продемонстрировал высокую точность исполнения на «ICDAR 2013 Table Competition».

В статье [54] представлен метод для обнаружения в PDF-документах таблиц на основе сверточных нейронных сетей. Данный метод состоит из трех основных процедур: предложение областей, подобных таблицам, на основе некоторых правил, построение сверточных нейронных сетей для определения, являются ли выбранные области таблицами, и извлечение визуальных особенностей таблицы, добавление невизуальной информации, содержащейся в оригинальном документе PDF. Данный метод позволяет работать со следующими видами таблиц: таблицы с горизонтальными и вертикальными границами, таблицы с горизонтальными границами и таблицы без границ. Предложенный метод можно считать довольно эффективным, но необходимо принять во внимание, что свободные правила, которые этот метод использует для сбора табличных областей, приводят к следующим ограничениям: предложение областей, содержащих пересекающиеся линии, например, диаграммы, объединение двух таблиц, которые находятся на одной странице довольно близко друг к другу, выбранная область содержит дополнительную область, принадлежащую другим объектам на странице.

В статье [55] обсуждается система распознавания структуры таблиц в PDF-документах без тегов. Данная система предлагает набор настраиваемых параметров и специальной эвристики для восстановления ячеек таблицы из фрагментов текста и правил. Задача сформулирована как набор настраиваемых параметров и специальной эвристики для восстановления ячеек таблицы. Для решения данной задачи авторы используют функции представления презентаций в PDF-документах без маркировки, т. к. большинство из них имеют горизонтальные и вертикальные расстояния. Кроме того, в данной системе используется функция появления инструкции по печати текста в файлах PDF. Процесс распознавания структуры таблицы представлен следующими этапами: предварительная обработка, в которую входят генерация и подготовка текстовых сообщений из исходного документа, восстановление текстового блока и восстановление ячеек: разделение табличных пространств, столбцов и ячеек с помощью текстовых блоков. Таким образом, главным недостатком данной работы является необходимость настройки системы под конкретный документ PDF.

Статья [56] представляет систему TAble Organization (TAO) для автоматического обнаружения, извлечения и систематизации информации из таблиц в PDF документах. TAO использует PDFMiner для преобразования документов PDF в формат XML затем, чтобы для данного формата в последствии использовать обработку, основанную на методе k-ближайших соседей и эвристике макета, для определения таблицы с помощью документа и для извлечения информации из таблицы. Информация таблицы из исходного документа PDF сохраняется и обогащается данными, не отображаемыми в документе PDF, такими как текст, координаты и координаты в нестандартных ячейках.

Для достижения высокой точности распознавания таблицы и последующего извлечения лучше всего подошел бы инструмент, способный работать сразу с PDF-форматом без необходимости дополнительной настройки и искать таблицу только на части изображения - это позволило бы избежать ошибки в сложных случаях: например, когда на изображении рядом таблица и диаграмма. Для языка Python существует инструмент PDFPlumber, который может сразу в PDF-документе осуществлять поиск и извлечение таблиц [57]. Этот инструмент способен находить таблицу на части изображения, для этого ему необходимо передать координаты выбранной области, а затем сохранять в структуру Pandas DataFrame, которую будет удобно представить в любом формате, а не только в формате XML, как предлагает система TAO. Таким образом, PDFPlumber является наиболее подходящим инструментом для извлечения таблиц в рамках данного исследования.

1.2.6 Обзор подходов к извлечению формул из PDF-документов

Традиционные методы обнаружения формул основаны на правилах. Большинство основанных на правилах методов сначала идентифицируют определенные математические символы, затем пытаются расширить область формулы в соответствии с областями операторов этих символов [58, 59]. Есть также много работ на основе извлеченных формул. Авторы статьи [60] построили механизм поиска формул на основе формул, извлеченных из Википедии, предложив систему, основанную на контексте, структуре и важности формул в документе. В основе системы лежит гибридная модель индексации и сопоставления для поддержки как точного, так и нечеткого сопоставления. В гибридной модели учитывается как контекстная, так и структурная информация формул.

Авторы статьи [61] использовали технику глубокого обучения для распознавания текста и макета в тандеме с системой машинного перевода, основанной на внимании, для преобразования изображения формулы в LaTeX. Обнаружение формул в документе является одним из предварительных условий этих исследований.

В статье [62] предложен метод детектирования линейных математических выражений. Сначала авторы создали вручную аннотированный корпус и применили условное случайное поле (CRF) для идентификации областей с математическими формулами, используя типы шрифтов и лингвистические особенности, такие как контекстные n-граммы, полученные из документов PDF. Данный метод показывает значение метрики F-меры равное 88,95%. В статье [63] используется комбинация моделей сверточной нейронной сети (CNN) и рекуррентной нейронной сети (RNN) для обнаружения формул. Результат метрики F-меры представлен для двух корпусов данных и составляет 93,4% и 88,7%.

В статье [64] представлен подход распознавания формул, основанный на доминировании символов, для восстановления структур формул с использованием богатой информации, извлеченной непосредственно из файлов PDF. Иерархическая структура формулы представлена деревом отношений, а дерево строится рекурсивно на основе доминирования символов, которое учитывает как пространственную разметку символов, так и условия набора текста условных обозначений.

В статье [65] представлен сканирующий детектор одиночного снимка (ScanSSD) для определения местоположения математических формул, расположенных как внутри текстовых строк, так и вне их. ScanSSD использует только визуальные функции для обнаружения: никакая информация о форматировании, расположении, шрифте или символьных метках не используется. Учитывая изображение страницы документа с разрешением 600 точек на дюйм, детектор одиночного снимка (SSD) находит формулы в нескольких масштабах, используя скользящие окна, после чего обнаруженные кандидаты объединяются для получения результатов на уровне страницы. Для обучения использовался набор данных TFD-ICDAR2019v2, являющийся модификацией сборника отсканированных математических статей GTDB. ScanSSD обнаруживает символы в формулах с высокой точностью, получая значение метрики F-меры 92,6%. Ошибки обнаружения в основном незначительны, такие как расщепление формулы при больших пробелах и объединение формул, находящихся на смежных текстовых строках. Учитывая, что у данной модели одно из наиболее высоких значений метрики F-меры и лучшая скорость работы (архитектура SSD работает быстрее, чем комбинация CNN и RNN), ScanSSD лучше подходит для данного исследования.

1.3 Выводы

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

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

Таким образом, можно выделить следующие этапы работы разрабатываемой системы:

1) Конвертация PDF-документа в формат изображения;

2) Нахождение границ информационных блоков и определение их классов с помощью модели Mask R-CNN;

3) Сортировка найденных блоков в соответствии с иерархией документа;

4) Распознавание текста из текстовых блоков с помощью pdftotext для документов, у которых имеется текстовый слой, и Tesseract OCR для отсканированных документов;

5) Распознавание текста из блоков, определенных на предыдущих этапах как «таблица», с помощью инструмента PDFPlumber, сохранение извлеченных таблиц в формат Excel;

6) Распознавание формул с изображения страницы документа с помощью ScanSSD;

7) Сбор итогового docx-документа.

2. Описание разработанной системы

2.1 Разработка классов для системы автоматической разметки научных статей

При разработке больших проектов удобно использовать объектно-ориентированную методологию программирования, которая позволяет представлять программу как совокупность объектов различных классов.

Для упрощения понимания кода используют объектно-ориентированную декомпозицию, которая позволяет выделить необходимые сущности и их методы. В рамках проектирования системы были выделены следующие классы:

а) Класс документа (Document);

б) Класс страницы документа (Document Page);

в) Класс элемента страницы документа (PageElement);

г) Класс элемента страницы документа типа «текст» (TextPageElement);

д) Класс элемента страницы документа типа «таблица» (TablePageElement);

е) Класс модели по сегментированию изображения (SegmentationModel);

ж) Класс модели по поиску формул на изображении (FindingFormulasModel).

Класс Document необходим для взаимодействия с PDF-документом, при создании экземпляра класса в конструктор необходимо передать:

· pdf_path (строка) - путь до обрабатываемого PDF-документа;

· segmentation_model - экземпляр класса SegmentationModel, при помощи которого будет обрабатываться изображение, полученное в ходе конвертации;

· finding_formulas_model - экземпляр класса FindingFormulasModel, при помощи которого будут находиться формулы на изображении страницы документа;

· document_type (целое число) - тип обрабатываемого документа;

· layout_type (целое число) - тип используемой вёрстки в документе;

· dpi (целое число) - количество точек на дюйм;

· langs (список) - используемые в документе языки;

· tessdata_dir (строка) - путь до языковых пакетов программы Tesseract OCR.

Метод convert отвечает за начало процесса преобразования PDF-документа. Обязательными параметрами метода являются следующие аргументы:

· output_type (строка) - целевой формат конвертируемого документа;

· output_filename (строка) - имя целевого документа;

· to_zip (логический тип) - флаг необходимости формирования zip-архива.

Первым этапом документ конвертируется в изображения. Вторым этапом создаются страницы документа на основе полученных изображений и сохраняются экземпляры класса DocumentPage, эти экземпляры хранятся в контейнере экземпляра класса Document. Третий этап - это преобразование полученных экземпляров класса DocumentPage в документ формата docx.

Класс DocumentPage отвечает за обработку изображения страницы документа. При создании экземпляра класса необходимо передать информацию о номере страницы в документе и путь до изображения страницы. Метод extract извлекает все элементы страницы: заголовки, текстовые блоки, списки, таблицы, изображения, графики и формулы, а также создает для каждого элемента экземпляр соответствующего ему класса. Для заголовков, текстовых блоков и перечислений (списков) создается экземпляр класса TextPageElement, который позволяет извлекать текст из изображений. Для таблиц создается экземпляр класса TablePageElement, который позволяет извлекать таблицу и сохранять в формате xlsx. Для остальных элементов создается экземпляр класса PageElement. Информация по всем атрибутам и методам всех классов представлена при помощи диаграммы на языке Unified Modeling Language (Приложение А).


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.