Definición de Fuzzy Matching
Fuzzy matching es una técnica para encontrar valores o registros que son similares pero no exactamente iguales, como "Jon Smith" y "John Smith" o "12 Main St." y "12 Main Street." En lugar de dar una respuesta de sí o no, mide qué tan cerca están dos valores y devuelve una puntuación de similitud, de modo que las coincidencias aproximadas causadas por errores tipográficos, abreviaturas o diferencias de formato aún puedan detectarse.
¿Cómo funciona el fuzzy matching?
Antes de comparar, los valores se limpian generalmente eliminando puntuación, convirtiendo todo a minúsculas y expandiendo abreviaturas comunes. Los valores se comparan usando uno o más métodos:
- Diferencias de caracteres: contar cuántas letras deben agregarse, eliminarse o cambiarse para convertir un valor en otro. "Smith" y "Smyth" difieren en una letra, por lo que se puntúan como muy similares.
- Comparación de pronunciación: comparar cómo se pronuncian las palabras en lugar de cómo se escriben, de modo que "Meyer" y "Maier" pueden reconocerse como el mismo nombre.
- Comparación basada en palabras: comparar las palabras en cada valor independientemente del orden, de modo que "Smith, John" y "John Smith" se tratan como una coincidencia.
- Solapamiento parcial: comparar fragmentos cortos de texto, lo que ayuda con valores largos como descripciones de productos o nombres de empresas.
El resultado es una puntuación, a menudo expresada como un porcentaje. Los valores que se puntúan por encima de un umbral elegido se tratan como coincidencias o se marcan para revisión.
¿Dónde se utiliza el fuzzy matching?
- Búsqueda de duplicados: detectar el mismo cliente, proveedor o producto ingresado más de una vez, como parte de deduplicación de datos.
- Combinación de datos de diferentes fuentes: vincular registros de dos sistemas que deletrean nombres o direcciones de manera diferente, por ejemplo después de una fusión empresarial.
- Búsqueda: devolver resultados útiles incluso cuando un usuario comete errores tipográficos en un término de búsqueda.
- Validación de datos entrantes: comparar nuevos registros con los existentes antes de agregarlos, de modo que los duplicados se detecten temprano.
¿Cómo se relaciona con el emparejamiento probabilístico?
El fuzzy matching compara un valor a la vez, como dos nombres o dos direcciones. El emparejamiento probabilístico se basa en esto combinando las puntuaciones de similitud de varios campos, como nombre, dirección y número de teléfono, en una probabilidad general de que dos registros describan la misma entidad. En la práctica, el fuzzy matching suele ser uno de los componentes básicos dentro de un proceso match and merge más amplio.
¿Cuáles son sus limitaciones?
El fuzzy matching puede producir coincidencias falsas, especialmente con valores cortos: "Jon" y "Joan" se ven similares pero son nombres diferentes, y dos productos con nombres casi idénticos pueden ser modelos diferentes. También puede perder coincidencias donde la misma cosa se describe con palabras completamente diferentes, como el nombre legal de una empresa y su marca comercial. Comparar cada registro con todos los demás es lento en conjuntos de datos grandes, por lo que los sistemas generalmente reducen la comparación primero, por ejemplo comparando solo registros del mismo código postal. Los umbrales requieren pruebas y ajustes para equilibrar las coincidencias perdidas con las incorrectas.