🚀 Prueba Zilliz Cloud, el Milvus completamente gestionado, gratis—¡experimenta un rendimiento 10 veces más rápido! Prueba Ahora>>

milvus-logo
LFAI
  • Home
  • Blog
  • Creación de un sistema inteligente de personalización de vestuario basado en la base de datos vectorial Milvus

Creación de un sistema inteligente de personalización de vestuario basado en la base de datos vectorial Milvus

  • Engineering
July 08, 2022
Yiyun Ni

cover image imagen de portada

Si busca un armario que encaje perfectamente en su dormitorio o vestidor, seguro que la mayoría piensa en los hechos a medida. Sin embargo, no todo el mundo dispone de tanto presupuesto. Entonces, ¿qué pasa con los ya hechos? El problema de este tipo de armarios es que probablemente no cumplan tus expectativas, ya que no son lo bastante flexibles como para adaptarse a tus necesidades específicas de almacenamiento. Además, al buscar en Internet, es bastante difícil resumir con palabras clave el tipo concreto de armario que está buscando. Es muy probable que la palabra clave que escriba en el cuadro de búsqueda (p. ej., Un armario con bandeja para joyas) sea muy diferente de cómo se define en el motor de búsqueda (p. ej., Un armario con bandeja extraíble con inserción).

Pero gracias a las nuevas tecnologías, ¡hay una solución! IKEA, el conglomerado minorista de muebles, ofrece una popular herramienta de diseño de armarios PAX que permite a los usuarios elegir entre una serie de armarios ya hechos y personalizar el color, el tamaño y el diseño interior de los mismos. Tanto si necesita espacio para colgar, como múltiples estantes o cajones interiores, este sistema inteligente de personalización de armarios siempre puede satisfacer sus necesidades.

Para encontrar o construir su armario ideal utilizando este sistema inteligente de diseño de armarios, es necesario:

  1. Especificar los requisitos básicos: la forma (normal, en L o en U), la longitud y la profundidad del armario.
  2. Especificar sus necesidades de almacenamiento y la organización interior del armario (por ejemplo, si necesita espacio para colgar, un pantalonero extraíble, etc.).
  3. Añada o elimine partes del armario, como cajones o estantes.

A continuación, su diseño se ha completado. Fácil y sencillo.

pax system sistema pax

Un componente muy importante que hace posible este sistema de diseño de armarios es la base de datos vectorial. Por lo tanto, este artículo pretende presentar el flujo de trabajo y las soluciones de búsqueda de similitudes utilizadas para construir un sistema inteligente de personalización de armarios basado en la búsqueda de similitudes vectoriales.

Ir a:

Visión general del sistema

Para poder ofrecer una herramienta de personalización de armarios tan inteligente, primero tenemos que definir la lógica empresarial y comprender los atributos de los artículos y el recorrido del usuario. Los armarios y sus componentes, como cajones, bandejas y estanterías, son datos no estructurados. Por lo tanto, el segundo paso consiste en aprovechar los algoritmos y las reglas de la IA, los conocimientos previos, la descripción de los artículos, etc., para convertir esos datos no estructurados en un tipo de datos que puedan entender los ordenadores: ¡vectores!

Customization tool overview Visión general de la herramienta de personalización

Con los vectores generados, necesitamos potentes bases de datos vectoriales y motores de búsqueda para procesarlos.

tool architecture arquitectura de la herramienta

La herramienta de personalización aprovecha algunos de los motores de búsqueda y bases de datos más populares: Elasticsearch, Milvus y PostgreSQL.

¿Por qué Milvus?

Un componente de vestuario contiene información muy compleja, como el color, la forma, la organización interior, etc. Sin embargo, la forma tradicional de guardar los datos del guardarropa en una base de datos relacional dista mucho de ser suficiente. Una forma muy extendida es utilizar técnicas de incrustación para convertir los vestuarios en vectores. Por tanto, hay que buscar un nuevo tipo de base de datos diseñada específicamente para el almacenamiento de vectores y la búsqueda de similitudes. Tras sondear varias soluciones populares, se selecciona la base de datos vectorial Milvus por su excelente rendimiento, estabilidad, compatibilidad y facilidad de uso. El cuadro siguiente es una comparación de varias soluciones populares de búsqueda de vectores.

solution comparison comparación de soluciones

Flujo de trabajo del sistema

System workflow Flujo de trabajo del sistema

Elasticsearch se utiliza para un filtrado grueso por el tamaño del vestuario, el color, etc. A continuación, los resultados filtrados pasan por la base de datos vectorial Milvus para una búsqueda de similitud y los resultados se clasifican en función de su distancia/similitud con el vector de consulta. Por último, los resultados se consolidan y se afinan en función de la visión empresarial.

Flujo de datos

El sistema de personalización de armarios es muy similar a los motores de búsqueda tradicionales y a los sistemas de recomendación. Consta de tres partes:

  • Preparación de datos fuera de línea: definición y generación de datos.
  • Servicios en línea, que incluyen la recuperación y la clasificación.
  • Postprocesamiento de datos basado en la lógica empresarial.

Data flow Flujo de datos

Flujo de datos offline

  1. Definir los datos utilizando el conocimiento del negocio.
  2. Utilizar conocimientos previos para definir cómo combinar diferentes componentes y formarlos en un armario.
  3. Reconocer las etiquetas de características de los armarios y codificar las características en datos de Elasticsearch en el archivo .json.
  4. Preparar los datos recall codificando los datos no estructurados en vectores.
  5. Utilizar la base de datos de vectores Milvus para clasificar los resultados recuperados obtenidos en el paso anterior.

offline data flow flujo de datos offline

Flujo de datos en línea

  1. Recibir solicitudes de consulta de los usuarios y recopilar sus perfiles.
  2. Comprender la consulta del usuario identificando sus requisitos para el armario.
  3. Búsqueda gruesa utilizando Elasticsearch.
  4. Puntuar y clasificar los resultados obtenidos de la búsqueda gruesa basándose en el cálculo de la similitud vectorial en Milvus.
  5. Post-procesar y organizar los resultados en la plataforma back-end para generar los resultados finales.

online data flow flujo de datos en línea

Post-procesamiento de datos

La lógica empresarial varía de una empresa a otra. Puede añadir un toque final a los resultados aplicando la lógica empresarial de su empresa.

Demostración del sistema

Veamos ahora cómo funciona realmente el sistema que hemos construido.

La interfaz de usuario (UI) muestra la posibilidad de diferentes combinaciones de componentes del armario.

Cada componente se etiqueta por su característica (talla, color, etc.) y se almacena en Elasticsearch (ES). Al almacenar las etiquetas en ES, hay que rellenar cuatro campos de datos principales: ID, etiquetas, ruta de almacenamiento y otros campos de apoyo. ES y los datos etiquetados se utilizan para la recuperación granular y el filtrado de atributos.

es es

A continuación, se utilizan distintos algoritmos de IA para codificar un armario en un conjunto de vectores. Los conjuntos de vectores se almacenan en Milvus para la búsqueda de similitudes y la clasificación. Este paso devuelve resultados más refinados y precisos.

Milvus Milvus

Elasticsearch, Milvus y otros componentes del sistema forman en conjunto la plataforma de diseño de personalización en su conjunto. Durante la recuperación, el lenguaje específico del dominio (DSL) en Elasticsearch y Milvus es el siguiente.

dsl dsl

¿Busca más recursos?

Descubra cómo la base de datos vectorial Milvus puede impulsar más aplicaciones de IA:

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started

Like the article? Spread the word

Sigue Leyendo