ForHosting KIT · Matematica

Calcolatore di similarità coseno

Misuri quanto due vettori puntano nella stessa direzione, da -1 se sono opposti a 1 se coincidono. Poiché la lunghezza non conta, 1, 2, 3 e 10, 20, 30 ottengono un 1 perfetto, ideale per confrontare testi, valutazioni o profili di sondaggi. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Primo testo
1, 2, 3
Secondo testo
4, -5, 6
Ottiene
N
3
Prodotto scalare
12
Modulo di a
3,7416573868
Modulo di b
8,7749643874

Lei invia le due liste di componenti — embedding, pesi delle caratteristiche, conteggi dei termini, punteggi di sondaggi — e riceve il prodotto scalare, entrambe le norme e un unico punteggio di similarità tra -1 e 1: 1 significa direzione identica, 0 significa ortogonale e -1 significa opposta.

Cosa misura davvero la similarità coseno

La distanza euclidea indica quanto sono lontani due punti; la similarità coseno indica se puntano nella stessa direzione. Questa distinzione conta più di quanto sembri a prima vista. Due documenti possono avere lunghezze molto diverse e trattare lo stesso argomento; due profili di clienti possono differire nella spesa assoluta e condividere la stessa forma di preferenze.

Dividendo il prodotto scalare per il prodotto delle norme, la similarità coseno elimina la scala e conserva solo la direzione. Il risultato è sempre compreso tra -1 e 1. Un punteggio di 1 significa che i vettori sono perfettamente allineati, 0 che sono ortogonali e non condividono alcuna componente direzionale, e -1 che sono esattamente opposti.

Poiché la norma viene eliminata, un vettore [1, 2, 3] e un vettore [10, 20, 30] ottengono un 1 perfetto: descrivono le stesse proporzioni con intensità diverse, che è proprio ciò che cercano la maggior parte dei confronti di testo, gusti o comportamento.

Come viene calcolato il punteggio

Accumula poi tre somme in un unico passaggio: il prodotto scalare Σ aᵢbᵢ e le norme al quadrato Σ aᵢ² e Σ bᵢ². La similarità è il prodotto scalare diviso per il prodotto delle radici quadrate delle norme, limitata all'intervallo [-1, 1] per assorbire il rumore in virgola mobile e arrotondata a dodici decimali affinché la risposta sia stabile byte per byte tra macchine diverse.

Se uno dei vettori ha norma zero — tutte le sue componenti sono zero — la divisione è indefinita e la chiamata fallisce con un messaggio esplicito, perché un vettore nullo non ha una direzione da confrontare. La risposta include inoltre il prodotto scalare, entrambe le norme, una classificazione leggibile e i passaggi intermedi per consentirLe di verificare ogni cifra.

Dove si inserisce nella pratica

La similarità coseno è la metrica fondamentale dietro la ricerca semantica, i motori di raccomandazione, la deduplicazione e il controllo di qualità dei cluster. Se archivia embedding di testo per il recupero, questo è il punteggio che ordina i candidati; se costruisce profili utente come vettori di caratteristiche, è così che trova i vicini più prossimi.

Per i team che confrontano molti vettori, l'arrotondamento stabile e i casi di errore espliciti rendono sicuro l'uso nei test e nelle suite di regressione: le lunghezze diverse e i vettori nulli falliscono in modo evidente invece di produrre classifiche silenziosamente errate.

Classificare i candidati embedding

Valuti quanto l'embedding di una query è vicino a ciascun embedding di documento e ordini i risultati per similarità direzionale, non per lunghezza del vettore.

Rilevare elementi quasi duplicati

Contrassegni due vettori di caratteristiche come duplicati quando la loro similarità coseno supera una soglia vicina a 1, anche se i conteggi grezzi differiscono.

Confrontare profili di preferenze

Trovi utenti con la stessa forma di gusti confrontando vettori normalizzati di valutazioni o comportamenti per un motore di raccomandazione.

Quanto costa?

L'esecuzione è gratuita anche nel Suo browser su questa pagina con lo stesso codice.

Cosa significa un punteggio di 0?

I vettori sono ortogonali: non condividono alcuna componente direzionale. Un punteggio di 1 significa direzione identica e -1 direzioni esattamente opposte.

Cosa succede con un vettore nullo?

Un vettore le cui componenti sono tutte zero non ha direzione, quindi la similarità è indefinita e la chiamata fallisce con un errore chiaro invece di restituire un numero fuorviante.

La norma del vettore influisce sul punteggio?

No. Il punteggio misura solo la direzione: [1, 2, 3] e [10, 20, 30] hanno similarità coseno 1 perché le loro proporzioni sono identiche.

Quali formati di input sono accettati?

Le componenti devono essere numeri finiti entro i limiti pubblicati.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/math/cosine-similarity

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/math/cosine-similarity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":[1,2,3],"b":[4,-5,6]}'
{
  "a": [
    1,
    2,
    3
  ],
  "b": [
    4,
    -5,
    6
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.cosine_similarity",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_abs1000000000000
max_dim1000
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

L'API di similarità coseno misura quanto due vettori puntano nella stessa direzione, indipendentemente dalla loro lunghezza. L'esecuzione avviene in un unico passaggio deterministico, quindi il numero che vede nella versione gratuita del browser è esattamente quello che restituisce l'API a pagamento.

Come viene calcolato il punteggio

L'endpoint converte entrambi gli input in vettori di numeri finiti, accettando sia array JSON sia testo semplice separato da virgole, e verifica che abbiano la stessa lunghezza — un confronto tra vettori di dimensioni diverse è matematicamente privo di senso, quindi viene rifiutato con un chiaro errore invalid_input invece di essere troncato in silenzio.

Dove si inserisce nella pratica

La capacità viene eseguita sul nostro edge globale senza conservare nulla dopo la richiesta, e lo stesso codice deterministico che alimenta l'API a pagamento viene eseguito gratuitamente nel Suo browser su questa pagina, così può verificare una coppia di vettori incollandoli prima di integrare la chiamata in una pipeline. Paga solo quando la automatizza: $0.002 per richiesta, senza supplemento per dimensione entro i limiti pubblicati.

I vettori possono avere lunghezze diverse?

No. La similarità coseno è definita solo tra vettori della stessa dimensione, quindi le lunghezze diverse vengono rifiutate con un errore invalid_input.

Leggi la documentazione completa del KIT →