---
title: Clasificación de imágenes en bases de datos mediante inteligencia artificial con Altova MapForce
date: 2023-07-31
categories:
  - data-integration
  - database-mapping
  - tools
tags:
  - ai
  - artificial-intelligence
  - data-mapping
  - database-mapping
  - mapforce
description: La integración de datos basada en inteligencia artificial con MapForce puede automatizar la generación e inserción de etiquetas generadas por IA en una base de datos, de manera totalmente escalable.
---
Status: #blog

Tags:  #ai #artificial-intelligence #data-mapping #database-mapping #mapforce

Categories: [data-integration](/blog/es/category/data-integration.md) | [data-integration](/blog/es/category/data-integration.md) 
# Clasificación de imágenes en bases de datos mediante inteligencia artificial con Altova MapForce

Uno de los ejemplos más comunes de la inteligencia artificial en nuestra vida cotidiana es el reconocimiento facial. El reconocimiento facial es el proceso de identificar o verificar la identidad de una persona basándose en su rostro. Se utiliza en muchas aplicaciones, como desbloquear nuestros teléfonos con FaceID, etiquetar a nuestros amigos en plataformas de redes sociales como Facebook, y registrar la entrada en aeropuertos u hoteles con escáneres biométricos. El reconocimiento facial puede hacer nuestras vidas más convenientes y seguras, pero también puede plantear algunas preocupaciones sobre la privacidad y la ética. Por ejemplo, ¿cómo podemos asegurar que nuestros datos faciales no sean utilizados de manera indebida o robados por hackers o actores maliciosos? ¿Cómo podemos evitar que el reconocimiento facial se utilice para la vigilancia o la discriminación? ¿Cómo podemos garantizar que el reconocimiento facial sea preciso y justo, y que no tenga sesgos ni errores?

