Skip to content

Latest commit

 

History

History
112 lines (62 loc) · 6.72 KB

Preprocessing.md

File metadata and controls

112 lines (62 loc) · 6.72 KB

Предварительная обработка данных

Описание

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

Структура обработки

Процесс обработки файла состоит из нескольких ключевых этапов:

  1. Распознавание структуры документа (Layout Detection)
  2. Разрешение коллизий объектов (Collision Solver)
  3. Извлечение текста (Text Extraction)
  4. Аннотирование изображений, таблиц и графиков (Image/Table/Chart Annotation)
  5. Преобразование формул в LaTeX
  6. Тегирование и запись в markdown файл

Этапы обработки

1. Распознавание структуры документа (Layout Detection)

Для распознавания структуры PDF-документа использовалась модель YOLO-10b, обученная на детекцию текстовых блоков, заголовков, таблиц и других объектов. Данная модель классифицирует различные элементы страницы и выделяет области с текстом, изображениями, таблицами, а также формулами.

  • YOLO-10b: Это мощная сверточная нейронная сеть, оптимизированная для задач разметки и классификации объектов на изображениях. В данном случае она используется для распознавания макета PDF-документа и разбиения его на составные элементы.
Вход:
  • SnIP.pdf
Выход:
  • Блоки документа с метками (заголовки, текст, таблицы, изображения)

2. Разрешение коллизий объектов (Collision Solver)

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

Вход:
  • Результаты распознавания структуры документа (блоки текста, таблиц, заголовков и т.д.)
Выход:
  • Исправленные области без коллизий

3. Извлечение текста (Text Extraction)

Для извлечения текста из PDF-документов используется библиотека Tesseract, которая выполняет OCR-распознавание. Извлеченный текст сохраняется и отправляется на дальнейшую обработку.

  • Tesseract: Это open-source система OCR (Optical Character Recognition), которая поддерживает множество языков и хорошо справляется с задачами распознавания текста.
Вход:
  • Исправленные области с текстом
Выход:
  • Извлеченный текст

4. Аннотирование изображений, таблиц и графиков (Annotation)

Аннотирование изображений, таблиц и графиков выполняется с помощью ChatGPT-4o. Эта модель обучена на распознавание и аннотирование сложных объектов, таких как таблицы, графики, диаграммы и схемы, и автоматически добавляет их описание в MD-файл.

Вход:
  • Объекты (изображения, таблицы, графики)
Выход:
  • Аннотации с ссылками в markdown формате

5. Преобразование формул в LaTeX

Для преобразования математических формул в LaTeX используется модель LaTeX OCR. Модель автоматически распознает формулы на изображениях и преобразует их в корректный LaTeX-код, который можно вставить в MD-файл.

Вход:
  • Области с формулами
Выход:
  • Формулы в формате LaTeX

6. Тегирование и запись в markdown файл

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

  • Структурирование заголовков (с использованием #, ## и т.д.)
  • Форматирование текста
  • Вставку формул в LaTeX формате
  • Вставку таблиц и изображений
  • Формирование окончательного markdown файла.
Вход:
  • Извлеченные и аннотированные элементы
Выход:
  • Итоговый markdown файл: SnIP.md

Архитектура модели

  • YOLO-10b - модель для распознавания структуры документа.
  • Tesseract - OCR для распознавания текста.
  • ChatGPT-4o - для аннотаций изображений и таблиц.
  • LaTeX OCR - для преобразования формул в LaTeX.

Заключение

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