🚀 Experimente o Zilliz Cloud, o Milvus totalmente gerenciado, gratuitamente—experimente um desempenho 10x mais rápido! Experimente Agora>>

milvus-logo
LFAI
  • Home
  • Blog
  • Criação de um sistema inteligente de personalização de guarda-roupa com base de dados vectoriais Milvus

Criação de um sistema inteligente de personalização de guarda-roupa com base de dados vectoriais Milvus

  • Engineering
July 08, 2022
Yiyun Ni

cover image imagem da capa

Se está à procura de um roupeiro que se adapte perfeitamente ao seu quarto ou provador, aposto que a maioria das pessoas pensa nos roupeiros feitos à medida. No entanto, nem todos os orçamentos podem ir tão longe. Então, o que fazer com os já prontos? O problema com este tipo de guarda-roupa é que é muito provável que fiquem aquém das suas expectativas, uma vez que não são suficientemente flexíveis para satisfazer as suas necessidades únicas de arrumação. Além disso, quando se faz uma pesquisa online, é bastante difícil resumir o tipo específico de roupeiro que se procura através de palavras-chave. Muito provavelmente, a palavra-chave que escreve na caixa de pesquisa (por exemplo, Um armário com um tabuleiro para jóias) pode ser muito diferente da forma como é definida no motor de busca (por exemplo, Um armário com tabuleiro extraível com encaixe).

Mas graças às tecnologias emergentes, há uma solução! A IKEA, o conglomerado de retalho de mobiliário, disponibiliza uma ferramenta de design popular, o PAX wardrobe, que permite aos utilizadores escolher entre uma série de roupeiros prontos a usar e personalizar a cor, o tamanho e o design interior dos roupeiros. Quer necessite de espaço para pendurar, de várias prateleiras ou de gavetas interiores, este sistema inteligente de personalização de roupeiros pode sempre satisfazer as suas necessidades.

Para encontrar ou construir o seu roupeiro ideal utilizando este sistema inteligente de design de roupeiros, é necessário:

  1. Especificar os requisitos básicos - a forma (normal, em L ou em U), o comprimento e a profundidade do roupeiro.
  2. Especificar as suas necessidades de arrumação e a organização interior do roupeiro (por exemplo, é necessário espaço para pendurar, um suporte para calças extraível, etc.).
  3. Adicione ou retire partes do roupeiro, como gavetas ou prateleiras.

Depois, o seu design está concluído. Simples e fácil!

pax system sistema pax

Um componente muito importante que torna possível este sistema de conceção de roupeiros é a base de dados vetorial. Por isso, este artigo tem como objetivo apresentar o fluxo de trabalho e as soluções de pesquisa de semelhanças utilizadas para criar um sistema inteligente de personalização de roupeiros com base na pesquisa de semelhanças vectoriais.

Saltar para:

Descrição geral do sistema

Para fornecer uma ferramenta de personalização de guarda-roupas tão inteligente, precisamos primeiro de definir a lógica comercial e compreender os atributos dos itens e o percurso do utilizador. Os roupeiros, juntamente com os seus componentes, como gavetas, tabuleiros e prateleiras, são todos dados não estruturados. Por conseguinte, o segundo passo consiste em utilizar algoritmos e regras de IA, conhecimento prévio, descrição de artigos, etc., para converter esses dados não estruturados num tipo de dados que pode ser compreendido pelos computadores - vectores!

Customization tool overview Visão geral da ferramenta de personalização

Com os vectores gerados, precisamos de poderosas bases de dados de vectores e motores de pesquisa para os processar.

tool architecture arquitetura da ferramenta

A ferramenta de personalização utiliza alguns dos motores de pesquisa e bases de dados mais populares: Elasticsearch, Milvus e PostgreSQL.

Porquê o Milvus?

