En este artículo se describe una solución escalable y segura para compilar una canalización de procesamiento de documentos automatizada. La solución usa Documento de inteligencia de AI para la extracción estructurada de datos. Los modelos de procesamiento de lenguaje natural (NLP) y los modelos personalizados enriquecen los datos.
Architecture
Descargue un archivo Visio de esta arquitectura.
Flujo de datos
En las secciones siguientes se describen las distintas fases del proceso de extracción de datos.
Ingesta de datos y extracción
Los documentos se ingieren por medio de un explorador en el front-end de una aplicación web. Los documentos contienen imágenes o están en formato PDF. Azure App Service hospeda una aplicación de back-end. La solución enruta los documentos a esa aplicación mediante Azure Application Gateway. Este equilibrador de carga se ejecuta con Azure Web Application Firewall, lo que ayuda a proteger la aplicación frente a ataques y vulnerabilidades comunes.
La aplicación de back-end envía una solicitud a un punto de conexión de API de REST de Documento de inteligencia de Azure AI que usa uno de estos modelos:
- Diseño
- Factura
- Recibo
- Documento de identificación
- Tarjeta de presentación
- Documento general, que se encuentra en versión preliminar
La respuesta de Documento de inteligencia de Azure AI contiene datos de reconocimiento óptico de caracteres sin procesar (OCR) y extracciones estructuradas. Documento de inteligencia de Azure AI también asigna [valores de confianza][Características y limitaciones de Form Recognizer - Evaluación del cliente] a los datos extraídos.
La aplicación de back-end de App Service usa los valores de confianza para comprobar la calidad de la extracción. Si la calidad está por debajo de un umbral especificado, la aplicación marca los datos para comprobación manual. Si la calidad de la extracción cumple los requisitos, los datos entran en Azure Cosmos DB para su consumo en aplicaciones de nivel inferior. La aplicación también puede devolver los resultados al explorador de front-end.
Otros orígenes proporcionan imágenes, archivos PDF y otros documentos. Los orígenes incluyen datos adjuntos de correo y servidores de protocolo de transferencia de archivos (FTP). Herramientas como Azure Data Factory y AzCopy transfieren estos archivos a Azure Blob Storage. Azure Logic Apps ofrece canalizaciones para extraer automáticamente datos adjuntos de correos electrónicos.
Cuando un documento entra en Blob Storage, se desencadena una función de Azure. La función:
- Envía una solicitud al punto de conexión precompilado de Documento de inteligencia de Azure AI pertinente.
- Recibe la respuesta.
- Evalúa la calidad de la extracción.
Los datos extraídos entran en Azure Cosmos DB.
Enriquecimiento de datos
La canalización que se usa para el enriquecimiento de datos depende del caso de uso.
El enriquecimiento de datos puede incluir las siguientes capacidades de NLP:
- Reconocimiento de entidades con nombre (NER)
- Extracción de información de personal, frases clave, información sanitaria y otras entidades dependientes de dominio
Para enriquecer los datos, la aplicación web:
Recupera los datos extraídos de Azure Cosmos DB.
Envía solicitudes a estas funciones de la API de Lenguaje de AI:
- NER
- Información personal
- Extracción de frases clave
- Text Analytics for Health
- NER personalizado, que está en versión preliminar
- Análisis de opiniones
- Minería de opiniones
Recibe respuestas de la API de Lenguaje de AI.
Los modelos personalizados realizan detección de fraudes, análisis de riesgos y otros tipos de análisis en los datos:
- Los servicios de Azure Machine Learning entrenan e implementan los modelos personalizados.
- Los datos extraídos se recuperan de Azure Cosmos DB.
- Los modelos derivan información de los datos.
Existen estas posibilidades para la inferencia:
- Procesos en tiempo real. Los modelos se pueden implementar en puntos de conexión en línea administrados o puntos de conexión en línea de Kubernetes, donde el clúster de Kubernetes administrado puede estar en cualquier lugar, incluido Azure Kubernetes Service (AKS).
- La inferencia por lotes se puede realizar en puntos de conexión por lotes o en Azure Virtual Machines.
Los datos enriquecidos entran en Azure Cosmos DB.
Análisis y visualizaciones
Las aplicaciones usan OCR sin procesar, datos estructurados de puntos de conexión de Documento de inteligencia de Azure AI y los datos enriquecidos de NLP:
- Power BI muestra los datos y presenta informes sobre ellos.
- Los datos actúan como origen de Azure Cognitive Search.
- Otras aplicaciones consumen los datos.
Componentes
App Service es una oferta de plataforma como servicio (PaaS) de Azure. Puede usar App Service para hospedar aplicaciones web que se pueden reducir o escalar horizontalmente de forma manual o automática. El servicio admite varios lenguajes y marcos, como ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP y Python.
Application Gateway es un equilibrador de carga de nivel 7 (nivel de aplicación) que administra el tráfico a las aplicaciones web. Puede ejecutar Application Gateway con Azure Web Application Firewall para ayudar a proteger las aplicaciones web frente a vulnerabilidades de seguridad y otras comunes.
Azure Functions es una plataforma de proceso sin servidor que se puede usar para compilar aplicaciones. Con Functions, puede usar desencadenadores y enlaces para reaccionar ante los cambios en servicios de Azure como Blob Storage y Azure Cosmos DB. Functions puede ejecutar tareas programadas y procesar datos en tiempo real y colas de mensajería.
Documento de inteligencia de Azure AI forma parte de los servicios de Azure AI. Documento de inteligencia de Azure AI ofrece una colección de puntos de conexión precompilados para extraer datos de facturas, documentos, recibos, tarjetas de identificación y tarjetas de presentación. Este servicio asigna cada fragmento de datos extraídos a un campo como par clave-valor. Documento de inteligencia de Azure AI también extrae el contenido y la estructura de las tablas. El formato de salida es JSON.
Azure Storage es una solución de almacenamiento en la nube que incluye almacenamiento de objetos, blobs, archivos, discos, colas y tablas.
Blob Storage es un servicio que forma parte de Azure Storage. Blob Storage ofrece almacenamiento optimizado de objetos en la nube para grandes cantidades de datos no estructurados.
Azure Data Lake Storage es un lago de datos seguro y escalable para cargas de trabajo de análisis de alto rendimiento. Los datos provienen normalmente de varios orígenes heterogéneos y pueden ser estructurados, semiestructurados o no estructurados. Azure Data Lake Storage Gen2 combina las capacidades de Azure Data Lake Storage Gen1 con Blob Storage. Como solución de próxima generación, Data Lake Storage Gen2 proporciona semántica de sistema de archivos, seguridad de nivel de archivo y escalado. Además, ofrece las funcionalidades de almacenamiento por niveles, alta disponibilidad y recuperación ante desastres de Blob Storage.
Azure Cosmos DB es una base de datos NoSQL escalable totalmente administrada y con alta capacidad de respuesta. Azure Cosmos DB ofrece seguridad de nivel empresarial y admite API de muchas bases de datos, lenguajes y plataformas. Los ejemplos incluyen SQL, MongoDB, Gremlin, Table y Apache Cassandra. Las opciones de escalado automático sin servidor de Azure Cosmos DB administran de forma eficaz las demandas de capacidad de las aplicaciones.
Lenguaje de AI ofrece muchos servicios NLP que se pueden usar para comprender y analizar texto. Algunos de estos servicios son personalizables, como NER personalizado, clasificación de texto personalizado, reconocimiento del lenguaje conversacional y respuesta a preguntas.
Machine Learning es una plataforma abierta para administrar el desarrollo y la implementación de modelos de aprendizaje automático a gran escala. Machine Learning atiende a los niveles de aptitud de distintos usuarios, como científicos de datos o analistas de negocios. La plataforma admite marcos abiertos de uso frecuente y ofrece caracterización automatizada y selección de algoritmos. Puede implementar modelos en varios destinos. Los ejemplos incluyen AKS, Azure Container Instances como un servicio web para la inferencia en tiempo real a gran escala y Azure Virtual Machines para la puntuación por lotes. Los puntos de conexión administrados de Machine Learning abstraen la infraestructura necesaria para la inferencia de modelos en tiempo real o por lotes.
AKS es un servicio de Kubernetes totalmente administrado que facilita la implementación y la administración de aplicaciones contenedorizadas. AKS ofrece tecnología Kubernetes sin servidor, una experiencia integrada de integración continua y entrega continua (CI/CD), así como seguridad de nivel empresarial y gobernanza.
Power BI es una colección de servicios de software y aplicaciones que muestran información de análisis.
Azure Cognitive Search es un servicio de búsqueda en la nube que proporciona infraestructura, API y herramientas para la búsqueda. Puede usar Azure Cognitive Search para compilar experiencias de búsqueda a partir de contenido privado heterogéneo de aplicaciones web, móviles y empresariales.
Alternativas
Puede usar Azure Virtual Machines en lugar de App Service para hospedar la aplicación.
Puede usar cualquier base de datos relacional para el almacenamiento persistente de los datos extraídos, lo que incluye:
Detalles del escenario
La automatización del procesamiento de documentos y la extracción de datos es una tarea integral de las organizaciones de todos los segmentos verticales del sector. La inteligencia artificial es una de las soluciones probadas de este proceso, aunque lograr una precisión del 100 % es una realidad lejana. Pero el uso de la inteligencia artificial para la digitalización en lugar de un proceso puramente manual puede reducir el esfuerzo manual hasta en un 90 %.
El reconocimiento óptico de caracteres (OCR) puede extraer contenido de imágenes y archivos PDF, que constituyen la mayoría de los documentos que usan las organizaciones. Este proceso usa la búsqueda de palabras clave y la coincidencia de expresiones regulares. Estos mecanismos extraen datos relevantes del texto completo y luego crean resultados estructurados. Este enfoque tiene inconvenientes. La revisión del proceso posterior a la extracción para satisfacer formatos de documento cambiantes requiere un gran esfuerzo de mantenimiento.
Posibles casos de uso
Esta solución es idónea para el sector financiero. También puede aplicarse a los sectores de automoción, viajes y hostelería. Las siguientes tareas pueden beneficiarse de esta solución:
- Aprobación de informes de gastos
- Procesamiento de facturas, recibos y facturas de reclamaciones de seguros y auditorías financieras
- Procesamiento de reclamaciones que incluyen facturas, resúmenes de altas y otros documentos
- Automatización de aprobaciones de declaración del trabajo (SoW)
- Automatización de la extracción de identificadores con fines de comprobación, como en pasaportes o permisos de conducir
- Automatización del proceso de especificación de datos de tarjetas de presentación en sistemas de administración de visitantes
- Identificación de patrones de compra y documentos financieros duplicados para la detección de fraudes
Consideraciones
Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.
Tenga en cuenta estos puntos al usar esta solución.
Disponibilidad
La disponibilidad de la arquitectura depende de los servicios de Azure que conformen la solución:
Documento de inteligencia de Azure AI forma parte de los servicios de Azure AI. Para conocer la garantía de disponibilidad de este servicio, consulte Contrato de nivel de servicio (SLA) para servicios Servicios de Azure AI.
Lenguaje de AI forma parte de Servicios de Azure AI. Para conocer la garantía de disponibilidad de estos servicios, consulte SLA para Servicios de Azure AI.
Azure Cosmos DB proporciona alta disponibilidad al mantener cuatro réplicas de los datos dentro de cada región y replicar datos entre regiones. La garantía de disponibilidad exacta depende de si se replica en una sola región o en varias. Para obtener más información, consulte Lograr una alta disponibilidad con Azure Cosmos DB.
Blob Storage ofrece opciones de redundancia que ayudan a garantizar la alta disponibilidad. Puede usar cualquiera de estos enfoques para replicar datos tres veces en una región primaria:
- En una única ubicación física para el almacenamiento con redundancia local (LRS).
- En tres zonas de disponibilidad que usan parámetros de disponibilidad diferentes. Para obtener más información, vea Parámetros de durabilidad y disponibilidad. Esta opción funciona mejor en las aplicaciones que requieren alta disponibilidad.
Para conocer las garantías de disponibilidad de otros servicios de Azure de la solución, vea estos recursos:
Escalabilidad
App Service puede escalar horizontalmente y reducir horizontalmente de forma automática a medida que varía la carga de la aplicación. Para obtener más información, vea Creación de una configuración de escalabilidad automática para recursos de Azure basada en los datos de rendimiento o en una programación.
Azure Functions puede escalar de forma automática o manual. El plan de hospedaje que elija determina el comportamiento de escalado de las aplicaciones de funciones. Para obtener más información, vea Opciones de hospedaje de Azure Functions.
De forma predeterminada, Documento de inteligencia de Azure AI admite 15 solicitudes simultáneas por segundo. Puede aumentar este valor mediante la creación de una incidencia de soporte técnico de Azure con una solicitud de aumento de cuota.
En el caso de los modelos personalizados que hospeda como servicios web en AKS, azureml-fe escala automáticamente según sea necesario. Este componente de front-end enruta las solicitudes de inferencia entrantes a los servicios implementados.
En el caso de la inferencia por lotes, Machine Learning crea un clúster de proceso a petición que escala automáticamente. Para obtener más información, vea Tutorial: Compilación de una canalización de Azure Machine Learning para la puntuación por lotes. Machine Learning usa la clase ParellelRunStep para ejecutar los trabajos de inferencia en paralelo.
Para Lenguaje de AI, se aplican límites de datos y velocidad. Para obtener más información, vea estos recursos:
Seguridad
La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.
Azure Web Application Firewall ayuda a proteger la aplicación frente a vulnerabilidades comunes. Esta opción de Application Gateway usa reglas de Open Web Application Security Project (OWASP) para evitar ataques como scripting entre sitios, secuestros de sesión y otras vulnerabilidades de seguridad.
Para mejorar la seguridad de App Service, tenga en cuenta estas opciones:
- App Service puede acceder a los recursos de Azure Virtual Network mediante la integración de redes virtuales.
- Puede usar App Service en una instancia de App Service Environment, que se implementa en una red virtual dedicada. Este enfoque ayuda a aislar la conectividad entre App Service y otros recursos de la red virtual.
Para obtener más información, vea Seguridad en Azure App Service.
Blob Storage y Azure Cosmos DB cifran los datos en reposo. Puede proteger estos servicios mediante puntos de conexión de servicio o puntos de conexión privados.
Azure Functions admite la integración de redes virtuales. Con esta funcionalidad, las aplicaciones de funciones pueden acceder a los recursos de una red virtual. Para obtener más información, vea las opciones de red de Azure Functions.
Puede configurar Documento de inteligencia de Azure AI y Lenguaje de AI para acceder desde redes virtuales específicas o desde puntos de conexión privados. Estos servicios cifran los datos en reposo. Es posible usar claves de suscripción, tokens o Microsoft Entra ID para autenticar solicitudes en estos servicios. Para obtener más información, consulte Autenticación de solicitudes en Servicios de Azure AI.
Machine Learning ofrece muchos niveles de seguridad:
- La autenticación de áreas de trabajo proporciona administración de identidades y acceso.
- Puede usar la autorización para administrar el acceso al área de trabajo.
- Al proteger los recursos del área de trabajo, puede mejorar la seguridad de red.
- Puede usar Seguridad de la capa de transporte (TLS) para proteger los servicios web que implemente por medio de Machine Learning.
- Para proteger los datos, puede cambiar las claves de acceso de las cuentas de Azure Storage que usa Machine Learning.
Resistencia
La resistencia de la solución depende de los modos de error de servicios individuales como App Service, Functions, Azure Cosmos DB, Storage y Application Gateway. Para obtener más información, vea Lista de comprobación de resistencia para servicios de Azure específicos.
Puede hacer que Documento de inteligencia de Azure AI sea resistente. Las posibilidades incluyen diseñarlo para conmutar por error en otra región y dividir la carga de trabajo en dos o más regiones. Para más información, consulte Copia de seguridad y recuperación de modelos de Documento de inteligencia de Azure AI.
Machine Learning Service depende de muchos servicios de Azure. Para proporcionar resistencia, debe configurar cada servicio para que sea resistente. Para obtener más información, vea Conmutación por error para la continuidad empresarial y la recuperación ante desastres.
Optimización de costos
La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.
El costo de implementar esta solución depende de los componentes que se usen y de las opciones que se elijan para cada componente.
Hay muchos factores que pueden afectar al precio de cada componente:
- El número de documentos que se procesen
- El número de solicitudes simultáneas que reciba la aplicación
- El tamaño de los datos que se almacenen después del procesamiento
- La región de implementación
Estos recursos proporcionan información sobre las opciones de precios de los componentes:
- Precios de Documento de inteligencia de AI
- Precios de Servicio de aplicaciones
- Precios de Azure Functions
- Precios de Application Gateway
- Precios de Azure Blob Storage
- Precios de Azure Cosmos DB
- Precios de servicio de lenguaje
- Precios de Azure Machine Learning
Después de decidir un plan de tarifa para cada componente, use la Calculadora de precios de Azure para calcular el costo de la solución.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Autor principal:
- Jyotsna Ravi | Ingeniero de clientes sénior
Pasos siguientes
- ¿Qué es Documento de inteligencia de AI?
- Uso del SDK de Documento de inteligencia de Azure AI o la API de REST
- ¿Qué es Lenguaje de AI?
- ¿Qué es Azure Machine Learning?
- Introducción a Azure Functions
- Configuración de Azure Functions con una red virtual
- ¿Qué es Azure Application Gateway?
- ¿Qué es el firewall de aplicaciones web de Azure en Azure Application Gateway?
- Tutorial: Acceso a SQL Server local desde una red virtual administrada por Data Factory mediante un punto de conexión privado
- Documentación de Azure Storage