<EbeneX/>
Daten Grundlagen · Updated 3. März 2026

Cosine Similarity

Definition

Ein Ähnlichkeitsmaß, das den Winkel zwischen zwei Vektoren misst – der Standard für den Vergleich von Embeddings in der semantischen Suche und RAG-Systemen.

Fortgeschritten 2 Min. Lesezeit EN: Cosine Similarity

Einfach erklärt

Cosine Similarity misst, wie ähnlich zwei Vektoren (Embeddings) sind. Es ist die Standard-Metrik für semantische Suche und RAG-Systeme.

Wie funktioniert es?

Statt die Entfernung zwischen zwei Punkten zu messen, misst Cosine Similarity den Winkel zwischen ihnen. Zeigen zwei Vektoren in dieselbe Richtung (Winkel = 0°), sind sie identisch (Similarity = 1).

Beispiel:

"Hund" → [0.8, 0.3, 0.5]
"Katze" → [0.7, 0.4, 0.6]  → Similarity: 0.98 (sehr ähnlich)
"Auto"  → [0.1, 0.9, 0.2]  → Similarity: 0.45 (wenig ähnlich)

Warum nicht einfach Entfernung messen?

Cosine Similarity ignoriert die Länge der Vektoren – nur die Richtung zählt. Das ist wichtig, weil zwei Texte unterschiedlich lang sein können, aber dieselbe Bedeutung haben.

Technischer Deep Dive

Berechnung

import numpy as np

def cosine_similarity(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

Alternativen

MetrikMisstIdeal für
Cosine SimilarityWinkel (Richtung)Text-Embeddings
Euclidean DistanceAbstandBild-Embeddings
Dot ProductRichtung + MagnitudeNormalisierte Embeddings
Manhattan DistanceL1-AbstandSparse Vectors

Performance-Optimierung

Für Millionen von Vektoren ist naive Berechnung zu langsam:

  • ANN (Approximate Nearest Neighbors): HNSW, IVF für schnelle Suche
  • Quantisierung: Vektoren komprimieren für weniger Speicher
  • Batching: Viele Vergleiche parallel auf GPU

Cosine Similarity ist wie der Vergleich der Richtung zweier Kompassnadeln: Zeigen sie in dieselbe Richtung (Similarity = 1), sind die Konzepte ähnlich. Zeigen sie in entgegengesetzte Richtungen (-1), sind sie gegensätzlich.

Misst den Winkel zwischen zwei Vektoren (Wert zwischen -1 und 1)

1 = identisch, 0 = unabhängig, -1 = gegensätzlich

Standard-Metrik für Embedding-Vergleiche in Vektordatenbanken und RAG

Semantische Suche

Ähnlichste Dokumente zu einer Suchanfrage finden

Duplikaterkennung

Ähnliche oder doppelte Texte, Bilder oder Produkte identifizieren

Empfehlungssysteme

Ähnliche Produkte oder Inhalte basierend auf Embedding-Ähnlichkeit empfehlen

Clustering

Dokumente nach semantischer Ähnlichkeit gruppieren

Warum Cosine Similarity statt Euclidean Distance?

Cosine Similarity misst die Richtung (Bedeutung), nicht die Länge der Vektoren. Zwei Texte können unterschiedlich lang sein, aber dieselbe Bedeutung haben – Cosine Similarity erkennt das. Euclidean Distance wird von der Vektorlänge beeinflusst.

Was ist ein guter Cosine-Similarity-Wert?

Hängt vom Embedding-Modell ab. Bei OpenAI text-embedding-3: > 0.8 = sehr ähnlich, 0.5-0.8 = verwandt, < 0.5 = wenig Zusammenhang. Die Schwellenwerte variieren je nach Modell und Anwendung.

Wie wird Cosine Similarity in der Praxis angewendet?

Cosine Similarity wird häufig in der semantischen Suche verwendet, um die Ähnlichkeit zwischen Dokumenten oder Texten zu bewerten. Es hilft dabei, relevante Ergebnisse zu finden, indem es die Winkel zwischen den Vektoren der Texte vergleicht.

Gibt es Alternativen zur Cosine Similarity?

Ja, es gibt mehrere Alternativen zur Cosine Similarity, wie die euklidische Distanz oder die Jaccard-Ähnlichkeit. Jede Methode hat ihre eigenen Vor- und Nachteile, abhängig von der spezifischen Anwendung und den Daten, die analysiert werden.

Dein persönliches Share-Bild für Instagram – 1080×1080px, bereit zum Posten.