El párrafo anterior fue generado por [ChatGPT](https://www.bing.com/ck/a?!&&p=0ed506ef90d7a915JmltdHM9MTY4NzgyNDAwMCZpZ3VpZD0wNGJiZTc1My05OWRhLTY2YzAtMDRjNi1mNjAzOThiZDY3MTkmaW5zaWQ9NTI0Mg&ptn=3&hsh=3&fclid=04bbe753-99da-66c0-04c6-f60398bd6719&psq=chatgpt&u=a1aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2hhdEdQVA&ntb=1) en respuesta a mi solicitud de describir los beneficios y riesgos de la inteligencia artificial, e incluir un ejemplo de la vida real. Es interesante que ChatGPT haya elegido FaceID como ejemplo, ya que FaceID es simplemente una variante del análisis de imágenes, y la clasificación de imágenes basada en inteligencia artificial ofrece el potencial de automatizar muchas tareas del mundo real.

Un caso de uso común es un catálogo de productos, en el que una empresa gestiona la información de productos proporcionada por muchos fabricantes diferentes. Un producto cargado en esa base de datos puede tener un nombre que no necesariamente incluye una descripción precisa del artículo. Por ejemplo, "wellington" es una bota, "fedora" es un sombrero, un "mongoose" es una bicicleta, y un "pez aguja amarillo brillante" es un señuelo de pesca. Podemos utilizar la clasificación de imágenes basada en inteligencia artificial, utilizando la [API de Visión por Computadora de Microsoft Azure Cognitive Services](https://learn.microsoft.com/en-us/azure/cognitive-services/computer-vision/quickstarts-sdk/image-analysis-client-library?tabs=windows%2Cvisual-studio&pivots=programming-language-rest-api), para solucionar este problema. El servicio de Visión por Computadora toma los datos de la imagen o la URL como entrada y devuelve información sobre el contenido. Un servicio genera etiquetas de clasificación de imágenes basadas en un conjunto de entrenamiento de objetos reconocibles, seres vivos, paisajes y acciones con los que Azure AI ha sido entrenado. Estas etiquetas nos permiten categorizar los productos en la base de datos de manera adecuada, e incluso pueden corresponder a los términos de búsqueda que un usuario podría utilizar para encontrar productos en el catálogo.

![imagen decorativa que representa un "cerebro" de inteligencia artificial ](/blog/images/blog_MF_AI.jpg)

<!--more-->

Podemos crear un mapeo de datos basado en inteligencia artificial utilizando [Altova MapForce](https://www.altova.com/es/mapforce) para enviar imágenes de productos a la IA de visión artificial a través de su API de servicios web. Altova MapForce es una herramienta gráfica de mapeo de datos, galardonada, para la conversión e integración de datos de cualquier tipo. La API de visión artificial utiliza inteligencia artificial para analizar cada imagen y devolver una lista de etiquetas. MapForce admite servicios web directamente dentro del mapeo, y se puede utilizar una función de procesamiento de resultados intermedios o de mapeo de datos en cadena para insertar las etiquetas de nuevo en un campo específico de la base de datos para cada producto.

Esta herramienta de mapeo de datos, basada en inteligencia artificial, puede automatizar la generación e inserción de etiquetas generadas por IA para catálogos de productos, de una manera completamente escalable. Las etiquetas que proporciona la IA se acompañan de un índice de confianza, lo que facilita la configuración de un umbral en el mapeo para utilizar únicamente las etiquetas con un nivel de confianza suficientemente alto.

Comenzamos con una pequeña base de datos de ejemplos que contenía productos comunes para actividades al aire libre, y utilizamos [Altova DatabaseSpy](https://www.altova.com/es/databasespy) para añadir un campo a la tabla de productos para las etiquetas de inteligencia artificial. DatabaseSpy se conecta a todas las bases de datos principales, facilitando la edición de SQL, el diseño de la estructura de la base de datos, la edición de contenido y la conversión de bases de datos, todo a una fracción del costo de las soluciones específicas para una sola base de datos. A continuación, se muestra una ventana de resultados de una consulta de DatabaseSpy que muestra el contenido de la base de datos y el nuevo campo vacío.

[![Base de datos de ejemplo para un catálogo de productos](/blog/images/sample-database.png)](sample-database.png)

Y aquí, en orden aleatorio, se muestran versiones reducidas de las imágenes de los productos de ejemplo:

[![Imágenes para el catálogo de productos, almacenadas por separado de la base de datos.](/blog/images/products.png)](products.png)

También utilizamos DatabaseSpy para validar una consulta SQL sencilla que recuperaba únicamente el identificador (que es la clave primaria de la tabla) y el nombre del archivo de la imagen correspondiente.

[![Resultado de la consulta SQL para el mapeo de datos de la clasificación de imágenes de bases de datos basada en inteligencia artificial](/blog/images/mapping-query-result.png)](mapping-query-result.png)

La consulta SQL es la primera entrada para el mapeo de datos basado en inteligencia artificial de MapForce, y consta de tres componentes principales: el resultado de la consulta, la solicitud a la API de Análisis de Imágenes de Azure, y un script SQL para insertar las respuestas de la API de nuevo en la base de datos.

[![Descripción general del mapeo de datos completo para la clasificación de imágenes de bases de datos basada en inteligencia artificial](/blog/images/mapping1-1030x317.png)](mapping1.png)

Analicemos con más detalle la solicitud enviada a la API de inteligencia artificial:

### Resultado de una consulta SQL como fuente de entrada para el mapeo de datos

[![Sección de entrada para el mapeo de datos de clasificación de imágenes de bases de datos basada en inteligencia artificial](/blog/images/mapping-left-side-1.png)](mapping-left-side-1.png)

La consulta "Select" genera una tabla de datos, que esencialmente es una lista de números clave y los nombres de archivo de las imágenes correspondientes. Sin embargo, la API solo acepta solicitudes para una imagen a la vez. Al relacionar el identificador (id) de la consulta con el componente de la API, generamos una nueva llamada a la API para cada identificador que se devuelve, recorriendo así cada imagen de la lista. La otra conexión que sale del identificador y se encuentra en la parte superior derecha se utilizará más adelante para crear un script de actualización SQL.

El diseñador de la tabla de la base de datos optó por referenciar las imágenes de los productos mediante nombres de archivo, en lugar de incluir las imágenes binarias como objetos BLOB en la base de datos. La API de análisis de imágenes de inteligencia artificial puede aceptar tanto datos de imagen sin procesar como una URL que apunte a una imagen accesible públicamente, por lo que podemos simplemente proporcionar la URL de la imagen a la API en nuestra solicitud. La función "concat" que se muestra en el centro añade la ruta para construir cada URL completa.

**Ejecutando la solicitud del servicio web de inteligencia artificial**

La sección central del mapa de datos basado en inteligencia artificial muestra la función del servicio web que llama a la API de análisis de imágenes con inteligencia artificial, así como el procesamiento posterior de los resultados obtenidos

[![Función de servicio web y procesamiento posterior para la asignación de datos de clasificación de imágenes de bases de datos basada en inteligencia artificial](/blog/images/mapping-center.png)](mapping-center.png)

Observe el icono de sobre etiquetado como "Cuerpo" tanto en la sección de "Solicitud" como en la de "Respuesta" de la función del servicio web. La API requiere un objeto JSON como cuerpo de la solicitud y especifica que la respuesta será un documento JSON. Los botones azules y rojos que se encuentran junto a los iconos de "Cuerpo" abren un cuadro de diálogo para proporcionar las definiciones de la estructura de la solicitud y la respuesta.

[![Definición de la estructura de la función del servicio web de clasificación de imágenes basado en inteligencia artificial](/blog/images/request-structure-dialog.png)](request-structure-dialog.png)

La respuesta de la API de inteligencia artificial necesita un procesamiento adicional. Las etiquetas se devuelven como listas de objetos JSON, y cada etiqueta está acompañada de un número que representa el nivel de confianza en la precisión, expresado como un porcentaje. A continuación, se muestra un ejemplo. Esta es la respuesta de la IA en formato JSON original para la imagen del paraguas:

[![Ejemplo de una respuesta sin procesar proveniente del servicio web de clasificación de imágenes basado en inteligencia artificial](/blog/images/response-1.png)](response-1.png)

La función principal filtra las respuestas para aceptar las etiquetas que tengan un nivel de confianza del 88 por ciento o superior. A continuación, la función de concatenación combina las etiquetas en una cadena separada por comas. Observe que la etiqueta "rain" (lluvia) muestra un nivel de confianza del 42%.

Y aquí está la cadena de texto que queremos aplicar al producto principal en la base de datos, después de extraer únicamente las etiquetas que deseamos

[![Cadena de etiquetas para la actualización de la base de datos, procesada a partir de la respuesta anterior](/blog/images/response-2.png)](response-2.png)

### Generar una instrucción SQL de actualización a partir de las respuestas de la IA

La parte derecha del sistema de mapeo de datos basado en inteligencia artificial recibe cada resultado procesado, lo correlaciona con el índice de identificación correcto de la base de datos y asigna la secuencia de etiquetas al campo "ai-tags" de la tabla de la base de datos "cat-products".

[![Crear una instrucción SQL de actualización para completar el mapeo de datos de clasificación de imágenes de la base de datos basada en inteligencia artificial](/blog/images/mapping-right-side.png)](mapping-right-side.png)

### Análisis de los resultados del mapeo de datos basado en inteligencia artificial

El botón "Vista previa del resultado", ubicado debajo del panel principal de mapeo de MapForce, nos permite ver un ejemplo del resultado: ejecuta todo el proceso de mapeo de datos, comenzando con la consulta de selección original, realiza las solicitudes a la API, procesa los resultados de la inteligencia artificial y, finalmente, crea sentencias SQL de actualización, generando un script SQL de actualización completo

[![Script de actualización de la base de datos generado mediante el mapeo de datos de clasificación de imágenes de bases de datos, utilizando inteligencia artificial](/blog/images/update-script.png)](update-script.png)

Podemos utilizar la opción "Ejecutar script SQL" del menú principal de MapForce para ejecutar el script y aplicar las actualizaciones de la base de datos de forma interactiva. Alternativamente, ahora podemos implementar esta transformación en una instancia de [MapForce Server](https://www.altova.com/es/mapforce-server) en nuestra red, donde puede ejecutarse de forma automatizada como parte de un flujo de trabajo para la incorporación de nuevos productos en el catálogo. Utilizando [FlowForce Server](https://www.altova.com/es/flowforceserver), podríamos definir algunos disparadores que procesen automáticamente los datos entrantes, los validen, luego realicen el etiquetado de imágenes basado en inteligencia artificial y, finalmente, los introduzcan en la base de datos de producción.

Para este ejemplo, nuestras solicitudes a la API de Visión por Computadora de Microsoft Azure Cognitive Services utilizaron el modelo de visión preentrenado por defecto de Microsoft. Un modelo de visión personalizado podría refinar los resultados de las etiquetas para aplicaciones especializadas, pero eso está fuera del alcance de esta publicación.

[Haga clic aquí para obtener más información](https://www.altova.com/es/mapforce) sobre las funciones de mapeo y conversión de datos disponibles en MapForce, o [haga clic aquí para descargar](https://www.altova.com/es/download-trial.html) una versión de prueba gratuita y completamente funcional de 30 días, que incluye archivos de ayuda, tutoriales y numerosos ejemplos de mapeo de datos.

* * *
