Che cos'è il Fuzzy Matching?

Definizione di Fuzzy Matching

Il fuzzy matching è una tecnica per trovare valori o record simili ma non esattamente identici, come "Jon Smith" e "John Smith" o "12 Via Principale" e "12 Via Principale (Via)". Invece di fornire una semplice risposta sì o no, misura quanto due valori sono simili e restituisce un punteggio di somiglianza, così le corrispondenze approssimative causate da errori di battitura, abbreviazioni o differenze di formattazione possono comunque essere individuate.

Come funziona il fuzzy matching?

Prima del confronto, i valori vengono solitamente normalizzati rimuovendo la punteggiatura, convertendo tutto in minuscole e espandendo le abbreviazioni comuni. I valori vengono quindi confrontati utilizzando uno o più metodi:

  • Differenze di caratteri: conteggio di quante lettere devono essere aggiunte, rimosse o modificate per trasformare un valore in un altro. "Smith" e "Smyth" differiscono per una lettera, quindi ottengono un punteggio di somiglianza molto alto.
  • Confronto fonico: confronto della pronuncia delle parole anziché dell'ortografia, quindi "Meyer" e "Maier" possono essere riconosciuti come lo stesso nome.
  • Confronto basato su parole: confronto delle parole in ogni valore indipendentemente dall'ordine, quindi "Smith, John" e "John Smith" sono considerati una corrispondenza.
  • Sovrapposizione parziale: confronto di brevi frammenti di testo, utile per valori lunghi come descrizioni di prodotti o nomi di aziende.

Il risultato è un punteggio, spesso espresso come percentuale. I valori che superano una soglia scelta vengono considerati corrispondenze o contrassegnati per la revisione.

Dove viene utilizzato il fuzzy matching?

  • Individuazione di duplicati: riconoscimento dello stesso cliente, fornitore o prodotto registrato più volte, come parte della deduplica dei dati.
  • Combinazione di dati da fonti diverse: collegamento di record da due sistemi che scrivono nomi o indirizzi in modo diverso, ad esempio dopo una fusione aziendale.
  • Ricerca: restituzione di risultati utili anche quando un utente digita male un termine di ricerca.
  • Verifica dei dati in ingresso: confronto dei nuovi record con quelli esistenti prima di aggiungerli, in modo che i duplicati vengano rilevati tempestivamente.

Qual è la relazione con l'abbinamento probabilistico?

Il fuzzy matching confronta un valore alla volta, come due nomi o due indirizzi. L'abbinamento probabilistico si basa su questo combinando i punteggi di somiglianza di più campi, come nome, indirizzo e numero di telefono, in una probabilità complessiva che due record descrivano la stessa entità. In pratica, il fuzzy matching è spesso uno dei componenti fondamentali all'interno di un processo più ampio di match and merge.

Quali sono i suoi limiti?

Il fuzzy matching può produrre falsi positivi, soprattutto con valori brevi: "Jon" e "Joan" sembrano simili ma sono nomi diversi, e due prodotti con nomi quasi identici potrebbero essere modelli diversi. Inoltre, può non rilevare corrispondenze dove la stessa cosa è descritta con parole completamente diverse, come il nome legale di un'azienda e il suo marchio. Il confronto di ogni record con tutti gli altri è lento su dataset di grandi dimensioni, quindi i sistemi solitamente restringono il confronto in primo luogo, ad esempio confrontando solo i record della stessa zona postale. Le soglie devono essere testate e regolate per bilanciare le corrispondenze mancate rispetto a quelle errate.