ForHosting KIT · Testi e IA

Calcolo della similarità di Jaro tra due stringhe

MARTHA e MARHTA ottengono 0,9444444444444445, vicinissimo a 1 anche se due lettere si sono scambiate di posto. Jaro premia i caratteri comuni in un ordine compatibile invece di contare le modifiche, cosa utile per nomi e codici brevi. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Primo
MARTHA
Secondo
MARHTA
Ottiene
Similarità
0,9444444444

La similarità di Jaro misura quanto due stringhe si assomigliano cercando caratteri uguali entro una distanza limitata e verificando se mantengono un ordine compatibile. Il risultato varia da zero, quando non esistono corrispondenze valide, a uno per stringhe identiche. È particolarmente utile per nomi brevi, etichette, identificatori e altri valori nei quali una piccola sostituzione o trasposizione non dovrebbe escludere automaticamente una possibile corrispondenza.

Comprendere che cosa rappresenta il punteggio Jaro

La similarità di Jaro è una misura basata sui caratteri e pensata per il confronto approssimativo. Non conta quante inserzioni, eliminazioni o sostituzioni servirebbero per trasformare un valore nell’altro. Individua invece i caratteri uguali che si trovano entro una finestra determinata dalla lunghezza della stringa maggiore.

Combina quindi tre proporzioni: la parte corrispondente della prima stringa, quella della seconda e la quota dei caratteri abbinati che conserva un ordine compatibile. Un risultato pari a uno indica stringhe identiche secondo questa procedura, mentre zero significa che nessun carattere ha soddisfatto le condizioni. I valori intermedi esprimono diversi gradi di somiglianza, ma lo strumento non stabilisce se un certo punteggio debba essere considerato una corrispondenza.

Lei deve scegliere la soglia in base al costo dei falsi positivi e dei falsi negativi. Nomi, codici compatti ed etichette brevi spesso traggono vantaggio da Jaro, perché il metodo premia i caratteri condivisi e il loro ordine senza considerare ogni piccolo spostamento come un’operazione di modifica completamente separata.

Preparare le stringhe e interpretare i confronti in modo coerente

Il confronto è esatto e distingue maiuscole e minuscole. Lettere con una diversa capitalizzazione sono caratteri differenti; anche spazi e punteggiatura partecipano al calcolo. L’implementazione confronta punti di codice Unicode, quindi molti emoji supplementari vengono trattati come un solo elemento anziché come due unità UTF-16.

Tuttavia non applica la normalizzazione Unicode: un carattere precomposto può risultare diverso da una lettera di base seguita da un segno combinante, anche quando l’aspetto è identico. Prepari entrambe le stringhe nello stesso modo prima della richiesta se il Suo processo deve uniformare maiuscole, spazi, accenti o forme Unicode. Lasciare tali decisioni fuori dal calcolatore rende esplicito il comportamento ed evita modifiche nascoste agli identificatori da preservare letteralmente.

Due stringhe vuote restituiscono uno perché sono identiche; una stringa vuota e una non vuota restituiscono zero. Per confronti su molti record, applichi una sola politica di pre-elaborazione a tutta la raccolta e la documenti insieme alla soglia scelta.

Usare il punteggio con cautela nei flussi di confronto

Un punteggio Jaro funziona meglio come indizio all’interno di un processo di collegamento, non come prova che due record descrivano la stessa entità. Inizi con coppie etichettate e rappresentative dei Suoi dati, ne calcoli i punteggi e osservi dove si sovrappongono corrispondenze vere e false. Potrà così definire una soglia o una fascia di revisione adatta alle conseguenze di una decisione errata.

Per clienti o fornitori, combini il punteggio testuale con campi indipendenti, come un identificatore interno stabile, una parte verificata dell’indirizzo o una data. Il metodo è simmetrico: invertire la prima e la seconda stringa produce lo stesso risultato, caratteristica utile per ordinare candidati ed eliminare duplicati. Valuta prossimità e ordine dei caratteri, ma non comprende significato, sinonimi, traslitterazione o fonetica.

Per testi lunghi o confronti semantici è più indicata un’altra tecnica.

Ordinare possibili nomi duplicati

Assegni un punteggio a coppie di clienti, fornitori o contatti prima di sottoporre i casi ambigui a revisione umana.

Confrontare brevi etichette di catalogo

Individui prodotti o categorie che differiscono soltanto per un piccolo refuso o una trasposizione locale.

Verificare regole di confronto approssimativo

Produca punteggi deterministici per esempi etichettati mentre seleziona una soglia adatta alla Sua applicazione.

Quale intervallo utilizza il risultato?

La similarità è compresa tra zero e uno. Uno rappresenta stringhe identiche, mentre zero indica l’assenza di caratteri corrispondenti validi.

Il confronto distingue maiuscole e minuscole?

Sì. Converta entrambe le stringhe alla stessa capitalizzazione prima dell’invio se la Sua politica deve ignorare tale differenza.

Accenti o punteggiatura vengono rimossi?

No. Ogni punto di codice Unicode partecipa esattamente come fornito, inclusi spazi, segni e caratteri accentati.

La similarità di Jaro equivale a Jaro-Winkler?

No. Jaro-Winkler aggiunge una correzione basata sul prefisso. Questa capacità restituisce soltanto la similarità di Jaro non corretta.

Quale punteggio dovrebbe valere come corrispondenza?

Non esiste una soglia universale. La scelga con dati etichettati rappresentativi e valuti una fascia di revisione per le coppie incerte.

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/str/jaro-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/str/jaro-similarity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first":"MARTHA","second":"MARHTA"}'
{
  "first": "MARTHA",
  "second": "MARHTA"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.jaro_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.

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.
Quanto costa un confronto tramite API?

Ogni richiesta API costa $0.002.

Leggi la documentazione completa del KIT →