Recherche vectorielle
Découvrez comment la recherche vectorielle révolutionne l'IA en permettant la similarité sémantique dans la récupération de données pour le NLP, la recherche visuelle, les systèmes de recommandation, et plus encore !
La recherche vectorielle est une technique sophistiquée de recherche d'informations qui identifie des éléments similaires dans un ensemble de données sur la base de leurs caractéristiques mathématiques plutôt que de correspondre à des mots-clés exacts.
sur la base de leurs caractéristiques mathématiques plutôt que sur des correspondances exactes de mots-clés. En représentant les données - telles que du texte, des images ou du
audio - sous forme de vecteurs numériques à haute dimension connus sous le nom de
Cette méthode permet aux ordinateurs de comprendre le contexte et la
le contexte et la signification sémantique d'une requête. Contrairement à la recherche traditionnelle par
traditionnelle, qui repose sur la correspondance entre des mots spécifiques, la recherche vectorielle calcule la proximité entre les éléments,
la recherche vectorielle calcule la proximité entre les éléments dans un espace multidimensionnel, ce qui lui permet de renvoyer des résultats pertinents même si la formulation diffère.
pertinents, même si la formulation diffère. Cette capacité est fondamentale pour l'intelligence artificielle
modernes d'intelligence artificielle (IA) et
systèmes modernes d'intelligence artificielle (IA) et d 'apprentissage machine (ML), en particulier pour le traitement de données non structurées telles que les flux vidéo.
traitement de données non structurées telles que les flux vidéo et le
le langage naturel.
Comment fonctionne la recherche vectorielle
Le mécanisme de base de la recherche vectorielle consiste à transformer des données brutes en un format numérique consultable. Ce processus
s'appuie sur des modèles d'apprentissage profond pour
l 'extraction de caractéristiques, convertissant les entrées en
vecteurs.
-
Vectorisation: Un modèle ML, tel que le modèle de pointe
YOLO11traite une image ou un texte et produit un vecteur - une
une longue liste de nombres qui représente les caractéristiques de l'élément (par exemple, les formes, les couleurs ou les concepts sémantiques).
-
Indexation: Ces vecteurs sont organisés efficacement, souvent au sein d'une base de données vectorielles dédiée, afin de permettre une recherche rapide.
base de données vectorielles, afin de permettre une recherche rapide.
-
Calcul de similarité: Lorsqu'un utilisateur soumet une requête, le système la convertit en un vecteur et mesure sa distance par rapport aux vecteurs stockés.
et mesure sa distance par rapport aux vecteurs stockés à l'aide de métriques telles que la
la similarité en cosinus ou
la distance euclidienne.
-
Récupération: Le système identifie et renvoie les "plus proches voisins", c'est-à-dire les vecteurs qui sont mathématiquement les plus proches de la requête.
qui sont mathématiquement les plus proches de la requête, en utilisant souvent des
les algorithmes ANN (Approximate Nearest Neighbor)
pour l'extensibilité des grands ensembles de données.
Applications concrètes
La recherche vectorielle est à l'origine de nombreuses fonctions intelligentes avec lesquelles les utilisateurs interagissent quotidiennement, dans divers secteurs allant du commerce électronique à la sécurité.
du commerce électronique à la sécurité.
-
Découverte visuelle dans le commerce de détail: En
L'IA dans le commerce de détail, la recherche vectorielle permet de "magasiner le look".
look". Si un utilisateur télécharge la photo d'une chaussure de sport, le système utilise la vision artificielle pour générer un encastrement et une image de la chaussure.
vision par ordinateur pour générer un encastrement et
et trouve des produits visuellement similaires dans le catalogue, fonctionnant ainsi comme un système de recommandation basé sur le style plutôt que sur l'apparence.
système de recommandation basé sur le style plutôt
plutôt que sur le nom des produits.
-
Modération du contenu et sécurité: Les plateformes utilisent la recherche vectorielle pour
détection des anomalies en comparant les nouveaux téléchargements
à une base de données de contenus illicites connus ou de menaces pour la sécurité. En faisant correspondre les caractéristiques sémantiques d'une image ou d'une vidéo, le système peut signaler un contenu potentiellement dangereux même s'il a été légèrement modifié.
d'une image ou d'une vidéo, le système peut signaler un contenu potentiellement dangereux même s'il a été légèrement modifié, ce qui renforce la sécurité des données.
la sécurité des données.
Exemple Python : Générer des emboîtements
La première étape de tout pipeline de recherche vectorielle est la génération des embeddings. L'extrait de code suivant montre comment
produire des vecteurs de caractéristiques à partir d'une image à l'aide de l'outil
Ultralytics Python et un modèle pré-entraîné.
from ultralytics import YOLO
# Load the official YOLO11 model
model = YOLO("yolo11n.pt")
# Generate embeddings for an image file or URL
# The 'embed' method returns the high-dimensional feature vector
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")
Recherche vectorielle vs. Concepts associés
Pour mettre en œuvre efficacement ces systèmes, il est utile de distinguer la recherche vectorielle des termes étroitement liés dans le paysage de la science des données.
science des données.
-
Recherche vectorielle et recherche sémantique: La recherche sémantique est le concept plus large de compréhension de l'intention et de la signification de l'utilisateur. La recherche vectorielle est la méthode
méthode spécifique utilisée pour y parvenir en calculant la proximité mathématique des vecteurs. Alors que la recherche sémantique
décrit le "quoi" (trouver le sens), la recherche vectorielle décrit le "comment" (en utilisant des encastrements et des mesures de distance).
métriques de distance).
-
Recherche vectorielle et base de données vectorielle: Une base de données vectorielle est l'infrastructure spécialisée utilisée pour stocker et indexer les encastrements. La recherche vectorielle est
l'action ou le processus d'interrogation de cette base de données pour trouver des éléments similaires. Vous utilisez une base de données vectorielle pour
effectuer une recherche vectorielle de manière efficace.
-
Recherche vectorielle vs.
Traitement du langage naturel (NLP): Le NLP se concentre sur l'interaction entre les ordinateurs et le langage humain. Alors que les modèles de TAL (comme les transformateurs) sont
souvent utilisés pour créer les enchâssements de texte, la recherche vectorielle est le mécanisme de recherche qui agit sur ces enchâssements.
embeddings.
En tirant parti de la vitesse de l'inférence en
l'inférence en temps réel et la profondeur de l'extraction
la recherche vectorielle permet aux applications d'aller au-delà des bases de données rigides et d'offrir des expériences de découverte intuitives et humaines,
des expériences de découverte intuitives et humaines. Qu'il s'agisse de mettre en œuvre
détection d'objets pour l'inventaire ou la construction d'un
chatbot avec un contexte amélioré, la recherche vectorielle est un
outil fondamental dans la boîte à outils du développeur d'IA moderne.