Qu’est-ce que la recherche sémantique ?
La recherche sémantique est une méthode de recherche d’information qui compare le sens des textes plutôt que les mots exacts. Au lieu de chercher si les mêmes termes apparaissent dans la requête et le document, elle mesure la proximité sémantique entre leurs représentations vectorielles (embeddings).
C’est la technologie qui permet à un moteur de recherche de comprendre que “comment économiser de l’argent” et “stratégies pour réduire ses dépenses” parlent du même sujet, même si aucun mot n’est en commun.
Comment fonctionne la recherche sémantique
Le pipeline de recherche
- Indexation : chaque document est transformé en embedding (vecteur numérique) par un modèle spécialisé et stocké dans un vector store
- Requête : la question de l’utilisateur est transformée en embedding par le même modèle
- Comparaison : le vector store calcule la similarité cosinus entre le vecteur de la requête et tous les vecteurs stockés
- Résultat : les documents dont les vecteurs sont les plus proches (score de similarité le plus élevé) sont retournés
La similarité cosinus
La mesure standard pour comparer deux embeddings est la similarité cosinus : l’angle entre deux vecteurs dans l’espace multidimensionnel. Un score de 1 indique une correspondance sémantique parfaite, 0 une absence totale de relation.
Cette opération est optimisée par les vector stores modernes, qui utilisent des algorithmes d’approximation (ANN — Approximate Nearest Neighbors) pour chercher parmi des millions de vecteurs en quelques millisecondes.
Recherche sémantique vs recherche par mots-clés
| Critère | Recherche sémantique | Recherche par mots-clés (BM25) |
|---|---|---|
| Reformulations | Comprend les synonymes et paraphrases | Nécessite les mots exacts |
| Requêtes courtes | Performante | Performante |
| Termes techniques précis | Peut manquer de précision | Très précise |
| Questions en langage naturel | Excelle | Limitée |
| Noms propres et identifiants | Faible | Excellente |
| Coût computationnel | Plus élevé (GPU pour l’embedding) | Faible (CPU) |
La recherche hybride
Les systèmes les plus performants en production combinent les deux approches :
- BM25 retourne les 50 meilleurs résultats par mots-clés
- Recherche sémantique retourne les 50 meilleurs résultats par similarité vectorielle
- Reciprocal Rank Fusion fusionne les deux listes en un classement unique
- Optionnellement, un reranker reclasse les résultats fusionnés par pertinence
Cette approche hybride capture à la fois les correspondances exactes et les correspondances sémantiques.
Recherche sémantique et RAG
La recherche sémantique est le composant central du pipeline RAG. Elle permet de retrouver les chunks les plus pertinents dans un vector store pour les injecter dans le prompt du LLM.
La qualité du RAG dépend directement de la qualité de la recherche sémantique :
- Un bon modèle d’embedding produit des vecteurs qui capturent fidèlement le sens
- Un bon chunking garantit que les fragments récupérés contiennent des idées complètes
- Un bon reranking filtre les faux positifs avant l’injection dans le prompt
Limites et bonnes pratiques
- Le modèle d’embedding est critique : un modèle entraîné principalement sur l’anglais sera moins performant sur du texte français. Privilégier les modèles multilingues (multilingual-e5-large, BGE-M3) pour les corpus en français
- La recherche sémantique n’est pas magique : elle peut retourner des résultats sémantiquement proches mais contextuellement non pertinents. “Comment cuisiner un poulet” et “comment élever des poulets” sont sémantiquement proches mais répondent à des intentions très différentes
- Évaluer avec des métriques : mesurer le recall@k (le document pertinent est-il dans les k premiers résultats ?) et la précision sur un jeu de test représentatif avant de mettre en production
- Combiner avec la recherche par mots-clés : la recherche hybride surpasse systématiquement la recherche sémantique seule dans les benchmarks
Termes associés
Questions fréquentes
C'est quoi la recherche sémantique ?
La recherche sémantique est une méthode de recherche qui comprend le sens d'une requête plutôt que de chercher les mots exacts. Elle s'appuie sur des embeddings — des représentations numériques du sens des textes. Une recherche pour 'comment réduire mes dépenses' trouve aussi les documents parlant d'optimisation budgétaire, car le sens est similaire même si les mots sont différents.
Quelle est la différence entre recherche sémantique et recherche par mots-clés ?
La recherche par mots-clés (BM25, TF-IDF) cherche la correspondance exacte des termes. Elle trouve 'automatisation' uniquement si le mot 'automatisation' est présent dans le document. La recherche sémantique compare le sens : elle trouve aussi 'automatiser les processus' ou 'mise en place d'actions automatiques', car les embeddings de ces expressions sont proches dans l'espace vectoriel.
La recherche sémantique remplace-t-elle la recherche par mots-clés ?
Non, les deux sont complémentaires. La recherche sémantique excelle pour les questions ouvertes et les reformulations. La recherche par mots-clés est plus précise pour les requêtes exactes (un numéro de commande, un nom propre, un terme technique spécifique). Les systèmes les plus performants utilisent une recherche hybride qui combine les deux approches.
Quels outils permettent de faire de la recherche sémantique ?
La recherche sémantique repose sur deux composants : un modèle d'embedding (OpenAI text-embedding, Cohere Embed, BGE) pour vectoriser les textes, et un vector store (Pinecone, Weaviate, ChromaDB, pgvector) pour stocker et rechercher les vecteurs. Des frameworks comme LangChain ou LlamaIndex simplifient l'assemblage. Pour les utilisateurs no-code, n8n intègre des nœuds de recherche vectorielle natifs.