1.3. Aquitectura

En este apartado se describen los fundamentos de la plataforma propuesta.

Boletín

La manera en que los módulos representan y comparten sus resultados intermedios es una parte importante de la arquitectura. Se identifica la necesidad de tener una estructura basada en objetos que permita la representación de objetos, propiedades y valores. Los tipos de objeto se pueden relacionar los unos con los otros mediante una relación de herencia simple.

El boletín contiene, lógica y físicamente, los documentos asociados al dossier recibido (la vista de cliente del boletín interno) que tiene que ser clasificado. Los módulos de Clasificación, Extracción, Validación y Transformación comparten y registran sus resultados intermedios en términos del modelo de objetos dentro del Boletín. El Boletín es la interfaz principla con la que interactúa cada módulo de la plataforma. La plataforma proporciona una implementación eficiente del Boletín con múltiples interfaces de programación. A través de estas interfaces, los módulos interactúan con el boletín y leen y escriben los resultados intermedios. Las interfaces del Boletín proporcionan un conjunto de métodos de acceso que permiten a los módulos obtener iteradores indexados a los diferentes objetos del Boletín.

Adaptador de Entrada / Salida

Este componente se encarga de la llegada de peticiones recibidas desde sistemas externos y de las potenciales respuestas generadas. La petición de respuesta debería aceptarse en los modelos PUSH y PULL y proporcionar mecanismos SÍNCRONOS y ASÍNCRONOS para los agentes externos e internos. Además, el estado del sistema se hace PERSISTENTE para evitar la pérdida de la petición en caso de fallo del sistema.

Una vez recibida la petición, se traduce en un Bolletín y, si no se produce ningún error, se envía una confirmación a la aplicación cliente. Cualquier error en la recepción o en la traducción de la petición se informa a la aplicación cliente mediante las interfaces definidas.

Los datos de la petición que resultan de las etapas intermedias se almacenan en la Tabla de Boletines (que guarda los Boletines) para ser REUTILIZADOS, que se convierte en un elemento común conectado a la representación interna de la petición a lo largo de todo su ciclo de vida. Entre otras entradas se almacenan los datos del cliente, los resultados del OCR, los resultados de clasificación o el historial de operaciones.

Motor de Clasificación

Cuando se recibe una petición y se fija su estado como inicializado, la siguiente etapa en su ciclo de vida es la clasificación del documento asociado a ella. Esta tarea la realiza el Motor de Clasificación. Se utilizan diferentes estrategias de clasificación que van desde el uso del contenido del contenido hasta el de la disposición de las cajas del mismo. La combinación de estas estrategias se realiza desde dos aproximaciones: Clasificación filtrada y Clasificación no filtrada

Estas aproximaciones fuerzan el tipo de solución a implementar: workflow, motores de reglas, grids, redes de neuronas como subetapas como entradas... Cada resultado parcial puede ser útil para posteriores etapas de la clasificación del dossier y, por ello, se almacena y se permite su acceso a las partes interesadas. La clasificación final es una agregación de todos los resultados parciales considerados como una clasificación por si misma.

Motor de Extracción

Una vez que se ha identificado el contenido del descriptor, a partir de la etapa de clasificación o de otro agente externo (tal vez por un error en la clasificación), los contenidos se introducen en la etapa de extracción de datos realizada por el Motor de Extracción. En esta etapa, se utilizan algoritmos de mejora de imagen y de OCR para procesar el documento recibido y extraer los datos del descriptor proporcionado. Un elemento intermedio actúa como adaptador o interfaz para evitar crear dependencias con cualquier solución OCR.

Motor de Validación

Es probable que existan errores de reconocimiento en los datos extraídos de los documentos contenidos en las peticiones recibidas debido a la calidad del documento. Por tanto, hace falta un paso de post-validación que asegure que ciertos campos, nombres, etc. están dentro de los ámbitos o rangos establecidos a priori. Para esta validación, se utiliza la descripción de los datos incluida en el descriptor y se accede a diccionarios, bases de datos para el escenario relacionado u otros contenedores de datos. 

Motor de Transformación

Los sistemas en los que se despliega la plataforma tienen formatos diferentes formatos para encapsular los datos que necesitan de los documentos recibidos. El Motor de Transformación se encarga de componer los datos en este formato particular.

Repositorio de Descriptores

Como se estableció previamente, se define un conjunto de descriptores que es usado por los diferentes componentes dentro y fuera del sistema propuesto. Un descriptor define la estructura del documento basándose en la agregación de sus páginas. Por tanto, hace falta un repositorio común que permita la gestión y operación con los descriptores y una interfaz que facilite la interacción con ellos.

Cada descriptor se compone por un conjunto de páginas basadas en la naturaleza del documento y contiene un conjunto de propiedades para cada sistema que permiten una forma más fácil de acceso a los mismos cuando el número de descriptores lo sugiera.

Orquestador del Sistema

Ahora que ya se han identificado todos los componentes, se puede ver la necesidad de un componente que los coordine y que controle el comportamiento global del sistema. El Orquestador del Sistema se encarga de definir qué elemento del sistema debe actuar en cada etapa del ciclo de vida del Boletín y de las posibles adaptaciones de otros elementos en etapas anteriores.

1. Introducción
1.1. Escenario inicial
1.2. Esquema de funcionamiento
1.3. Arquitectura
2. Componentes
2.1. Interacción de componentes
2.2. Sistema orquestador
2.3. Adaptador entrada / salida
2.4. Motor de clasificación
2.5. Motor de extracción
2.6. Motor de validación
2.7. Motor de transformacion
2.8. Repositorio de descriptores

Tags: