Recherche sémantique

Recherche sémantique
Semantic Search.png
Qu'est-ce que la recherche sémantique ?
La recherche sémantique est une technique de recherche qui utilise le [traitement du langage naturel] (https://zilliz.com/learn/A-Beginner-Guide-to-Natural-Language-Processing) (NLP) et l'apprentissage automatique (ML) pour comprendre le contexte et le sens de la requête d'un utilisateur. Le sens contextuel aide les algorithmes à analyser les relations entre les mots et à interpréter les requêtes des utilisateurs avec plus de précision, ce qui permet d'obtenir des résultats de recherche plus pertinents basés sur les nuances du langage plutôt que sur les seuls mots-clés. Voici quelques termes clés liés à la recherche sémantique :
Définition et principes
La recherche sémantique est une technologie de moteur de recherche qui interprète le sens des mots et des phrases pour fournir des résultats de recherche plus précis et plus pertinents. Contrairement aux moteurs de recherche par mots-clés traditionnels (parfois appelés recherche lexicale) qui se concentrent sur la recherche de mots exacts, la recherche sémantique cherche à comprendre le contexte et l'intention qui se cachent derrière une requête de recherche. Cette approche permet aux moteurs de recherche de fournir des résultats qui correspondent davantage à ce que l'utilisateur recherche réellement.
Les principes de la recherche sémantique sont régis par deux aspects principaux : l'intention de recherche et la signification sémantique. L'intention de recherche fait référence à la motivation ou à l'objectif sous-jacent à la requête de recherche d'un utilisateur. Par exemple, lorsque quelqu'un cherche "meilleures chaussures de course", son intention est probablement de trouver des recommandations et des avis plutôt qu'une simple liste de chaussures de course. La signification sémantique, quant à elle, consiste à comprendre les relations entre les mots et les phrases dans le contexte de la requête. Il s'agit d'interpréter le sens des mots en fonction de leur utilisation et de leur contexte, plutôt que de manière isolée. En combinant ces principes, les moteurs de recherche sémantiques peuvent fournir des résultats de recherche plus pertinents qui répondent mieux aux besoins de l'utilisateur.
Traitement du langage naturel (NLP)
Branche de l'intelligence artificielle (IA) qui vise à permettre aux ordinateurs de comprendre et de traiter le langage humain. Le NLP est utilisé dans la recherche sémantique pour aider les ordinateurs à comprendre le sens de la requête d'un utilisateur.
Apprentissage machine (ML)
Un type d'intelligence artificielle qui consiste à former des algorithmes informatiques pour qu'ils apprennent à partir de données et améliorent leurs performances au fil du temps. L'apprentissage automatique est utilisé dans la recherche sémantique pour aider les ordinateurs à comprendre le contexte et l'intention de la requête d'un utilisateur.
Compréhension sémantique
La compréhension sémantique est la capacité d'un ordinateur à comprendre le sens et le contexte de la requête de recherche d'un utilisateur. La compréhension sémantique est un élément essentiel de la recherche sémantique.
Comment fonctionne la recherche sémantique
La recherche sémantique s'appuie sur la recherche vectorielle, une technologie sophistiquée qui permet aux moteurs de recherche de fournir et de classer le contenu en fonction de la pertinence du contexte et de l'intention. La recherche vectorielle transforme les [données non structurées] (https://zilliz.com/learn/introduction-to-unstructured-data) (telles que le texte, les images ou le son) en enregistrements vectoriels numériques à l'aide de modèles d'apprentissage automatique. Ces encastrements capturent la signification sémantique dans un espace multidimensionnel, où les concepts similaires apparaissent plus proches les uns des autres. Lors d'une recherche, la requête est également convertie en vecteur et le système trouve des résultats en mesurant la distance entre les vecteurs - les vecteurs les plus proches représentant un contenu plus similaire sur le plan sémantique. Cette approche permet une recherche sémantique beaucoup plus puissante que la recherche traditionnelle par mots-clés.
Lorsqu'une requête est lancée, le moteur de recherche la transforme en éléments numériques qui capturent la signification sémantique. L'algorithme k-nearest neighbor ([kNN]) (https://zilliz.com/blog/k-nearest-neighbor-algorithm-for-machine-learning) fait ensuite correspondre ces vecteurs de requête avec des vecteurs de documents existants, où "k" représente le nombre de correspondances les plus proches à retrouver. Cela permet d'identifier les contenus qui sont similaires sur le plan conceptuel plutôt que ceux qui correspondent simplement à des mots-clés. Un reranker spécialisé évalue ensuite ces k résultats initiaux, en tenant compte de facteurs supplémentaires au-delà de la [similarité vectorielle] (https://zilliz.com/blog/similarity-metrics-for-vector-search) pour produire le classement final basé sur la pertinence que les utilisateurs voient.
Qu'est-ce qu'un moteur de recherche sémantique ?
Un moteur de recherche sémantique (également appelé base de données vectorielle) est conçu pour trouver des éléments en fonction de leur signification plutôt que de correspondre à des mots-clés exacts. Ces systèmes construisent des index spécialisés d'encastrements vectoriels pour permettre des recherches de similarité efficaces. Alors que certaines bases de données vectorielles comme Milvus proposent plusieurs algorithmes d'indexation (11 options différentes), la plupart des moteurs de recherche sémantique ne mettent en œuvre qu'un seul algorithme, généralement Hierarchical Navigable Small World (HNSW), qui permet d'équilibrer la vitesse et la précision de la recherche. En utilisant ces index et des mesures de similarité appropriées, les utilisateurs peuvent interroger le système pour trouver des éléments sémantiquement similaires sur la base de leurs représentations vectorielles.
Comment mettre en œuvre un moteur de recherche sémantique ?
Il existe plusieurs options pour mettre en œuvre la recherche sémantique. En voici quelques-unes
Moteur de recherche sémantique Python. Vous pouvez construire une recherche sémantique personnalisée sur votre propre corpus de données en utilisant Python, un modèle de machine et un algorithme d'index vectoriel comme FAISS, HNSW, ou même ANNOY. Voici un tutoriel qui vous explique comment mettre en œuvre la recherche sémantique avec Facebook AI Similarity Search (FAISS).
Les moteurs de recherche traditionnels basés sur des mots-clés comme [ElasticSearch] (https://zilliz.com/blog/elasticsearch-cloud-vs-zilliz) se sont développés pour intégrer des capacités de recherche vectorielle. Cette intégration offre un avantage significatif : les organisations qui utilisent déjà Elasticsearch peuvent facilement ajouter des fonctionnalités de recherche sémantique à leurs solutions existantes sans avoir à migrer vers une nouvelle plateforme. De même, les bases de données vectorielles comme Milvus ont ajouté la prise en charge de la recherche en texte intégral, ce qui permet des approches de recherche hybrides robustes qui combinent les points forts de la correspondance par mot clé et de la [similarité sémantique] (https://zilliz.com/glossary/semantic-similarity).
Des solutions de bases de données populaires** comme PostgreSQL ont ajouté des extensions telles que pgvector pour prendre en charge les capacités de recherche vectorielle. Cela permet aux organisations de mettre en œuvre la recherche sémantique en utilisant leur infrastructure de base de données existante plutôt que d'adopter des systèmes spécialisés. Voici un tutoriel pour vous guider dans [l'utilisation de Pgvector] (https://zilliz.com/blog/getting-started-pgvector-guide-developers-exploring-vector-databases).
Les bases de données vectorielles constituent une autre excellente option pour la mise en œuvre de la recherche sémantique. Avec une base de données vectorielle, vous stockez et indexez les encastrements vectoriels générés par l'algorithme d'apprentissage automatique que vous avez choisi. La plupart des bases de données vectorielles utilisent l'algorithme Hierarchical Navigable Small World (HNSW) pour l'indexation, ce qui permet d'équilibrer les performances et la précision. Certaines solutions, comme Milvus, offrent une flexibilité supplémentaire avec jusqu'à 11 types d'index différents pour répondre au mieux aux différents cas d'utilisation. Lors de la recherche, le texte de la requête est converti en un vecteur intégré, puis comparé à votre ensemble de données pour trouver les éléments les plus sémantiquement similaires.
Avantages d'un moteur de recherche sémantique
La recherche sémantique présente plusieurs avantages. L'un des principaux est qu'elle vous permet de rechercher des concepts ou des idées plutôt que des mots ou des phrases spécifiques, ce qui élimine la nécessité de faire correspondre des mots clés exacts dans vos requêtes. En outre, la recherche sémantique comprend mieux l'intention de la requête, ce qui permet d'obtenir des résultats de recherche plus pertinents qui reflètent ce que les utilisateurs recherchent réellement, même si leur terminologie diffère de celle utilisée dans les documents. Cette capacité est particulièrement précieuse pour les tâches complexes de [recherche d'informations] (https://zilliz.com/learn/what-is-information-retrieval) où les recherches traditionnelles par mot-clé passent souvent à côté d'un contenu contextuellement pertinent. La recherche sémantique réduit également la frustration liée à la nécessité de reformuler plusieurs fois les requêtes pour trouver la bonne information.
Exemples de recherche sémantique
La recherche sémantique fournit des résultats basés sur le sens et la compréhension conceptuelle plutôt que sur la simple correspondance de mots-clés. Par exemple, si vous recherchez "problèmes cardiaques chez les personnes âgées", un système de recherche sémantique vous renverra des informations pertinentes sur les maladies cardiovasculaires chez les personnes âgées, même si ces mots exacts ne sont pas utilisés dans les documents.
Un autre exemple puissant est la façon dont la recherche sémantique traite les requêtes ambiguës. Lorsque vous recherchez "applications Java", la recherche sémantique peut distinguer si vous recherchez des informations sur le langage de programmation ou des produits à base de café en analysant le sens contextuel de votre requête et les interactions précédentes.
La recherche sémantique excelle également dans la compréhension des relations entre les concepts. Une requête telle que "médicaments qui aident à soulager les douleurs articulaires mais qui ne sont pas des AINS" renverrait des alternatives pertinentes en comprenant à la fois ce que sont les AINS et ce qui constitue des alternatives pour le traitement des douleurs articulaires.
En outre, la recherche sémantique peut combler les lacunes de vocabulaire entre les experts et les novices. Si un professionnel de la santé recherche "complications d'un infarctus du myocarde" alors qu'un patient cherche "ce qui se passe après une crise cardiaque", les deux recevront des informations pertinentes similaires bien qu'ils utilisent une terminologie complètement différente.
Impact sur les moteurs de recherche
La recherche sémantique a transformé les moteurs de recherche de simples systèmes de correspondance de mots clés en plateformes intelligentes qui comprennent le sens des requêtes. Contrairement aux moteurs de recherche traditionnels qui renvoient des liens en fonction de la densité des mots clés et des liens retour, les moteurs sémantiques peuvent.. :
Comprendre les synonymes et les concepts connexes sans cartographie explicite
Reconnaître les entités et leurs relations (comme les personnes, les lieux, les produits)
Interpréter l'intention de la requête même lorsque la formulation est ambiguë
Relier des informations similaires sur le plan conceptuel malgré une terminologie différente
Cette évolution a poussé les fournisseurs de services de recherche à développer des systèmes d'indexation plus sophistiqués qui capturent les relations sémantiques entre les contenus. Pour les applications de recherche en entreprise, la recherche sémantique permet aux employés de trouver des documents pertinents sans avoir besoin de connaître les termes exacts utilisés dans ces documents. Dans des domaines spécialisés comme la recherche juridique ou médicale, les systèmes sémantiques peuvent combler le fossé entre la terminologie des experts et les requêtes en langage courant.
Les implémentations de recherche moderne les plus puissantes combinent souvent la compréhension sémantique avec les signaux de pertinence traditionnels pour des résultats optimaux, créant ainsi des systèmes hybrides qui tirent parti des forces des deux approches.
Recherche par mot-clé et recherche sémantique
La recherche par mot-clé consiste à faire correspondre des mots ou des phrases exacts dans des documents. Des systèmes comme Elasticsearch construisent des index inversés qui associent les mots à l'emplacement des documents, ce qui permet de trouver efficacement les documents qui contiennent des termes spécifiques. Lorsqu'un utilisateur soumet une requête, le moteur de recherche décompose la requête en mots individuels, trouve des documents contenant ces mots, classe les résultats à l'aide d'algorithmes qui prennent en compte des facteurs tels que la fréquence des termes, la proximité des mots et les métadonnées des documents, et renvoie les correspondances les plus pertinentes en fonction de ces métriques. Ces systèmes excellent dans la recherche de correspondances exactes, mais ils ont du mal avec les synonymes, le contexte et le sens. Si vous cherchez "crise cardiaque", un système de mots clés ne renverra pas nécessairement des documents sur l'"infarctus du myocarde", à moins qu'il ne soit explicitement programmé pour reconnaître cette relation.
La recherche sémantique, en revanche, comprend le sens en représentant le contenu sous forme de vecteurs dans un espace multidimensionnel. Ce processus implique la conversion de données non structurées (texte, images, audio) en vector embeddings à l'aide de modèles d'apprentissage automatique, l'indexation de ces embeddings à l'aide d'algorithmes tels que HNSW ou FAISS pour une recherche efficace et, lorsqu'une requête arrive, la conversion de cette requête dans le même espace vectoriel. Le système trouve les vecteurs les plus similaires à l'aide de la [recherche du plus proche voisin] (https://zilliz.com/glossary/anns) et renvoie le contenu qui est conceptuellement lié, même en l'absence de correspondance exacte des mots clés. Cette approche permet à la recherche sémantique de comprendre les relations entre les concepts, de gérer l'ambiguïté et de renvoyer des résultats basés sur le sens plutôt que sur la correspondance de modèles de texte.
Recherche lexicale vs recherche sémantique
La recherche lexicale s'appuie sur les mots ou les éléments exacts contenus dans les documents et les requêtes. Ces systèmes utilisent principalement des techniques statistiques telles que TF-IDF (Term Frequency-Inverse Document Frequency) pour déterminer la pertinence. Avec TF-IDF, les mots qui apparaissent fréquemment dans un document mais qui sont rares dans l'ensemble de la collection reçoivent un poids plus élevé, ce qui permet d'identifier un contenu distinctif. Les moteurs de recherche lexicale construisent des index inversés qui associent chaque terme aux documents qui le contiennent, ce qui permet une recherche rapide. Toutefois, ces systèmes ont du mal à gérer les synonymes, les significations dépendantes du contexte et les relations conceptuelles. Lorsque vous recherchez "entretien automobile", la recherche lexicale ne trouvera pas automatiquement les documents relatifs à la "réparation automobile", à moins qu'ils ne contiennent les termes exacts de votre recherche.
La recherche sémantique se concentre sur le sens plutôt que sur les correspondances littérales entre les mots. Ces systèmes utilisent des modèles d'apprentissage automatique pour convertir le texte en représentations vectorielles, c'est-à-dire des représentations numériques qui capturent les relations sémantiques dans un espace multidimensionnel. Les mots ou concepts ayant une signification similaire sont regroupés dans cet espace vectoriel. Lorsqu'elle traite une requête, la recherche sémantique la convertit en la même représentation vectorielle et trouve des contenus ayant une signification similaire, même si une terminologie différente est utilisée. La recherche sémantique peut ainsi comprendre que "infarctus du myocarde" et "crise cardiaque" désignent la même affection, ou que "effets du changement climatique" est lié à "impacts du réchauffement planétaire" malgré l'utilisation d'un vocabulaire différent.
La différence fondamentale est que la recherche lexicale demande "ces documents contiennent-ils ces mots exacts ?" alors que la recherche sémantique demande "ces documents expriment-ils des significations similaires à la requête ?" Les systèmes de recherche modernes combinent souvent les deux approches afin d'équilibrer la précision et la compréhension conceptuelle.
Recherche sémantique vs recherche cognitive
La recherche sémantique s'attache à comprendre le sens et l'intention des requêtes en représentant le contenu dans un espace vectoriel. Elle utilise des modèles d'apprentissage automatique (généralement des réseaux neuronaux) pour coder le texte dans des encastrements vectoriels qui capturent les relations sémantiques. Les concepts similaires sont regroupés dans cet espace multidimensionnel, ce qui permet au système de trouver un contenu pertinent même si les mots-clés ne correspondent pas exactement. La recherche sémantique excelle dans la compréhension des synonymes, des concepts connexes et de la signification contextuelle.
La recherche cognitive est souvent utilisée comme terme de marketing pour les plateformes de recherche d'entreprise qui combinent plusieurs technologies d'intelligence artificielle. Bien que la recherche sémantique soit un composant essentiel, les plateformes de recherche cognitive ajoutent généralement des fonctionnalités telles que l'extraction d'entités et les [graphes de connaissances] (https://zilliz.com/learn/what-is-knowledge-graph) pour identifier et relier les concepts clés, la personnalisation basée sur le comportement et les préférences de l'utilisateur, la recherche multimodale dans différents types de contenu, la classification et l'étiquetage automatisés du contenu, et le traitement intelligent des requêtes avec l'expansion et l'affinement des requêtes.
La différence essentielle réside dans le champ d'application : la recherche sémantique se réfère spécifiquement à la recherche basée sur le sens à l'aide de représentations vectorielles, tandis que la recherche cognitive décrit des plateformes complètes qui peuvent incorporer la recherche sémantique ainsi que d'autres technologies d'IA pour créer des solutions de recherche d'entreprise plus puissantes. De nombreux fournisseurs utilisent ces termes différemment, il est donc important d'évaluer les capacités spécifiques plutôt que de se concentrer sur la terminologie lorsque l'on compare les technologies de recherche.
Zilliz propose-t-il des outils de recherche sémantique ?
Zilliz Cloud, basé sur la technologie open-source Milvus, est une base de données vectorielle spécialisée conçue spécifiquement pour les applications de recherche sémantique. Zilliz permet aux organisations de mettre en œuvre une recherche sémantique performante en stockant, indexant et interrogeant efficacement les vecteurs qui représentent la signification du contenu.
Contrairement aux implémentations de base de la recherche vectorielle, Zilliz Cloud améliore les capacités de recherche sémantique avec des fonctionnalités de niveau entreprise : des opérations CRUD complètes avec une forte cohérence des données garantissent que votre index sémantique reste précis lorsque le contenu change ; les capacités de recherche hybride combinent la similarité vectorielle avec le filtrage traditionnel pour des résultats précis ; et l'architecture distribuée sépare le calcul du stockage pour permettre la mise à l'échelle de la recherche sémantique sur des ensembles de données massifs tout en maintenant les performances.
La plateforme va au-delà de la recherche sémantique de base en offrant des options de reprise après sinistre, d'équilibrage de charge, de prise en charge multi-tenant et de sécurité complète grâce au contrôle d'accès basé sur les rôles (RBAC) - des fonctionnalités essentielles pour les déploiements de recherche sémantique en production. Grâce à la prise en charge du SDK dans plusieurs langages de programmation (Python, JavaScript, C, Ruby, Go), Zilliz facilite l'intégration des fonctionnalités de recherche sémantique avancée dans les applications et les flux de travail existants.
Cette approche globale positionne Zilliz non seulement comme un outil de recherche sémantique, mais aussi comme une plateforme complète pour la création et la mise à l'échelle d'applications de recherche sémantique alimentées par l'IA au sein de l'entreprise.
Résumé de la recherche sémantique
La recherche sémantique modifie la façon dont les moteurs de recherche comprennent et répondent aux requêtes des utilisateurs en s'appuyant sur le traitement du langage naturel (NLP) et l'apprentissage automatique. Contrairement aux approches traditionnelles basées sur les mots-clés, la recherche sémantique interprète le contexte, le sens et l'intention de recherche derrière les requêtes, fournissant des résultats de recherche plus pertinents même lorsque la terminologie exacte diffère.
La technologie fonctionne en convertissant à la fois les requêtes et les documents en enregistrements vectoriels qui capturent les relations sémantiques dans un espace multidimensionnel. Lorsque les utilisateurs soumettent des requêtes, le système utilise des algorithmes tels que le k-nearest neighbor (kNN) pour trouver des contenus conceptuellement similaires plutôt que des correspondances exactes de mots-clés, suivi d'un reclassement pour produire la liste des résultats finaux.
Cette approche présente des avantages considérables : les utilisateurs peuvent rechercher des concepts plutôt que des mots spécifiques, le système comprend mieux les intentions de recherche et comble les lacunes de vocabulaire entre les experts et les novices. Par exemple, la recherche de "problèmes cardiaques chez les personnes âgées" renvoie à des contenus pertinents sur les maladies cardiovasculaires chez les personnes âgées, même si ces termes exacts ne sont pas utilisés dans les documents.
Les applications modernes combinent souvent la compréhension sémantique avec les signaux de pertinence traditionnels, créant ainsi des moteurs de recherche hybrides qui exploitent les points forts des deux approches. Diverses options de mise en œuvre existent, des bases de données vectorielles spécifiques comme Zilliz aux extensions de bases de données traditionnelles comme pgvector de PostgreSQL, rendant les capacités de recherche sémantique de plus en plus accessibles sur différentes plates-formes.
Ressources clés
- Qu'est-ce que la recherche sémantique ?
- Définition et principes
- Comment fonctionne la recherche sémantique
- Qu'est-ce qu'un moteur de recherche sémantique ?
- Comment mettre en œuvre un moteur de recherche sémantique ?
- Avantages d'un moteur de recherche sémantique
- Exemples de recherche sémantique
- Impact sur les moteurs de recherche
- Recherche par mot-clé et recherche sémantique
- Recherche lexicale vs recherche sémantique
- Recherche sémantique vs recherche cognitive
- Zilliz propose-t-il des outils de recherche sémantique ?
- Ressources clés
Contenu
Commencez gratuitement, évoluez facilement
Essayez la base de données vectorielle entièrement managée conçue pour vos applications GenAI.
Essayer Zilliz Cloud gratuitement