Creación de un sistema inteligente de personalización de vestuario basado en la base de datos vectorial Milvus
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:
- Especificar los requisitos básicos: la forma (normal, en L o en U), la longitud y la profundidad del armario.
- Especificar sus necesidades de almacenamiento y la organización interior del armario (por ejemplo, si necesita espacio para colgar, un pantalonero extraíble, etc.).
- Añada o elimine partes del armario, como cajones o estantes.
A continuación, su diseño se ha completado. Fácil y sencillo.
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!
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.
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.
comparación de soluciones
Flujo de trabajo del sistema
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.
Flujo de datos
Flujo de datos offline
- Definir los datos utilizando el conocimiento del negocio.
- Utilizar conocimientos previos para definir cómo combinar diferentes componentes y formarlos en un armario.
- Reconocer las etiquetas de características de los armarios y codificar las características en datos de Elasticsearch en el archivo
.json
. - Preparar los datos recall codificando los datos no estructurados en vectores.
- Utilizar la base de datos de vectores Milvus para clasificar los resultados recuperados obtenidos en el paso anterior.
flujo de datos offline
Flujo de datos en línea
- Recibir solicitudes de consulta de los usuarios y recopilar sus perfiles.
- Comprender la consulta del usuario identificando sus requisitos para el armario.
- Búsqueda gruesa utilizando Elasticsearch.
- Puntuar y clasificar los resultados obtenidos de la búsqueda gruesa basándose en el cálculo de la similitud vectorial en Milvus.
- Post-procesar y organizar los resultados en la plataforma back-end para generar los resultados finales.
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
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
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
¿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 StartedLike the article? Spread the word