Skip to main content
IA & Machine Learning

Recherche Sémantique

Technologie de recherche qui comprend le sens et l'intention plutôt que simplement les mots-clés, pour des résultats plus pertinents et intelligents.

Également appelé: Recherche neuronale, Recherche IA, Recherche vectorielle

Définition

La recherche sémantique est une approche de recherche qui comprend le sens et l’intention derrière les requêtes plutôt que de simplement faire correspondre des mots-clés. En utilisant des techniques comme les embeddings et les réseaux neuronaux, la recherche sémantique capture les relations conceptuelles entre les termes. Quand vous cherchez “comment réparer un robinet qui fuit”, la recherche sémantique comprend que vous voulez des guides de plomberie même si les documents ne contiennent pas ces mots exacts—trouvant des résultats sur “arrêter les gouttes du robinet” ou “économiser l’eau.”

Pourquoi c’est important

La recherche sémantique transforme comment nous trouvons l’information :

  • Compréhension de l’intention — “vols pas chers pour Paris” trouve des options de voyage économiques
  • Gestion des synonymes — “voiture” correspond à “automobile”, “véhicule”, “auto”
  • Conscience du contexte — “Apple” en contexte tech versus contexte fruit
  • Requêtes en langage naturel — cherchez conversationnellement, pas avec syntaxe de mots-clés
  • Recherche multilingue — trouvez des documents pertinents quelle que soit la langue

La recherche sémantique alimente les moteurs de recherche modernes, l’e-commerce, la recherche d’entreprise et les systèmes RAG.

Comment ça fonctionne

┌────────────────────────────────────────────────────────────┐
│                  RECHERCHE SÉMANTIQUE                       │
├────────────────────────────────────────────────────────────┤
│                                                            │
│  RECHERCHE MOT-CLÉ vs RECHERCHE SÉMANTIQUE:                │
│  ──────────────────────────────────────────                │
│                                                            │
│  Requête: "Comment rendre mon laptop plus rapide?"        │
│                                                            │
│  RECHERCHE MOT-CLÉ:                                        │
│  ┌────────────────────────────────────────────────┐       │
│  │ Cherche documents contenant:                    │       │
│  │ "rendre" ET "laptop" ET "rapide"               │       │
│  │                                                 │       │
│  │ ❌ Rate: "Accélérer votre ordinateur"          │       │
│  │ ❌ Rate: "Améliorer performances PC"           │       │
│  │ ❌ Rate: "Booster vitesse ordi"                │       │
│  └────────────────────────────────────────────────┘       │
│                                                            │
│  RECHERCHE SÉMANTIQUE:                                     │
│  ┌────────────────────────────────────────────────┐       │
│  │ Comprend le SENS:                               │       │
│  │ "Améliorer performances ordinateur"             │       │
│  │                                                 │       │
│  │ ✓ Trouve: "Accélérer votre ordinateur"         │       │
│  │ ✓ Trouve: "Améliorer performances PC"          │       │
│  │ ✓ Trouve: "Booster vitesse ordi"               │       │
│  │ ✓ Trouve: "Optimiser démarrage Windows"        │       │
│  └────────────────────────────────────────────────┘       │
│                                                            │
│                                                            │
│  COMMENT LA RECHERCHE SÉMANTIQUE FONCTIONNE:               │
│  ───────────────────────────────────────────               │
│                                                            │
│  Étape 1: Encoder tout en vecteurs                        │
│                                                            │
│      ┌─────────────┐         ┌─────────────────────┐      │
│      │   Requête   │         │    Documents        │      │
│      │  "laptop    │         │  "Accélérer         │      │
│      │   rapide"   │         │   ordinateur"       │      │
│      └──────┬──────┘         └──────────┬──────────┘      │
│             │                           │                  │
│             ▼                           ▼                  │
│      ┌─────────────┐         ┌─────────────────────┐      │
│      │  Modèle     │         │     Modèle          │      │
│      │  d'Embedding│         │    d'Embedding      │      │
│      │  (BERT etc) │         │   (même modèle)     │      │
│      └──────┬──────┘         └──────────┬──────────┘      │
│             │                           │                  │
│             ▼                           ▼                  │
│      [0.2, 0.8, ...]         [0.21, 0.79, ...]            │
│       Vecteur Requête          Vecteurs Documents          │
│                                                            │
│                                                            │
│  Étape 2: Trouver vecteurs similaires                     │
│                                                            │
│                   Espace Vectoriel                         │
│           ┌────────────────────────────┐                  │
│           │         ●                  │                  │
│           │       Requête   ● Doc A    │                  │
│           │                    (proche)│                  │
│           │              ● Doc B       │                  │
│           │                 (proche)   │                  │
│           │                            │                  │
│           │  ● Doc C                   │                  │
│           │    (loin)                  │                  │
│           │                            │                  │
│           └────────────────────────────┘                  │
│                                                            │
│  Sens similaire = Proche dans l'espace vectoriel         │
│                                                            │
│                                                            │
│  RECHERCHE HYBRIDE (Bonne Pratique):                       │
│  ───────────────────────────────────                       │
│                                                            │
│  Combiner mot-clé + sémantique pour meilleurs résultats: │
│                                                            │
│  ┌──────────────┐    ┌──────────────┐                     │
│  │  Mot-clé     │    │  Sémantique  │                     │
│  │  (BM25)      │    │  (Vecteurs)  │                     │
│  └──────┬───────┘    └──────┬───────┘                     │
│         │                   │                              │
│         └───────┬───────────┘                              │
│                 ▼                                          │
│         ┌──────────────┐                                  │
│         │  Fusion/     │                                  │
│         │  Re-ranking  │                                  │
│         └──────┬───────┘                                  │
│                │                                           │
│                ▼                                           │
│         Résultats Finaux                                   │
│                                                            │
│  Pourquoi hybride? Mots-clés captent correspondances      │
│  exactes (codes produits, noms), sémantique capture sens  │
│                                                            │
└────────────────────────────────────────────────────────────┘

