
En el mundo de la captura documental los documentos se han dividido tradicionalmente en tres tipos; estructurados, semi estructurados y no estructurados.
Hace más de 20 años, los primeros programas de captura se centraban en capturar información de documentos estructurados, en los cuales se sabía en qué posición estaba cada uno de los datos. En aquella época, en la que el uso de páginas web no estaba todavía extendido, era habitual utilizar este tipo de formularios para comunicarse con las empresas y se consiguió automatizar miles de procesos de captura de este tipo (pedidos, encuestas, partes de trabajo, exámenes, etc.)
Después se empezó a automatizar la captura de documentos semi estructurados, en los cuales los datos varían de posición, pero se pueden crear reglas para encontrarlos. El proyecto típico era la captura de facturas de proveedores, en los que se conseguía capturar alrededor de un 70% de los datos automáticamente. Posteriormente se introdujo la técnica de aprendizaje automático de plantillas de proveedores, que ahora se anuncia como “Machine Learning”. Esta técnica hace que el software aprenda cómo es la factura de cada proveedor después de que el usuario haya indicado dónde están los datos. Una vez aprendidos los principales proveedores y combinando aprendizaje con el uso de reglas, se conseguía capturar más del 90% de los datos de las facturas. En los últimos 10 años hemos implementado cientos de proyectos de este tipo y hoy día seguimos ayudando a compañías que todavía no han automatizado su proceso de cuentas a pagar.
Y no ha sido hasta hace unos pocos años que se ha empezado a trabajar en la captura de documentos no estructurados, en los que no existen reglas a aplicar y en los que tampoco se puede utilizar técnicas de aprendizaje de plantillas porque no se suelen repetir documentos del mismo tipo (plantillas). Es el caso de la captura de datos de hipotecas, escrituras, actas notariales o correos electrónicos que lleguen a una cuenta.
Para extraer información de estos documentos se han de utilizar técnicas de inteligencia artificial y, más específicamente, de Procesamiento de Lenguaje Natural (NLP en inglés). Existen muchos servicios y programas que usan NLP (MicroSoft, Google, etc.) pero la mayoría están focalizados en la extracción de etiquetas o atributos (por ejemplo, obtener todos los nombres que aparecen en un documento) y en análisis de sentimiento (el texto indica algo positivo o negativo). Además, sus bases de conocimiento están creadas con lenguaje natural (el lenguaje que hablamos normalmente), que no suele ser el lenguaje que se utiliza en documentos de negocio. Por ello es importante utilizar una herramienta que sea capaz de usar técnicas NLP para encontrar datos específicos de un documento (por ejemplo, si existen varios nombres en un documento, debe indicar quién es el Notario y quién el Compareciente). Las herramientas más generalistas no suelen servir para este propósito.
Para entender cómo funciona este tipo de soluciones, a continuación muestro un ejemplo de cómo se realiza la captura de datos de Escrituras. El proceso se divide en 3 partes:
- Aprendizaje, es la fase clave, en la cual se debe seleccionar una muestra de documentos significativa (o suficientemente grande) y enseñar al sistema dónde están los datos que buscamos. El motor de inteligencia artificial analiza los textos (técnica NLP), tanto los que contienen los datos a buscar como los que les rodean (contexto) para encontrar patrones y asignarles un peso.
El entrenamiento se realiza antes de entrar en producción, aunque siempre se puede ajustar posteriormente con nuevas muestras. Como resultado, el software creará una base de conocimiento conteniendo todo el análisis de patrones.
En este vídeo muestro cómo se realiza la fase de aprendizaje usando unas muestras de Escrituras como ejemplo:
- Reconocimiento. Ya en la fase de producción, lo primero que se realiza es el reconocimiento de los documentos. En este momento se aplica la base de conocimiento a cada documento para encontrar los patrones que puedan coincidir en cada uno de los datos. Además del dato en sí mismo, el software devuelve un porcentaje de confianza.
La fase de reconocimiento se suele ejecutar de manera autónoma y como un servicio invisible a los usuarios. Sin embargo, en este vídeo muestro cómo se realizaría manualmente y lo rápido que es:
- Validación. Tras el reconocimiento se realiza la Validación de aquellos documentos en los que hay alguna incidencia o algún campo no ha podido ser encontrado.
Es importante recordar que todo este tipo de soluciones de captura tiene como objetivo final la reducción del tiempo total del proceso. El objetivo nunca debe ser alcanzar un cierto porcentaje de reconocimiento. En otras entradas del blog ya he analizado más en detalle este tema, porque todavía hay gente que se centra solamente en los porcentajes de captura.
En este vídeo muestro los resultados del reconocimiento anterior aplicado a Escrituras. En una solución en producción el software solamente se parará en aquellos datos que tengan una incidencia a resolver por el usuario pero en este caso he ido parando en cada uno de los datos para que se pueda ver el resultado de la extracción:
Cada vez surgen más proyectos para capturar documentos no estructurados y pienso que será la tendencia en los próximos años. Espero seguir publicando más proyectos de éxito mostrando otros tipos de documento no estructurados.