Как сравнить две версии PDF с ИИ и не пропустить важное изменение

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

Практический гайд · 4 мин чтения
ИИ на практике — tarasovcode
ИИ на практикеКак сравнить две версии PDF с ИИ и не пропустить важное изменение
tarasovcode

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

Подготовьте версии

Назовите файлы так, чтобы было понятно, какая версия исходная и какая новая. Зафиксируйте дату получения и число страниц. Проверьте, можно ли выделить текст. Если документ является сканом, потребуется распознавание, качество которого следует оценить на таблицах, числах, сносках и мелком шрифте. Не считайте отсутствие извлечённого текста отсутствием содержимого.

Документация pypdf об извлечении текста объясняет сложности порядка чтения и таблиц, а также отличие извлечения от OCR. Поэтому сравнение текстовых выгрузок необходимо дополнять просмотром оригинальных страниц, особенно в местах значимых изменений.

Постройте соответствие разделов

  1. Получите оглавление или список заголовков каждой версии.
  2. Сопоставьте разделы по названию и содержимому, а не только по номеру страницы.
  3. Отделите колонтитулы, номера страниц и технические переносы от основного текста.
  4. Выполните буквальное сравнение сопоставленных фрагментов.
  5. Попросите ИИ классифицировать различия: добавление, удаление, перенос, редактура или изменение условия.
  6. Проверьте значимые находки по изображениям обеих страниц.

Пример изменения срока

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

Другой случай: раздел переехал со страницы 4 на страницу 6 без изменения текста. Это перенос, а не новое обязательство. Если таблица разделена между страницами, сравните строки по устойчивому названию показателя. Простое построчное сравнение извлечённого текста может перепутать столбцы и приписать число соседней строке.

Промпт

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

Контроль полноты

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

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

Как использовать результат

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

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

Частые вопросы

Можно сравнивать только извлечённый текст?

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

Что делать с разным числом страниц?

Сопоставлять разделы и приложения. Изменение вёрстки способно увеличить объём без новых условий, а удаление приложения — уменьшить его существенно.

Как оценить качество распознавания?

Проверьте выборку сложных мест и каждое значимое найденное изменение. Средняя аккуратность текста не гарантирует правильность отдельного критического символа.

Гайд подготовлен для Tarasov Code — проекта Ильи Тарасова и TarasovWeb.