Introducing G2.ai, the future of software buying.Try now

Qu'est-ce que les embeddings vectoriels ? Explorez leur rôle dans les modèles d'IA.

20 Décembre 2024
par Sagar Joshi

Les embeddings vectoriels sont des représentations numériques de données qui aident les ordinateurs à mieux comprendre ces données et leurs représentations. Ils sont comme la transformation de mots en un code spécial et unique composé de chiffres. La proximité entre les embeddings vectoriels permet aux ordinateurs de percevoir le sens et la connexion entre les données qu'ils illustrent. Par exemple, les embeddings vectoriels de « Mari » et « Femme » seront proches l'un de l'autre et formeront un groupe ensemble. Les embeddings facilitent la recherche de motifs et de similitudes dans les données. Cependant, si vous prévoyez de les utiliser dans des applications, vous avez besoin d'une base de données vectorielle pour stocker et récupérer les embeddings vectoriels. Cela rendra vos opérations rapides et efficaces. Qu'est-ce que les embeddings vectoriels ? Un embedding vectoriel représente des données sous forme de points dans un espace multidimensionnel où l'emplacement exact de ces points a un sens sémantique, c'est-à-dire en ce qui concerne le sens des mots. Par exemple, des mots comme « chien », « chiot » et « labrador » se regrouperont dans l'espace multidimensionnel. De la même manière, les embeddings pour la musique audio seront regroupés avec les embeddings de chansons qui se ressemblent. Un regroupement similaire se produit dans les éléments sémantiquement équivalents et contextuellement quelque peu correspondants. Les embeddings de mots peuvent être 1D, 2D, 3D ou multidimensionnels. Il est difficile de les imaginer, compte tenu des limitations humaines. Lorsque vous saisissez des données plus complexes, comme une phrase ou un document, les embeddings commencent à avoir des dimensions plus élevées. Cependant, pour vous donner une image, un embedding vectoriel ressemble à [« 0.2, 09, -0.4, 0.8…]. Chaque chiffre représente des dimensions qui décrivent la caractéristique spécifique du point de données et comment elles contribuent à son sens réel. Comprendre les embeddings vectoriels Google a inventé une technique appelée Word2Vec en 2013 pour prendre en entrée des mots et produire un vecteur (coordonnée n-dimensionnelle). Tracer ces vecteurs de mots dans l'espace vous donnera des groupes synonymes. Par exemple, si vous saisissez des mots comme « ordinateur », « clavier » ou « souris » en entrée, leur embedding vectoriel se regroupera étroitement dans un espace multidimensionnel. Supposons que quelqu'un saisisse « appareils informatiques », son embedding vectoriel rejoindra également le groupe. L'embedding vectoriel vous permet de calculer des scores de similarité entre différents points de données intégrés. Par exemple, vous pouvez calculer la distance entre deux points de données pour comprendre à quel point ils sont similaires. Cela est connu sous le nom de méthode de distance euclidienne. Vous pouvez également utiliser d'autres méthodes pour calculer les similarités : - La distance cosinus calcule le cosinus de l'angle entre deux vecteurs. Elle donne un résultat de -1 si les vecteurs sont diamétralement opposés, 0 s'ils sont orthogonaux, ou 1 s'ils sont identiques. - Le produit scalaire détermine les similarités dans la plage de moins l'infini à l'infini. Il mesure le produit de la magnitude de deux vecteurs et le cosinus des angles entre eux. Ces scores de similarité sont largement utilisés dans la technologie de reconnaissance faciale et la correction de fautes de frappe. Par exemple, « Salut », « Saluuut » et « saluuuuut » ont le même sens contextuel et, par conséquent, des scores de similarité plus élevés. Les embeddings et les vecteurs sont-ils la même chose ? Les embeddings et les vecteurs sont étroitement liés mais ne sont pas identiques. Un vecteur est une représentation mathématique générale de données dans un espace multidimensionnel, consistant en une liste ordonnée de chiffres qui peuvent représenter n'importe quoi numériquement, comme des positions ou des directions. En revanche, un embedding est un type spécifique de vecteur conçu pour encoder des données complexes, telles que des mots, des images ou des utilisateurs, dans un format numérique dense qui préserve les relations significatives. Les embeddings sont souvent créés à l'aide de modèles d'apprentissage automatique pour mapper des données de haute dimension dans des espaces de dimension inférieure tout en conservant des informations sémantiques ou structurelles. Ainsi, bien que tous les embeddings soient des vecteurs, tous les vecteurs ne sont pas des embeddings. Types d'embeddings vectoriels Les différents types d'embeddings vectoriels servent à des fins distinctes. Lisez à propos de ces types courants ici. Embeddings de texte Les embeddings de texte convertissent des mots individuels en vecteurs continus dans un espace multidimensionnel, où la distance ou la direction relative représente la relation sémantique entre les mots. Par exemple, des mots comme « roi » et « reine » seraient proches l'un de l'autre, reflétant leur similarité, tandis que « roi » et « voiture » seraient plus éloignés. Dans l'analyse des sentiments, les embeddings de texte aident à classer si un avis est positif ou négatif. Si un utilisateur écrit, « Ce produit est incroyable », l'embedding capture le sentiment pour des tâches en aval. Des techniques comme Word2Vec, GloVe et FastText sont couramment utilisées à cette fin. Embeddings de phrases Les embeddings de phrases capturent le sens global d'une phrase, en tenant compte à la fois de la syntaxe et de la sémantique. Contrairement aux embeddings de mots, ils visent à préserver le contexte de l'ensemble de la phrase. Ces embeddings sont cruciaux pour catégoriser le texte ou récupérer des informations pertinentes à partir de bases de données. Dans le support client, lorsqu'un utilisateur tape « J'ai des problèmes pour me connecter », les embeddings de phrases peuvent le faire correspondre à des articles d'aide connexes, tels que « Comment réinitialiser votre mot de passe ». Des modèles pré-entraînés comme Sentence-BERT (SBERT) sont souvent utilisés pour générer de tels embeddings. Embeddings de documents Les embeddings de documents représentent un texte entier, tel qu'un livre, un article ou un article de recherche, sous forme de vecteur unique. Ils capturent le thème global, la structure et les caractéristiques importantes du document. Les embeddings de documents aident à recommander des articles dans la recherche académique. Si un chercheur lit un article sur « les réseaux neuronaux pour la classification d'images », le système peut suggérer des documents similaires en utilisant des embeddings dérivés du contenu de l'article. Des modèles comme Doc2Vec sont couramment utilisés. Vecteurs de profil utilisateur Les vecteurs de profil utilisateur encodent les comportements, préférences et traits des utilisateurs sous forme de vecteurs. Ces embeddings sont créés en fonction des actions historiques, telles que les achats, les likes ou les requêtes de recherche. Les entreprises les utilisent pour segmenter les utilisateurs et offrir des expériences personnalisées. Dans le commerce électronique, si un utilisateur achète fréquemment des équipements de fitness, son vecteur de profil peut recommander des articles connexes comme des tapis de yoga ou des poudres protéinées. Des plateformes comme Netflix et Amazon s'appuient fortement sur les embeddings de profil utilisateur pour des recommandations personnalisées. Vecteurs d'images Les embeddings d'images représentent des données visuelles, telles que des photos ou des images vidéo, sous forme de vecteurs. Ils sont générés à l'aide de modèles d'apprentissage profond comme les réseaux de neurones convolutifs (CNN), qui permettent aux machines d'identifier des motifs et des caractéristiques dans les images. Dans la reconnaissance d'objets, une application comme Pinterest utilise des embeddings d'images pour recommander des articles visuellement similaires. Par exemple, si un utilisateur télécharge une photo d'une robe rouge, l'application pourrait suggérer des robes de styles ou de couleurs similaires. Des modèles comme ResNet ou VGG créent ces embeddings. Vecteurs de produits Les vecteurs de produits représentent des articles sous forme de vecteurs en analysant leurs caractéristiques, telles que le prix, la catégorie ou la description. Ces embeddings aident les systèmes à classer les produits et à identifier les similitudes. Dans le commerce de détail, une recherche de « casques sans fil » dans une boutique en ligne génère un vecteur de produit. Le système recommande ensuite des articles similaires comme « écouteurs Bluetooth » ou « casques à réduction de bruit ». Ces vecteurs améliorent la précision de la recherche et la personnalisation sur des plateformes comme Shopify ou Flipkart. Comment créer des embeddings vectoriels Les embeddings vectoriels sont créés soit par le biais d'un modèle pré-entraîné, soit par une approche DIY, entraînez votre propre modèle. Voici un aperçu du processus. Collecte et préparation des données Commencez par rassembler un grand ensemble de données qui correspond au type de données pour lequel vous souhaitez créer des embeddings, comme du texte ou des images. Il est essentiel de nettoyer et de préparer les données : éliminer le bruit, normaliser le texte et résoudre toute incohérence pour garantir des entrées de qualité. Choisir un modèle Ensuite, sélectionnez un modèle de réseau de neurones artificiels (ANN) adapté à vos données et à vos objectifs. Cela pourrait être un modèle d'apprentissage profond comme un réseau de neurones convolutif (CNN) pour les images ou un réseau de neurones récurrents (RNN) pour le texte. Une fois choisi, alimentez le réseau avec les données préparées pour l'entraînement. Entraînement du modèle Pendant la phase d'entraînement, le modèle apprend à reconnaître les motifs et les relations dans les données. Par exemple, il pourrait apprendre quels mots apparaissent fréquemment ensemble ou comment certaines caractéristiques sont représentées dans les images. Au fur et à mesure que le modèle s'entraîne, il génère des embeddings vectoriels numériques qui capturent l'essence de chaque point de données. Chaque élément de données se verra attribuer un vecteur unique. Évaluation de la qualité des embeddings Après l'entraînement, évaluez la qualité des embeddings en les appliquant à des tâches spécifiques. Cela pourrait impliquer d'évaluer la performance du modèle dans des tâches telles que la classification, le regroupement ou la recommandation. Votre équipe devrait examiner les résultats pour s'assurer que les embeddings répondent aux objectifs visés. Déploiement des embeddings Si les embeddings fonctionnent bien et répondent aux normes de qualité, ils peuvent être appliqués à des tâches réelles telles que la recherche, la recommandation ou la compréhension du langage naturel. Avec une validation réussie, vous pouvez mettre en œuvre les embeddings en toute confiance là où ils sont nécessaires dans vos applications. Applications des embeddings vectoriels Les embeddings vectoriels sont utilisés dans de nombreux domaines. Explorez leurs applications courantes. Traitement du langage naturel (NLP) L'embedding vectoriel permet aux modèles de reconnaître les relations sémantiques entre différents mots. Des techniques d'embedding avancées comme Word2Vec, GloVe et, plus récemment, les embeddings contextuels de modèles comme Bidirectional Encoder Representations from Transformers (BERT) et Generative Pre-Trained Transformers (GPT) permettent à la technologie de comprendre le contexte dans lequel les mots sont utilisés. Dans les tâches de NLP, il devient plus facile de distinguer les différents sens d'un même mot en fonction du contexte. Par exemple, la « banque » dans « rive de la rivière » est différente de la « banque » dans « compte bancaire ». De plus, les embeddings soutiennent les tâches de NLP avec l'analyse des sentiments et la reconnaissance d'entités nommées. Moteurs de recherche Les embeddings vectoriels améliorent la performance et la précision des moteurs de recherche. Ils leur permettent de comprendre le contexte et le sens des mots dans une requête afin qu'ils aillent au-delà de la recherche de correspondances exactes de mots. Cela améliore les classements car ils sont basés sur la similarité sémantique plutôt que sur la fréquence du mot-clé. Cela signifie que les pages qui sont contextuellement similaires à la requête sont prioritaires pour fournir des résultats plus précis. De plus, lorsque les gens saisissent des requêtes avec plusieurs significations, les embeddings vectoriels permettent aux moteurs de recherche d'absorber le contexte et de renvoyer des résultats selon les interprétations les plus proches. Systèmes de recommandation personnalisée Les embeddings vectoriels représentent à la fois les utilisateurs et les articles dans un espace latent commun. Par exemple, les embeddings d'utilisateurs montrent les préférences et les comportements, et les embeddings d'articles incluent les caractéristiques et attributs d'un article. Le système calcule la distance entre les embeddings d'utilisateurs et d'articles tout en mesurant l'angle entre leurs cosinus. Sur la base de cette analyse, le système suggère des articles qui sont les plus proches des utilisateurs. Les embeddings vectoriels intègrent également des informations contextuelles, telles que le type d'appareil ou l'heure de la journée, pour s'assurer que les recommandations sont pertinentes pour l'utilisateur actuel et son environnement. Principales solutions logicielles de bases de données vectorielles Les logiciels de bases de données vectorielles sont essentiels pour stocker, gérer et interroger efficacement des embeddings de haute dimension. Ces outils permettent des recherches de similarité rapides et une intégration transparente avec les flux de travail d'IA. Voici quelques-unes des meilleures solutions disponibles aujourd'hui. - Pinecone - DataStax - Zilliz - Weaviate - PG Vector *Ce sont les cinq principales solutions logicielles de bases de données vectorielles du rapport Grid® de l'hiver 2024 de G2. Commencez à travailler avec les embeddings vectoriels Vous avez besoin de la bonne technologie pour équiper votre application et vos modèles de capacités de recherche sémantique ou de recommandations de produits personnalisées. Pensez à une base de données vectorielle pour stocker les données et y accéder en fonction des similarités. Êtes-vous prêt à essayer ? Considérez ces bases de données vectorielles gratuites pour les expérimenter sur un essai ou un plan gratuit.

Vous voulez en savoir plus sur Logiciel de base de données vectorielle ? Découvrez les produits Base de données vectorielle.

Sagar Joshi
SJ

Sagar Joshi

Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.