Автоматическое извлечение чего-либо из PDF-файлов с помощью глубокого обучения

Работать Data Scientist сложно. Работать с текстом еще сложнее. Если вы хотите снова подняться, займитесь PDF-файлами. Эта статья расскажет вам о проблемах, возникающих при работе с PDF-файлами, и о том, как их решить.

Как извлечь текст из PDF

Извлечение текста из PDF-файла можно выполнить двумя способами:

  1. Если документ был сгенерирован компьютером, он будет таким же простым, как чтение любого другого типа файла. Существует множество программных решений с открытым исходным кодом, которые позволят вам это сделать.
  2. Если он был отсканирован, вам нужно будет запустить распознавание символов объекта (OCR) поверх документа, чтобы получить текст. Самое популярное решение для оптического распознавания символов, доступное на данный момент, — Tesseract от Google.

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

Достаточно ли извлечь текст?

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

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

Внедрение решения для глубокого обучения

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

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

Следующий…

Используя этот метод, мы смогли построить очень успешные модели в Spot Intelligence.

В моей следующей статье я опишу пример использования и поделюсь результатами одного из проектов, которыми мы занимались в Spot Intelligence.

Связаться!

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

Посетите наш веб-сайт, чтобы узнать больше о том, чем мы занимаемся в Spot Intelligence.