scieee AI-readable full text Open interactive document viewer

Paso entre entornos de modelos OCR

Bermejo Sotillo, Xavier

Abstract

El Treball de Fi de Grau es centra en el desenvolupament d'una eina per a la gestió d'entorns de models OCR (Reconeixement Òptic de Caràcters) dins de l'empresa Grupo Catalana Occidente. Aquest projecte sorgeix de la necessitat d'optimitzar la gestió dels nostres processadors, encarregats de la classificació i extracció de dades de documents, mitjançant tecnologies de digitalització intel·ligent. L'objectiu principal és crear una eina eficient que permet als treballadors del departament de Transformació Digital gestionar de manera més efectiva els processadors OCR. Això implica poder gestionar les dades que aquests processadors necessiten per funcionar, podent així realitzar la tasca de gestió d'una forma àgil millorant els mètodes actuals, que són tediosos i poc eficients. El projecte segueix la metodologia àgil SCRUM, adaptada per facilitar la col·laboració contínua i la gestió dinàmica de tasques. El projecte s'ha dut a terme seguint el cicle de vida del programari. El procés inclou des de l'anàlisi funcional i tècnic fins a la implementació i proves de l'eina desenvolupada. S'ha realitzat una investigació sobre l'estructura i el funcionament dels processadors OCR dins de l'empresa, utilitzant Google Cloud Platform per a la gestió de la tecnologia OCR. La implementació de l'eina inclou un sistema que permet la creació, edició i eliminació de paràmetres i documents, juntament amb altres elements associats als processadors OCR. L'eina desenvolupada ha millorat significativament l'eficiència en la gestió dels processadors OCR, reduint el temps necessari per a la configuració i l'administració de tots els elements relacionats amb els processadors. Les proves realitzades demostren que l'eina compleix amb l'objectiu, gestionant les dades de manera robusta i agilitzant el procés de gestió. El projecte conclou amb èxit en proporcionar una solució robusta i funcional per a la gestió d'entorns de models OCR.

Full text

