Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

Vektoren vergleichen mit Kosinus-Ähnlichkeitsfunktion in TypeScript

Erfahren Sie, wie Sie eine Kosinus-Ähnlichkeitsfunktion in TypeScript implementieren können, um die Ähnlichkeit zwischen Vektoren für moderne Webanwendungen zu bewerten.
© (Quelle: EMGenie)

Kaum waren Large Language Models dank ChatGPT überall in der Diskussion, schwirrten auch schon Begriffe wie Vektordatenbanken und Vektorähnlichkeit durch das Internet. Eine der effektivsten Methoden, um die Ähnlichkeit zweier Vektoren festzustellen, ist die Kosinus-Ähnlichkeit. Damit lassen sich die Beziehungen zwischen Wörtern, Dokumenten oder sogar Bildern in einem hochdimensionalen Raum messen. In einem Blogpost wird gezeigt, wie Sie eine Kosinus-Ähnlichkeitsfunktion in TypeScript implementieren können, um benutzerdefinierte Anwendungen zu erstellen.

Die Kosinus-Ähnlichkeit berechnet, wie ähnlich zwei Vektoren sind, indem sie den Winkel zwischen ihnen berücksichtigt, anstatt ihre Grösse. Ein Wert von +1 bedeutet, dass die Vektoren in die gleiche Richtung zeigen, 0 bedeutet, dass sie senkrecht zueinander stehen, und -1 zeigt an, dass sie in entgegengesetzte Richtungen zeigen. Diese Messung ignoriert die Grösse der Vektoren und fokussiert sich ausschliesslich auf ihre Richtung, was insbesondere für die Bewertung der Ähnlichkeit von Textinhalten nützlich ist.

Um die Kosinus-Ähnlichkeit zu berechnen, multiplizieren Sie die entsprechenden Elemente der beiden Vektoren und summieren diese Produkte zu einem Punktprodukt. Danach berechnen Sie die Länge jedes Vektors, um die Magnituden zu bestimmen. Schliesslich teilen Sie das Punktprodukt durch das Produkt der beiden Magnituden. Dies liefert Ihnen einen Wert zwischen -1 und 1, der die Ähnlichkeit darstellt.

Im Code sieht die Implementierung einer einfachen Cosinus-Ähnlichkeitsfunktion in TypeScript so aus:

function cosineSimilarity(vecA: number[], vecB: number[]): number {  if (vecA.length !== vecB.length) {    throw new Error("Vectors must have the same dimensions");  }    const dotProduct = vecA.reduce((sum, a, i) => sum + a * vecB[i], 0);  const magnitudeA = Math.hypot(...vecA);  const magnitudeB = Math.hypot(...vecB);  return dotProduct / (magnitudeA * magnitudeB);} 

Dieses Beispiel zeigt eine einfache Berechnung von Kosinus-Ähnlichkeit zwischen zwei Vektoren. Sie können diese Funktion erweitern, um weitergehende Anforderungen zu erfüllen, wie etwa die Normalisierung von Vektoren oder die Implementierung von Angles-to-Degree Transformationsmethoden.

Die Kosinus-Ähnlichkeit hat zahlreiche Anwendungen in modernen Webentwicklungstechnologien. Sie kann verwendet werden, um semantische Suchen durchzuführen, intelligente Empfehlungsmechanismen zu schaffen oder um ähnliche Artikel und Nutzerprofile in Online-Plattformen zu identifizieren. Mit der Einführung leistungsstarker Einbettungsmodelle, wie sie beispielsweise von OpenAI bereitgestellt werden, lassen sich Texte in hochdimensionale Vektoren umwandeln, was die Genauigkeit solcher Vergleiche erheblich verbessert.

Die Kosinus-Ähnlichkeit in TypeScript implementieren.

Kommentare

Softwareentwicklung
Anzeige
Anzeige

Neueste Beiträge

Apple bietet Versicherung für mehrere Geräte auch in Deutschland an
Ein Jahr nach der Einführung in den USA kommt AppleCare One auch nach Deutschland. Die Versicherung umfasst mindestens drei Endgeräte der Kunden und ergänzt das bestehende Angebot AppleCare+, das nur für jeweils ein Produkt gilt.
3 Minuten
30. Jul 2026
Erst flügellahm, jetzt flotter Falter
Falt-Handy Samsung Galaxy Z Fold8 im PCtipp-Test
Smartphone «innovativ»: Das zeigt Samsungs brandneue Faltkreation, das Galaxy Z Fold8 schon von aussen an. Dank des 16:10-Formats ist es ein erstklassiges Content-Creator-Werkzeug, rassige Multimedia-Zentrale und hat ebenso viel von einem eleganten E-Book-Reader. Und obendrauf gibt´s das Ganze in handlicher Reisepassgrösse. Und doch lief im PCtipp-Test nicht alles von Anfang an rund.
6 Minuten
31. Jul 2026
Bundesnetzagentur übernimmt die KI-Aufsicht in Deutschland
Die Bundesnetzagentur übernimmt ab sofort die zentrale Rolle bei der Umsetzung der europäischen KI-Verordnung in Deutschland und wird damit zur Marktüberwachungsbehörde, Anlaufstelle und Beschwerdestelle.
3 Minuten
4. Aug 2026

Das könnte Sie auch interessieren

Publireportage
Eine Kamera. Alles im Blick: Die Reolink OMVI 3i PoE
Die neue Reolink OMVI 3i PoE (P931) vereint eine 180°-Panoramakamera mit einem motorisierten PT-Objektiv. So behält die smarte Kamera gleichzeitig das grosse Ganze im Blick und verfolgt Bewegungen in Echtzeit. Sie ist ab sofort für 279 Fr. bei digitech.ch erhältlich.
4 Minuten
6. Jul 2026
Anpassung der Energieetikette für Neuwagen ab 1. Januar 2027
Das Eidgenössische Departement für Umwelt, Verkehr, Energie und Kommunikation (UVEK) hat die Grundlagendaten der Energieetikette für Personenwagen aktualisiert.
3 Minuten
Jubiläum
40 Jahre Macintosh
Am 24. Januar 1984 wurde der erste Macintosh von Apple vorgestellt. Wir gratulieren zu 40 Jahren Mac!
2 Minuten
24. Jan 2024
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Kommentare