Définition complète
La recherche sémantique est une approche de recherche d'information qui comprend le sens et l'intention derrière une requête, au lieu de simplement chercher des correspondances de mots-clés. Elle utilise des embeddings pour représenter textes et requêtes dans un espace vectoriel où les concepts similaires sont proches. Ainsi, une recherche sur "comment contacter le support" trouvera un document titré "Joindre notre service client". C'est la technologie clé du RAG pour trouver les passages pertinents dans une base de connaissances.
Questions fréquentes
Comment fonctionne la recherche sémantique ?
La recherche sémantique fonctionne en 3 étapes : 1) Indexation : chaque document est converti en vecteur (embedding) capturant son sens. 2) Requête : la question utilisateur est aussi convertie en vecteur. 3) Matching : on trouve les vecteurs documents les plus proches du vecteur requête (cosine similarity). Les résultats sont des documents sémantiquement proches, même sans mots en commun.
Quelle différence entre recherche sémantique et recherche par mots-clés ?
La recherche par mots-clés (BM25, Elasticsearch classique) cherche les documents contenant les mêmes mots que la requête. Elle rate les synonymes et reformulations. La recherche sémantique comprend le sens : "véhicule automobile" matche avec "voiture". Elle gère aussi les requêtes complexes et les questions. En pratique, les meilleurs systèmes combinent les deux (hybrid search).
Comment implémenter la recherche sémantique pour un chatbot ?
L'implémentation passe par : 1) Choix d'un modèle d'embedding (OpenAI ada-002, Sentence-Transformers), 2) Indexation des documents dans une base vectorielle (Pinecone, Weaviate, Qdrant, pgvector), 3) À chaque question, générer l'embedding et requêter la base, 4) Utiliser les résultats comme contexte pour le LLM. Des frameworks comme LangChain simplifient cette intégration.