Définition

Qu'est-ce que la recherche vectorielle ?

La recherche vectorielle s'appuie sur le Machine Learning (ML) pour capturer le sens et le contexte des données non structurées, notamment les textes et les images, qu'elle transforme en représentation numérique. Généralement utilisée dans le cadre de la recherche sémantique, la recherche vectorielle trouve des données similaires à l'aide d'algorithmes de recherche du plus proche voisin approximatif (ANN). Par rapport à la recherche traditionnelle par mots clés, la recherche vectorielle renvoie des résultats plus pertinents et s'exécute plus rapidement.

Video thumbnail

Pourquoi la recherche vectorielle est-elle importante ?

Combien de fois avez-vous recherché quelque chose sans en connaître vraiment le nom ? Vous savez comment fonctionne cet élément ou comment le décrire. Mais sans mots clés, votre recherche risque de traîner en longueur.

La recherche vectorielle surmonte cette difficulté en vous permettant de faire une recherche selon votre intention. Des réponses aux requêtes fondées sur la recherche de similarité peuvent être rapidement apportées. Cela est dû au plongement vectoriel qui capture les données non structurées au-delà du texte, telles que des vidéos, des images et des fichiers audio. Elle peut rapidement apporter des réponses aux requêtes d'après le contexte. Comment ? Avec les plongements vectoriels, qui capturent les synonymes et les associations d'idées, c'est-à-dire le sens qui se cache derrière votre recherche. Vous pouvez améliorer l'expérience de recherche en combinant la recherche vectorielle avec un filtrage et des agrégations pour optimiser la pertinence en mettant en œuvre une recherche hybride et en l'associant avec une attribution traditionnelle de scores.

Video thumbnail

Comment un moteur de recherche vectorielle fonctionne-t-il ?

Les moteurs de recherche vectorielle, qu'on appelle aussi recherche dans des bases de données vectorielles, recherche sémantique ou recherche cosinus, identifient les plus proches voisins d'une requête (vectorisée) donnée.

Alors que la recherche traditionnelle s'appuie sur des mots clés, la similarité lexicale et la fréquence d'occurrence d'un terme, les moteurs de recherche vectorielle utilisent les distances dans l'espace de plongement pour représenter la similarité. L'identification des données en lien avec votre requête revient à rechercher ses plus proches voisins.

  • Plongement vectoriel

    Les plongements vectoriels sont la représentation numérique des données et du contexte associé, stockés dans des vecteurs de grande dimension (denses). Les modèles qui génèrent des plongements peuvent être entraînés sur des millions d'exemples pour fournir des résultats plus pertinents et plus précis. Dans certains cas, les données numériques que vous avez collectées ou conçues pour représenter des fonctionnalités de vos documents peuvent servir comme plongements. Tout ce dont vous devez être capable, c'est d'effectuer efficacement des recherches.

  • Score de similarité

    Un moteur de recherche vectorielle s'appuie sur le principe suivant : si des données et des documents sont semblables, alors leurs vecteurs seront similaires. En indexant les requêtes et les documents à l'aide des plongements vectoriels, vous trouverez des documents similaires qui seront les plus proches voisins de votre requête.

  • Algorithme de recherche du plus proche voisin approximatif

    Lorsqu'on exécute un algorithme traditionnel de recherche des plus proches voisins, par exemple les k plus proches voisins, celui-ci demande généralement beaucoup de temps pour s'exécuter et consomme des ressources de calcul conséquentes. Dans le cas de la recherche du plus proche voisin approximatif (ANN), c'est différent. On renonce à la précision parfaite en échange d'une exécution efficace et à grande échelle dans des espaces de plongement hautement dimensionnels.

Cas d'utilisation de la recherche vectorielle

