Duplicados con pequeñas diferencias

Encontrar duplicados exactos no es un problema, por norma general. No obstante, si hablamos de encontrar duplicados con pequeñas diferencias, como pueden ser, por ejemplo, erratas, cambios en el orden de las palabras, omisión de letras y letras adicionales, entonces ya es más complicado.

Los datos, y especialmente las direcciones, los suelen registrar personas. Y cada uno tiene su propio estilo. Uno coloca el nombre antes del apellido, por ejemplo: "Albert Einstein". Para otra persona, es evidente que el apellido debe incluirse antes del nombre: "Einstein Albert". Otro abrevia el nombre porque la información se documenta antes de esa manera: "A. Einstein". Y otro es culpable de un error tipográfico y convierte "Albert Einstein" en "Albert Einsein".

Ocurre algo similar con los nombres corporativos. A menudo se omiten o se registran de forma diferente palabras como "Berlin" en "BioEnergy Berlin GmbH" o la mención del propósito empresarial como "Computer" en "Apple Computer Inc". Ni siquiera la denominación legal de una empresa tiene consistencia. Aquí cabrían posibles variaciones, como, por ejemplo: "G.m.b.H." y "GmbH". Tenemos el mismo problema con el nombre de las calles. Ya digamos "First Avenue", "First Av" o "1st Av", probablemente estemos refiriéndonos a la misma calle. A pesar de todas estas diferencias en el registro de los datos, es muy probable que estemos hablando de duplicados, eso sí, duplicados con pequeñas diferencias. Y duplicados que siguen costando dinero.

¿Y qué podemos hacer? Si las direcciones se registran en archivos de texto no se puede solventar sin una solución especialmente diseñada para este problema. En servidores de bases de datos como MySQL, MariaDB o SQL Server, se puede intentar resolver este problema con el comando SOUNDEX. Aunque sus posibilidades son limitadas. Puede ahondar más en este tema con el artículo "Búsqueda difusa de duplicados con SQL". En Excel las cosas tampoco pintan mejor. Aquí solo tenemos una función para encontrar duplicados exactos, es decir, todos los caracteres se repiten. Esta función se olvida de los duplicados con desviaciones. En el análisis final, solo las herramientas especializadas que ofrecen una búsqueda de duplicados con tolerancia a fallos pueden ofrecer una solución satisfactoria a este problema, como DataQualityTools y DedupeWizard: