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

Die besten PCtipp-Artikel aus der Kalenderwoche 37
In der Kalenderwoche 37 vom 7. bis 13. September 2026 standen die Artikel «yallo bringt Travel eSIM für mobile Daten in über 160 Destinationen» und «iPhone Duo und weitere Hardware vorgestellt» oben in der Gunst unserer Leserschaft. 
2 Minuten
18. Sep 2026
EDÖB und privatim
Leitfaden zur digitalen Überwachung in Pflegeeinrichtungen
Der Einsatz von Kameras, Infrarotsensoren oder Radaren zur Überwachung von betreuten Personen in Spitälern oder ähnlichen Einrichtungen gewinnt an Bedeutung. Der EDÖB und privatim veröffentlichen einen Leitfaden, um die datenschutzrechtlichen Herausforderungen aufzuzeigen und Einrichtungen zu sensibilisieren, die solche Überwachungslösungen einsetzen möchten.
3 Minuten
17. Sep 2026
Erste Singles schon da
Grand Theft Auto VI bekommt auch Musikalbum
Zusätzlich zum Spiel Grand Theft Auto VI wurde nun auch ein Musikalbum angekündigt. Die ersten sechs Songs daraus können schon angehört werden.
2 Minuten
18. Sep 2026

Das könnte Sie auch interessieren

Der Zenit für Gamer, Cosplayer und Fans von Star Wars
Fantasy Basel 2024: der grosse Rückblick
Sie war auch dieses Jahr die wichtigste Messe für Gamer, Cosplayer oder einfach für alle, die galaktische und fantastische Geschichten lieben. PCtipp hat die coolsten Bilder auf der Fantasy Basel 2024, der grössten Schweizer Comic Con, gesammelt.
3 Minuten
13. Mai 2024
Brack.Alltron CONNECT 2026: Die wichtigste ICT-Leitmesse der Schweiz
Auf der CONNECT 2026 von Brack.Alltron am 26. und 27. August 2026 in Zürich-Oerlikon treffen sich ICT-Professionals zur wichtigsten Fachmesse der Branche. In der Halle 550 präsentiert der Veranstalter Brack.Alltron unter dem Motto «Unboxing Tomorrow» an zwei Tagen die neuesten Trends und Lösungen. PCtipp ist live vor Ort und zeigt die Aussteller und Trends.
5 Minuten
27. Aug 2026
In eigener Sache
PCtipp 9/2026: mit diesen Themen ab dem 28. August 2026 am Kiosk erhältlich
Freuen Sie sich auf eine Ausgabe voller praktischer Ratschläge und fesselnder Inhalte! Holen Sie sich Ihren PCtipp 9/2026 ab dem 28. August 2026 am Kiosk und bleiben Sie stets auf dem neuesten Stand der PC-Technologie. Das Epaper ist auch schon online.
2 Minuten
28. Aug 2026
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Kommentare