Kosinus-Ähnlichkeit von Texten anhand der Worthäufigkeit
Messen Sie, wie stark zwei Texte dieselben Wörter verwenden, von 0 ohne gemeinsames Wort bis 1 bei gleichem Wortmuster, und sehen Sie, welche Begriffe beide teilen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Text a
- The quick brown fox jumps over the dog.
- Text b
- A quick brown dog jumps over the fox.
- Kosinus-Ähnlichkeit
- 0,894427191
- Skalarprodukt
- 8
- Betrag von a
- 3,1622776602
- Betrag von b
- 2,8284271247
Dieser Rechner wandelt jeden Abschnitt in einen Worthäufigkeitsvektor um und misst den Winkel zwischen beiden Vektoren. Der Wert reicht von 0, wenn keine gezählten Wörter übereinstimmen, bis 1, wenn die Muster in dieselbe Richtung zeigen. Zusätzlich erhalten Sie Tokenzahlen, Vokabularumfang, Beträge, Skalarprodukt und gemeinsame Begriffe als deterministisch prüfbares Ergebnis.
Wie aus jedem Text eine Liste von Zählungen wird
Der Rechner setzt beide Texte in Kleinbuchstaben, zerlegt sie in Wörter aus Buchstaben oder Ziffern und behält Apostrophe innerhalb eines Wortes bei. Satzzeichen und Leerzeichen zählen nicht. Jedes unterschiedliche Wort aus einem der beiden Texte wird zu einer Dimension eines gemeinsamen Wortschatzes, und wie oft es in jedem Text vorkommt, wird zur Koordinate dieses Textes: Ein Wort, das dreimal vorkommt, zählt drei und nicht bloß als vorhanden. Anschließend wird das Skalarprodukt der beiden Listen durch das Produkt ihrer Längen geteilt. Dadurch hängt das Ergebnis weniger von der Textlänge ab als eine einfache Zählung gemeinsamer Wörter.
Was der Wert aussagt und was nicht
Ein Wert von 1 bedeutet, dass beide Texte die Wörter im gleichen Verhältnis verwenden, auch wenn einer alles häufiger wiederholt; 0 bedeutet, dass sie kein Wort gemeinsam haben. Synonyme, Wortstämme oder das Entfernen häufiger Füllwörter gibt es nicht: «laufen» und «lief» gelten als verschiedene Wörter, und die Wortreihenfolge spielt keine Rolle. Die Messung ist eine schnelle, nachvollziehbare Grundlage, um Entwürfe, kurze Beschreibungen oder Unterrichtsbeispiele zu vergleichen, beweist aber weder Urheberschaft noch eine Kopie oder dieselbe Bedeutung. Neben dem Wert sehen Sie die Wortzahl jedes Textes, die Größe des Wortschatzes und die Liste der gemeinsamen Begriffe.
Machen Sie zwei Abschnitte vergleichbar
Fügen Sie in jedes Feld einen Abschnitt ein. Das Werkzeug wandelt den Text in Kleinbuchstaben um, erkennt Unicode-Folgen aus Buchstaben oder Zahlen und behält Apostrophe innerhalb von Wörtern. Jeder unterschiedliche Begriff wird zu einer Dimension; seine Häufigkeit bildet die Koordinate.
So können Sie gemeinsame Begriffe prüfen und das Ergebnis nachvollziehen.
Deuten Sie den Wert richtig
Die Kosinus-Ähnlichkeit teilt das Skalarprodukt durch das Produkt der Vektorbeträge. Der Wert 1 steht für gleiche relative Muster, 0 für keine gemeinsamen Begriffe. Einen allgemeingültigen Grenzwert gibt es nicht; bestimmen Sie ihn mit repräsentativen Dokumenten.
Gemessen wird die lexikalische Struktur, nicht Urheberschaft, Kopie oder Bedeutungsgleichheit.
Nutzen Sie einen transparenten Textvergleich
Diese Kennzahl eignet sich als erklärbare Basis zum Vergleich von Entwürfen, zur Lehre von Vektormodellen oder zur Analyse kurzer Beschreibungen. Anders als die Editierdistanz ignoriert sie die Reihenfolge; anders als Embeddings belohnt sie nur echte Übereinstimmungen.
Anwendungsfälle
Vektorähnlichkeit vermitteln
Zeigen Sie, wie Häufigkeiten, Skalarprodukt und Beträge einen reproduzierbaren Wert ergeben.
Dokumententwürfe vergleichen
Prüfen Sie, ob zwei Fassungen ähnliches Vokabular behalten, und sehen Sie gemeinsame Begriffe.
Eine lexikalische Basis schaffen
Erstellen Sie einen transparenten Referenzwert vor komplexeren semantischen Verfahren.
Häufige Fragen
Was bedeutet der Ähnlichkeitswert?
Er reicht von 0 ohne gemeinsame Begriffe bis 1 bei gleich gerichteten Vektoren; Zwischenwerte zeigen teilweise Überschneidung.
Beeinflussen Großschreibung oder Satzzeichen das Ergebnis?
Großschreibung spielt keine Rolle. Satzzeichen trennen Begriffe, außer Apostrophen innerhalb eines Wortes.
Erkennt das Werkzeug Synonyme?
Nein. Es vergleicht exakte kleingeschriebene Begriffe und deren Häufigkeiten.
Wird die Wortreihenfolge berücksichtigt?
Nein. Der Vektor speichert die Anzahl jedes Begriffs, nicht seine Position.
Ab welchem Wert gelten zwei Texte als ähnlich genug?
Einen allgemeingültigen Grenzwert gibt es nicht. Werte zwischen 0 und 1 zeigen eine teilweise Überschneidung der Wörter. Legen Sie Ihre eigene Schwelle anhand typischer Beispiele aus Ihren Dokumenten fest und wenden Sie sie einheitlich an.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/edu/cosine-text-similarity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text_a":"The quick brown fox jumps over the dog.","text_b":"A quick brown dog jumps over the fox."}'const res = await fetch("https://api.kit.forhosting.com/edu/cosine-text-similarity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text_a": "The quick brown fox jumps over the dog.",
"text_b": "A quick brown dog jumps over the fox."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/cosine-text-similarity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text_a": "The quick brown fox jumps over the dog.",
"text_b": "A quick brown dog jumps over the fox."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/cosine-text-similarity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text_a":"The quick brown fox jumps over the dog.","text_b":"A quick brown dog jumps over the fox."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text_a":"The quick brown fox jumps over the dog.","text_b":"A quick brown dog jumps over the fox."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/cosine-text-similarity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text_a": "The quick brown fox jumps over the dog.",
"text_b": "A quick brown dog jumps over the fox."
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.cosine_text_similarity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_chars_per_text | 100000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Nutzen Sie einen transparenten Textvergleich
API-Anfragen kosten $0.002; Netzwerk, Zufall und externe Modelle werden nicht verwendet.
Technische Fragen
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002; externe Modelle oder Dienste sind nicht nötig.