TRABAJO FINAL DE GRADO TÍTULO: Paso entre entornos de modelos OCR AUTOR: Bermejo Sotillo, Xavier FECHA DE PRESENTACIÓN: 05/07/2024 APELLIDO: NOMBRE: Bermejo Sotillo Xavier TITULACIÓN: Grado en Ingeniería Informática PLAN: 2024 DIRECTOR: Balduí Blanqué Molina DEPARTAMENTO: Ingeniería Eléctrica CALIFICACIÓN DEL TFG Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier TRIBUNAL PRESIDENTE, SECRETARIO, VOCAL, FECHA DE LECTURA: Josep Font Mateu, Lluís Monjo Mur, Jaume Miquel Masalles, 5/7/24 Aquest Projecte té en compte aspectes mediambientals: Sí XNo 1 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier RESUMEN El Trabajo de Fin de Grado se centra en el desarrollo de una herramienta para la gestión de entornos de modelos OCR (Reconocimiento Óptico de Caracteres) dentro de la empresa Grupo Catalana Occidente. Este proyecto surge de la necesidad de optimizar la gestión de nuestros procesadores, encargados de la clasificación y extracción de datos de documentos, mediante tecnologías de digitalización inteligente. El principal objetivo es crear una herramienta eficiente que permita a los trabajadores del departamento de Transformación Digital gestionar de manera más efectiva los procesadores OCR. Esto implica poder gestionar los datos que estos procesadores necesitan para funcionar, pudiendo así realizar la tarea de gestión de una forma ágil mejorando los métodos actuales que son tediosos y poco eficientes. El proyecto sigue la metodología ágil SCRUM, adaptada para facilitar la colaboración continua y la gestión dinámica de tareas. El proyecto se ha realizado siguiendo el ciclo de vida del software. El proceso incluye desde el análisis funcional y técnico hasta la implementación y pruebas de la herramienta desarrollada. Se ha llevado a cabo una investigación sobre la estructura y el funcionamiento de los procesadores OCR dentro de la empresa, utilizando Google Cloud Platform para la gestión de la tecnología OCR. La implementación de la herramienta incluye un sistema que permite la creación, edición y eliminación de parámetros y documentos junto a otros elementos asociados a los procesadores OCR. La herramienta desarrollada ha mejorado significativamente la eficiencia en la gestión de los procesadores OCR, reduciendo el tiempo necesario para la configuración y la administración de todos los elementos relacionados con los procesadores. Las pruebas realizadas demuestran que la herramienta cumple con el objetivo, manejando los datos de una forma robusta y agilizando el proceso de gestión. El proyecto concluye con éxito al proporcionar una solución robusta y funcional para la gestión de entornos de modelos OCR. Enfocándonos finalmente en líneas futuras para seguir mejorando esta herramienta, aportando nuevas tecnologías de integración con nuestro proveedor de tecnología y mejora usabilidad de la herramienta. Paraules clau (màxim 10): OCR Backend Frontend GAAN Operativa Copy Vista Areas 2 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Modelo Parametros Documentos Etiquetas RESUM El Treball de Fi de Grau es centra en el desenvolupament d'una eina per a la gestió d'entorns de models OCR (Reconeixement Òptic de Caràcters) dins de l'empresa Grupo Catalana Occidente. Aquest projecte sorgeix de la necessitat d'optimitzar la gestió dels nostres processadors, encarregats de la classificació i extracció de dades de documents, mitjançant tecnologies de digitalització intel·ligent. L'objectiu principal és crear una eina eficient que permet als treballadors del departament de Transformació Digital gestionar de manera més efectiva els processadors OCR. Això implica poder gestionar les dades que aquests processadors necessiten per funcionar, podent així realitzar la tasca de gestió d'una forma àgil millorant els mètodes actuals, que són tediosos i poc eficients. El projecte segueix la metodologia àgil SCRUM, adaptada per facilitar la col·laboració contínua i la gestió dinàmica de tasques. El projecte s'ha dut a terme seguint el cicle de vida del programari. El procés inclou des de l'anàlisi funcional i tècnic fins a la implementació i proves de l'eina desenvolupada. S'ha realitzat una investigació sobre l'estructura i el funcionament dels processadors OCR dins de l'empresa, utilitzant Google Cloud Platform per a la gestió de la tecnologia OCR. La implementació de l'eina inclou un sistema que permet la creació, edició i eliminació de paràmetres i documents, juntament amb altres elements associats als processadors OCR. L'eina desenvolupada ha millorat significativament l'eficiència en la gestió dels processadors OCR, reduint el temps necessari per a la configuració i l'administració de tots els elements relacionats amb els processadors. Les proves realitzades demostren que l'eina compleix amb l'objectiu, gestionant les dades de manera robusta i agilitzant el procés de gestió. El projecte conclou amb èxit en proporcionar una solució robusta i funcional per a la gestió d'entorns de models OCR. Ens enfoquem finalment en línies futures per seguir millorant aquesta eina, aportant noves tecnologies d'integració amb el nostre proveïdor de tecnologia i millorant la usabilitat de l'eina. 3 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Paraules clau (màxim 10): OCR Backend Frontend GAAN Operatives Copy Vistes Àrees Model Paràmetres Documents Etiquetes ABSTRACT The Final Project is centered on creating a tool to manage the environments of OCR (Optical Character Recognition) models in the company Grupo Catalana Occidente. This project is born of the necessity to better manage our processors, or more specifically smart digitization tools that are in charge of the extraction of data from documents. Their main purpose is to design an effective application, which will be used by the employees of the Digital Transformation department for managing the OCR processors. This involves the management of the data that these processors need in order to operate, thus making this management task more flexible and enhancing the current methods which are time consuming and cumbersome. This project is done using the agile SCRUM approach which was modified to suit continuous working and the changing of tasks. This has been done in a sequential order in accordance with the software life cycle of the project. It covers functional and technical investigation, design, development, and evaluation phases of the tool. A research and assessment of the structure and mechanism of the OCR processors in the company have been made controlling the OCR with Google Cloud Platform. This implementation also has a system for the creation, modification, and deletion of parameters and documents as well as other components relative to the OCR processors. The developed tool helps in simplifying the management of OCR processors so that it greatly decreases the time spent on configuring and administering all the aspects connected with the processors. A series of tests proves that the tool accomplishes its purpose, effectively handling the data and making the management more efficient. The project accomplishes the goals and offers a stable and efficient solution to manage the OCR model environment. Last but not least, we address the area for future work in order to further refine this tool and explore the new integration technologies with the technology provider, and the ways to make the tool more user friendly. 4 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Keywords (10 maximum): OCR Backend Frontend GAAN Operational Copy Views Areas Model Parameters Documents Labels 5 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier SUMARIO SUMARIO............................................................................................................................. 6 0 Introducción..............................................................................................................12 0.1 Antecedentes.....................................................................................................12 0.2 Motivación......................................................................................................... 12 0.3 Justificación y Objetivos.................................................................................... 13 0.4 Alcance..............................................................................................................14 0.5 Organización del proyecto.................................................................................14 0.5.1 Metodología..............................................................................................14 0.5.2 Recursos...................................................................................................15 0.5.2.1 Herramienta para SCRUM...............................................................15 0.5.2.2 Hardware......................................................................................... 16 0.5.2.3 Software...........................................................................................16 0.5.3 Actores Implicados................................................................................... 16 0.6 Estructura del trabajo........................................................................................ 17 1 Estado del arte..........................................................................................................18 2 Estudio de la problemática......................................................................................20 2.1 Contexto y problemática....................................................................................20 2.2 Punto de partida................................................................................................ 21 2.2.1 Google Cloud............................................................................................21 2.2.2 Estructura interna de la empresa..............................................................24 3 Propuesta a implementar........................................................................................25 3.1 Que es GAAN....................................................................................................27 3.1.1 Operativa.................................................................................................. 27 3.1.2 Vista..........................................................................................................28 4. Implementación y Desarrollo de la solución propuesta......................................29 4.1 Arreglos Base de datos..................................................................................... 32 Parametros........................................................................................................ 32 Areas................................................................................................................. 33 Etiquetas............................................................................................................34 Documento / DocumentoPaso...........................................................................35 Estructura Final..................................................................................................37 4.2 Boceto de la herramienta.................................................................................. 37 Areas................................................................................................................. 38 Buscador de Modelos........................................................................................39 Parámetros / Documentos / Etiquetas / Modelo................................................ 40 Etiquetas............................................................................................................41 Documentos.......................................................................................................43 6 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier DocumentoPaso................................................................................................ 45 Boceto final........................................................................................................47 4.3 Desarrollo de los backends............................................................................... 48 BE de Búsqueda................................................................................................48 BE de búsqueda................................................................................................ 48 BE de Gestion....................................................................................................49 BE de Eliminado................................................................................................ 50 BE de Gestión del Modelo.................................................................................50 BE con actividad compuesta............................................................................. 51 4.4 Desarrollo de operativas en GAAN................................................................... 52 Areas................................................................................................................. 53 Buscador de Modelos........................................................................................54 Gestión Modelo (Parámetros / Documentos / Etiquetas).................................. 56 Buscador de Documentos y De Etiquetas.........................................................58 4.5 Pantallas de las operativas................................................................................60 Pantallas de Búsqueda......................................................................................61 Pantallas de Gestión (Añadir y Editar)...............................................................62 Pantalla de Gestión de un Modelo.....................................................................65 4.6 Seguridad......................................................................................................... 65 5. Pruebas / Resultados.............................................................................................67 5.1 Pruebas de Inserciones, Borrados y Ediciones.................................................67 5.1.2 Inserciones............................................................................................... 67 5.1.2 Borrados................................................................................................... 68 5.1.3 Ediciones.................................................................................................. 68 5.1.4 Validación en la Base de Datos................................................................69 5.3 Pruebas de Búsqueda.......................................................................................69 5.4 Evaluación de la Usabilidad.............................................................................. 69 6. Presupuesto y valor................................................................................................ 70 6.1 Costos Humanos...............................................................................................71 6.2 Costos Adicionales............................................................................................71 6.2.1 Gasolina....................................................................................................71 6.2.2 Costo de Electricidad e Internet................................................................71 6.3 Resumen del coste total....................................................................................72 6.4 Amortización......................................................................................................72 6.4.1 Costos de gestión, antes y después.........................................................72 6.4.2 Tiempo de amortización........................................................................... 73 6.4.3 Retorno de la Inversión (ROI)...................................................................73 6.5 Valores adicionales............................................................................................73 6.5 Conclusión del valor del trabajo........................................................................ 74 7. Conclusiones...........................................................................................................74 8 Líneas Futuras de trabajo........................................................................................75 8.1 Áreas de Mejora................................................................................................ 75 7 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier 8.2 Conexión con nuestro proveedor Google Cloud Platform.................................76 8 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Figura 1: Roles en la metodología SCRUM El Product Owner (PO),es el responsable de definir y priorizar los requisitos del cliente o proyecto. El Scrum Master (SM), es el encargado de que se cumpla la metodología SCRUM y eliminar obstáculos para el equipo. El Equipo de Desarrollo, son los responsables de completar las tareas definidas en cada sprint. [4] En mi caso, al ser nuevo y estar realizando prácticas en la empresa, mi rol en el equipo es como desarrollador. Pero en este proyecto llevo a cabo de cierta manera los tres papeles, ya que realizo el desarrollo como un desarrollador, defino y priorizo como un PO junto al PO de mi empresa y soy responsable de gestionar mis tareas de TFG como un SM. A parte de la metodología SCRUM para gestionar las tareas a realizar, se ha utilizado una metodología basada en el llamado “Ciclo de la vida del software” para realizar un desarrollo más eficaz. El ciclo de vida del software comienza con la escritura de una documentación funcional, donde se definen los datos presentados en las pantallas, cómo se utilizarán y las acciones que puede llevar a cabo el usuario. Este documento va acompañado de unos bocetos de las pantallas que utilizará el usuario. Luego, se crea la documentación técnica que detalla cómo se construirá el software y qué lógica hay por detrás de la herramienta. A continuación, en la fase de desarrollo, se convierte el diseño en código y pantallas funcionales. Tras esto, se realizan pruebas para asegurar que todo funcione correctamente. Una vez probado se lanzaría a producción y se llevaría a cabo un mantenimiento constante para asegurar su buen funcionamiento. (Esta parte queda fuera del proyecto). La documentación técnica y funcional podrá encontrarse en el anexo. 0.5.2 Recursos 0.5.2.1 Herramienta para SCRUM Para llevar a cabo esta metodología usaré la herramienta JIRA. Esta herramienta es muy utilizada por empresas para gestionar metodologías ágiles como SCRUM. Jira nos permite crear y priorizar tareas. Tareas que serán asignadas a los desarrolladores del equipo, permitiéndonos hacer un seguimiento del progreso y generar gráficos para evaluar la eficiencia del equipo. En Jira todas las tareas estarán organizadas por sprints mediante un tablero con una serie de columnas para identificar en qué estado se encuentra cada tarea. La columnas principales son: - Abierto, es una columna que acostumbra a llamarse “To Do”, esta columna contiene las tareas que se deben hacer durante el sprint. 15 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier - Progreso, es una columna que acostumbra a llamarse “Doing”, esta columna contiene las tareas que estamos realizando y aún no se han completado. - Cerrado, es una columna que acostumbra a llamarse “Done”, esta columna contiene las tareas ya finalizadas con éxito. 0.5.2.2 Hardware - Portátil personal, para el redactado del trabajo. - Portátil de empresa, para gestionar mi tablero de scrum, llevar a cabo todo el análisis del entorno en el que trabajaremos, crear la herramienta e interactuar con nuestro proveedor de OCR. - Periféricos: Ratón y auriculares. 0.5.2.3 Software - Visual Studio, para implementar el código de la herramienta y utilizar GAAN (Software de la empresa, explicado más adelante) - Google Cloud Platform, para poder visualizar nuestros procesadores OCR que nos provee Google. - Word o Google Docs, para el redactado de la memoria y redactado de la documentación técnica y funcional de la herramienta. - SQL Server, es la plataforma de administración de base de datos que utilizamos en la empresa. Con esta plataforma gestionamos todos nuestros procesadores OCR junto a sus parámetros y documentos de los cuales se quiere hacer una extracción de datos. 0.5.3 Actores Implicados Detrás de este proyecto hay varias personas implicadas que serán de gran ayuda para llegar a cumplir los objetivos indicados anteriormente. Debido a que no puedo nombrar a todas las personas a las que puedo recurrir en cualquier momento durante la ejecución del proyecto, nombraré a las personas más relevantes. En primer lugar, Andrei Hernandez Poveda, mi tutor de empresa el cual me dio la oportunidad de empezar este proyecto, me guía en todo el análisis , implementación y pruebas al mismo tiempo que resuelve todas mis dudas dentro de la empresa. Balduí Blanqué Molina, mi tutor tanto en TFE como tutor de empresa en la universidad. Que me guía en toda la estructura de la memoria procurando que el proyecto cumpla con un mínimo de calidad ofreciendo varios recursos, directrices e ideas que me ayudan a llevar a cabo el proyecto y abrirme la mente en momentos en que no se por donde enfocar el proyecto. Aún sin nombrarlos uno a uno, también he de nombrar a mis compañeros de departamento, que siempre que he requiero de ayuda se ofrecen a ayudar impulsando mi formación dentro de la empresa, conllevando una mejor implementación en el proyecto. 16 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier 0.6 Estructura del trabajo Para identificar la estructura y organización de este trabajo para llegar a los objetivos, este documento se estructura de la siguiente manera: Capítulo 0: Introducción: En este capítulo se explica el contexto general del trabajo. Se explican los antecedentes del proyecto que se está realizando y se indica la motivación del proyecto. Se hace una justificación del proyecto y se indican los objetivos que se desean alcanzar. Por último se explica la organización del proyecto, metodología utilizada, los recursos necesarios y se identifican los actores implicados, indicando sus roles y responsabilidades. Capítulo 1: Estado del arte: En este capítulo, se expone la evolución del OCR (Reconocimiento Óptico de Caracteres) desde sus inicios hasta su desarrollo actual. También se explica cómo esta tecnología ha mejorado en precisión y adaptabilidad. Finalmente, se describen las prácticas comunes en la implementación de OCR entre las empresas actualmente. Capítulo 2: Estudio de la problemática: En este apartado se explica la problemática actual de la empresa asociada con el uso de la tecnología OCR y su gestión en el entorno local de la empresa. Problemática que puede conllevar procesos lentos y propensos a errores de gestión. Además se expone el estado inicial del cual parte este proyecto, dando un mejor contexto de la problemática y entendiendo mejor la tecnología OCR de la cual nace este proyecto. Capítulo 3: Propuesta a implementar: En este capítulo, se explicará la propuesta de herramienta para ser implementada que solucionará nuestra problemática. Junto a la propuesta, se describirán las herramientas/Tecnologías que se van a utilizar para llevar a cabo la implementación del proyecto. Capítulo 4: Implementación y Desarrollo de la solución propuesta: En este capítulo, se describe el proceso de implementación y desarrollo de la solución propuesta. Se explica el diseño de la herramienta y su arquitectura. 17 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Capítulo 5: Pruebas / Resultados: En este capítulo, se exponen los resultados de las pruebas realizadas a la herramienta desarrollada. Se discuten los resultados obtenidos en relación con los objetivos establecidos y se extraen conclusiones sobre la eficacia y beneficios de la solución implementada. Capítulo 6: Presupuesto y valor: Aquí se presenta el presupuesto del proyecto, desglosando los costos asociados con el desarrollo e implementación de la herramienta. También se valora el tiempo necesario para amortizar el costo y valor general del proyecto. Capítulo 7: Conclusiones: En este capítulo, se resumen las conclusiones más relevantes obtenidas durante el desarrollo del proyecto. Se valora el valor final de la herramienta para administrar los procesadores de OCR, valorando su influencia en el flujo de trabajo. También se valoran los objetivos cumplidos y el alcance final del proyecto. Capítulo 8: Líneas Futuras de trabajo: En este capítulo se indican posibles líneas futuras de trabajo para la mejora de la herramienta y aumentar sus funciones dentro de la empresa. Se plantean mejoras para optimizar aún más los procesos e incluir nuevas aplicaciones dentro de la herramienta. 1 Estado del arte El OCR, o Reconocimiento Óptico de Caracteres, aparece de la necesidad de convertir texto impreso o manuscrito en datos legibles por máquina [1]. Se originó a principios del siglo XIX, cuando varios inventores e investigadores empezaron a investigar sobre el uso de máquinas para reconocer e interpretar texto escrito. Inventores como Emanuel Goldberg crearon máquinas capaces de leer e interpretar texto impreso de manera automática. [2] Las implementaciones iniciales eran simples, funcionaban con mecanismos y se centraban en la detección básica de patrones de luz y sombra en documentos impresos, teniendo limitaciones sobre el tipo de fuentes que pueden reconocer y era necesario hacer una alineación precisa del texto [1]. La evolución del OCR se produjo en era electrónica en los años 1950, con máquinas como la "IBM 704", que tenían la capacidad de reconocer caracteres impresos y 18 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier convertirlos en datos electrónicos, aunque con limitaciones y necesidad de hardware especializado. [1] Desde entonces, el OCR ha ido mejorando cada vez más, siendo más aceptado en el mundo tecnológico e impulsando su mejora continua. A día de hoy gracias a la introducción del Machine Learning ha sido el avance más significativo, ya que ha permitido a los sistemas OCR adaptarse y aprender de los datos, lo que ha mejorado la capacidad de reconocer más tipos de fuentes y estilos de escritura. El OCR se ha revolucionado gracias a la integración de redes neuronales, en particular el aprendizaje profundo, lo que ha permitido reconocer texto escrito manualmente y texto distorsionado, a la vez que puede comprender el contexto del texto analizado. Esto ha provocado que que esta tecnología se popularice cada vez más, llegando al punto en que las empresas comiencen a utilizarla por su gran potencial. El OCR ha evolucionado de ser una idea del siglo XIX a convertirse en una herramienta tecnológica con gran potencial en diferentes sectores empresariales. En resumen: Tradicionalmente, la tecnología OCR se ha basado en reglas y plantillas para extraer datos de documentos o imágenes, lo que implica un proceso largo y costoso. Sin embargo, debido a la creciente demanda de automatización empresarial, se ha utilizado la Inteligencia Artificial para potenciar esta tecnología. La inteligencia artificial es capaz de reconocer datos sin necesidad de reglas específicas, eliminando las limitaciones del OCR tradicional. [3] Debido a que la tecnología OCR se está popularizando en estos últimos tiempos y no puedo saber cómo otras empresas gestionan sus proyectos relacionados con esta tecnología, haré una explicación de los puntos comunes que pueden tener las empresas en la utilización de esta tecnología. Estos puntos pueden variar dependiendo de las necesidades y recursos que tenga cada empresa. Algunos puntos comunes entre empresas,son: -Selección de software OCR: Cada empresa elige entre varios softwares de OCR disponibles en el mercado. Pueden optar por diversos proveedores según se adapten a sus necesidades, como la cantidad de documentos a procesar, la precisión requerida o la que más se adapte al entorno de la empresa para su integración. En nuestro caso se ha optado por Google Cloud Platform, pero se han probado otros proveedores, como Datacap con la que se empezó en la empresa o Captiva , proveedor del que nos deshicimos a principios de año para enfocarnos únicamente en Google. -Integración con entorno empresarial: Muchas empresas integran sus sistemas OCR con otros sistemas empresariales, como sistemas de bases de datos (SQL Server) para controlar todos los datos generados, software propio de la empresa como el caso de los sistemas de gestión documental o como puede ser GAAN 19 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier para crear aplicativos. Esta integración puede automatizar aún más el flujo de trabajo y mejorar la eficiencia. Este proyecto está enfocado en esta parte de integración con el entorno empresarial. Con el proveedor Google Cloud y nuestros sistemas, SQL Server y GAAN -Entrenamiento y mejora continua: Algunos proveedores OCR permiten entrenar sus modelos con datos proporcionados por las empresas para mejorar la precisión del reconocimiento de caracteres en casos de uso particulares. Además, las empresas suelen gestionar sus sistemas OCR y realizar ajustes periódicos para mejorar la precisión y la eficiencia de cada modelo. -Seguridad: Las empresas también deben tener en cuenta la seguridad y el cumplimiento normativo al gestionar sus sistemas OCR, especialmente si están procesando documentos sensibles. Como puede ser nuestro caso gestionando documentos de pólizas, DNIs, documentación sanitaria, etc. Estos proveedores han de cumplir con reglamentos como GDPR [7] o HIPAA [8] cumpliendo con la privacidad de datos sensibles. 2 Estudio de la problemática 2.1 Contexto y problemática En el mundo empresarial de hoy en día, es muy importante buscar la agilidad para ser competitivos y poder satisfacer las demandas del mercado que siempre está cambiando. Las empresas buscan mejorar la productividad y calidad de sus servicios optimizando sus procesos internos y reduciendo los tiempos de ejecución, utilizando nuevos flujos de trabajo o herramientas que se van incorporando en la compañía. En el sector de seguros (como Catalana Occidente), la lectura y procesamiento de documentación es uno de los trabajos más críticos y más frecuente. Revisar documentos manualmente siempre ha sido una tarea tediosa que puede ser lenta, causar cuellos de botella si la cantidad de documentos es muy alta y es muy propenso a errores humanos. Muchas empresas de seguros han empezado a adquirir tecnologías que ayudan en la automatización de procesos, como el Reconocimiento Óptico de Caracteres (OCR), para solucionar el problema de la lectura de documentos. Mediante esta tecnología es posible transformar las imágenes de documentos en texto que se puede editar, lo cual hace más simple la tarea de buscar, clasificar y extraer información de los documentos de una forma rápida y precisa. 20 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Todo lo relacionado con esta tecnología no es bonito, y a pesar de que la automatización de las lecturas de documentos utilizando procesadores con tecnología OCR ofrece muchos beneficios, muchas empresas tienen dificultades para gestionar dichos procesadores. El hecho de que cada vez se están automatizando más procesos y sean requeridos más procesadores, provoca que la gestión de dichos procesadores sea más costosa de mantener de la forma en que se ha llevado a cabo durante este tiempo. Actualmente, la forma de trabajar en la empresa en la que me encuentro es la siguiente: Al ser una empresa de seguros y no una empresa tecnológica, para crear y utilizar procesadores OCR, adquirimos los servicios de diversos proveedores. En nuestro caso, nuestro proveedor principal es Google Cloud Platform. Dentro de mi departamento hemos creado una estructura de gestión mediante una base de datos donde se almacenan todos los procesadores, sus parámetros, documentos que pueden leer, etc. Además contamos con una serie de BackEnds conectados a la API de nuestro proveedor para poder utilizar los procesadores desde nuestro entorno local (mejor explicado más adelante). Esta estructura de gestión interna es bastante nueva y aún necesita de muchas mejoras para ser más ágil. Actualmente cada vez que se requiere dar de alta un nuevo procesador o hacer algún tipo de cambio en la estructura que envuelve algún procesador OCR, se deben crear y ejecutar scripts manualmente para cada tarea. Esto aumenta la probabilidad de errores y consume más tiempo y esfuerzo, empeorando la agilidad y eficiencia de los trabajadores. Con esta problemática, nace la necesidad de crear una herramienta con la que se pueda gestionar de forma eficiente los procesadores OCR que utilizamos en nuestra compañía. Los trabajadores que utilicen esta herramienta podrán gestionar los procesadores de OCR y así evitar la creación y ejecución manualmente de scripts personalizados para cada procesador. Al desarrollar esta herramienta, el objetivo es mejorar la agilidad en la gestión de los procesos de OCR. Al reducir los tiempos de gestión y reducir errores de la configuración manual de los procesadores de OCR, permitimos a los trabajadores que utilizan esta herramienta, trabajar de una manera más sencilla y eficiente. 2.2 Punto de partida En este apartado se explica el punto de partida desde el cual el proyecto empieza, dando más contexto sobre la problemática y la estructura que hay montada sobre los procesadores OCR que gestionamos en el departamento de transformación digital. 21 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier 2.2.1 Google Cloud Google Cloud es nuestro proveedor de la tecnología OCR. [9] Nos ofrece la capacidad de entrenar procesadores personalizados para leer o clasificar documentos mediante OCR, lo que nos permite crear procesadores OCR totalmente adaptados a los documentos que gestionamos en nuestra empresa. Figura 2 : Esquema OCR Google Cloud Dentro de la plataforma de Google Cloud, hemos organizado una serie de proyectos de acuerdo a las áreas de nuestra empresa. Cada proyecto contiene varios procesadores que se encargan de procesar tipos específicos de documentos. Por ejemplo, tenemos un procesador para facturas, otro para la lectura de DNI, entre otros. Por cada procesador, tenemos una cantidad alta de documentos del mismo tipo. Estos documentos son utilizados para que este procesador pueda usarlos como entrenamiento y así aprender a extraer la información que le sea solicitada. 22 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Figura 3 : Entrenamiento Google Cloud Para que el procesador aprenda a extraer la información requerida, es necesario realizar un etiquetado previo. Durante el etiquetado se indican los campos que el procesador debe aprender reconocer y extraer. Como por ejemplo, número de factura, nombre, etc. Este trabajo de etiquetado es algo tedioso pero últimamente están surgiendo nuevas tecnologías que nos permiten realizar un etiquetado automático simplemente indicando el nombre de la etiqueta (campo que queremos extraer). 23 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Figura 4: Nuevo entrenamiento con IA Una vez que los documentos han sido etiquetados, el procesador puede ser entrenado de manera autónoma. Este proceso de entrenamiento suele completarse en aproximadamente una hora. Con el procesador ya entrenado, únicamente queda validar su correcto funcionamiento. Si el rendimiento no es satisfactorio, podemos realizar un entrenamiento nuevamente proporcionando más documentos etiquetados. Una vez que estamos satisfechos con su rendimiento, el procesador estará listo para extraer automáticamente la información requerida de los documentos que le enviemos. 2.2.2 Estructura interna de la empresa La arquitectura montada internamente en la empresa sobre los procesadores de OCR que nos proporciona nuestro proveedor (Google Cloud Platform), se basa en una serie de backends que se encargan de identificar el procesador adecuado que se ha de utilizar según la solicitud de lectura de un documento mediante OCR, que llega de otro departamento que ha solicitado la lectura OCR. 24 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier nos permite añadir más proveedores en el futuro si es necesario y tener modelos de diferentes proveedores. La tabla ‘DocumentoGDTipo’ almacena el identificador de los documentos que se encuentran en nuestro Gestor Documental y pueden ser leidos por nuestros ‘ModeloTipo’. Esto nos permite tener un control sobre qué documentos puede procesar cada modelo. La tabla ‘ModeloParametroTipo’ nos permite gestionar y almacenar los parámetros más relevantes para la gestión de un procesador. En el caso de nuestro proveedor algunos de los parámetros más importantes son: Fichero de autenticación, ubicación de los procesadores , ruta del repositorio donde se almacenan los documentos en el proveedor, número máximo de lotes procesando en el mismo momento, etc. Finalmente, la tabla ‘ProcesoTipo’ nos permite identificar cual es el uso que se le puede dar a cada ‘ModeloTipo’. Los usos que se le puede dar a un modelo son: OCR general, OCR específico y clasificador de plantillas. Gracias a esta tabla los backends encargados de gestionar peticiones OCR pueden identificar qué modelos pueden llevar a cabo la tarea solicitada. Estas tablas tienen en común diversos campos: - TimCreacion: Indica la hora y día en que se creó el elemento introducido en la base de datos. - UidCreacion: Indica el usuario que creó dicho elemento en base de datos. - IndBaja: Indica si el elemento está dado de baja (Baja = 1, Alta = 0), este campo se utiliza para hacer un borrado lógico en lugar de un borrado físico. - TimModificacion: Indica la hora y día en que se editó el elemento en base de datos. - UidModificacion: Indica el usuario que editó el elemento en base de datos. Además prácticamente todas las tablas contiene un campo que empieza por ‘Cod’ que almacena el código o abreviatura del objeto y un campo que empieza por ‘Des’ que almacena una descripción del objeto. Otros campos importantes son: -ID_DocumentoGDTipo de la tabla DocumentoGDTipo que almacena el identificador del documento dentro del gestor documental de la empresa y de esta maner podemos encontrar dicho documento. -NombreParametro yValorParametro, que nos permite introducir por cada parámetro su valor 31 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier 4.1 Arreglos Base de datos Ya sabiendo como tenemos nuestra base de datos vamos a aplicar algunas mejoras añadiendo o cambiando tablas. De esta manera podremos introducir nuevos elementos dentro de la estructura y gestionar de otra manera algunos elementos ya existentes. Parametros Figura 10 : Diagrama base de datos de parámetros La parte relacionada con los parámetros de un modelo ha sido la que más cambios ha recibido. 32 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Anteriormente los parámetros se almacenaban en una tabla llamada “ModeloParametro” donde se almacenaba conjuntamente el nombre y valor del parámetro. Nuestros modelos siempre contienen los mismos parámetros pero con diferentes valores según el modelo. Al tener nombre y valor en una misma tabla provoca que cada vez que se introduzca un parámetro podamos equivocarnos introduciendo el nombre y que sea algo repetitivo cuando únicamente cambia el valor del parámetro según el modelo. Gastando más memoria en la base de datos para introducir el mismo nombre de parámetro múltiples veces. Para solucionar dichos problemas, se ha decidido separar el nombre y valor en dos tablas diferentes. La nueva tabla “ParametroTipo” nos permite introducir el código (Nombre) del parámetro y su descripción. Mientras que la nueva tabla “ModeloParametroTipoRel” nos permite introducir el valor relacionado a un parámetro y a la vez enlazarnos el valor con el modelo y parámetro por lo que por cada conjunto de modelo-parámetro tenemos un valor. De esta manera podremos seleccionar parámetros predefinidos y únicamente introducir un nuevo valor asociado a un modelo y un parametro. Areas Figura 11 : Diagrama de base de datos de áreas Una parte esencial que se ha añadido son las áreas. Debido a que la empresa trabaja mediante departamentos, como el Departamento de 33 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Salud, el departamento de siniestros, etc., se ha decidido crear la estructura de área para representar a cada departamento que puede solicitar lecturas OCR. Cada área puede contener varios modelos, y un modelo puede estar en diversas áreas al mismo tiempo. Esta estructura nos ayuda a la identificación de qué modelos podemos utilizar para responder a una solicitud de lectura OCR recibida de un departamento específico. Etiquetas Figura 12 : Diagrama base de datos de etiquetas Otra parte nueva que se ha introducido para gestionar más cosas desde nuestro entorno local son las Etiquetas (EtiquetasTipo). ¿Que entendemos como etiquetas? A la hora de entrenar un modelo OCR para que extraiga información de un documento, se han de indicar que partes del documento se quieren extraer y bajo qué nombre identificamos dichas partes. Esto es lo que llamamos etiquetas. Un modelo puede tener varias etiquetas y una etiqueta se puede utilizar en diferentes modelos (Relacion ModeloEtiquetaTipoRel. Etiquetas como, Nombre, DNI. Pueden coincidir en diferentes modelos). 34 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier La tabla de etiquetas contiene los siguientes campos más importantes: -IdEtiquetaTipologiaTipo: Indica qué tipo de información extraerá esta etiqueta en la lectura OCR (Enlace a la tabla EtiquetaTipologiaTipo), por ejemplo, texto sin formato, fecha y hora, dinero, etc. -IndObligatorio: Este campo indica si es obligatoria la extracción de esta etiqueta durante la lectura OCR. - IndRepetición: Indica si la etiqueta puede utilizarse más de una vez en la extracción OCR, por ejemplo, hay dos precios en una factura leída por OCR y se quieren obtener estos dos precios con la misma etiqueta. -IdEtiquetaTipoPadre: Este campo es un identificador hacia otra etiquetas, nos indica si la etiqueta tiene una etiqueta padre y en caso afirmativo, cual es. Por ejemplo, una etiqueta puede extraer el nombre completo (nombre y apellido), mientras que una "Subetiqueta" extraerá solo el nombre o apellido. En este caso, la extracción única tendrá como padre la extracción completa del nombre. - IndHabilitado: Este campo nos indica si la etiqueta está habilitada para extraer información o no. Cada etiqueta puede tener una tipología diferente por ese motivo se ha introducido la tabla EtiquetaTipologiaTipo. Las tipologías disponibles actualmente son: - Texto sin formato - Número - Moneda - Dinero - Fecha y hora - Dirección - Casilla de verificación Con estas nuevas tablas para las etiquetas, podemos controlar y gestionar qué información puede extraer cada modelo OCR. 35 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Documento / DocumentoPaso Figura 13 : Diagrama base de datos de Documento / Documento Paso En la parte de documentos, no se ha realizado ningún cambio importante. Únicamente hemos agregado una nueva tabla que hemos denominado 'DocumentoPaso'. ¿Cuál es la razón detrás de la creación de esta tabla? Como sabemos, contamos con dos tipos de modelos OCR: Modelos que extraen información de un documento y modelos encargados de clasificar los tipos de documentos. Cuando recibimos una solicitud OCR que incluye un documento solicitando extracción de información, inicialmente utilizamos un modelo de clasificación para determinar el tipo de documento, y luego empleamos el modelo de extracción para extraer la información solicitada. También es posible que recibamos solicitudes de clasificación para documentos que no estén registrados en nuestro sistema de gestión documental. Estas solicitudes deben pasar primero por un modelo de clasificación general para identificar el tipo de documento, y luego por otro modelo de clasificación para categorizar en cualquier subcategoría correspondiente. 36 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Dado que en la lectura de un documento se utilizan varios modelos, necesitamos identificar qué modelos deben utilizarse y en qué orden deben ejecutarse para cada documento. Por lo tanto, surge la necesidad de crear la tabla 'DocumentoPaso', la cual indica el orden de ejecución de los modelos vinculados al documento, dependiendo de si se trata de una clasificación o extracción de información. Esta distinción se realiza gracias a la tabla 'SolicitudTipo' (que ya existía previamente pero se ha incorporado al proyecto)." Estructura Final Figura 14 : Diagrama base de datos final 37 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier 4.2 Boceto de la herramienta Después de realizar algunos cambios a algunas partes de nuestra base de datos, realizaremos un boceto de las pantallas de nuestra herramienta. Al mismo tiempo que se realizaba este boceto se ha realizado una documentación funcional y una documentación técnica que nos permitirán a la hora de desarrollar hacerlo de una forma más ordenada y rápida, ya que estará todo pensado antes del desarrollo. El boceto nos ayuda a estructurar la forma en que se presentan nuestras vistas y a definir de qué forma se van a mostrar los datos almacenados, al igual que definir cómo los usuarios interactúan con las pantallas. De esta manera podemos hacernos una idea de cómo será la apariencia y funcionalidad de la herramienta antes de su desarrollo técnico, y asegurarnos de que mostraremos los datos pertinentes y el usuario podrá tener una interacción satisfactoria. Para la explicación de las pantallas se van a ir mostrando en el orden que el usuario puede interactuar con ellas, de esta manera podemos ver como de intuitivo y ágil es de usar. Areas Figura 15 : Boceto pantallas de las áreas La pantalla de Áreas es la primera pantalla que aparecerá al entrar a esta herramienta. En esta pantalla, se muestran las distintas Áreas (Departamentos) de la empresa que pueden solicitar una lectura OCR a nuestro departamento. 38 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Cada elemento de la lista en pantalla representa un área que incluye información identificativa como la Descripción del Área y el Código del Área (una abreviatura interna que utilizamos para identificarla). La pantalla permite interactuar con cada área listada de varias maneras. Es posible eliminar áreas existentes, modificarlas o agregar nuevas áreas según sea necesario. A la hora de editar un área, hay ciertas limitaciones internas que debemos tener en cuenta. Por ejemplo, no es posible cambiar el Código de identificación de un área debido a razones de integridad de datos. Sin embargo, sí podemos actualizar y editar la Descripción del Área. En la parte izquierda de la pantalla, dispondremos de un buscador de Áreas que facilitará encontrar un área específica mediante el código o la descripción del área. Este buscador será útil a medida que se incorporen más áreas, ya que nos permitirá realizar búsquedas más rápidas y precisas. Pulsando el “Link” de un área nos llevará a la siguiente pantalla. Buscador de Modelos Figura 16 : Boceto pantallas de modelos Tras entrar dentro de un área, nos aparecerá un buscador con los modelos que contiene el área seleccionada. Estos son los modelos que actuarán cuando algún usuario de dicha área solicite una lectura OCR. 39 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier De cada modelos mostrado podemos observar su Código de identificación, la descripción del modelo y que tipo de modelo es (Clasificación, Extracción OCR específica o General). Podemos gestionar los modelos de la misma forma que en la pantalla anterior. Añadiendo, editando o eliminando. A la hora de editar, al igual que la pantalla anterior únicamente podemos editar la descripción del modelo, ya que toda la información restante es más sensible y otros elementos pueden depender de esta información. Para el añadido se nos permite introducir el Código del modelo separado por partes para respetar la tipología utilizada en la empresa, la descripción del modelo y el tipo de modelo que es. Al igual que la pantalla de áreas, disponemos de un buscador en la parte izquierda que nos permite filtrar los modelos. En este caso podemos filtrar mediante el código del modelo o por el tipo de modelo. Tras seleccionar un modelo accederemos a la pantalla más relevante de esta herramienta. Parámetros / Documentos / Etiquetas / Modelo Figura 17 : Boceto pantalla gestion modelo 40 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier 4.3 Desarrollo de los backends Por no hacer muy técnica ni pesada esta memoria y por privacidad de la empresa, no mostraré el código de nuestros backends ni se hará una explicación al detalle. Para hacer la explicación de nuestros backends haré una explicación global dividida en grupos, según la función que lleve a cabo este backend. BE de Búsqueda Estos BE son los encargados realizar búsquedas de los elementos que han de aparecer en pantalla, como puede ser el caso de: buscador de áreas, modelos, etiquetas, documentos. Es son las funciones que realizan estos BE de forma global: BE de búsqueda Figura 21 : Diagrama funcionamiento de backends de búsqueda Estos BE tienen la función de hacer una búsqueda de los elementos deseados como pueden ser Áreas, Modelos, Documentos o Etiquetas. El usuario que interactúa con la pantalla que utiliza este BE puede indicar los filtros que quiere utilizar para hacer una búsqueda concreta o hacer una limpieza de los filtros para hacer una búsqueda global. Estos filtros son recibidos por la entrada del BE, el cual primeramente verifica la seguridad para asegurarse de que el usuario tenga los permisos necesarios para realizar la búsqueda. Luego, el BE, mediante una serie de funciones realiza una búsqueda en la 47 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier base de datos buscando todos elementos que se encuentren en esta y cumplan con los filtros indicados. Una vez recogidos todos los datos, el BE los envía a la pantalla mediante la salida. La pantalla, realizada con GAAN, se encargará de mostrar estos datos de la forma adecuada al usuario. BE de Gestion Los BE de gestión son los encargados de identificar cuando el usuario quiere editar o añadir algún elemento y realizar estos cambios en la base de datos. A la hora de realizar una inserción o edición utilizamos estos dos tipos de BE: Figura 22 : Diagrama funcionamiento de backends gestores En algunas inserciones/ediciones es necesario utilizar un BE que recupere los datos del elemento que se desea editar o elementos necesarios para hacer una inserción. Este BE recibe por entrada la información necesaria para, en primer lugar, verificar la seguridad y asegurarse de que el usuario tiene los permisos necesarios. Posteriormente realizar una serie de funciones para identificar si el usuario quiere editar o añadir. Una vez identificada la acción que quiere realizar el usuario, el BE hará una búsqueda en la base de datos para obtener los datos necesarios. Estos datos se enviarán por la salida a la pantalla para ser mostrados al usuario y que el usuario pueda seguir con el proceso de edición o inserción. 48 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Posteriormente, si el usuario prosigue con la inserción o edición se ejecutará el BE encargado de introducir el nuevo elemento o editar uno ya existente. Como el BE anterior, recibirá por entrada todos los datos necesarios para pasar la seguridad e identificar si se trata de una edición o inserción y a través de sus funciones introducirá estos cambios en la base de datos. BE de Eliminado Estos BE son unos BE sencillos que únicamente realizan la función de eliminar elementos de la base de datos. Figura 23 : Diagrama de funcionamiento backends de eliminación Para ejecutar este BE, el usuario seleccionará la opción de borrado de un elemento desde la pantalla. Esta selección envía el identificador del elemento al BE por su entrada. El BE primero verifica la seguridad para asegurarse de que el usuario tiene los permisos necesarios para realizar el borrado. A continuación, el BE accede a la base de datos y realiza un borrado lógico, es decir, marca el elemento como dado de baja sin eliminarlo físicamente. Esto nos permite tener más control sobre nuestros datos, ya que un borrado físico elimina el elemento de la base de datos de manera irreversible, a menos que se disponga de una copia de seguridad. Además de marcar el elemento como dado de baja, el BE se encargará de desvincularlo de cualquier otro elemento que esté relacionado con él. BE de Gestión del Modelo Para la obtención de datos y gestión del modelo, tenemos dos partes: 49 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Figura 24 : Diagrama funcionamiento del backend de gestión de un modelo La primera parte (Parte superior del gráfico) actúa igual que un BE de búsqueda (Seguridad y búsqueda en base de datos) pero en este caso no se utilizan filtros y solo se indica de qué modelo se quieren obtener sus parámetros , documentos y etiquetas enlazadas. Por la parte de abajo podemos observar el comportamiento de otro BE exclusivo en la gestión del modelo y el enlazado de este con etiquetas y documentos. Este tipo de BE ha de hacer una verificación de la seguridad, identificar los elementos enlazados al modelo (Documentos y Etiquetas) y comparar los elementos ya enlazados con los elementos elegidos por el usuario para ser enlazados. Finalmente en la base de datos enlazará los elementos que aún no estaban enlazados y desenlazan los elementos que ya no han de estar enlazados según el usuario. BE con actividad compuesta En algunas ocasiones utilizaremos lo que se denomina BE con Actividad compuesta. Este tipo de BE es un backend que utiliza internamente varios backends. Como puede ser el caso en que un BE se encargue de eliminar un elemento, y otro BE se encargue de entregar una lista con los elementos del mismo tipo. En este caso se podría utilizar una actividad compuesta para primeramente borrar el elemento (Primer BE de la AC) y posteriormente recargar la lista actualizada que no contendrá el elemento eliminado (Segundo BE de la AC) 50 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Figura 25 : Diagrama de funcionamiento de backend con actividad compuesta Como en todos los BE este obtendrá una entrada y pasará por una seguridad. Una vez superada la seguridad se ejecutarán los BE incluidos en la AC según la lógica con la que se haya programado, utilizando los datos de entrada o los datos generados por el anterior BE ejecutado. Finalmente se entregarán los datos generados por la salida de la AC. En nuestro caso, los BE se ejecutarán de forma secuencial primeramente ejecutando el BE que lleve a cabo una acción de Añadir / Editar / Eliminar y posteriormente un BE de búsqueda para recargar las listas con los elementos actualizados. 51 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier 4.4 Desarrollo de operativas en GAAN Areas Figura 26 : Operativa de búsqueda de áreas Esta operativa es la operativa dedicada a la pantalla para buscar Áreas y la pantalla para gestionar estas áreas. Esta operativa inicia entrando al BE que se encarga de hacer la búsqueda de áreas a través de la copy “Inicio”. Una vez ejecutado el BE, todas las áreas encontradas se envían a la pantalla “VistaBuscadorAreas” para ser mostradas. Una vez en esta pantalla el usuario puede hacer gestión de estas áreas mostradas o hacer una busqueda más específica del área que está buscando. Si el usuario hace una búsqueda más específica de una área, este indicará los filtros en la pantalla y estos se pasarán por la copy “Buscador” hacia el BE “BusAreaTipo” que nos devolverá a la pantalla las áreas que cumplan con estos filtros. Con las áreas mostradas el usuario podrá hacer una gestión añadiendo o editando estas áreas. Para hacer la gestión, la pantalla de búsqueda nos enviará a la pantalla de gestión “VistaSetArea”. Esta pantalla recibirá toda la información pertinente a través de la copy “set” y esta información será mostrada para añadir o editar el área pertinente. Si el usuario confirma la edición o el añadido del área, se nos enviará al BE con ActividadCompuesta encargado de añadir o editar y cargar la lista de áreas a través de la copy “ACSet” que 52 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier contiene toda la información necesaria para el añadido o edición. Una vez ejecutado el BE, se nos enviará de vuelta a la pantalla de búsqueda de áreas que mostrará todas las áreas con los cambios realizados. Por último si queremos borrar desde la pantalla de búsqueda, se nos enviará al BE con Actividad Compuesta “ACDelAreaTipo” a través de la copy “Eliminar” que contiene el identificador del área que será eliminada. Este BE primeramente hará un borrado lógico del área seleccionada y posteriormente cargará la lista de las áreas restantes que serán enviadas a la pantalla de búsqueda a través de la copy “ok”. Finalmente podemos seleccionar un área y ver los modelos que esta contiene, tras seleccionar el área que queremos observar a través de la copy “Modelos” nos dirigirá a la operativa para buscar modelos que explicaré a continuación. Buscador de Modelos Figura 27 : Operativa de búsqueda de modelos Esta operativa es el buscador de modelos de un área, este área viene informada a través de un Área de Enlace. A través de la copy “Inicio” se informará el área al BE “BusModelo” que hará una búsqueda de todos los modelos que contiene esta área. Estos Modelos encontrados son enviados a la pantalla “VistaBuscadoModelos” donde serán mostrados para ser gestionados por el usuario. 53 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier El usuario podrá hacer una búsqueda más específica de los modelos indicando los filtros que quiere aplicar y serán enviados al BE de búsqueda de modelos a través de la copy “irBusModeloTipo” y este devolverá los modelos que cumplan los filtros. A la hora de borrar un modelo, este se indicará desde la pantalla de búsqueda enviando el identificador del modelo a un BE con Actividad Compuesta, que se encargará de eliminar el modelo y cargar la lista con los modelos restantes para ser devueltos a la pantalla de búsqueda. La gestión de los modelos en este caso se hace desde otra operativa que explicaremos a continuación. Para finalizar también podremos seleccionar un modelo y se nos llevará a la operativa “GestConfigModelo” a través de la copy “ParamDoc”. Esta operativa nos permite visualizar los parámetros, documentos y etiquetas del modelo seleccionado. Figura 28 : Operativa de gestión de modelos Esta operativa es la operativa que nos permite añadir o editar un modelo. En este caso, la operativa está separada de la operativa de búsqueda de modelos, ya que de esta forma podremos tener acceso al añadido y edición de modelos desde otras pantallas. A través de un Área de Enlace, esta operativa recibirá la información necesaria para identificar si el usuario desea editar o añadir y en el caso de que se trate de una edición, se indica el identificador del modelo que se desea editar. Toda esta información se envía al BE “IniGestModelo” a través de la copy “Inicio”. Este BE se encargará de identificar si el usuario desea editar o añadir y pasar toda la información necesaria para cada caso a la pantalla “VistaGestionModelo” a través de la copy “Gestion”. En la pantalla de gestión, el usuario indicará los valores necesarios para el añadido o edición y si confirma la acción que está llevando a cabo, se enviará la información al BE “GestModeloTipo” a través de la copy “Añadir”. 54 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier En el caso que el usuario cancele la gestión desde pantalla, se terminará esta operativa y se nos devolverá a la operativa desde la que se ha entrado a esta operativa. El BE “GestModeloTipo” se encargará de hacer la edición o añadido del modelo en la base de datos y tras la ejecución, terminará la operativa, volviendo a la operativa desde la cual se ha llegado a esta. Gestión Modelo (Parámetros / Documentos / Etiquetas) Figura 29 : Operativa de configuración y gestión de un modelo Esta operativa es la operativa más importante de toda la herramienta. Al iniciar esta operativa recibe al iniciarse el identificador del modelo seleccionado por el usuario, dicho identificador se le envia al BE ‘GetGestModelo’ a traves de la copy ‘Inicio’ este BE se encarga de recolectar todos los parámetros del modelo y todas las etiquetas y documentos asociados a él. Tras recolectar todos los datos, estos son enviados a la pantalla ‘VistaConfigModelo’ donde serán representados para que el usuario puede gestionarlos. En esta pantalla el usuario puede seleccionar y deseleccionar los documentos y etiquetas que quiere tener asociados al modelo. Tras seleccionar o deseleccionar la operativa accedera a los BE ‘SelectEtiqueta’ y ‘SelectDocumento’ a traves de las copys ‘SetEtiqueta’ y ‘SetDoc’ respectivamente, estas contienen todos los elementos a seleccionar o 55 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier deseleccionar. Por último estos BE se encargaran de realizar los cambios de selección en base de datos. A parte de enlazar documentos y etiquetas, también se podrá acceder a sus operativas de gestión o búsqueda accediendo a los enlaces de operativas ‘BusEtiqueta’, ’GestEtiqueta’ y ‘BuscadorDocumento’ y ‘GestDoc’. Por último en esta operativa podremos gestionar los parámetros que contiene un modelo. Para añadir o editar un parámetro, el usuario selecciona la acción que quiere llevar a cabo y a través de de la copy ‘Gestionar’ se enviarán a la pantalla ‘VistaEditar’ todos los datos necesarios para la edición o añadido del parámetro. Si el usuario cancela la acción que quiere llevar a cabo se volverá a la pantalla principal y si confirma la acción la se ejecutará la actividad compuesta’ACSetParamModelo’ que recibirá toda la información necesaria para el añadido o edición a través de la copy ‘ACGestionar’. Esta AC devolverá todos los cambios realizados a la pantalla principal a través de la copy ‘ok’. Buscador de Documentos y De Etiquetas En este apartado se explicarán dos operativas conjuntamente ya que trabajan exactamente de la misma manera. La única diferencia entre estas son los datos que manejan y los filtros que utilizan para sus búsquedas. Figura 30 : Operativa de buscador de documentos Figura 31 : Operativa de buscador de etiquetas 56 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Pantalla de Gestión de un Modelo Figura 43 : Pantalla de configuración y gestión de un modelo Esta pantalla es la pantalla más importante y que contiene más información gestionable de un modelo. Podemos dividir esta pantalla en dos secciones principales: enlaces de modelo con etiquetas y documentos, y gestión de parámetros. En la selección de enlaces del modelo con etiquetas y documentos, encontramos dos desplegables dentro del grupo “Gestión de Documentos” (nombre que podría no ser el más adecuado, ya que las etiquetas no existían cuando se creó el grupo). Estos desplegables están acompañados de enlaces situados en los grupos “Navegaciones” y “BotonEtiquetas”. Estos enlaces nos permiten acceder a las pantallas de búsqueda de etiquetas o documentos, así como a la pantalla de gestión para añadir etiquetas o documentos. En la parte inferior, disponemos de un grupo que únicamente contiene una grid con todos los parámetros del modelo, que el usuario puede visualizar y gestionar con botones de editar y borrar. Si el modelo aún no tiene parámetros, esta grid aparecerá vacía, pero se permitirá añadir los parámetros disponibles en el grupo “ParamAnadibles”, los cuales se irán colocando en la grid y eliminando de “ParamAnadibles”. 4.6 Seguridad Dentro de este apartado se explica la seguridad que se aplica a los backends para evitar un mal uso de la herramienta o evitar el acceso a usuarios no autorizados. 63 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier En esta herramienta se han introducido dos tipos de seguridad que nos permiten excluir a usuarios no deseados y a denegar acceso a diferentes acciones a determinados usuarios según cumplan o no diferentes requisitos de negocio. Las dos seguridades utilizadas son las siguientes [12]: -Seguridad de Ejecución: Es la seguridad encargada de la comprobación de que el usuario que ejecuta un BE tenga permisos para poder ejecutarlo. Esto significa que el usuario debe pertenecer a un grupo de usuarios autorizados para poder ejecutar el BE. Utilizando el nombre del BE, se hace una consulta en las tablas de Seguridad y se comprueba que grupos de usuario pueden ejecutar este BE, si el usuario pertenece a cualquier grupo autorizado, se le permite ejecutar el BE. Por ejemplo, en el caso de la herramienta creada se comprueba que el usuario que accede pertenezca al sector de informática de la empresa. Figura 44 : Diagrama de seguridad de ejecución -Seguridad de Ámbito: Esta seguridad se encarga de verificar que el usuario tenga permisos para realizar una acción específica de negocio. Esta seguridad siempre ha de llevar asociada mínimo un parámetro para aplicar la lógica de negocio sobre los parámetros asociados. Esta seguridad va acompañada por una DLL (Código), en la cual se programa la lógica de negocio que se aplica para dar permiso al usuario a llevar a cabo una acción concreta. Por ejemplo, en el caso de esta herramienta se le pasa como parámetro al módulo de seguridad el identificador del área a la que está intentando acceder o dentro de la cual quiere llevar a cabo alguna acción. Dentro de la DLL se obtiene el identificador del área y se comprueba si el usuario pertenece a ese área. Si el usuario pertenece al área que ha seleccionado se le permite interactuar con todas las acciones de ese área. En el caso que algún usuario consiga superar una pantalla vulnerando la seguridad de dicha pantalla, la siguientes pantallas de ese mismo área aplicarán nuevamente la seguridad de ámbito no permitiendo interactuar con ningún elemento de ese área 64 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Figura 45 : Diagrama de seguridad de ámbito A parte de estos módulos de seguridad en algunos BE se ha programado internamente alguna seguridad o comprobación que retorna error en caso de que se intente realizar alguna acción que pueda resultar perjudicial. Por ejemplo, el BE que obtiene los modelos indica si es posible borrar o no un modelo según si el modelo contiene parámetros o documentos asociados. También otros BEs pueden indicar mediante un error que un elemento no se puede añadir si ya existe un elemento igual. 5. Pruebas / Resultados En este capítulo se detallan las pruebas realizadas para verificar el correcto funcionamiento de la herramienta desarrollada. Se han llevado a cabo diversas pruebas para asegurar que la herramienta cumple con los requisitos especificados y que es fácil de utilizar para el usuario. Estas pruebas se llevan a cabo de manera continua durante el desarrollo para evitar la acumulación de errores y garantizar que cada nueva funcionalidad se integre sin problemas. Esta metodología permite detectar y corregir errores de manera temprana, evitando que se conviertan en problemas mayores. 5.1 Pruebas de Inserciones, Borrados y Ediciones Se llevaron a cabo pruebas exhaustivas para validar tres operaciones clave en la herramienta: insertar, borrar y editar. Estas acciones son fundamentales para gestionar todos los elementos disponibles en la herramienta. 5.1.2 Inserciones Se realizaron pruebas para asegurar que la herramienta permite la inserción correcta de datos en el sistema. -Inserción de datos válidos: Se introdujeron datos válidos en diferentes partes de la herramienta para verificar que se almacenan adecuadamente y se muestran en pantalla tras la inserción. -Inserción de datos erróneos: Se introdujeron datos incorrectos para comprobar que la herramienta detecta el mal uso y devuelve un mensaje de error informando al usuario sobre el problema. 65 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Algunas inserciones implican cambios en otras partes de la herramienta. Por ejemplo, al añadir un modelo en un área que no tiene modelos, esa área no debería poder borrarse. Por lo tanto, se verificó que el botón de borrado del área se bloquea adecuadamente. Otras inserciones que implican bastantes cambios y se ha de verificar su buen funcionamiento son: -Inserción de un paso de documento: Se introdujeron varios pasos con órdenes diferentes para evaluar tanto la inserción como su efecto en el reordenamiento de los pasos ya existentes. Se comprobó que el orden resultante después de una inserción es correcto. -Enlazar o desenlazar documentos o etiquetas: Se verificó que la relación se introduzca correctamente tras el enlazado y que, en caso de que un modelo no tenga otros elementos enlazados, no sea posible eliminar el modelo ya que contiene datos enlazados. 5.1.2 Borrados Para comprobar la funcionalidad de borrado, se seleccionaron elementos específicos para ser eliminados. En algunos casos las eliminaciones afectan a otras funcionalidades de la herramienta o conlleva una eliminación en cascada eliminando elementos asociados al elemento seleccionado para ser borrado. Por ejemplo, si borramos un documento, todos los modelos que estén asociados a este modelo han de desasociarse de él. En el caso de eliminar el último modelo de un área, este área nuevamente podrá ser borrada con su botón de borrado nuevamente habilitado igual que si un modelo se le borran todos sus parámetros, documentos y etiquetas. A la hora de borrar un “DocumentoPaso” se ha de verificar que el resto de pasos se reordenan correctamente. 5.1.3 Ediciones Las pruebas de edición son una de las pruebas más simples que se centran en asegurar que los datos existentes se pueden modificar correctamente. Para la realización de las pruebas, se modificaron los campos editables de todos los elementos existentes y se verificó que los cambios se reflejan adecuadamente en pantalla. El único elemento con el que se tiene que tener mas cura en las comprobaciones de edición es con los pasos de documento, ya que tras una edicion del orden de un “DocumentoPaso” se ha de reordenar toda la lista de pasos que contenga ese documento y verificar que el reordenamiento ha sido correcto. 66 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier 5.1.4 Validación en la Base de Datos Todas las acciones realizadas conllevan un cambio en los datos de nuestra base de datos, por lo que hemos de comprobar que todas las inserciones, ediciones y borrados se han realizado correctamente. En el caso del añadido y edición hemos de comprobar que los nuevos datos se han introducido de una forma correcta. También se ha de comprobar que ha quedado indicado correctamente en base de datos el usuario que ha realizado la acción. En el caso de una inserción ha de quedar indicada la hora de la inserción y en el caso de una edición ha de quedar registrada su hora de edición. Para un borrado, como se ha explicado anteriormente se realiza un borrado lógico por lo que se ha de verificar que el indicador de baja del elemento borrado y sus elementos asociados está en “True” (bit = 1). También se ha de comprobar que queda indicado el usuario que ha realizado la acción de borrar y la hora de la edición de su indicador de baja. Tras realizar todas estas pruebas de gestión de nuestros datos, podemos verificar el buen funcionamiento de nuestra herramienta a la hora de tratar con los datos almacenados en nuestra base de datos y que todos los cambios realizados son consistentes. 5.3 Pruebas de Búsqueda Las pruebas de búsqueda se han realizado en todas las pantallas de búsqueda. Para comprobar el buen funcionamiento se debe verificar que todos los filtros correspondientes a cada pantalla son útiles y al realizar una búsqueda con estos filtros nos muestra unos resultados coincidentes con lo esperado, verificando así que los filtros nos permiten realizar búsquedas más específicas. Por otra parte hay que verificar que el botón de limpieza de filtros de cada pantalla de búsqueda limpia los filtros utilizados y realiza la búsqueda nuevamente sin ningún filtro. 5.4 Evaluación de la Usabilidad Las anteriores pruebas nos aseguraban que los datos se gestionan correctamente sin causar ningún tipo de error. Pero esta prueba nos permite verificar que el objetivo principal se ha cumplido validando si el uso de esta nueva herramienta nos conlleva una gestión más ágil y menos tediosa. 67 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Para evaluar la usabilidad de la herramienta, se invitó a otros compañeros a utilizarla y proporcionar su retroalimentación: -Prueba de Usabilidad por Compañeros: Diversos compañeros, no familiarizados con el desarrollo de la herramienta, la utilizaron para llevar a cabo tareas de gestion. -Resultado: Los compañeros encontraron la herramienta intuitiva y fácil de usar, aunque se identificaron algunas áreas de mejora en términos de navegación y claridad de ciertos mensajes. Por mi parte las pruebas realizadas han sido realizar todas las acciones posibles que se pueden realizar con la herramienta. Mientras realizaba pruebas, observé cómo la herramienta manejaba los datos y cómo respondía a los errores o a las entradas no válidas. Durante este proceso se identificaron puntos de mejora explicados en el apartado de líneas futuras. Por último se utilizó la herramienta para un caso real, en el que un compañero necesitaba dar de alta un nuevo modelo, introduciendo sus parámetros y el documento al que ha de estar asociado. Tras realizar esta prueba real y con la retrospectiva de mis compañeros puedo confirmar que esta herramienta agiliza el proceso de gestión de todo el entorno que envuelve a los modelos. Este proceso que anteriormente podía tardar en torno a 30 minutos y era bastante tedioso ya que se había de realizar a mano mediante código, ahora es un proceso que puede tardar en torno a los 5 minutos, fácil de utilizar y mucho menos tedioso. Estas pruebas confirman que la herramienta desarrollada no solo cumple con los requisitos funcionales, sino que también ofrece una experiencia de usuario positiva y mantiene la integridad de los datos en la base de datos. 6. Presupuesto y valor En este capítulo, se presenta el valor que tiene el proyecto. Esto incluye toda inversión hecha durante el proyecto o costes que ha implicado la realización del proyecto. Se explicará cómo esta inversión aporta valor al proyecto y cómo se prevé recuperar los costos a través de la amortización. 68 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier 6.1 Costos Humanos El trabajo en este proyecto se ha llevado a cabo en una empresa con una remuneración de 10 euros la hora. Se ha trabajado 5 horas diarias de lunes a viernes desde el 1 de marzo hasta el 2 de julio, dedicándole al proyecto un 70% de las horas trabajadas. Calculo total de mano de obra - Remuneración por hora: 10 euros - Horas diarias: 5 horas - Días laborables por semana: 5 días - Dedicación al proyecto 70% Horas trabajadas = 87 días x 5 horas/día = 435 horas 70% de 435 = 304,5 horas Costo total de mano de obra = 304,5 horas x 10 euros/hora = 3045 € 6.2 Costos Adicionales En este apartado se reflejan los costes adicionales que ha conllevado la realización del proyecto, aunque no están directamente relacionados con el trabajo. Costes de realizar el trabajo en una empresa en la que se trabaja de forma híbrida. 6.2.1 Gasolina Desplazamientos a la empresa dos días a la semana (martes y jueves). Número de semanas = = 12,43 semanas 87 𝑑í𝑎𝑠 7 Costo semanal de gasolina = 7€/semana Costo total de gasolina = 12,43 semanas x 7€/semana 87€ ≈ 6.2.2 Costo de Electricidad e Internet Costo estimado para cargar el portátil y utilizar internet desde casa. Carga portatil: - Potencia cargador = 65W = 0,065kW 69 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier - Tiempo de carga semanal = 5 horas x 3 días = 15 horas - Tiempo de carga total (4 meses) = 15 horas/semana x 4 semanas/mes x 4 meses = 240 horas - Precio medio electricidad = 0,14€/kWh Costo total (kWh) = 0,065 kW x 240 horas = 15,6 kWh Costo Total estimado = 15,6 kWh x 0,14€/kWh = 2,1€ (Coste insignificante) Tarifa de internet: Costo estimado: 30 euros/mes x 4 meses = 120€ 6.3 Resumen del coste total En esta sección, se presenta un resumen de todos los costos involucrados en el proyecto. Costo de la mano de obra = 3045€ Costos adicionales = 122 + 87 = 209 Total presupuesto del proyecto = 3045+ 0 + 0 + 209 = 3254€ 6.4 Amortización En este apartado se representa el coste que suponía la gestión de los procesadores antes de la realización del proyecto, en cuanto tiempo se prevé amortizar los costes y el valor general del proyecto. 6.4.1 Costos de gestión, antes y después. Teniendo en cuenta que previamente a la realización de este proyecto, el coste en tiempo de la gestión de los procesadores podía llevarse a cabo en unas 9 horas mensuales y tras la realización del proyecto ha disminuido a unas 1,5 horas mensuales. Teniendo en cuenta que un trabajador puede cobrar entorno los 15€ la hora, los costes son los siguiente: Antes: - Tiempo empleado por mes: 9 horas - Costo por hora: 15 euros - Costo mensual antes de la herramienta: 9 horas × 15 euros/hora = 135 euros/mes 70 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Despues: - Tiempo empleado por mes: 1,5 horas - Costo por hora: 15 euros - Costo mensual después de la herramienta: 1.5 horas × 15 euros/hora = 22.5 euros/mes Ahorro mensual: 135 euros/mes - 22,5 euros/mes = 112,5 euros/mes Tras realizar la herramienta podemos ahorrar una media de 112,5 euros al mes lo que puede parecer poco para una empresa grande, pero a largo plazo pueden ser recursos que se apliquen en otro proyecto. 6.4.2 Tiempo de amortización Teniendo en cuenta que el coste de realización del proyecto es de 3045€ y ahorramos mensualmente en gestión unos 112,5€. El tiempo estimado para amortizar el proyecto es: = 27.067 meses 3045€ 112,5 €/𝑚𝑒𝑠 Esto significa que en poco más de 2 años y 3 meses, los ahorros en tiempo cubrirán completamente la inversión inicial en la herramienta. 6.4.3 Retorno de la Inversión (ROI) Para evaluar el rendimiento de nuestra inversión, hay que calcular el ROI, que es un indicador que nos mide el rendimiento o rentabilidad de una inversión. Suponiendo que evaluamos el ROI al final del primer año después de la amortización: Beneficio neto = 112.5 euros/mes × 12 meses = 1350 euros Entonces, el ROI para el primer año después de la amortización sería: ROI = 1350€ / 3045 € x 100 = 41,47% Un retorno del 41,47% tras el primer año después de la amortización, indica que es una inversión bastante efectiva. 6.5 Valores adicionales. Además del beneficio económico, la herramienta aporta una serie de ventajas que, aunque no son cuantificables en términos financieros, aportan más valor tanto a la herramienta como a otros proyectos de la empresa. Beneficios como: 71 Paso entre entornos de modelos OCR Bermejo Sotillo, Xavier Aumento de la eficiencia: Reducir el tiempo de gestión de 9 horas a 1.5 horas mensuales permite a los trabajadores enfocarse en otras tareas que tengan más valor, lo cual mejora la productividad de los trabajadores. Mejora en la calidad del trabajo: La gestión de procesadores mediante la herramienta reduce la probabilidad de errores humanos incrementando la consistencia de la gestión. Escalabilidad: La herramienta facilita cambios futuros y puede ser modificada para incluir nuevas funcionalidades, reduciendo aún más los tiempos de gestión y haciendo crecer nuestro departamento. 6.5 Conclusión del valor del trabajo Es importante destacar que, aunque el costo total del proyecto asciende a 3254 euros, la mayor parte de estos gastos son asumidos por la empresa. El costo más significativo es el pago al desarrollador de la herramienta, que son 3045 euros. Esto refleja la importancia del trabajo humano en el desarrollo del proyecto. Por otro lado, mis gastos personales se limitan a la gasolina para los desplazamientos, el consumo de electricidad para cargar el portátil y el costo de internet, sumando un total de 209 euros. Esto muestra que, mientras que la empresa asume la mayoría de los costos asociados al proyecto, mi contribución personal se centra principalmente en el tiempo y esfuerzo dedicado. Desde una perspectiva financiera, la inversión inicial de 3045 euros para el desarrollo de la herramienta será amortizada en aproximadamente 27 meses, gracias al ahorro mensual de 112.5 euros en costos de gestión. Que tras la amortización nos generaría un rendimiento del 41,47%. Además del valor financiero nos aporta otros beneficios muy importantes para una empresa como es el aumento de eficiencia, mejora de calidad de trabajo y escalabilidad. 7. Conclusiones Este trabajo final de grado ha abordado el desarrollo de una herramienta para la gestión eficiente de la parametrización de entornos que involucran modelos OCR. A lo largo de este proyecto, se han alcanzado varios objetivos clave que han contribuido a la mejora de los procesos de gestión dentro del proyecto de digitalización inteligente de documentos. - Innovación Tecnológica: Se ha diseñado e implementado una herramienta que facilita la gestión de procesadores OCR, permitiendo una parametrización más ágil y menos propensa a errores. Esta herramienta representa un avance importante en la gestión de nuestro entorno, lo que ayuda en el avance de la transformación digital de la empresa. - Eficiencia Mejorada: La herramienta desarrollada ha demostrado ser capaz de reducir significativamente el tiempo y los recursos dedicados a la gestión de 72