Semantische Ähnlichkeit und Satz-Embeddings
Sentence-BERT, Kosinus-Ähnlichkeit für die semantische Suche, Clustering von Embeddings.
Semantische Ähnlichkeit und Satz-Embeddings ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Sätze, nicht nur Wörter
Wort-Embeddings repräsentieren Wörter, doch häufig müssen wir ganze Sätze oder Dokumente vergleichen. Das Mitteln von Wortvektoren geht auf Kosten von Nuancen; wir möchten einen einzelnen Vektor, der die vollständige Bedeutung erfasst.
Was sind Satz-Embeddings
Satz-Embeddings bilden einen ganzen Satz auf einen dichten Vektor ab, sodass Sätze mit ähnlicher Bedeutung nahe beieinanderliegende Vektoren haben. Dadurch werden semantische Suche und Clustering ermöglicht.
Die sentence-transformers-Bibliothek
Die Bibliothek sentence-transformers macht dies einfach. Sie kapselt feinabgestimmte Transformer-Modelle, die direkt hochwertige Satzvektoren erzeugen.
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("all-MiniLM-L6-v2")Warum all-MiniLM-L6-v2
all-MiniLM-L6-v2 ist eine beliebte Standardwahl: klein, schnell und präzise; das Modell erzeugt 384-dimensionale Vektoren. Für die meisten Anwendungen bietet es ein gutes Gleichgewicht zwischen Geschwindigkeit und Qualität.
Sätze enkodieren
model.encode wandelt eine Liste von Sätzen in eine Matrix aus Embeddings um, mit einer Zeile pro Satz.
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)Ähnlichkeit messen
Die Kosinus-Ähnlichkeit misst den Winkel zwischen zwei Vektoren und ignoriert dabei deren Betrag. Werte nahe 1 bedeuten eine sehr ähnliche Bedeutung, Werte nahe 0 bedeuten, dass kein Zusammenhang besteht.
from sentence_transformers import util
sim = util.cos_sim(embeddings[0], embeddings[1])
print(sim.item()) # high, both about a cat restingsklearn cosine_similarity verwenden
Sie können auch scikit-learn direkt auf die Embedding-Matrix anwenden, um eine vollständige paarweise Ähnlichkeitsmatrix zu erhalten.
from sklearn.metrics.pairwise import cosine_similarity
matrix = cosine_similarity(embeddings)
print(matrix) # (3, 3) pairwise similaritiesIdee der semantischen Suche
Semantische Suche findet Dokumente anhand ihrer Bedeutung, nicht anhand von Schlüsselwörtern. Enkodieren Sie eine Anfrage und alle Dokumente und ordnen Sie die Dokumente anschließend nach ihrer Kosinus-Ähnlichkeit zum Anfragevektor.
Ein Beispiel für semantische Suche
Enkodieren Sie das Korpus einmal, berechnen Sie dann für jede Anfrage die Ähnlichkeiten und geben Sie die besten Treffer zurück.
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)Anwendungen in der Praxis
Satz-Embeddings ermöglichen FAQ-Matching, Duplikaterkennung, Clustering, Empfehlungen und den Retrieval-Schritt in RAG-Systemen, die relevanten Kontext an große Sprachmodelle übergeben.
Tipps für gute Ergebnisse
Wählen Sie ein für Ihre Aufgabe trainiertes Modell (semantische Suche statt Paraphrasen). Normalisieren Sie die Embeddings, wenn Ihre Ähnlichkeitsmetrik dies erfordert, und verwenden Sie bei großen Korpora eine Vektordatenbank für eine schnelle Suche nach nächsten Nachbarn.
Kurzer Test
Überprüfen Sie Ihr Wissen zu Satz-Embeddings.
Zusammenfassung
Zusammenfassung: Satz-Embeddings kodieren ganze Sätze in Vektoren. Verwenden Sie SentenceTransformer("all-MiniLM-L6-v2") und model.encode(sentences) und vergleichen Sie anschließend mit der Kosinus-Ähnlichkeit. Das ermöglicht semantische Suche: Enkodieren Sie Anfrage und Korpus und ordnen Sie nach Ähnlichkeit. Eine wichtige Grundlage für FAQ-Matching, Clustering und RAG-Retrieval.
Lerne Python mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 53
- Lektionen
- 225
Häufig gestellte Fragen
Ist die Lektion „Semantische Ähnlichkeit und Satz-Embeddings“ kostenlos?
Ja — der vollständige Text von „Semantische Ähnlichkeit und Satz-Embeddings“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Semantische Ähnlichkeit und Satz-Embeddings“?
Sentence-BERT, Kosinus-Ähnlichkeit für die semantische Suche, Clustering von Embeddings. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn AI with Python zu starten?
Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Semantische Ähnlichkeit und Satz-Embeddings“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?
Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Word2Vec: Skip-gram und CBOW
- GloVe- und FastText-Embeddings
- Textklassifikation mit BERT
- Semantische Ähnlichkeit und Satz-Embeddings