llm-marketing.de

Was ist Cosine Similarity?

Cosine Similarity (deutsch: Kosinus-Ähnlichkeit) ist ein mathematisches Maß, das die Ähnlichkeit zwischen zwei Vektoren anhand des Winkels zwischen ihnen berechnet. Im Kontext von KI und Large Language Models (LLMs) wird Cosine Similarity vor allem eingesetzt, um semantische Ähnlichkeiten zwischen Texten, Wörtern oder Dokumenten zu quantifizieren – unabhängig von deren absoluter Länge oder Größe. Das Ergebnis liegt stets zwischen –1 (völlig entgegengesetzt) und 1 (identisch ausgerichtet), wobei 0 Orthogonalität, also keinerlei Ähnlichkeit, bedeutet.

 

Wie funktioniert Cosine Similarity?

Texte und andere Inhalte werden in sogenannte Embeddings umgewandelt – numerische Vektoren, die die semantische Bedeutung eines Inhalts in einem hochdimensionalen Raum repräsentieren. Cosine Similarity misst dann, wie stark diese Vektoren in dieselbe Richtung zeigen:

  1. Vektorisierung: Beide zu vergleichenden Inhalte werden durch ein Embedding-Modell in Vektoren überführt.
  2. Berechnung: Das Skalarprodukt der beiden Vektoren wird durch das Produkt ihrer Beträge dividiert. Das Ergebnis ist der Kosinus des eingeschlossenen Winkels.
  3. Interpretation: Ein Wert nahe 1 signalisiert hohe semantische Ähnlichkeit, ein Wert nahe 0 geringe oder keine Ähnlichkeit.

Entscheidend ist, dass die Cosine Similarity die Richtung der Vektoren bewertet, nicht deren Länge. Dadurch bleibt das Ergebnis stabil, auch wenn ein Dokument deutlich länger ist als ein anderes.

 

Unterschied zwischen Cosine Similarity und euklidischer Distanz

Beide Maße vergleichen Vektoren, folgen dabei jedoch unterschiedlichen Logiken. Die euklidische Distanz misst den absoluten Abstand zwischen zwei Punkten im Vektorraum – längere Texte erzeugen dabei tendenziell größere Abstände, selbst wenn der Inhalt ähnlich ist. Cosine Similarity ignoriert hingegen die Vektorlänge und fokussiert sich ausschließlich auf den Winkel. Im NLP-Kontext ist Cosine Similarity daher häufig besser geeignet, weil semantische Bedeutung stärker mit der Ausrichtung als mit der Magnitude eines Vektors korreliert.

 

Warum ist Cosine Similarity für Unternehmen relevant?

Cosine Similarity ist ein zentrales Werkzeug überall dort, wo Ähnlichkeitsvergleiche auf Basis von Sprache oder Inhalten automatisiert werden sollen. Für Unternehmen ergeben sich mehrere relevante Anwendungsfelder:

Semantische Suche: Statt nur nach exakten Schlüsselwörtern zu suchen, könnten Suchsysteme Anfragen und Dokumente vektoriell vergleichen und inhaltlich ähnliche Treffer liefern – auch wenn kein Wort übereinstimmt.

Empfehlungssysteme: Produkte, Artikel oder Inhalte könnten auf Basis ihrer semantischen Nähe zueinander empfohlen werden, was die Relevanz von Vorschlägen verbessern würde.

Duplicate Detection: Cosine Similarity lässt sich einsetzen, um inhaltlich doppelte oder stark ähnliche Texte – etwa in Produktbeschreibungen oder Support-Dokumenten – zu identifizieren.

Retrieval-Augmented Generation (RAG): In RAG-Systemen wird Cosine Similarity genutzt, um aus einer Wissensbasis die relevantesten Textpassagen für eine gegebene Anfrage herauszufiltern, bevor ein LLM eine Antwort generiert.

 

Praxisbeispiel

Angenommen, der K-Beauty-Shop koreanische-kosmetik-shop.de möchte eine semantische Produktsuche einführen. Kundinnen, die nach „feuchtigkeitsspendende Creme für trockene Haut” suchen, würden dabei auch Produkte finden, deren Beschreibungen Begriffe wie „Hydratation”, „Moisture Barrier” oder „Hyaluronsäure” enthalten – ohne dass diese Wörter in der Suchanfrage auftauchen. Ein Embedding-Modell würde alle Produktbeschreibungen vektorisieren. Bei einer Suchanfrage würde der Anfragevektor mit allen Produktvektoren über Cosine Similarity verglichen, und die Produkte mit den höchsten Ähnlichkeitswerten würden zuerst angezeigt. Dieses Szenario wäre mit gängigen Vektordatenbanken und Embedding-APIs umsetzbar.

 

Verwandte Begriffe

  • Embeddings
  • Vektordatenbank
  • Semantic Search
  • Retrieval-Augmented Generation (RAG)
  • Nearest Neighbor Search

 

FAQ

Warum liegt der Wertebereich der Cosine Similarity zwischen –1 und 1?

Der Wertebereich ergibt sich aus der mathematischen Definition des Kosinus: Er kann maximal 1 (Winkel = 0°, gleiche Richtung) und minimal –1 (Winkel = 180°, entgegengesetzte Richtung) annehmen. In der Praxis arbeiten viele Embedding-Modelle mit nicht-negativen Vektoren, sodass Werte zwischen 0 und 1 die Regel sind.

Ist Cosine Similarity auch für nicht-textuelle Daten geeignet?

Grundsätzlich ja – Cosine Similarity funktioniert für beliebige Vektoren, also auch für Bild-Embeddings, Audio-Features oder Nutzerpräferenzen in Empfehlungssystemen. Entscheidend ist, dass die Daten zuvor sinnvoll in einen gemeinsamen Vektorraum überführt wurden.

Wie wird Cosine Similarity in der Praxis berechnet – brauche ich dafür spezialisierte Software?

Nein. Cosine Similarity lässt sich mit gängigen Bibliotheken wie NumPy, scikit-learn oder PyTorch mit wenigen Codezeilen berechnen. Für große Datenmengen kommen Vektordatenbanken wie Pinecone, Weaviate oder Qdrant zum Einsatz, die Ähnlichkeitssuchen effizient über Millionen von Vektoren hinweg ermöglichen.