Criação de um sistema inteligente de personalização de guarda-roupa com base de dados vectoriais Milvus
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:
- Especificar os requisitos básicos - a forma (normal, em L ou em U), o comprimento e a profundidade do roupeiro.
- 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.).
- Adicione ou retire partes do roupeiro, como gavetas ou prateleiras.
Depois, o seu design está concluído. Simples e fácil!
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!
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.
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.
comparação de soluções
Fluxo de trabalho do sistema
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.
Fluxo de dados
Fluxo de dados offline
- Definir os dados utilizando o conhecimento comercial.
- Utilizar conhecimentos prévios para definir como combinar diferentes componentes e formá-los num guarda-roupa.
- Reconhecer etiquetas de caraterísticas dos roupeiros e codificar as caraterísticas em dados do Elasticsearch no ficheiro
.json
. - Preparar dados de recuperação codificando dados não estruturados em vectores.
- Utilizar a base de dados de vectores Milvus para classificar os resultados recuperados obtidos na etapa anterior.
fluxo de dados offline
Fluxo de dados em linha
- Receber os pedidos de consulta dos utilizadores e recolher os perfis dos utilizadores.
- Compreender a consulta do utilizador, identificando os seus requisitos para o guarda-roupa.
- Pesquisa grosseira utilizando o Elasticsearch.
- Pontuar e classificar os resultados obtidos da pesquisa grosseira com base no cálculo da semelhança dos vectores em Milvus.
- Pós-processar e organizar os resultados na plataforma back-end para gerar os resultados finais.
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
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
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
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 StartedLike the article? Spread the word