Zur Berechnung der Kosinus-Ähnlichkeit muss der Kosinus des Winkels (Theta) zwischen zwei von Null verschiedenen Vektoren in einem inneren Produktraum gemessen werden. Diese Messung ergibt einen Kosinus-Ähnlichkeitswert. Die Werte der Kosinus-Ähnlichkeit reichen von -1 bis 1:
Denken Sie daran wie einen Vergleich von Pfeilen vor: Wenn sie in die gleiche Richtung zeigen, sind sie sich sehr ähnlich. Diejenigen im rechten Winkel stehen in keinem Zusammenhang, und die Pfeile, die in entgegengesetzte Richtungen zeigen, sind unterschiedlich.
Dieser Ansatz ist die Grundlage für viele Systeme für maschinelles Lernen (ML), Verarbeitung natürlicher Sprache (NLP) und künstliche Intelligenz (KI). Diese Technologien basieren auf vektorbasierten Darstellungen von Daten, d. h. die Daten wurden in eine numerische Form umgewandelt, um ihre Bedeutung und Ähnlichkeit mit anderen Daten zu erfassen.
So kann ein Chatbot beispielsweise die Worteinbettung verwenden, um Text in Vektorform umzuwandeln, Deep Learning-Modelle verwenden, um Absichten zu verstehen, und Algorithmen zur Ähnlichkeitssuche verwenden, um die relevanteste Antwort aus einer Datenbank abzurufen. Kosinus-Ähnlichkeit ermöglicht jeden dieser Schritte.
Bleiben Sie mit dem Think-Newsletter über die wichtigsten – und faszinierendsten – Branchentrends in den Bereichen KI, Automatisierung, Daten und mehr auf dem Laufenden. Weitere Informationen finden Sie in der IBM Datenschutzerklärung.
Egal, ob es darum geht, das nächste Wort in einem Satz vorherzusagen oder einen Ort in der Nähe zum Essen vorzuschlagen, viele der Systeme, die unser digitales Leben prägen, beruhen auf der Messung von Ähnlichkeit. Technologien wie Empfehlungsmaschinen und große Sprachmodelle (Large Language Models, LLMs) verwenden die Kosinus-Ähnlichkeit, um herauszufinden, welche Inhalte am relevantesten sind und welche Antworten am „sinnvollsten“ sind.
Diese Entscheidungen werden durch die Analyse von Beziehungen zwischen Datenpunkten in hochdimensionalen oder spärlichen Datensätzen getroffen. In der klassischen Textanalyse werden Dokumente oft in numerische Darstellungen umgewandelt, indem Techniken wie term frequency-inverse document frequency (tf-idf) – eine erweiterte Form von Bag of Words (BoW) – verwendet werden. Während BoW bewertet, wie oft ein Begriff in einem Dokument vorkommt, passt tf-idf diese Bewertung an, je nachdem, wie häufig oder selten das Wort in einem größeren Datensatz ist.
Fortschrittlichere Systeme verwenden neuronale Netze, um Vektoreinbettungen zu erzeugen – numerische Darstellungen von Datenpunkten, die verschiedene Datentypen als Zahlenarray ausdrücken. Beispielsweise können Wörter wie „Arzt“ und „Krankenschwester“ im Vektorraum nahe beieinander auftauchen, was bedeutet, dass das Modell sie als verwandt ansieht. Diese Einbettungen durchlaufen oft zusätzliche Schritte, wie die Hauptkomponentenanalyse (PCA), um groß angelegte Vergleiche schneller und effizienter zu machen.
Bei beiden Ansätzen bemisst die Kosinus-Ähnlichkeit, wie eng die resultierenden Vektoren aneinander ausgerichtet sind, und hilft den Systemen, Muster und Beziehungen in komplexen Datensätzen zu erkennen. In NLP, KI und Data Science spielt die Kosinus-Ähnlichkeit eine zentrale Rolle in:
Suchmaschinen nutzen die Kosinus-Ähnlichkeit, um Benutzeranfragen mit relevanten Dokumenten abzugleichen und so sowohl die Präzision als auch die Qualität des Rankings zu verbessern.
Neuronale Netze und LLMs vergleichen Vektor-Einbettungen anhand der Kosinus-Ähnlichkeit, um die semantische Nähe zwischen den Inputs zu bewerten.
Empfehlungssysteme wenden Techniken der Ähnlichkeitssuche an, um Produkte, Medien oder Inhalte vorzuschlagen, die dem Verhalten und den Vorlieben der Nutzer entsprechen.
Die Kosinus-Ähnlichkeit unterstützt die Themenmodellierung, indem Dokumente mit ähnlichen Themen in Gruppen sortiert werden. Diese Themenverteilungen werden in der Regel mit Methoden wie der Latent Dirichlet Allocation (LDA) generiert.
Neben Textanwendungsfällen unterstützt die Kosinus-Ähnlichkeit auch alle Szenarien, in denen mehrdimensionale Muster schnell und genau verglichen werden müssen, wie z. B. Bilderkennung, Betrugserkennung und Kundensegmentierung.
Im Kern misst die Kosinus-Ähnlichkeit, inwieweit zwei Vektoren aufeinander ausgerichtet sind, indem sie den Kosinus des Winkels zwischen ihnen berechnet.
Bei realen Anwendungen wie dem Vergleich von Dokumenten werden Daten als Vektoren in einem mehrdimensionalen Raum dargestellt. Jede Dimension kann ein bestimmtes Wort, ein bestimmtes Attribut oder eine bestimmte Aktion darstellen, und der Wert in dieser Dimension gibt an, wie prominent oder wichtig dieses Element ist.
So berechnet man die Kosinus-Ähnlichkeit:
Die Formel kann wie folgt dargestellt werden:
Kosinus-Ähnlichkeit = (A · B) / (||A|| × ||B||)
Wo gilt:
Die resultierende Punktzahl reicht von -1 bis 1.
Stellen Sie sich zur weiteren Veranschaulichung zwei Wörter vor: „König“ und „Königin“.
Beide werden in ähnlichen Kontexten verwendet. Bei der Verarbeitung durch ein LLM wird jedes Wort in eine Vektoreinbettung übersetzt, das die semantische Bedeutung eines Begriffs auf der Grundlage seiner Verwendung in Millionen von Sätzen erfasst. Da „König“ und „Königin“ beide häufig in der Nähe von Wörtern wie „Royal“, „Thron“ und „Monarch“ vorkommen, weisen die daraus resultierenden Einbettungen in fast dieselbe Richtung.
Betrachten wir nun ein drittes Wort: „Apfel“. Obwohl es in einigen der gleichen Dokumente vorkommt, wird es häufiger mit Begriffen wie „Obst“, „Garten“ oder „knackig“ in Verbindung gebracht. Sein Vektor zeigt in eine fast entgegengesetzte Richtung, was zu einer geringeren Kosinus-Ähnlichkeit führt. Bei der Darstellung in einem Diagramm würden die Pfeile „König“ und „Königin“ fast nebeneinander verlaufen, während der Pfeil „Apfel“ in einem auffälligen Winkel in eine ganz andere Richtung zeigen würde.
Um die Leistung zu optimieren und ein schnelleres Auffinden relevanter Übereinstimmungen zu unterstützen, speichern viele Unternehmen diese Einbettungen in speziellen Vektordatenbanken. Dabei handelt es sich um Tools, die hochdimensionale Vektoren indizieren, um die Suche zu verbessern und die ähnlichsten Ergebnisse zurückzugeben.
Die Kosinus-Ähnlichkeit ist nur eine von mehreren Ähnlichkeitsmetriken. Jede Kennzahl ist darauf ausgelegt, Ähnlichkeit auf unterschiedliche Weise zu bewerten und eignet sich besser für bestimmte Arten von Daten innerhalb eines mehrdimensionalen Raums. Einige Beispiele:
Diese Metrik berechnet den geradlinigen Abstand zwischen zwei Punkten in einem Vektorraum. Es ist intuitiv und wird häufig in der Datenanalyse verwendet, insbesondere zum Vergleich von numerischen Daten oder physikalischen Funktionen. In hochdimensionalen Räumen, in denen Vektoren dazu neigen, in der Entfernung zu konvergieren, wird die euklidische Entfernung jedoch für Aufgaben wie Cluster oder Informationsabruf weniger zuverlässig.
Die Jaccard-Ähnlichkeit misst die Überlappung zwischen zwei Datensätzen, indem die Größe der Schnittmenge durch die Größe der Vereinigung geteilt wird. Sie wird häufig auf Datensatz mit kategorischen oder binären Daten – wie Tags, Klicks oder Produktansichten – angewendet und ist besonders für Empfehlungssysteme nützlich. Jaccard konzentriert sich zwar auf An- oder Abwesenheit, berücksichtigt aber weder Häufigkeit noch Größe.
Das Skalarprodukt der Vektoren A und B gibt an, wie sehr sie in dieselbe Richtung zeigen, ohne jedoch die Größenordnungen zu normalisieren. Dieser Faktor macht es empfindlich gegenüber dem Skalieren: Vektoren mit großen Werten können ähnlicher erscheinen, auch wenn ihre Richtung abweicht.
Die Kosinus-Ähnlichkeit verbessert diese Kennzahl, indem das Skalarprodukt der Vektoren durch das Produkt der Größe der Vektoren dividiert wird (die Formel für die Kosinus-Ähnlichkeit). Die Kosinus-Ähnlichkeit ist daher für den Vergleich von Nicht-Null-Vektoren unterschiedlicher Länge stabiler, insbesondere in hochdimensionalen Datensätzen.
In der Praxis verwenden Unternehmen häufig Kosinus-Ähnlichkeitsmaße zusammen mit anderen Metriken je nach Struktur des Datensatzes und der Art der Unähnlichkeit, die sie vermeiden möchten.
Beispielsweise kombiniert die Ähnlichkeitssuche in NLP- oder LLM-Anwendungen häufig die Kosinusdistanz mit Einbettungsmodellen, die mit Deep-Learning-Algorithmen trainiert wurden. Kosinus-Ähnlichkeitsberechnungen sind auch in Open Source Tools wie Scikit-learn, TensorFlow und PyTorch integriert, was es Data Scientists erleichtert, die Kosinus-Ähnlichkeit über große Datensätze hinweg zu berechnen.
Aufgrund ihrer Rolle in unzähligen Systemen bietet die Kosinus-Ähnlichkeit gegenüber herkömmlichen Metriken mehrere Vorteile:
Neben den Vorteilen der Kosinus-Ähnlichkeit seien hier auch einige ihrer Grenzen genannt:
Um den größten Nutzen aus der Kosinus-Ähnlichkeit zu ziehen, können Unternehmen Folgendes in Betracht ziehen:
Unternehmen können Vektoren vor der Berechnung normalisieren, um eine einheitliche Skalierung und gültige Ergebnisse zu gewährleisten, insbesondere bei Verwendung hochdimensionaler Eingaben.
Unternehmen sollten Datensätze bereinigen, um Nullvektoren zu entfernen oder zu kennzeichnen, da sie bei Berechnungen der Kosinus-Ähnlichkeit „Division-durch-Null-Fehler“ verursachen würden.
Unternehmen können die Kosinus-Ähnlichkeit durch zusätzliche Metriken wie die Jaccard-Ähnlichkeit oder den euklidischen Abstand ergänzen, wenn mehrere Dimensionen der Ähnlichkeit erforderlich sind.
Vor der Bereitstellung sollten Unternehmen die Leistung der Kosinus-Ähnlichkeit in Umgebungen bewerten, die reale Bedingungen widerspiegeln, insbesondere wenn sie in Echtzeitsystemen wie Anwendungsprogrammierschnittstellen (APIs) verwendet werden.
Unternehmen können ausgereifte Open-Source-Bibliotheken nutzen, um Kosinus-Ähnlichkeitsberechnungen in großem Maßstab effizient durchzuführen. Zum Beispiel bietet Scikit-learn über den Python-Modulpfad sklearn.metrics.pairwise. eine sofort einsatzbereite Kosinus-Ähnlichkeitsfunktion.
Alternativ kann die Formel auch direkt in Python mit NumPy codiert werden:
„cosine_similarity = np.dot(v1, v2) / (np.linalg.norm(v1) * np.linalg.norm(v2))„
Wie Pfeile hilft auch die Kosinus-Ähnlichkeit Unternehmen bei der Richtungsausrichtung. Ganz gleich, ob es darum geht, Ergebnisse abzugleichen oder datengesteuerte Entscheidungsfindung zu unterstützen, die Kosinus-Ähnlichkeit kann aussagekräftige Erkenntnisse liefern und dabei helfen, Erfahrungen in verschiedenen Anwendungsfällen zu personalisieren.
Erhalten Sie zuverlässige Antworten mit kontextbezogenen KI-Agenten, die auf kontrollierten und vernetzten Daten basieren – ohne Umstellung auf eine neue Plattform oder Bindung an einen Anbieter.
Entwerfen Sie eine Datenstrategie, die Datensilos beseitigt, die Komplexität reduziert und die Datenqualität verbessert, um außergewöhnliche Kunden- und Mitarbeitererfahrungen zu schaffen.
Erfolgreiches Skalieren von KI mit der richtigen Strategie, Datensicherheit und Governance.