Presentamos la extracción de texto de PDF con un Robot de IA
Desde hace un tiempo, ofrecemos Robots impulsados por IA que van más allá de las capacidades normales de nuestros Robots. Por ejemplo, muchos de ustedes conocerán nuestro laborioso Robot /image/facedetect, que reconoce automáticamente las caras dentro de una imagen. Es perfecto para identificar una cara en una imagen y luego recortarla para la foto de perfil de un usuario.
Hoy nos entusiasma presentar una nueva incorporación a nuestra familia de Robots de IA: el Robot /document/ocr.

Quienes tengan buen ojo habrán notado que ya ofrecemos el Robot /image/ocr, que cumple un papel similar, pero reconociblemente distinto, dentro de nuestro arsenal.
Si echamos un vistazo bajo el capó, el Robot /document/ocr funciona con AWS Textract y GCP Document AI. Esto significa que está entrenado explícitamente para trabajar con documentos extensos y grandes bloques de texto, el tipo de texto que podrías encontrar en una novela o en un artículo científico. Además, funciona de maravilla al extraer texto de tablas y formularios, lo que significa que también está bien preparado para manejar facturas, por ejemplo.
En comparación, el Robot /image/ocr usa Amazon Rekognition y la Vision API de GCP, que están entrenados con fragmentos pequeños de texto, por ejemplo en señales de alto, etiquetas de paquetes y distintivos con nombre.
Sin embargo, quizás la diferencia más importante sea que el Robot /document/ocr tiene soporte para PDF, lo que lo hace ideal para manejar documentos importantes de tus clientes.
Extracción de texto
Como siempre, la mejor manera de conocer estas diferencias no es que yo te las cuente, sino que te las muestre. Así que analicemos la diferencia en la salida del Robot /document/ocr frente a la del Robot /image/ocr.
Aquí está el primer Template, que usa el Robot /image/ocr.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"detect": {
"robot": "/image/ocr",
"use": ":original",
"provider": "aws",
"format": "meta",
"granularity": "full"
},
"exported": {
"use": "detect",
"robot": "/s3/store",
"credentials": "my_s3_credentials"
}
}
}
Y luego el segundo Template, que usa el Robot /document/ocr.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"detect": {
"robot": "/document/ocr",
"use": ":original",
"provider": "aws",
"format": "meta",
"granularity": "full"
},
"exported": {
"use": "detect",
"robot": "/s3/store",
"credentials": "my_s3_credentials"
}
}
}
Las siguientes imágenes muestran los cuadros delimitadores de ambos Templates superpuestos sobre una factura de ejemplo, con /image/ocr a la izquierda y /document/ocr a la derecha.


Como se demuestra, el Robot /document/ocr hace un trabajo mucho mejor al reconocer la información relevante del documento, sobre todo en lo que respecta a la tabla y al texto posterior, donde el Robot /image/ocr parece tener algo más de dificultad.
Para quienes tengan curiosidad sobre cómo obtuvimos los cuadros delimitadores de ambos
Robots, usamos un valor granularity de
full para incluir los cuadros delimitadores del texto reconocido como parte
de la salida. Si solo te interesa el texto reconocido, cambia este valor a
list.
¡Eso es todo lo que hace falta para empezar a reconocer texto en documentos o imágenes! No hace falta rastrear la documentación de un SDK ni pelear con una API. Es así de sencillo.
¡Hasta la próxima!
Eso es todo lo que tenemos para mostrar por ahora. No dudes en escribirnos si tienes una idea nueva y convincente para un Robot, ya que siempre buscamos nuevas formas de innovar 💡
