Исправление ошибок OCR: Как объединить три ошибочных результата для уменьшения количества ошибок

Проблема

Я пытаюсь улучшить результат процесса OCR, комбинируя выходные данные трех разных систем OCR (tesseract, cuneinform, ocrad). Я уже занимаюсь предварительной обработкой изображений (выравнивание, удаление пятен, удаление пятен и многое другое). Я не думаю, что эту часть можно еще улучшить. Обычно текст для распознавания составляет от одного до 6 слов. Язык текста неизвестен и довольно часто содержат фантастические слова. Я на Linux. Предпочтительным языком будет Python.

То, что у меня есть

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

Пример может выглядеть следующим образом:

Xorem_ipsum
lorXYm_ipsum
lorem_ipuX

AX - это неправильно распознанный символ, а Y - это символ, которого нет в тексте. Пробелы заменены на "_" для облегчения чтения.

В подобных случаях я пытаюсь объединить разные результаты. Используя многократно алгоритм «самой длинной общей подстроки» между тремя парами, я могу получить следующую структуру для данного примера

or m_ipsum
lor m_ip u
orem_ip u

Но здесь я застрял. Я не могу объединить эти части для получения результата.

Вопросы

Есть ли у вас

  • идея, как объединить разные общие самые длинные подстроки?
  • Или у вас есть лучшее представление, как решить эту проблему?
6
задан tobltobs 10 September 2010 в 13:32
поделиться