domingo, 27 de abril de 2014

Cómo normalizar direcciones de empresas

Hace unos meses se incluyó en el directorio móvil de empresas un hiperenlace que desde la dirección de la empresa te lleva a Google Maps con un plano centrado en la. Pero muchas de las direcciones, ¡más de la mitad!, producen errores, ya sea porque solo proporcionan direcciones aproximadas, incluso solamente localizan el municipio o incluso son completamente erróneas.

Para mejorar la calidad del producto, estoy haciendo comprobaciones sobre las direcciones utilizando los servicios de geolocalización de Google. Este servicio recoge una dirección en forma de cadena, y devuelve una estructura JSON con la información estructurada, incluyendo distrito postal (que no aparece en las direcciones publicadas en el BORME), longitud y latitud, dirección normalizada, y un indicador de la calidad de la dirección - es decir de la precisión que Google piensa que tiene la respuesta que ofrece a la solicitud original de dirección.

Después de analizar miles de direcciones con baja calidad, parece que un algoritmo bastante sencillo es suprimir la parte de la dirección entre el número de calle y el municipio (es decir, toda referencia a Local, Piso, Bajo, Urbanización, etc.). Y los resultados parecen bastante prometedores. El porcentaje de direcciones con alta calidad (ROOFTOP - es decir, localización exacta y RANGE_INTERPOLATED - es decir, dirección interpolada al no conocerse exactamente el número) se ha incrementado de forma notable:



Calidad             Antes         Después
ROOFTOP 38,88% 59,33%
INTERPOLATED 10,93% 15,88%
APPROXIMATE 26,82% 6,44%
NOT FOUND 16,82% 12,73%
EMPTY 5,53% 5,62%

El porcentaje de direcciones utilizables se ha incrementado de casi el 50% a más del 75%, ¡más de un 50% de mejora!

Aún así quedan aproximadamente un 5% de direcciones que se extraen de forma incorrecta del BORME, para estos casos hay difícil solución - salvo mejora de la extracción original en PDF o corrección manual de los datos.

Tengo curiosidad por saber si la calidad de las direcciones es, desde un punto de vista estadístico, igual en todas las provincias o por el contrario hay diferencias significativas. Por ejemplo, a priori, podría suponerse que en Galicia, País Vasco, Baleares y Canarias puede haber mayor dificultad de identificación de direcciones, por la complejidad de su geografía.

Después de haber programado este sistema para comprobar y normalizar direcciones,  me parece que es posible que puede ser interesante para cualquier empresa un servicio online de chequeo, validación y corrección de direcciones. El sistema funcionaría más o menos así:

  1. Se prepara un fichero de texto con las direcciones, una dirección completa por línea.
  2. Se sube el fichero a un servicio web (o se envía por correo a una determinada dirección de e-mail)
  3. El sistema procesa el fichero de texto, dirección a dirección, y devuelve un fichero similar, con algunos campos añadidos: dirección normalizada, distrito postal, longitud y latitud, y un indicador de calidad de la dirección.

Si estás interesado en probar un servicio de este tipo, por favor ponte en contacto conmigo, a través de un comentario o del formulario de la lista de correo.

No hay comentarios: