Kosinus-Ähnlichkeit-Rechner
Eingaben
| Komponente a₁ | 0,5 |
|---|---|
| Komponente a₂ | 0,1 |
| Komponente a₃ | -0,3 |
| Komponente b₁ | 0,4 |
| Komponente b₂ | 0,2 |
| Komponente b₃ | -0,1 |
Kosinus-Ähnlichkeit-Rechner
Berechnen Sie die Kosinus-Ähnlichkeit und den Winkel zwischen zwei Vektoren aus ihren Komponenten — die übliche Methode, um zu messen, wie ähnlich sich zwei Text-Embeddings sind.
Eingaben
Vektor A
Vektor B
Ergebnisse
Geben Sie einen Wert ein, um die Ergebnisse zu sehen.
Details
Kosinus-Ähnlichkeit
Die Kosinus-Ähnlichkeit misst, wie eng zwei Vektoren in dieselbe Richtung weisen. Sie ist der Kosinus des Winkels zwischen ihnen und hängt daher allein von ihrer Ausrichtung ab, nicht von ihren Längen. Der Wert reicht von minus eins für Vektoren, die in genau entgegengesetzte Richtungen weisen, über null für Vektoren im rechten Winkel bis plus eins für Vektoren, die in dieselbe Richtung ausgerichtet sind. Sie ist die übliche Methode, um Text-Embeddings zu vergleichen, bei denen die Richtung eines Vektors die Bedeutung kodiert und seine Länge meist nebensächlich ist. Dieser Rechner arbeitet in drei Dimensionen, damit die Rechnung leicht nachvollziehbar ist, doch die Formel und ihre Deutung sind in den Hunderten oder Tausenden von Dimensionen, die ein reales Embedding belegt, identisch.
Wie sie berechnet wird
Zwei Bestandteile ergeben zusammen den Wert. Das Skalarprodukt misst, wie stark die Vektoren Komponente für Komponente übereinstimmen, und die Beträge messen ihre Längen. Für Vektoren und ist das Skalarprodukt
a⋅b=a1b1+a2b2+a3b3und der Betrag eines Vektors ist die Quadratwurzel der Summe seiner quadrierten Komponenten,
∥a∥=a12+a22+a32Die Division des Skalarprodukts durch die beiden Beträge hebt die Wirkung der Länge auf und lässt allein den Winkel übrig:
cosθ=∥a∥∥b∥a⋅bDer Winkel selbst ergibt sich durch Umkehrung des Kosinus, , was sich mitunter leichter beurteilen lässt als der rohe Wert — eine Ähnlichkeit von 0,92 ist schwerer vorstellbar als ein Winkel von etwa dreiundzwanzig Grad.
Rechenbeispiel
Vergleichen Sie mit . Das Skalarprodukt ist
a⋅b=(0,5)(0,4)+(0,1)(0,2)+(−0,3)(−0,1)=0,20+0,02+0,03=0,25Die Beträge sind
∥a∥∥b∥=0,25+0,01+0,09=0,35=0,5916=0,16+0,04+0,01=0,21=0,4583sodass die Kosinus-Ähnlichkeit
cosθ=0,5916×0,45830,25=0,27110,25=0,9221beträgt, was einem Winkel von entspricht. Die beiden Vektoren liegen nahe beieinander, sind aber nicht identisch — sie neigen stark in dieselbe Richtung, mit etwas über zwanzig Grad Abstand. Ein so hoher Wert würde in einer Embedding-Suche die beiden Elemente als starke Übereinstimmung kennzeichnen.
Hinweise und Varianten
Wenn Vektoren vorab auf Einheitslänge normiert werden, sind beide Beträge gleich eins und die Kosinus-Ähnlichkeit reduziert sich auf das Skalarprodukt allein — weshalb Vektordatenbanken normierte Embeddings speichern und Ergebnisse über eine einzelne Multiplikation mit Addition ordnen. Die Kosinus-Ähnlichkeit ist zudem eng mit dem euklidischen Abstand auf der Einheitskugel verwandt: Für Einheitsvektoren bedeutet eine höhere Kosinus-Ähnlichkeit stets einen kleineren geradlinigen Abstand, sodass die beiden Rangfolgen übereinstimmen. Werte sind nur innerhalb eines Embedding-Modells vergleichbar; ein Wert von 0,8 aus einem Modell bedeutet nicht dasselbe wie 0,8 aus einem anderen.
Anwendung
Die Kosinus-Ähnlichkeit ist der Bewertungsschritt hinter der Embedding-Suche, die der retrieval-gestützten Generierung zugrunde liegt. Die Passagen, die sie vergleicht, entstehen in einer Zerlegungsstufe — siehe RAG-Chunking-Rechner — und werden in Vektoren eingebettet, deren Kosten Embedding-Kosten-Rechner schätzt. Die Anzahl solcher Vektoren, die ein System vergleichen muss, treibt die Indexgröße, die Vektordatenbank-Größe-Rechner berechnet.
Häufig gestellte Fragen (FAQ)
Wie unterscheidet sich die Kosinus-Ähnlichkeit vom euklidischen Abstand?
Der euklidische Abstand misst die geradlinige Lücke zwischen den Spitzen zweier Vektoren und reagiert empfindlich auf deren Längen. Die Kosinus-Ähnlichkeit misst ausschließlich den Winkel zwischen ihnen und ignoriert die Länge vollständig.
Zwei Embeddings, die in dieselbe Richtung weisen, sich aber im Betrag unterscheiden, haben einen großen euklidischen Abstand, aber eine Kosinus-Ähnlichkeit nahe 1. Bei Text-Embeddings trägt die Richtung die Bedeutung und der Betrag ist meist nebensächlich, sodass der Winkel in der Regel der aussagekräftigere Vergleich ist.
Welchen Wertebereich nimmt die Kosinus-Ähnlichkeit an?
Sie reicht von −1 bis +1. Ein Wert von +1 bedeutet, dass die Vektoren in genau dieselbe Richtung weisen, 0 bedeutet, dass sie orthogonal sind und keine gemeinsame Richtung teilen, und −1 bedeutet, dass sie in entgegengesetzte Richtungen weisen.
Embedding-Modelle werden oft so trainiert, dass unabhängiger Text nahe 0 und verwandter Text deutlich darüber landet, wobei die genaue Skala vom Modell abhängt und viele Modelle selten stark negative Werte erzeugen.
Warum verwenden Embedding-Suchen die Kosinus-Ähnlichkeit?
Ein Embedding kodiert Bedeutung als Richtung in einem hochdimensionalen Raum, und zwei Passagen bedeuten Ähnliches, wenn ihre Vektoren ähnlich weisen, unabhängig davon, wie lang die Passagen sind. Die Kosinus-Ähnlichkeit erfasst genau diesen reinen Richtungsvergleich.
Sie lässt sich zudem im großen Maßstab günstig berechnen: Sobald Vektoren auf Einheitslänge normiert sind, reduziert sich die Kosinus-Ähnlichkeit auf ein einzelnes Skalarprodukt, das Vektordatenbanken über Millionen von Einträgen schnell auswerten können.
Haftungsausschluss
Ein Wert der Kosinus-Ähnlichkeit ist nur im Verhältnis zu anderen Werten desselben Embedding-Modells aussagekräftig. Es gibt keinen universellen Schwellenwert, der zwei Elemente als „ähnlich“ kennzeichnet; kalibrieren Sie anhand von Beispielen aus Ihren eigenen Daten, bevor Sie Schlüsse ziehen.