Файлы hOCR с Tesseract / Определение, имеет ли PDF высококачественные текстовые слои

У меня есть установка Tesseract 4.0, которую мы используем с моделью LSTM для распознавания текста; входящие отсканированные PDF-файлы деконструируются в отдельные PNG-файлы с разрешением 300 точек на дюйм, затем форматируются на листы и распознаются OCR, а затем повторно собираются в PDF-файл с текстовыми слоями, сохраняя при этом каждую PNG-страницу для дальнейшего отображения в веб-браузере.

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

У нас также есть требование позднее классифицировать определенные части страниц PNG в соответствии с конкретными тегами для приложения машинного обучения.

Так что вопросы будут такими:

1) Есть ли способ определить, есть ли в PDF уже текстовый слой, и определить точность этого текста?

2) Могут ли PDF-файлы, уже содержащие текстовые слои, быть разложены на отдельные hOCR-файлы для каждой страницы, чтобы конкретные области этих страниц в формате PNG можно было выделить с помощью ограничительной рамки и с текстом, полученным для этой области из соответствующего файла hOCR?

3) При использовании Tesseract для сохранения текста OCR в формате hOCR обеспечивает ли это достаточно информации, чтобы можно было извлечь только произвольный фрагмент текста из файла hOCR, который соответствует точной области в PNG, из которой был создан файл hOCR?

заранее спасибо

1 ответ

Существуют различные инструменты, которые преобразуют PDF с текстовым слоем в простой текст или некоторый HTML; просто найдите, например, pdf2text или pdf2html. Следовательно, вы можете определить, есть ли в PDF текстовый слой (Вопрос 1.a), используя такой инструмент и проверив, что текстовое содержимое не пустое. Более того, я бы предложил провести некоторую проверку работоспособности (например, разумную длину слова, некоторые слова из словаря) для текста, чтобы избежать искаженного текста (часть вопроса 1.b).

Я не знаю ни одного инструмента pdf2hocr (вопрос 2). Конечно, можно придумать что-то подобное. Но, возможно, легче работать с выходом одного из упомянутых выше инструментов pdf2html. В репозитории ocr-fileformat имеется связанная проблема: https://github.com/UB-Mannheim/ocr-fileformat/issues/57

Вывод hocr Тессеракта даст вам координаты ограничительных рамок каждой строки, а также каждого слова. Таким образом, вы можете рассчитать для данного региона, какие строки или слова пересекаются с ним, и вывести его текстовое содержание (Вопрос 3). Тем не менее, у вас нет позиции персонажей.

Другие вопросы по тегам