Recherche sémantique vs mot-clé:

AspectRecherche Mot-cléRecherche Sémantique
CorrespondanceTermes exactsSens/concepts
SynonymesRequiert expansionAutomatique
Fautes frappeÉchoue souventGère souvent
Compréhension requêteLittéraleContextuelle
Complexité setupSimpleRequiert embeddings
LatenceTrès rapideLégèrement plus lent

Questions fréquentes

Q : Quels modèles d’embedding utiliser pour la recherche sémantique ?

R : Pour l’anglais, commencez avec OpenAI text-embedding-3-small ou sentence-transformers/all-MiniLM-L6-v2 (open source). Pour le multilingue, utilisez multilingual-e5-large ou variantes mBERT. Pour la recherche spécifique à un domaine, considérez le fine-tuning.

Q : De combien la recherche sémantique améliore-t-elle les résultats ?

R : Dépend fortement du cas d’usage. Pour les requêtes avec correspondances mot-clé claires (“iPhone 15 specs”), l’amélioration est marginale. Pour les requêtes en langage naturel (“Quel téléphone a la meilleure caméra sous 500€”), l’amélioration peut être de 30-50% en pertinence.

Q : Dois-je utiliser la recherche sémantique ou mot-clé ?

R : Utilisez la recherche hybride—combinez les deux. La recherche mot-clé (BM25) excelle pour les correspondances exactes: codes produits, noms, termes techniques. La recherche sémantique excelle pour la compréhension conceptuelle.

Q : Comment gérer le problème du démarrage à froid ?

R : La recherche sémantique nécessite de générer des embeddings pour tous les documents avant que les requêtes fonctionnent. Pour les grands ensembles de données, cela peut prendre des heures/jours. Solutions: pré-calculer les embeddings hors heures de pointe, utiliser l’indexation incrémentale.

Termes associés

  • Embedding — vecteurs qui alimentent la recherche sémantique
  • Dense retrieval — technique sous-jacente
  • RAG — utilisation de recherche sémantique pour contexte LLM
  • Knowledge graph — connaissances structurées pour recherche

Références

Reimers & Gurevych (2019), “Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks”, EMNLP. [Embeddings de phrases fondamentaux]

Karpukhin et al. (2020), “Dense Passage Retrieval for Open-Domain Question Answering”, EMNLP. [DPR pour recherche sémantique]

Neelakantan et al. (2022), “Text and Code Embeddings by Contrastive Pre-Training”, arXiv. [Modèles d’embedding OpenAI]

Muennighoff et al. (2022), “SGPT: GPT Sentence Embeddings for Semantic Search”, arXiv. [Recherche sémantique basée GPT]

References

Reimers & Gurevych (2019), “Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks”, EMNLP. [Foundational sentence embeddings]

Karpukhin et al. (2020), “Dense Passage Retrieval for Open-Domain Question Answering”, EMNLP. [DPR for semantic search]

Neelakantan et al. (2022), “Text and Code Embeddings by Contrastive Pre-Training”, arXiv. [OpenAI embedding models]

Muennighoff et al. (2022), “SGPT: GPT Sentence Embeddings for Semantic Search”, arXiv. [GPT-based semantic search]