DOI: 10.47460/uct.v25i109.451
Limpieza, corrección y geocodificación de grandes bases de direcciones
utilizando minería de texto
Recibido (21/04/21), Aceptado (12/05/21)
Resumen: Para la georreferenciación de un gran número de direcciones, es necesaria la previa geocodificación mediante sistemas de carácter público o privado. La geocodificación no es una ciencia exacta porque las direcciones generalmente son escritas y almacenadas por personas, lo que provoca diferentes problemas de precisión en el registro, como errores ortográficos, datos innecesarios o falta de datos mínimos. Para enfrentar este problema, en este artículo se describe una metodología que limpia y corrige las direcciones optimizando el proceso de geocodificación utilizando los sistemas existentes. Para su desarrollo se utiliza el proceso Knowledge Discovery in Text (KDT). La metodología se aplica a una base de datos de direcciones de hechos delictivos proporcionada por la unidad de análisis penal de la Fiscalía Regional del Biobío, Chile. Los resultados muestran un aumento en el número de geocodificaciones de los sistemas implementados, que varía según el sistema utilizado.
Palabras Clave: Georreferenciación, Geocodificación, Minería de Texto.
Cleaning, correcting, and geocoding of big address databases using text mining
Abstract: For the georeferencing of a big number of addresses, prior geocoding through public or private systems is necessary. Geocoding is not an exact science because addresses are usually written and stored by people, which causes different precision issues in the registry, such as misspellings, unnecessary data, or a lack of minimal data. To address this problem, this article describes a methodology that cleans and corrects addresses by optimizing the geocoding process using existing systems. For its development, the Knowledge Discovery in Text (KDT) process is used. The methodology is applied to a database of criminal events addresses provided by the criminal analysis unit of the Regional Prosecutor's Office of Biobío, Chile. The results show an increase in the number of geocodes of the implemented systems, which varies according to the system used.
Keywords:Georreferenciación, Geocodificación, Text mining.
80
Troncoso et al., Limpieza, corrección y geocodificación de grandes bases de direcciones
I. Introducción
Las direcciones urbanas son el recurso más común uti- lizado por los habitantes de las ciudades para transmitir una posición o ubicación geográfica. Estas tienden a ser la refe- rencia más común a eventos o fenómenos que suceden en las áreas urbanas. Con base en esto, sistemas de georreferencia- ción para áreas como el transporte y el tránsito, la salud públi- ca, la seguridad pública y la recaudación de impuestos, deben generar coordenadas a partir de direcciones, para poder ana- lizar y visualizar los datos entregados por la población [1].
La georreferenciación es un proceso que relaciona in- formación (mapas, imágenes) con ubicaciones geográficas, mediante la utilización de las coordenadas geográficas (la-
Por ejemplo, en la criminología la georreferenciación ayuda a la visualización del fenómeno, sintetizando a tra- vés de la imagen cartográfica las tendencias y lógicas de la concentración/disgregación de eventos en el espacio. En este sentido es un acierto la utilización de la georreferenciación para el monitoreo de fenómenos como robo de automóviles, casas, accidentes de tránsito, homicidios, entre otros [3].
Para georreferenciar grandes bases de datos de direccio- nes es necesario realizar una previa geocodificación mediante sistemas de carácter privado o público.
La geocodificación es el proceso de transformar una di- rección (nombre de un lugar o alguna calle) en una posición
geográfica, la cual la localiza en un punto del planeta a través de valores absolutos que no pueden ser interpretados de dos formas diferentes los cuales son la latitud y la longitud. Este proceso consta en hacer coincidir la dirección requerida con la existente en un localizador de direcciones. El localizador de direcciones es una base de datos que se utiliza para ad- ministrar información sobre la ubicación de entidades y que entrega la latitud y la longitud de estas [1].
La geocodificación no es una ciencia exacta debido a que las direcciones correspondientes al domicilio de una persona natural o jurídica son escritas por un individuo al momento de ser almacenadas en una base de datos. Esto genera dife- rentes problemas como faltas de ortografía, incorporación de información innecesaria o falta de información mínima [4].
Respecto a los registros de hechos delictuales, estos tien- den a ser altos, por lo que la eficacia de un sistema de geoco- dificación es de suma importancia [5].
Este trabajo expone una metodología basada en minería de texto y elementos del procesamiento del lenguaje natural para la limpieza y corrección de direcciones, con el objetivo de complementar el trabajo de los sistemas de geocodifica- ción y aumentar la eficiencia y eficacia del proceso de geoco- dificación de grandes bases de direcciones.
II. Metodología
A lo largo de los años, el conocimiento se ha obtenido a partir del análisis de los datos almacenados en bases de datos estructuradas. Sin embargo, la gran parte de la información está presentada en formato textual sin un orden o estructura preestablecida. El análisis y procesamiento de esta informa- ción resulta ser compleja y extensa, debido a la gran cantidad de documentos almacenados [6], su heterogeneidad y su falta de estructura [7]. Para esto se utiliza el proceso de descu- brimiento de conocimiento en los textos, (KDT) [8], el cual cuenta de seis etapas las que se muestran en la figura 1.
Fig. 1. Etapas metodología KDT.
La abstracción del escenario da énfasis en el entendimien- to de los objetivos, requisitos, conceptos claves y problemá- tica. La Selección de datos elige los datos disponibles para realizar el estudio e integrarlos en uno solo y así mejorar la capacidad de análisis de los objetivos. La limpieza y prepro- cesamiento da homogeneidad al texto, se busca que no exis- tan conceptos o caracteres que distorsionen posteriormente
la detección de patrones. La transformación de los datos da la estructura necesaria al texto para la posterior detección de patrones o minería de texto, algunos procesos que se pueden aplicar son el lematizado (trasformar las variaciones de las palabras con morfemas a su raíz con el fin de evitar tener va- riantes de una misma palabra) el etiquetado (que es el proceso de clasificar las palabras en función tanto de su definición
81
Troncoso et al., Limpieza, corrección y geocodificación de grandes bases de direcciones
como de su contexto) y tokenizado (que es el proceso de par- tir el texto en elementos indivisibles llamados tokens).
El minado de texto permite el descubrimiento del cono- cimiento, el cual se puede dar a través de la detección de pa- trones, representaciones vectoriales, modelos de aprendizaje supervisado o no supervisado entre otros métodos. El análisis e interpretación de resultados interpreta y valida el conoci- miento obtenido tras realizar el proceso de minería de texto. En el caso de que el analista no valide el conocimiento, es necesario retroceder a las etapas anteriores para realizar un cambio que genere un nuevo resultado.
Sobre la base de este proceso, se propone una metodolo- gía de limpieza de direcciones la cual se explica en el siguien-
te apartado.
III. Desarrollo
Las direcciones suelen ser textos bastantes cortos, sin em- bargo, es necesario buscar un patrón que permita identificar los principales errores en la escritura de las direcciones de manera de que estos sean corregidos automáticamente y me- jorar la eficacia de los sistemas de geocodificación. Por esto, se propone una metodología de ocho etapas basada en el pro- ceso de descubrimiento de conocimiento del texto (KDT). La figura 2 muestra las etapas de la metodología creada.
Fig. 2. Etapas de la metodología de limpieza de direcciones.
A.Análisis de la composición de la base de datos: Esta etapa consta de determinar la composición de la base de datos identificando los atributos que está posee y si contiene atri- butos necesarios para realizar una correcta geocodificación, en caso de no contar con los atributos mínimos necesarios se deben recopilar los datos faltantes, sin estos no se puede realizar una geocodificación correcta.
B.Estandarización de la entrada: Se debe realizar un pro- ceso de estandarización de la entrada, debido a que la infor- mación se puede presentar de diferentes formas. Esta puede presentarse en una sola cadena de texto que contiene la di- rección, número de domicilio y comuna de residencia, todos estos atributos por separado o una combinación de estos.
C.Transcripción de acrónimos y eliminación de ruido: Los acrónimos en las direcciones son recurrentes. Palabras como “avenida”, “calle”, “parcela”, “pasaje”, etc. son fre- cuentemente escritos por sus acrónimos. Debido a que no existe un solo acrónimo por palabra, es necesario reemplazar los acrónimos por sus palabras originales de manera de facili- tar la corrección de errores ortográficos y realizar un análisis de patrones mucho más efectivos. Para el proceso de elimi- nación del ruido es necesario eliminar registros, caracteres o
texto que no añaden valor para la geocodificación.
D.Corrección de errores: la corrección de errores orto- gráficos es necesaria, ya que estos producen errores en la geocodificación y disminuyen la capacidad del sistema. Este proceso se realiza cruzando la base de datos que se desea geocodificar con un maestro de calles, el cual es una base de datos que contiene el nombre de las calles según la ley.
E.Geocodificación: Este proceso se realiza la geocodifi- cación de direcciones mediante algún sistema de geocodifi- cación de carácter privado o público.
F.Identificación de errores en la geocodificación: la geo- codificación no es una ciencia exacta debido a que las di- recciones no siempre se encuentran en el localizador de di- recciones de los sistemas de geocodificación. Por ende, se generan errores de geocodificación, geocodificando direc- ciones en lugares erróneos. Por esto es necesario realizar un proceso de identificación y extracción de direcciones mal geocodificadas.
G.Geocodificación manual: Las direcciones que no han podido ser geocodificadas o que han sido geocodificads en
82
Troncoso et al., Limpieza, corrección y geocodificación de grandes bases de direcciones
forma incorrecta deben pasar por un proceso de revisión de la calidad de la dirección para ver si esta puede ser corregida, luego ingresarla al geocodificador o geocodificarlas manual- mente.
H.Georreferenciación: Este proceso determina la po- sición de un punto en un sistema de coordenadas espacial mediante la utilización de las coordenadas geográficas lati-
IV. Resultados
A continuación, se presentan los resultados de la metodo- logía propuesta, aplicada a una base de datos de ubicaciones de eventos criminales proporcionada por la Unidad de Aná- lisis Criminal y Focos Investigativos de la Fiscalía Regional del Biobío, de la ciudad de Concepción, Chile. Para la imple- mentación metodológica se utilizó el lenguaje de programa- ción Python 3.0 [9] [10].
A.Análisis de la composición de la base de datos
La fiscalía de concepción se encarga de las necesidades
Tabla 1. Formato de Estandarizado.
de la Región del
La base de datos de la fiscalía está construida con 15337 direcciones de sucesos delictuales ocurridos en las Regiónes del
Al revisar la base de datos se encontró anomalías como errores de digitación, formato, abreviaciones, faltas de orto- grafía y acrónimos. Estas anomalías generan errores al utili- zar sistemas de geocodificación.
B.Estandarización de la entrada
Los datos pueden ser presentados de diferentes maneras, dada la no existencia de un estándar en la forma de registrar las direcciones. La tabla I muestra el formato estándar utili- zado para el registro de las direcciones en esta investigación.
C.Transformación de acrónimos y eliminación de ruido Para la corrección de acrónimos se realizó un análisis vi-
sual de la composición de las direcciones y sus acrónimos más frecuentes. A partir de este análisis se distinguieron los acrónimos más frecuentes para su corrección.
Para operar con textos es necesario que las cadenas de texto tengan el mismo formato. Por esta razón se transformó todo el texto a mayúscula, se eliminó tildes y espacios inne- cesarios.
Se realizó la limpieza de símbolos y contenido que no aporta valor a la dirección como intersecciones de calles o comentarios. También se eliminó todas aquellas direcciones que no correspondían a la zona a geocodificar.
D.Corrección de errores ortográficos
Para corregir los errores ortográficos se cruzaron las di- recciones de la base de datos con las direcciones escritas co- rrectamente. Para esto e confeccionó un maestro de calles, es decir, una base de datos con las direcciones de la zona geo- gráfica correctamente escritas. Para su construcción se consi- deraron tres fuentes de información: el maestro de calles año 2018 del Instituto Nacional de Estadísticas de Chile (INE), la plataforma codigopostal.org y OpenAddresses.
Con el fin de realizar las correcciones de los errores, se recurrió a técnicas que miden la distancia de edición entre dos cadenas de texto. La distancia de edición entre dos cade- nas de texto A y B es el mínimo costo s de una secuencia de pasos de edición, dentro de las que se encuentra inserciones, eliminaciones, sustitución y cambios que convierten una ca- dena en otra [11].
Para medir esta distancia fue utilizado el algoritmo de Le- venshtein el cual es un algoritmo de programación dinámica [12] [13].
Se determinó el valor máximo de operaciones aceptables sin que la aplicación del algoritmo de Levenshtein generara errores en la corrección ortográfica de las direcciones. Para determinar este valor se seleccionó una muestra aleatoria de 2000 direcciones y en forma manual se analizó el número de errores generados. La tabla II muestra que el número óptimo de cambios es una sola edición con un acierto del 99%.
83
Troncoso et al., Limpieza, corrección y geocodificación de grandes bases de direcciones
Tabla 2. Número de cambios Levenshtein.
E.Geocodificación
Existen diferentes sistemas de geocodificación. En la tabla III se muestran algunos sistemas de geocodificación disponibles en el mercado [14] [15] [16] [17] [18] [19] [20].
Tabla 3. Algunos geocodificadores del mercado.
Para probar la metodología propuesta, se consideró los geo- codificadores Bing Maps y Open Street Map.
F.Identificación de errores en la geocodificación
La geocodificación se complementó con un sistema para la identificación y contabilización de errores de elaboración propia, de manera de facilita el análisis de los resultados. Este sistema identifica una dirección geocodificada erróneamente al comparar los campos país, región y comuna.
Para evaluar el desempeño de la metodología propuesta, se evaluó el número de geocodificaciones realizadas y el nú- mero de geocodificaciones correctas realizadas utilizando y no utilizando la metodología. La tabla IV muestra los resul- tados de la geocodificación para ambos casos
Tabla 4. Resultados geocodificación sin aplicar la metodología de limpieza propuesta.
84
Troncoso et al., Limpieza, corrección y geocodificación de grandes bases de direcciones
Se observó que sin utilizar la metodología propuesta Open Street Maps y Bing Maps geocodificaron correctamen- te 11286 y 12118 direcciones respectivamente de las 15337 consideradas. Lo que corresponde a un 73.58% con Open Street Maps y a un 79% utilizando Bing Maps.
Utilizando la metodología propuesta, Open Street Maps y Bing Maps geocodificaron correctamente 12284 y 13613 direcciones respectivamente, de las 15337 consideradas. Lo que corresponde a un 88.76% utilizando Bing Maps y a un 80.09% utilizando Open Street Maps. El aumento en la can- tidad de geocodificaciones correctas entregadas por Open Street Maps fue de un 8.84% y el aumento en las geocodifica- ciones correctas entregadas por Bing Maps fue de un 12.33%.
G.Geocodificación manual
La geocodificación manual consta de trascribir la direc- ción en Google Maps o alguna otra plataforma y guardar la latitud y longitud en una base de datos. Se estima el tiempo necesario para este procedimiento en por lo menos 30 segun- dos por dirección. Las direcciones que no pudieron ser geo-
codificadas o que fueron geocodificadas en forma incorrecta no contenían información suficiente para ser geocodificadas manualmente, por lo que fueron descartadas.
H.Georreferenciación
Para el proceso de georreferenciación de la base de da- tos, se utilizó información entregada por la Universidad de la Frontera de Temuco, Chile en su plataforma online, la cual es un mapa correspondiente a la actual región del
El sistema empleado para la georreferenciación en el en- torno Python fue Geopandas [21] el cual es un proyecto open source. La georreferenciación tubo un tiempo de ejecución de tres minutos para la totalidad de la base de datos.
En la figura 3 se aprecia con puntos rojos las direcciones que fueron georreferenciadas de la base de datos de la fisca- lía. La totalidad de direcciones geocodificadas fue georrefe- renciada dentro del área regional.
Fig.3. Georreferenciación de las direcciones procesadas Regiones del
I.Tiempos de ejecución
El tiempo empleado en la georreferenciación se ve reduci- do en gran medida con el uso de sistemas de geocodificación. La tabla V muestra los tiempos de ejecución de los sistemas utilizados complementados con la metodología propuesta y
la reducción de tiempo de cada geocodificador respecto a la geocodificación manual. Los tiempos ejecución de los siste- mas de geocodificación muestran una reducción considerable respecto a la geocodificación manual.
85
Troncoso et al., Limpieza, corrección y geocodificación de grandes bases de direcciones
Tabla 5. Tiempo de ejecución de los tipos de geocodificación.
Geocodificad
or
Tiempo
reducid Reducción
o de tiempo
(horas)
(%)
J.Discusión
La aplicación de la metodología de limpieza y corrección de direcciones generó un incremento en el número de geoco- dificaciones entregados por los sistemas de geocodificación utilizados. En el caso de Open Street Maps hubo una mejora de un 8.8% y en el caso de Bing Maps de un 12.3%.
Al implementar ambos sistemas de geocodificación, se observó que el sistema Bing Maps es superior en tiempos de ejecución y capacidad de geocodificación que el sistema de Open Street Maps.
En cuanto a los tiempos de ejecución de los sistemas de geocodificación complementados con la metodología pro- puesta, se observa una mejora considerable, no inferior al 94%, independiente del sistema utilizado. Esto se debe a que la geocodificación manual es tardía y poco eficiente.
Al implementar la metodología propuesta, se redujo la necesidad de georreferenciar manualmente las direcciones en un 25,22% en Open Street Maps y un 47,18% en el caso de Bing Map. Esto implica una reducción significativa de los recursos involucrados en la tarea de georreferenciación.
En el proceso de georreferenciación, se logra visualizar que las direcciones, después aplicar la metodología fueron geocodificadas de una manera correcta, debido a que ninguna se visualiza fuera del perímetro de la región del
V. Conclusiones
La metodología propuesta se basa en técnicas de limpie- za, transformación, procesamiento del lenguaje natural y mi- nería de texto. Su aplicación permite mejorar los resultados obtenidos por los sistemas de geocodificación mediante la aplicación complementaria de cada una de sus ocho etapas, las cuales agregan valor al proceso.
La aplicación de esta metodología muestra una mejora promedio en la capacidad geocodificación de un 11%, lo que depende del sistema de geocodificación utilizado.
La metodología propuesta es una herramienta eficiente que permite maximizar la cantidad de geocodificaciones y re- ducir el tiempo del proceso de geocodificación considerando los errores, independiente del área a la cual sea aplicada.
La mejora en el sistema de corrección de direcciones de- pende en gran medida del maestro de calles. Contar con un maestro de calles más completo permitiría mejorar el número de direcciones geocodificadas.
86
Identificar cuál es el mejor sistema de geocodificación para la localidad que se desea geocodificar es primordial. Existen sistemas de sistemas de geocodificación que no cuen- tan con todas las direcciones de todas las localidades dentro de su base de datos.
Reconocimiento
Se agradece el apoyo financiero otorgado por la Univer- sidad del
Referencias
[1]C. Davis y F. Fonseca, «Assessing the Certainty of Loca- tions Produced by an Address Geocoding System,» Geoinfor- matica, vol. 11, pp.
[2]L. Hill, «Georeferencing in Digital Libraries,»
[3]J. Pontón y A. Santillán, «Seguridad Ciudadana: escena- rios y efectos,» 2008.
[4]D. W. Goldberg, «Spatial approaches to reducing error in geocoded data,» 2010.
[6]T.
[7]R. Feldman y I. Dagan, «Knowledge discovery in textual databases,» de First International Conference on Knowledge Discovery and Data Mining
[8]M. d. C Justicia de la Torre , «Nuevas Tecnicas de Mineria de Textos: Aplicaciones,» Granada, 2017.
[9]M. Lutz, Programming Python, vol. 2, O'reilly & Associa- tes, 2001, pp.
[10]W. McKinney, Python For Dara Analysis, O'Reilly, 2012, pp.
[11]E. Ukkonen, «Algorithms for Approximate String Mat- ching,» de International Conference on Foundations of Com-
Troncoso et al., Limpieza, corrección y geocodificación de grandes bases de direcciones
putation Theory, 1985.
[12]M. A. Alvarez Carmona, «Deteccion de similitud en tex- tos cortos considerando traslape, ordeny relacion semantica de palabras,» Tonantzintla, Puebla, 2014.
[13]V. I. Levenshtein, «Binary Codes Capble Of Correcting Deletions, Insertions, and Reversals,» Soviet Physics Dokl- ady, vol. 10, p. 707, 2 February 1966.
[14]Google, «Google Maps Plataform,» 2020. [En línea]. Available: https://developers.google.com/maps/documen-
[15]Mapquest, «Mapquest Developer,» 2020. [En línea]. Available: https://developer.mapquest.com/. [Último acceso: 25 Julio 2020].
[16]Microsoft Corporation, «Bing Maps Dev Center,» 2020.
RESUMEN CURRICULAR
Fredy Troncoso Espinosa, Doctor en Sistemas de
Ingeniería, Universidad de Chile, Ingeniero Civil
Industrial Universidad del Bío
Académico e Investigador Departamento de
Ingeniería Industrial, Universidad del
Concepción, Chile
Nico lás Fernández Rozas, Ingeniero Civil
Industrial, Un iversidad del Bío
InvestigadorIndependiente. Chile
[En línea]. Available: https://www.bingmapsportal.com/.
[Último acceso: 29 Julio 2020].
[17]Open Street Map Wiki, 2020. [En línea]. Available: ht- tps://wiki.openstreetmap.org/wiki/Main_Page. [Último acce- so: 29 Julio 2020].
[18]OpenAdrdresses, «OpenAdrdresses,» 2020. [En línea]. Available: https://openaddresses.io/. [Último acceso: 25 Julio 2020].
[19]OpenCage Geocoder, 2020. [En línea]. Available: https://
opencagedata.com/. [Último acceso: 29 Julio 2020]. [20]Yahoo, «Yahoo Developer,» 2016. [En línea]. Available: https://developer.yahoo.com/. [Último acceso: 14 Agosto 2020].
[21]K. Jordahl, J. Van Den Bossche y J. Wasserman, «Geo- pandas/Geopandas: V0. 4.1. Zenodo,» 2020.
87
Troncoso et al., Limpieza, corrección y geocodificación de grandes bases de direcciones