Um componente do guarda-roupa contém informações altamente complexas, como a cor, a forma, a organização interior, etc. No entanto, a forma tradicional de manter os dados do guarda-roupa numa base de dados relacional está longe de ser suficiente. Uma forma popular é utilizar técnicas de incorporação para converter os guarda-roupas em vectores. Por conseguinte, temos de procurar um novo tipo de base de dados especificamente concebido para o armazenamento de vectores e a pesquisa de semelhanças. Depois de analisar várias soluções populares, a base de dados de vectores Milvus foi selecionada pelo seu excelente desempenho, estabilidade, compatibilidade e facilidade de utilização. O gráfico abaixo é uma comparação de várias soluções populares de pesquisa vetorial.

solution comparison comparação de soluções

Fluxo de trabalho do sistema

System workflow Fluxo de trabalho do sistema

O Elasticsearch é utilizado para uma filtragem grosseira por tamanho do guarda-roupa, cor, etc. Em seguida, os resultados filtrados passam pela base de dados vetorial Milvus para uma pesquisa de semelhanças e os resultados são classificados com base na sua distância/semelhança com o vetor de consulta. Por fim, os resultados são consolidados e aperfeiçoados com base em informações comerciais.

Fluxo de dados

O sistema de personalização de armários é muito semelhante aos motores de pesquisa tradicionais e aos sistemas de recomendação. É composto por três partes:

  • Preparação de dados offline, incluindo definição e geração de dados.
  • Serviços em linha, incluindo a recuperação e a classificação.
  • Pós-processamento de dados com base na lógica empresarial.

Data flow Fluxo de dados

Fluxo de dados offline

  1. Definir os dados utilizando o conhecimento comercial.
  2. Utilizar conhecimentos prévios para definir como combinar diferentes componentes e formá-los num guarda-roupa.
  3. Reconhecer etiquetas de caraterísticas dos roupeiros e codificar as caraterísticas em dados do Elasticsearch no ficheiro .json.
  4. Preparar dados de recuperação codificando dados não estruturados em vectores.
  5. Utilizar a base de dados de vectores Milvus para classificar os resultados recuperados obtidos na etapa anterior.

offline data flow fluxo de dados offline

Fluxo de dados em linha

  1. Receber os pedidos de consulta dos utilizadores e recolher os perfis dos utilizadores.
  2. Compreender a consulta do utilizador, identificando os seus requisitos para o guarda-roupa.
  3. Pesquisa grosseira utilizando o Elasticsearch.
  4. Pontuar e classificar os resultados obtidos da pesquisa grosseira com base no cálculo da semelhança dos vectores em Milvus.
  5. Pós-processar e organizar os resultados na plataforma back-end para gerar os resultados finais.

online data flow fluxo de dados em linha

Pós-processamento de dados

A lógica comercial varia consoante a empresa. Pode dar um toque final aos resultados aplicando a lógica comercial da sua empresa.

Demonstração do sistema

Vejamos agora como funciona o sistema que criámos.

A interface do utilizador (IU) apresenta a possibilidade de diferentes combinações de componentes do armário.

Cada componente é etiquetado pela sua caraterística (tamanho, cor, etc.) e armazenado no Elasticsearch (ES). Ao armazenar as etiquetas no ES, existem quatro campos de dados principais a preencher: ID, etiquetas, caminho de armazenamento e outros campos de suporte. O ES e os dados rotulados são utilizados para a recolha granular e a filtragem de atributos.

es es

Em seguida, são utilizados diferentes algoritmos de IA para codificar um guarda-roupa num conjunto de vectores. Os conjuntos de vectores são armazenados no Milvus para pesquisa de semelhanças e classificação. Este passo permite obter resultados mais refinados e exactos.

Milvus Milvus

O Elasticsearch, o Milvus e outros componentes do sistema formam a plataforma de design de personalização como um todo. Durante a recordação, a linguagem específica do domínio (DSL) no Elasticsearch e no Milvus é a seguinte.

dsl dsl

Procura mais recursos?

Saiba como o banco de dados de vetores do Milvus pode potencializar mais aplicativos 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

Continue Lendo