Embeddings, Suche und Retrieval-Augmented Generation
Cosine Similarity
Heißt auch Kosinusähnlichkeit.
Ähnlichkeitsmaß anhand des Winkels zwischen Vektoren.
Die Cosine Similarity, auf Deutsch Kosinusähnlichkeit, misst die Ähnlichkeit zweier Vektoren über den Winkel zwischen ihnen. Rechnerisch ist sie das Skalarprodukt der auf Länge eins normierten Vektoren, also der Kosinus des eingeschlossenen Winkels. scikit-learn: Pairwise metrics Die Werte liegen zwischen minus eins und eins, wobei eins gleiche Richtung bedeutet.
Die Länge des Vektors bleibt außen vor
Der entscheidende Punkt ist, was das Maß ignoriert. Weil nur die Richtung zählt, spielt die Länge der Vektoren keine Rolle. Zwei Texte über dasselbe Thema gelten damit als ähnlich, auch wenn einer eine Seite und der andere zehn Seiten lang ist.
Für Embeddings ist das die übliche Wahl; ein Anbieter empfiehlt sie ausdrücklich und weist darauf hin, dass die Wahl des Abstandsmaßes meist wenig ausmacht, weil die ausgegebenen Vektoren ohnehin normiert sind. OpenAI: Embeddings Bei normierten Vektoren führen Kosinusähnlichkeit und Skalarprodukt zur selben Reihenfolge.
So kannst du dir das vorstellen
Zwei Personen zeigen mit dem Arm in eine Richtung. Die Kosinusähnlichkeit fragt nur, ob sie in dieselbe Richtung zeigen, nicht, wie lang ihre Arme sind. Das Bild erklärt, warum Länge keine Rolle spielt, es sagt nichts darüber, ob die Richtung inhaltlich sinnvoll ist.
Was es in der Praxis bedeutet
Die Zahl selbst ist schwer zu deuten. Ein Wert von 0,82 heißt für sich genommen nichts, weil der übliche Wertebereich vom Modell und vom Inhalt abhängt. Brauchbar sind Vergleiche innerhalb derselben Sammlung und desselben Modells, also die Rangfolge, nicht die absolute Höhe.
Feste Schwellenwerte sind deshalb heikel. Wer eine Grenze zieht, sollte sie an eigenen Beispielen prüfen und nach jedem Modellwechsel neu bestimmen.
Wo es verwechselt wird
Kosinusähnlichkeit ist kein Maß für Wahrheit oder Relevanz, sondern für Nähe im Vektorraum. Und sie ist nicht dasselbe wie der euklidische Abstand, auch wenn beide bei normierten Vektoren dieselbe Reihenfolge ergeben.
Verwandte Begriffe
Embedding, Vector Search, Embedding Space, Dense Retrieval, Reranking.