Duplicati con piccole differenze

Trovare duplicati esatti non è, di regola, un problema. Tuttavia, quando si tratta di trovare duplicati con piccole differenze, come può accadere, ad esempio, per errori di battitura, parole trasposte, lettere omesse e lettere aggiunte, certamente diventa più difficile.

I dati e soprattutto gli indirizzi sono registrati, di norma, da persone. E così facendo, ogni persona ha il proprio stile. Qualcuno preferisce registrare il nome davanti al cognome come, ad esempio, in "Albert Einstein". Per qualcun altro, è ovvio che il cognome deve essere registrato prima del nome come in "Einstein Albert". Qualcun altro ancora abbrevia il nome perché le informazioni possono essere registrate più velocemente in questo modo: "A. Einstein". Una ulteriore persona potrebbe fare un errore tipografico e trasformare "Albert Einstein" in "Albert Einsein".

Cose simili accadono con i nomi di aziende: nomi di luoghi come "Berlin" in "BioEnergy Berlin GmbH", o la citazione dello scopo sociale come "computer" in "Apple Computer Inc" sono spesso omessi o registrati in forma modificata. Anche la forma giuridica di una società non è sempre registrata in modo coerente. Possibili variazioni in questo caso potrebbero essere, ad esempio, "G.m.b.H." e "GmbH". Lo stesso problema si presenta con i nomi delle strade: parlando di "First Avenue", "First Av" o "1a Av", probabilmente intendiamo la stessa strada. Nonostante tutte queste differenze di registrazione dei dati, molto probabilmente stiamo parlando di duplicati, ma di duplicati con piccole differenze. E queste costeranno del denaro.

Quindi che si fa? Se gli indirizzi sono registrati in file di testo, non puoi fare a meno di una soluzione appositamente progettata. Per i server di database come MySQL, MariaDB o SQL Server, puoi cercare di risolvere questo problema con il comando SOUNDEX. Ma le sue possibilità sono limitate. Maggiori dettagli su questo argomento sono contenuti in questo articolo, "Ricerca fuzzy di duplicati con SQL". Anche su Excel, le cose non vanno meglio. Anche lì, abbiamo solo una funzione per trovare dei duplicati esatti, cioè i duplicati che corrispondono carattere per carattere. I duplicati con differenze rimangono non riconosciuti da questa funzione. In ultima analisi, soltanto strumenti specializzati che includano un algoritmo di corrispondenza con tolleranza all'errore possono fornire una soluzione soddisfacente a questo problema, come DataQualityTools e DedupeWizard: