2011-04-13 33 views
17

Estoy trabajando en la digitalización de una gran colección de documentos escaneados, trabajando con Tesseract 3 como mi motor de OCR. La calidad de su producción es mediocre, ya que a menudo produce tanto caracteres basura antes y después del texto real como errores ortográficos en el texto.Algoritmos de corrección de errores OCR

Para el primer problema, parece que debe haber estrategias para determinar qué texto es en realidad texto y qué texto no (gran parte de este texto es como los nombres de las personas, entonces estoy buscando soluciones que no sean buscar palabras arriba en un diccionario).

Para el problema de error tipográfico, la mayor parte de los errores se derivan de unos pocos errores de clasificación de cartas (sustituyendo l, 1 y I uno por el otro, por ejemplo), y parece que no debe haber métodos para adivinar qué palabras están mal escritas (dado que no hay demasiadas palabras en inglés, tienen un "1" en medio de ellas), y adivinando cuál es la corrección adecuada.

¿Cuáles son las mejores prácticas en este espacio? ¿Hay implementaciones de algoritmos libres/de código abierto que hacen este tipo de cosas? Google ha producido muchos documentos, pero no mucho concretos. Si no hay implementaciones disponibles, ¿cuál de los muchos documentos sería un buen punto de partida?

+0

no tengo experiencia en este tipo de problemas, pero ¿podría compartir som e de los enlaces que encontraste? Harían una lectura bastante interesante. –

+6

@coffee Éstos son algunos: [Postcorrección de OCR no interactiva para proyectos de digitalización Giga-Scale] (http://www.springerlink.com/content/l2724747mt78039l/), [Corrección de bajo costo de errores de OCR mediante el aprendizaje en un entorno de motores múltiples] (http://www.google.com/research/pubs/archive/35525.pdf), [Un enfoque estadístico de la corrección automática de errores de OCR en contexto] (http: //www.ldc.upenn .edu/acl/W/W96/W96-0108.pdf), y [Tesis de Diploma: Post-corrección no supervisada de errores de OCR] (http://www.l3s.de/~tahmasebi/Diplomarbeit_Niklas.pdf). –

+0

@coffee Sin embargo, en su mayoría se trata de corregir errores tipográficos y no eliminar textos que no son de texto. –

Respuesta

0

Algo que podría ser útil para usted es probar this free online OCR y comparar sus resultados con los suyos para ver si jugando con la imagen (por ejemplo, ampliando o reduciendo) puede mejorar los resultados.

Lo estaba usando como un "límite superior" de los resultados que debería obtener al usar tesseract (después de usar OpenCV para modificar las imágenes).

11

Para "determinar qué texto es realmente texto y qué texto no es", es posible que desee consultar rmgarbage del mismo departamento que desarrolló Tesseract (el ISRI). He escrito un Perl implementation y también hay una implementación de Ruby. Para el problema 1 vs. 1 estoy experimentando con ocrspell (nuevamente desde el mismo departamento), para el cual their original source está disponible.

sólo Publicación de dos enlaces, por lo que los que faltan son:

  • ocrspell: introduzca "10.1007/PL00013558" en dx.doi.org]
  • rmgarbage: búsqueda de "La expulsión automática de basura Las cadenas de texto OCR: una implementación"
  • ruby implementation: Búsqueda de 'docsplit textcleaner'
Cuestiones relacionadas