Création d'un système intelligent de personnalisation de garde-robe à partir de la base de données vectorielle Milvus
image de couverture
Si vous cherchez une armoire qui s'adapte parfaitement à votre chambre ou à votre cabine d'essayage, je parie que la plupart des gens penseront à celles qui sont faites sur mesure. Cependant, tout le monde n'a pas un budget aussi élevé. Qu'en est-il alors des armoires prêtes à l'emploi ? Le problème avec ce type d'armoire est qu'elles risquent fort de ne pas répondre à vos attentes, car elles ne sont pas assez flexibles pour répondre à vos besoins uniques en matière de rangement. De plus, lors d'une recherche en ligne, il est assez difficile de résumer le type particulier d'armoire que vous recherchez à l'aide de mots-clés. Il est très probable que le mot clé que vous tapez dans la boîte de recherche (par exemple, une armoire avec un plateau à bijoux) soit très différent de la façon dont il est défini dans le moteur de recherche (par exemple, une armoire avec un plateau extractible et un insert).
Mais grâce aux technologies émergentes, il existe une solution ! IKEA, le conglomérat de vente de meubles, propose un outil de conception populaire , PAX wardrobe, qui permet aux utilisateurs de choisir parmi un certain nombre d'armoires prêtes à l'emploi et d'en personnaliser la couleur, la taille et l'aménagement intérieur. Que vous ayez besoin d'un espace de suspension, de plusieurs étagères ou de tiroirs internes, ce système intelligent de personnalisation des penderies peut toujours répondre à vos besoins.
Pour trouver ou construire votre armoire idéale à l'aide de ce système intelligent de conception d'armoires, vous devez :
- Spécifier les exigences de base - la forme (normale, en L ou en U), la longueur et la profondeur de l'armoire.
- Spécifier vos besoins de rangement et l'organisation intérieure de l'armoire (par exemple, un espace de suspension, un porte-pantalon coulissant, etc. est nécessaire).
- Ajoutez ou retirez des éléments de l'armoire tels que des tiroirs ou des étagères.
Votre projet est alors terminé. Simple et facile !
système pax
La base de données vectorielle est un élément essentiel qui rend possible un tel système de conception de garde-robe. Cet article vise donc à présenter le flux de travail et les solutions de recherche de similarités utilisés pour construire un système intelligent de personnalisation de garde-robe basé sur la recherche de similarités vectorielles.
Aller à :
Vue d'ensemble du système
Afin de fournir un outil de personnalisation de garde-robe aussi intelligent, nous devons d'abord définir la logique d'entreprise et comprendre les attributs des articles et le parcours de l'utilisateur. Les penderies et leurs composants tels que les tiroirs, les plateaux et les étagères sont des données non structurées. Par conséquent, la deuxième étape consiste à exploiter les algorithmes et les règles d'IA, les connaissances préalables, la description des articles, etc., pour convertir ces données non structurées en un type de données compréhensibles par les ordinateurs : les vecteurs !
Présentation de l'outil de personnalisation
Avec les vecteurs générés, nous avons besoin de bases de données vectorielles et de moteurs de recherche puissants pour les traiter.
Architecture de l'outil
L'outil de personnalisation exploite certains des moteurs de recherche et des bases de données les plus populaires : Elasticsearch, Milvus et PostgreSQL.
Pourquoi Milvus ?
Une garde-robe contient des informations très complexes, telles que la couleur, la forme, l'organisation intérieure, etc. Cependant, la méthode traditionnelle consistant à conserver les données relatives à la garde-robe dans une base de données relationnelle est loin d'être suffisante. Une méthode courante consiste à utiliser des techniques d'intégration pour convertir les garde-robes en vecteurs. Nous devons donc rechercher un nouveau type de base de données spécialement conçu pour le stockage de vecteurs et la recherche de similitudes. Après avoir étudié plusieurs solutions populaires, la base de données vectorielles Milvus a été sélectionnée pour ses excellentes performances, sa stabilité, sa compatibilité et sa facilité d'utilisation. Le tableau ci-dessous est une comparaison de plusieurs solutions populaires de recherche vectorielle.
comparaison des solutions
Flux de travail du système
Flux de travail du système
Elasticsearch est utilisé pour un filtrage grossier par taille de garde-robe, couleur, etc. Les résultats filtrés passent ensuite par Milvus, la base de données vectorielle, pour une recherche de similarité et les résultats sont classés en fonction de leur distance/similarité avec le vecteur de la requête. Enfin, les résultats sont consolidés et affinés sur la base d'informations commerciales.
Flux de données
Le système de personnalisation de la garde-robe est très similaire aux moteurs de recherche traditionnels et aux systèmes de recommandation. Il comprend trois parties :
- La préparation des données hors ligne, y compris la définition et la génération des données.
- Les services en ligne, y compris le rappel et le classement.
- Le post-traitement des données basé sur la logique d'entreprise.
Flux de données
Flux de données hors ligne
- Définir les données à l'aide de la vision de l'entreprise.
- Utiliser les connaissances antérieures pour définir comment combiner différents composants et les former en une garde-robe.
- Reconnaître les étiquettes de caractéristiques des garde-robes et encoder les caractéristiques dans les données Elasticsearch dans le fichier
.json
. - Préparer les données de rappel en encodant les données non structurées en vecteurs.
- Utilisez Milvus, la base de données vectorielle, pour classer les résultats rappelés obtenus à l'étape précédente.
flux de données hors ligne
Flux de données en ligne
- Recevoir les demandes de renseignements des utilisateurs et collecter les profils des utilisateurs.
- Comprendre la requête de l'utilisateur en identifiant ses besoins pour la garde-robe.
- Recherche grossière à l'aide d'Elasticsearch.
- Noter et classer les résultats obtenus à partir de la recherche grossière sur la base du calcul de la similarité vectorielle dans Milvus.
- Post-traitement et organisation des résultats sur la plateforme back-end pour générer les résultats finaux.
flux de données en ligne
Post-traitement des données
La logique commerciale varie d'une entreprise à l'autre. Vous pouvez ajouter une touche finale aux résultats en appliquant la logique commerciale de votre entreprise.
Démonstration du système
Voyons maintenant comment fonctionne le système que nous avons construit.
L'interface utilisateur (IU) affiche la possibilité de différentes combinaisons de composants de la garde-robe.
Chaque composant est étiqueté en fonction de ses caractéristiques (taille, couleur, etc.) et stocké dans Elasticsearch (ES). Lors du stockage des étiquettes dans ES, quatre champs de données principaux doivent être remplis : ID, étiquettes, chemin de stockage et autres champs de soutien. ES et les données étiquetées sont utilisées pour le rappel granulaire et le filtrage des attributs.
es
Ensuite, différents algorithmes d'IA sont utilisés pour coder une garde-robe en un ensemble de vecteurs. Les ensembles de vecteurs sont stockés dans Milvus pour la recherche de similitudes et le classement. Cette étape permet d'obtenir des résultats plus précis et plus affinés.
Milvus
Elasticsearch, Milvus et d'autres composants du système forment ensemble la plateforme de conception de la personnalisation. Pour rappel, le langage spécifique au domaine (DSL) dans Elasticsearch et Milvus est le suivant.
dsl
Vous cherchez d'autres ressources ?
Découvrez comment la base de données vectorielles Milvus peut alimenter davantage d'applications d'IA :
- Vue d'ensemble du système
- Flux de données
- Démonstration du système
- Vous cherchez d'autres ressources ?
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word