Imagina que eres uno de los seres más inteligentes de la tierra. Personas de todo el mundo acuden a ti con sus preguntas y tú puedes responder a casi todas ellas. Un día, alguien se acerca a ti con un libro en la mano. ¿Puede leérmelo?", le pregunta. Abres el libro y empiezas a murmurar... 'el honse estaba en una subida sliqht justo en el cdge del vinage'.
Para el ordenador y el teléfono móvil que usas a diario esto es una realidad. Con acceso a Internet, pueden ayudarte a resolver la mayoría de tus problemas. Sin embargo, es sorprendentemente difícil para un ordenador leer el texto de una imagen.
La identificación de caracteres, algo que el ojo humano puede hacer desde una edad temprana, se denomina reconocimiento óptico de caracteres (OCR). En algunos casos, el ordenador se desempeña razonablemente bien en el OCR, por ejemplo, si los documentos han sido cuidadosamente preparados antes de la digitalización. Sin embargo, en el entorno empresarial real no siempre es así.
Por eso hemos decidido hacerlo de forma más inteligente. Creemos que la regla general debería ser que si un documento es legible para el ojo humano, debería ser procesado por nuestra solución de OCR.
Si observamos el gran volumen de contenido que se procesa en la empresa, queda claro de inmediato que una solución de OCR adecuada tendrá muchas ventajas. Vemos muchos documentos que han sido escaneados a baja resolución. A veces, los documentos originales no son rastreables y, en general, volver a escanearlos supone un gran esfuerzo.
Ya existen soluciones de OCR de código abierto decentes. Sin embargo, la calidad del texto que producen sigue siendo demasiado baja para los estándares empresariales. Por ello, introducimos una etapa de posprocesamiento.
El motor de OCR se encarga del OCR inicial y nuestro algoritmo Post-OCR personalizado aprende de su contenido y realiza las correcciones adecuadas. Nuestra solución puede ser entrenada para ser más efectiva en palabras específicas para cualquier negocio.
Un error típico del OCR es la confusión de letras similares. Por ejemplo, se lee una "j" en lugar de una "i". Sin embargo, con algunos conocimientos de la lengua inglesa, es fácil inducir que "fjsh" no es correcto y que probablemente debería leerse como "fish". En nuestro paso Post-OCR, aprovechamos esto al máximo.
Como sabemos qué tipo de errores puede cometer el motor de OCR, podemos optimizar nuestro algoritmo para que se centre en esos errores. Las palabras "Onior", "amor", "aural" y "pillar" pueden parecernos muy diferentes, pero se parecen bastante a la solución OCR. Las cuatro comienzan con un carácter redondo, seguido de lo que parecen tres barras, luego otro carácter redondo, seguido de otra barra.
Teniendo en cuenta toda la información estadística que podemos recopilar, utilizamos la similitud de los caracteres y las palabras para corregir cualquier palabra que parezca haber sido procesada incorrectamente durante el proceso de OCR. También tenemos en cuenta las palabras vecinas, después de todo, "gracias por todo el pescado" es más plausible que "gracias por todo el pescado".
ProcessMaker IDP se ocupa de la gestión inteligente de contenidos. Ofrecemos soluciones innovadoras y Post-OCR forma parte de una cadena más amplia de soluciones de Machine Learning que están disponibles. Construir esta solución nosotros mismos asegura que tenemos la calidad de alto nivel que es altamente ajustable a las necesidades de nuestros clientes. Además, esto proporciona una fácil integración con otros componentes inteligentes en ProcessMaker IDP. ¡Y eso por menos de lo que cuestan algunas de las soluciones actualmente disponibles!
A continuación mostraremos algo del Post-OCR en acción. Supongamos que estamos procesando un documento que ha sido escaneado a una resolución relativamente baja. Todavía es legible para el ser humano, y el motor de OCR puede realizar el OCR en él, pero todavía nos quedan errores de obstrucción.
Al aplicar nuestro algoritmo a un artículo de periódico histórico vemos algunos errores típicos de OCR, como se muestra. Los errores son fácilmente corregidos por Post-OCR. Los caracteres que faltan o los que el motor de OCR lee mal no suponen ningún problema. Dado que "Reginald" se ha observado en los datos de entrenamiento, Post-OCR fue capaz incluso de corregir este nombre. Un mayor entrenamiento con documentos similares hará que Post-OCR sea aún más robusto a medida que aumente el conocimiento estadístico sobre el campo.
Además de un paquete básico de Post-OCR, se pueden añadir fácilmente más contenidos. Por ejemplo, soporte para todos los idiomas basados en el alfabeto. Un bootstrap para que la solución ya esté ajustada en el momento de la implantación o un diccionario mejor ajustado a sus necesidades. Como nuestra solución Post-OCR es totalmente interna, tenemos el control total.
El desarrollo de nuestro algoritmo Post-OCR nos planteó varios retos. El problema es de naturaleza lingüística, pero para una implementación eficiente, también necesitábamos mantener una complejidad computacional razonable. Como equipo de aprendizaje automático en Onior, aquí es donde destacamos. Combinamos todas nuestras habilidades para conseguir ideas nuevas e innovadoras e implementarlas como soluciones eficientes.
Utilizando las herramientas Post-OCR que creamos y con la formación adecuada, conseguimos mejorar las capacidades de los sistemas tradicionales de OCR. Al final enseñamos al ordenador una tarea que nos parece sencilla pero que le cuesta hacer. Ahora será capaz de leer sin murmurar:
La casa se encontraba en una ligera elevación justo en el borde del pueblo...