Enriquecimiento mediante inteligencia artificial con procesamiento de imágenes y texto

Azure App Service
Azure Blob Storage
Azure AI Search
Azure Functions

Ideas de solución

Este artículo es una idea de solución. Si te gustaría que ampliemos este artículo con más información, como posibles casos de uso, servicios alternativos, consideraciones de implementación o una guía de precios, comunícalo a través de los Comentarios de GitHub.

En este artículo se presenta una solución que enriquece los documentos de texto e imagen mediante el procesamiento de imágenes, el procesamiento del lenguaje natural y las aptitudes personalizadas para capturar datos específicos del dominio. Azure Cognitive Search con enriquecimiento con IA puede ayudar a identificar y explorar contenido relevante a escala. Esta solución usa el enriquecimiento con IA para extraer el significado del complejo conjunto de datos sin estructurar original de los informes sobre el asesinato de JFK (archivos de JFK).

Architecture

Diagram that shows Azure Cognitive Search architecture to convert unstructured into structured data.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

El diagrama anterior muestra el proceso de pasar el conjunto de datos de los archivos de JFK sin estructura a través de la canalización de aptitudes de Azure Cognitive Search para generar datos estructurados e indexables:

  1. Los datos no estructurados de Azure Blob Storage, como documentos e imágenes, se ingieren en Azure Cognitive Search.
  2. El paso de descifrado de documentos inicia el proceso de indexación mediante la extracción de imágenes y texto de los datos, para, después, realizar el enriquecimiento del contenido. Los pasos del enriquecimiento que se producen en este proceso dependen de los datos y el tipo de aptitudes seleccionados.
  3. Las aptitudes integradas basadas en las API de Computer Vision y Language Service permiten realizar enriquecimientos con IA, incluido el reconocimiento óptico de caracteres de la imagen (OCR), el análisis de imágenes, la traducción de texto, el reconocimiento de entidades y la búsqueda de texto completo.
  4. Las aptitudes personalizadas admiten escenarios que requieren modelos o servicios de inteligencia artificial más complejos. Algunos ejemplos son Forms Recognizer, modelos de Azure Machine Learning y Azure Functions.
  5. Después del proceso de enriquecimiento, el indexador guarda las salidas en un índice de búsqueda que contiene los documentos enriquecidos e indexados. Este índice lo pueden usar la búsqueda de texto completo y otros formularios de consulta.
  6. Los documentos enriquecidos también se pueden proyectar en un almacén de conocimiento, que las aplicaciones de nivel inferior, como la minería de conocimiento o la ciencia de datos, pueden usar.
  7. Las consultas acceden al contenido enriquecido en el índice de búsqueda. El índice admite analizadores personalizados, consultas de búsqueda aproximada, filtros y un perfil de puntuación para ajustar la relevancia de la búsqueda.
  8. Cualquier aplicación que se conecte a Blob Storage o a Azure Table Storage puede acceder al almacén de conocimiento.

Componentes

Azure Cognitive Search funciona con otros componentes de Azure para proporcionar esta solución.

Azure Cognitive Search indexa el contenido y potencia la experiencia del usuario en esta solución. Azure Cognitive Search puede aplicar aptitudes cognitivas pregeneradas al contenido y el mecanismo de extensibilidad puede agregar aptitudes personalizadas para transformaciones de enriquecimiento concretas.

Azure Computer Vision

Azure Computer Vision el reconocimiento de texto para extraer y reconocer la información de texto de las imágenes. Read API usa los modelos de reconocimiento óptico de caracteres más recientes y está optimizado para documentos grandes y con mucho texto, e imágenes con demasiado grano.

La OCR API heredada no está optimizada para documentos grandes, pero admite más idiomas. Los resultados del OCR pueden variar en función de la calidad de la imagen y de la digitalización. La idea de la solución actual usa el reconocimiento óptico de caracteres para generar datos con el formato hOCR.

Azure Cognitive Service for Language

Azure Cognitive Service para lenguaje extrae información de texto de documentos sin estructura, para lo que se usan funcionalidades de análisis de texto como Reconocimiento de entidades con nombre (NER), la extracción de frases clave y la búsqueda de texto completo.

Azure Storage

Azure Blob Storage es un almacenamiento de objetos basado en REST para datos a los que se puede acceder desde cualquier lugar del mundo a través de HTTPS. Blob Storage se puede usar para exponer datos públicamente al mundo, o bien para almacenar los datos de aplicaciones de manera privada. Blob Storage es ideal para grandes cantidades de datos sin estructura, como texto o gráficos.

