Semantic Search
Explore comment la recherche sémantique utilise l'IA et les plongements (embeddings) pour comprendre l'intention de l'utilisateur. Apprends à construire des systèmes de recherche visuelle avec Ultralytics YOLO26 et notre plateforme.
La recherche sémantique est une technique sophistiquée de recherche d'information qui vise à comprendre l'intention et la signification contextuelle de la requête d'un utilisateur plutôt que de simplement faire correspondre des mots spécifiques. En tirant parti des avancées en matière de Natural Language Processing (NLP) et de Machine Learning (ML), cette technologie permet aux systèmes d'interpréter le langage humain avec plus de nuances. C'est une pierre angulaire des applications modernes d'Artificial Intelligence (AI), permettant des interactions plus intuitives entre les humains et les machines en comblant le fossé entre des requêtes d'utilisateurs ambiguës et des données pertinentes.
Comment fonctionne la recherche sémantique#
Dans son principe, la recherche sémantique va au-delà de la correspondance littérale de caractères pour analyser la relation entre les concepts. Les moteurs de recherche traditionnels peuvent échouer si tu recherches "felin" mais que les documents contiennent uniquement le mot "chat". La recherche sémantique résout ce problème en transformant les unstructured data — telles que du texte, des images ou de l'audio — en représentations mathématiques appelées embeddings.
Ces embeddings sont des vecteurs de grande dimension placés dans un "espace sémantique". Dans cet espace, les éléments ayant des significations similaires sont positionnés à proximité les uns des autres. Par exemple, le vecteur de "voiture" sera mathématiquement plus proche de "automobile" et de "route" que de "banane". Lorsqu'un utilisateur soumet une requête, le système convertit cette requête en vecteur et trouve les points de données les plus proches dans la vector database. Ce processus s'appuie sur des modèles de deep learning pour effectuer l'feature extraction, en identifiant les caractéristiques essentielles des données.
Le code Python suivant montre comment générer ces embeddings à l'aide du modèle Ultralytics YOLO26, qui constitue l'étape fondamentale pour activer la recherche sémantique visuelle.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image
# This converts the visual content into a numerical vector
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Output the shape of the embedding vector (e.g., length 1280)
print(f"Embedding vector shape: {results[0].shape}")Applications concrètes#
La recherche sémantique a révolutionné la façon dont les utilisateurs découvrent des informations dans divers secteurs, rendant les systèmes plus intelligents et plus efficaces.
- E-Commerce and Visual Discovery: Dans le monde de l'AI in retail, la recherche sémantique alimente les fonctionnalités "shop the look". Un client peut téléverser la photo d'une sneaker ou rechercher "ambiance estivale vintage". Le système utilise la computer vision pour comprendre le style visuel et récupère des produits qui correspondent à l'esthétique, même si les descriptions de produits ne contiennent pas ces mots-clés exacts. Cela implique souvent des Multi-Modal Models capables de comprendre à la fois les entrées textuelles et visuelles.
- Knowledge Management and RAG: Les grandes organisations utilisent la recherche sémantique pour aider les employés à trouver des documents internes. Au lieu de se souvenir des noms de fichiers exacts, un employé peut poser une question telle que "Comment réinitialiser le serveur ?". Le système utilise le Retrieval-Augmented Generation (RAG) pour trouver les documents de politique les plus pertinents en fonction du sens et les transmet à un Large Language Model (LLM) pour générer une réponse précise.
- Content Recommendation: Les plateformes de streaming utilisent la compréhension sémantique pour améliorer leur recommendation system. En analysant les résumés d'intrigue et les feature maps visuelles des films que tu apprécies, la plateforme peut suggérer d'autres titres qui partagent des thèmes ou des ambiances similaires, te gardant engagé plus longtemps.
Recherche sémantique vs concepts associés#
Pour saisir pleinement l'utilité de la recherche sémantique, il est utile de la distinguer des termes apparentés dans le domaine de la data science.
- Vector Search: Bien qu'ils soient souvent utilisés de manière interchangeable, il existe une distinction technique. La recherche vectorielle est la méthode mathématique permettant de calculer la distance entre des vecteurs (souvent à l'aide de la cosine similarity). La recherche sémantique est l'application plus large qui utilise la recherche vectorielle pour atteindre l'objectif de comprendre l'intention de l'utilisateur.
- Keyword Search: Il s'agit de la méthode traditionnelle reposant sur la correspondance exacte de chaînes de caractères. Elle est moins coûteuse en calcul mais fragile ; elle peine avec les synonyms et la polysémie (mots ayant plusieurs sens). La recherche sémantique demande plus de puissance de calcul mais offre une pertinence nettement supérieure.
- Zero-Shot Learning: Cela fait référence à la capacité d'un modèle à classifier des données qu'il n'a jamais vues pendant l'entraînement. Les moteurs de recherche sémantique présentent souvent des capacités de zero-shot car ils peuvent associer une requête nouvelle et inédite à des groupes existants de concepts connus dans l'espace d'embedding sans réentraînement.
L'implémentation de la recherche sémantique nécessite généralement un pipeline robuste pour la gestion des ensembles de données et l'entraînement des modèles. La Ultralytics Platform simplifie cette tâche en fournissant des outils pour annoter des données, entraîner des modèles et les déployer efficacement. Pour les développeurs cherchant à construire ces systèmes, l'exploration du Ultralytics similarity search guide fournit des étapes pratiques pour intégrer ces capacités puissantes dans tes applications.