Non seulement la recherche vectorielle sous-tend la nouvelle génération d'expériences de recherche, mais elle ouvre aussi la voie à de nombreuses possibilités.

  • Recherche sémantique

    La recherche vectorielle sous-tend la recherche sémantique ou de similarité. Étant donné que le sens et le contexte sont capturés dans le plongement, la recherche vectorielle détermine ce que l'utilisateur veut dire, sans avoir besoin d'une correspondance parfaite avec un mot clé. Elle fonctionne avec les données textuelles (documents), les images et les fichiers audio. Trouvez rapidement et facilement des produits qui sont similaires ou en lien avec votre requête.

  • Recommandations

    Le modèle qui génère le plongement apprend à reconnaître les documents similaires et leurs vecteurs dans l'espace de plongement. Par exemple, une application peut vous recommander des films ou des produits sur la base de ce que d'autres utilisateurs qui ont acheté le même film/produit que vous ont aussi aimés. Toutefois, assurez-vous que les plongements sont dérivés avec un type de mesure de popularité ou d'appréciation comme indicateur cible.

    Les distances vectorielles peuvent être combinées avec d'autres indicateurs pour que les recommandations atteignent plusieurs objectifs. Par exemple, classez les recommandations de produits par scores de satisfaction ou potentiel de revenus.

  • Réponse aux questions

    La conversion des documents en plongements textuels peut se faire en combinaison avec le traitement du langage naturel (NLP) moderne pour fournir des réponses textuelles complètes aux questions. Cette approche évite que les utilisateurs aient à étudier des manuels fastidieux et permet à vos équipes d'apporter des réponses plus rapidement.

    Un modèle de transformateur de type "réponse aux questions" peut se servir de la représentation du plongement textuel à la fois pour la base de connaissances des documents et pour votre question afin de fournir la correspondance la plus proche en tant que "réponse".

Ce que vous pouvez faire de plus avec la recherche vectorielle

Ne vous contentez pas d'effectuer une recherche sémantique !

  • Parcourez les données non structurées

    Recherchez toutes les données non structurées. Vous pouvez créer des plongements pour les textes, les images, les fichiers audio ou les mesures de capteurs.

  • Utilisez les métadonnées comme filtre

    Filtrez les résultats de recherche à l'aide des métadonnées. Maintenez un rappel sans nuire à la rapidité en appliquant un filtre conformément à la recherche du plus proche voisin approximatif (ANN).

  • Reclasser les résultats de recherche

    Les similarités vectorielles peuvent être interprétées comme des scores de similarité que vous pouvez reclasser avec d'autres données. Sont compris les champs statiques qui se trouvent déjà dans votre base de données de recherche vectorielle, ainsi que les nouvelles propriétés avec l'application de modèles de Machine Learning.

  • Attribution hybride de scores

    Pour pousser encore plus loin l'optimisation, combinez les similarités vectorielles avec des scores BM25F, une approche que l'on appelle attribution hybride de scores. Vous obtiendrez ainsi un classement des images par similarité vectorielle tout en mettant en œuvre BM25F, ce qui permet un meilleur classement des textes.

Premiers pas

La recherche vectorielle et le NLP en toute simplicité avec Elastic

Pas besoin de déplacer des montagnes pour mettre en œuvre la recherche vectorielle et appliquer les modèles de NLP. Avec Elasticsearch Relevance Engine™ (ESRE), vous avez à votre disposition un panel d'outils pour créer des applications de recherche basée sur l'IA qui peuvent s'appuyer sur l'IA générative et les grands modèles de langage (LLM).

Avec ESRE, vous pouvez concevoir des applications de recherche innovantes, générer des plongements, stocker et rechercher des vecteurs et mettre en œuvre la recherche sémantique avec Elastic Learned Sparse Encoder. Découvrez comment utiliser Elasticsearch en tant que base de données vectorielle.

Video thumbnail
  • Recherche sémantique prête à l'emploi

    Elastic Learned Sparse Encoder fournit une recherche sémantique hautement pertinente et prête à l'emploi qui ne nécessite aucune adaptation de domaine. Ce modèle est disponible en un seul clic lors de la configuration de votre application de recherche. Il étaye les requêtes avec des mots clés et des scores de pertinence associés, qu'il a appris lors du processus d'entraînement, ce qui fait que vous n'avez pas besoin de configurer de synonymes. Contrairement aux plongements vectoriels denses, les résultats sont très faciles à interpréter.

  • Grands modèles de langage

    Ingérez des informations métier spécifiques dans les grands modèles de langage à l'aide de vos données privées (et pas seulement de données publiques entraînées). Utilisez Elasticsearch et accédez à l'intelligence artificielle générative avec des API et des plug-ins intégrés au grand modèle de langage de votre choix.

  • Plongements textuels et autres

    Apprenez à attribuer des sentiments et d'autres catégories à vos données avec Elastic. Appliquez la reconnaissance des entités nommées (NER) pour améliorer les expériences de recherche avec des métadonnées supplémentaires.