Azure Table Storage almacena en la nube datos NoSQL altamente disponibles, escalables, estructurados o semiestructurados.

Azure Functions

Azure Functions es un servicio de proceso sin servidor que permite ejecutar pequeñas partes de código desencadenado por eventos sin tener que aprovisionar ni administrar explícitamente la infraestructura. Esta solución usa un método de Azure Functions para aplicar la lista de criptónimos de la CIA a los informes sobre el asesinato de JFK como una aptitud personalizada.

Azure App Service

Esta idea de solución también crea una aplicación web independiente en Azure App Service para probar, demostrar, buscar en el índice y explorar conexiones en los documentos enriquecidos e indexados.

Detalles del escenario

Los conjuntos de datos grandes y sin estructurar pueden incluir tanto notas escritas a máquina como manuscritas, fotografías y diagramas, y otros datos sin estructura que las soluciones de búsqueda estándar no pueden analizar. Los informes sobre el asesinato de JFK contienen más de 34 000 páginas de documentos sobre la investigación de la CIA del asesinato de JFK en 1963.

El proyecto de ejemplo JFK Files y la demo en línea muestran un caso de uso concreto de Azure Cognitive Search. Esta idea de solución no pretende ser un marco ni una arquitectura escalable para todos los escenarios, sino proporcionar una directriz general y un ejemplo. El proyecto de código y la demo crean un sitio web público y un contenedor de almacenamiento legible público para imágenes extraídas, por lo que esta solución no se debe usar con datos que no sean públicos.

El enriquecimiento con inteligencia artificial en Azure Cognitive Search puede extraer y mejorar texto susceptible de indexación y búsqueda de imágenes, blobs y otros orígenes de datos no estructurados, como los archivos JFK. El enriquecimiento con inteligencia artificial usa conjuntos de aptitudes de aprendizaje automático previamente entrenados de las API de Cognitive Services Computer Vision y Cognitive Service para lenguaje. También puede crear y asociar aptitudes personalizadas para agregar un procesamiento especial para los datos de un dominio concreto, como los criptónimos de la CIA. Luego, Azure Cognitive Search puede indexar y realizar búsquedas en ese contexto.

En esta solución, las aptitudes de Azure Cognitive Search se dividen en las siguientes categorías:

  • Procesamiento de imágenes. Las aptitudes de extracción de texto y el análisis de imágenes integradas, incluyen la detección de objetos y de caras, la generación de etiquetas y títulos, y la identificación de celebridades y de lugares emblemáticos. Estas aptitudes crean representaciones en texto del contenido de las imágenes, en las que se pueden realizar búsquedas, y para ello usan las funcionalidades de consulta de Azure Cognitive Search. El descifrado de documentos es el proceso de extraer o crear contenido de texto a partir de orígenes que no son de texto.

  • Procesamiento de lenguaje natural. Las aptitudes integradas como el reconocimiento de entidades, la detección de idioma y la extracción de frases clave, asignan el texto sin estructurar a campos en los que se pueden realizar búsquedas y a los que se puede agregar filtros en un índice.

  • Las aptitudes personalizadas amplían Azure Cognitive Search para aplicar transformaciones de enriquecimiento específicas al contenido. Especifique la interfaz de una aptitud personalizada mediante la aptitud API web personalizada.

Posibles casos de uso

  • Aumente el valor y la utilidad del texto sin estructurar y del contenido de las imágenes en aplicaciones de búsqueda y de ciencia de datos.
  • Use aptitudes personalizadas para integrar el código abierto, el de terceros o el interno en las canalizaciones de indexación.
  • Consiga que los documentos JPG, PNG o de mapa de bits digitalizados se puedan buscar en texto completo.
  • Genere mejores resultados que la extracción de texto de PDF estándar en archivos PDF en los que se combinan imágenes y texto. Es posible que algunos formatos PDF digitalizados y nativos no se analicen correctamente en Azure Cognitive Search.
  • Cree información a partir de contenido sin procesar con un significado inherente o de un contexto que está oculto en grandes documentos sin estructurar o semiestructurados.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribió el siguiente colaborador.

Autor principal:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes

Más información sobre esta solución:

Consulte la documentación del producto:

Pruebe la ruta de aprendizaje:

Consulte las arquitecturas e instrucciones relacionadas: