Similarité sémantique et plongements de phrases
Sentence-BERT, similarité cosinus pour la recherche sémantique, regroupement de plongements.
Similarité sémantique et plongements de phrases est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Des phrases, pas seulement des mots
Les représentations vectorielles de mots représentent les mots, mais nous devons souvent comparer des phrases ou des documents entiers. Faire la moyenne des vecteurs de mots fait perdre des nuances ; nous voulons un vecteur unique qui capture le sens global.
Que sont les représentations vectorielles de phrases
Les représentations vectorielles de phrases associent une phrase entière à un vecteur dense afin que les phrases de sens similaire aient des vecteurs proches, ce qui permet la recherche sémantique et le regroupement.
La bibliothèque sentence-transformers
La bibliothèque sentence-transformers simplifie cette tâche. Elle encapsule des modèles de transformeurs ajustés qui produisent directement des vecteurs de phrases de haute qualité.
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("all-MiniLM-L6-v2")Pourquoi all-MiniLM-L6-v2
all-MiniLM-L6-v2 est un choix par défaut populaire : il est petit, rapide et précis, et produit des vecteurs de 384 dimensions. Il offre un bon compromis entre vitesse et qualité pour la plupart des applications.
Encoder des phrases
model.encode transforme une liste de phrases en une matrice de représentations vectorielles, avec une ligne par phrase.
sentences = [
"The cat sits on the mat.",
"A feline rests on the rug.",
"I am learning machine learning.",
]
embeddings = model.encode(sentences)
print(embeddings.shape) # (3, 384)Mesurer la similarité
La similarité cosinus mesure l’angle entre deux vecteurs en ignorant leur norme. Des valeurs proches de 1 indiquent un sens très similaire, tandis que des valeurs proches de 0 indiquent des contenus sans rapport.
from sentence_transformers import util
sim = util.cos_sim(embeddings[0], embeddings[1])
print(sim.item()) # high, both about a cat restingUtiliser cosine_similarity avec scikit-learn
Vous pouvez également utiliser directement scikit-learn sur la matrice de représentations vectorielles afin d’obtenir une matrice complète des similarités entre chaque paire.
from sklearn.metrics.pairwise import cosine_similarity
matrix = cosine_similarity(embeddings)
print(matrix) # (3, 3) pairwise similaritiesPrincipe de la recherche sémantique
La recherche sémantique trouve des documents en fonction de leur sens, et non de leurs mots-clés. Encodez une requête et tous les documents, puis classez les documents selon leur similarité cosinus avec le vecteur de la requête.
Exemple de recherche sémantique
Encodez le corpus une seule fois, puis, pour chaque requête, calculez les similarités et renvoyez les meilleurs résultats.
from sentence_transformers import util
corpus = ["How to reset my password", "Refund policy details", "Track my order"]
corpus_emb = model.encode(corpus)
query_emb = model.encode("I forgot my login")
hits = util.semantic_search(query_emb, corpus_emb, top_k=2)
print(hits)Applications concrètes
Les représentations vectorielles de phrases permettent la mise en correspondance de FAQ, la détection de doublons, le regroupement, la recommandation et l’étape de récupération des systèmes RAG, qui fournissent un contexte pertinent aux grands modèles de langage.
Conseils pour obtenir de bons résultats
Choisissez un modèle entraîné pour votre tâche, qu’il s’agisse de recherche sémantique ou de reformulation. Normalisez les représentations vectorielles si votre mesure de similarité l’exige et, pour les grands corpus, utilisez une base de données vectorielle afin d’effectuer rapidement une recherche des plus proches voisins.
Vérification rapide
Testez vos connaissances sur les représentations vectorielles de phrases.
Récapitulatif
Récapitulatif : les représentations vectorielles de phrases encodent des phrases entières sous forme de vecteurs. Utilisez SentenceTransformer("all-MiniLM-L6-v2") et model.encode(sentences), puis comparez les résultats avec la similarité cosinus. C’est le principe de la recherche sémantique : encodez la requête et le corpus, puis classez-les selon leur similarité. Cette technique est essentielle pour la mise en correspondance de FAQ, le regroupement et la récupération RAG.
Apprends Python avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 53
- Leçons
- 225
Questions Fréquemment Posées
La leçon « Similarité sémantique et plongements de phrases » est-elle gratuite ?
Oui — le texte complet de « Similarité sémantique et plongements de phrases » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Similarité sémantique et plongements de phrases » ?
Sentence-BERT, similarité cosinus pour la recherche sémantique, regroupement de plongements. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Similarité sémantique et plongements de phrases » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Word2Vec : Skip-gram et CBOW
- Plongements GloVe et FastText
- Classification de texte avec BERT
- Similarité sémantique et plongements de phrases