OCR рассекреченных документов

OCR рассекреченных документов

Ruth Wegwarte
Перевод твиттер-треда hexadecim8

Качество сканов. Оно, мягко говоря, варьируется. Особенно касается архивов разведки. Между сканами ФБР и ЦРУ можно устраивать дуэли.

Это рассекреченный документ ЦРУ о шпионском спутнике CORONA. Он прекрасен. Он восхитителен. Это твой бро.

А это грязный документ из ФБР из тех же времён - кейс-файл на анархиста. Я получила его, воспользовавшись Законом о свободе информации (FOIA).

ФБР, вам вообще пофиг, да? На того человека или на его 15 лет хранимый файл. Как они вообще ловят людей с таким уровнем старательности?

Двойка, приходите на пересдачу.

Понятно, что для распознания текста (OCR) хочется иметь в руках роскошные файлики с ровными строчками и не размывшимися от неправильного хранения буквами. Документы ФБР в этом смысле выглядят так, как будто их подрала летучая лисица. Ладно, молчу.

Программа, которой я обычно распознаю текст, называется Tesseract. Я запускаю её на 3 разных процессора, и 250 тысяч документов занимают 2 месяца круглосуточной процессорной работы. При этом мне приходится вручную подгружать программе файлы.

В один прекрасный день я швырнула одним из уродливых ФБР-овских документов в распознаватель Google OCR. Слева результат от Гугла, справа - распознано Tesseract-ом. Один и тот же документ, но такие разные результаты.

Можно кидать документы прямо через API сервиса Google Drive, запускать OCR и бесплатно выкачивать получившийся текстовый файлик. Минимум ручной работы. Я разбила все файлы на кусочки меньше 5 мегабайт, нашла чужой скрипт для заливки файла и запуска распознавателя, переписала его под многократный залив. Вуаля.

...

Для чего всё это делается? Например, чтобы искать по документам. На официальном сайте ЦРУ можно искать по тегам, однако сами пдфки не распознаны. Да мы даже не можем при прочтении скопировать или подсветить текст! Исследователям трудно с таким работать. Кто знает, может, ЦРУ этого и добивалось, не озаботившись преобразованием в текст? Они думали, что никто не станет запускать OCR? Они не приняли в расчёт старушку Hexa8...

Я взяла коллекцию сырых пдфок отсюда: https://archive.org/details/CREST-3 . Затем написала небольшой скрипт для выдёргивания и распознания документов прямо из TAR-архива. Ход работы скрипта:

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

Мои скрипты можно найти тут: https://github.com/emilymaxima/KrangTools



Report Page