pdf_tools_bot_ICQ разрабатывался на основе системы system-for-tagging, которая ориентировалась на работу с публикациями научных статей. В сборниках или журналах, как правило, используется одноколонный или двухколонный набор. Некоторые страницы статьи, представленной в двухколонном формате, имеют изображения или таблицы, которые могут быть заверстаны в одну колонку.
Данный бот поддерживает работу со следующими иерархиями PDF-документа:
-
Формат 1 - двухколонная верстка с сортировкой по правилу «если нетекстовый элемент заверстывают поперек полосы на несколько колонок, текст из каждой колонки не переходит в следующую через нетекстовый элемент»;
-
Формат 2 - двухколонная верстка с сортировкой по правилу «если нетекстовый элемент заверстывают поперек полосы на несколько колонок, текст из каждой колонки переходит в следующую через нетекстовый элемент»;
-
Формат 3 - одноколонная верстка.
Форматы 1, 2 и 3 соответственно:
При разработке форматов учитывались существующие правила верстки и реальные примеры публикаций. В разделе 3.2. Технологические особенности журнальной верстки описаны существующие правила заверстки нетекстовых элементов на всю ширину строки. Этим правилам соответствует формат 2.
В реальности встречаются статьи, в которых нетекстовые элементы заверстываются с нарушением этого правила. Для этого был введен формат 1.
Выбор формата необходим для того, чтобы правильно сортировать информационные блоки, полученные от модели сегментации.
Модель сегментации хорошо определяет верхнюю границу блока, но нижнюю часто обрезает, из-за чего возрастает риск потери информации. Также у данной модели есть проблема с повторами: некоторые фрагменты текста встречаются в соседних блоках. Для исправления данных проблем созданы алгоритм проверки на вхождение одного блока в другой по координатам для удаления повторов и правила сдвига нижней границы одного блока до верхней границы соседнего снизу блока.
Подробнее об этом в проекте system-for-tagging.