CHAPTER 5: Thesis summary and conclusions
5.2 Conclusions and recommendations for future research
5.2.1 Spatial and temporal scales
Las herramientas existentes de almacenes de datos y herramientas de migración de datos intentan resolver todos los problemas derivados de datos sucios mediante sus módulos de limpieza. Las funcionalidades principales de estos módulos son: (Luis Enrique Sánchez Crespo, 2000)
Conversión y normalización de funciones que transforman y estandarizan formatos de datos heterogéneos.
Limpieza de propósito-especial que limpia campos específicos usando diccionarios para buscar sinónimos.
Limpieza de dominio-independiente que aplica algoritmos de emparejamiento de campos a los campos equivalentes de las fuentes diferentes para decidir cómo emparejarlos. Limpieza basada en reglas que está basada en un conjunto de "reglas de negocio" que
especifican las reglas en las cuales dos valores de diferentes fuentes se corresponden. Los últimos dos métodos de limpieza se aplican al caso donde los datos integrados residen en fuentes diferentes que tienen que ser unidas para poblar el almacén de datos. La estandarización de formatos de datos y la limpieza por campos pueden usarse en un sistema por fuente única o multifuente. (Luis Enrique Sánchez Crespo, 2000)
2.7.1.1 Conversión y normalización de funciones
Dado un formato de datos comunes en la vista integrada del almacén de datos, la mayoría de las herramientas de este proporcionan un módulo que convierte distintos formatos de datos al formato esperado. El ejemplo más simple es el módulo sql*loader de Oracle que transforma datos de registros externos o tablas y bases de datos de Oracle. En resumen, sql*loader carga datos en varios formatos, los filtra y carga el resultado en tablas.
Otros procedimientos de conversión de formatos son atacar un módulo de software llamado envoltura (wrapper) o traductor para cada fuente que se vaya a exportar el almacén de datos. La
53 envoltura proporciona una interfaz para traducir los datos fuente en el formato común necesario para que el almacén pueda proceder a su almacenamiento. (Luis Enrique Sánchez Crespo, 2000) La normalización de los datos de este campo está relacionada con la limpieza de campos. Consiste en utilizar un formato común para todos los datos que pertenecen al mismo tipo, de forma que sea posible realizar la comparación de los campos. Un ejemplo de normalización de cadena es su conversión a letras mayúsculas; las fechas también pueden ser normalizadas siguiendo el formato "dd/mm/yyyy". Pueden pensarse otros tipos de normalizaciones que faciliten la comparación de campos equivalentes, como agruparse palabras en las frases, corregir los guiones que separan entre líneas una palabra o usar técnicas para guardar raíces comunes de palabras.(Luis Enrique Sánchez Crespo, 2000)
En general la experiencia demuestra que la falta de estándares en la bases de datos operaciones para cosas tan clásicas como la fecha, produce un coste añadido al realizar el almacén ya que cada formato de fecha utilizado en las fuentes es diferente y en algunos casos puede producir datos incompletos (ej: 12/12/00 es equivalente a 12/12/2000, 12/12/2100 ... que para sistemas operaciones no tiene sentido, ya que sus históricos son muy pequeños pero para el almacén sí, ya que sus históricos son muy grandes. (Luis Enrique Sánchez Crespo, 2000)
2.7.1.2 Limpieza de propósito-especial
Cuando el dominio de datos a limpiar está especificado, (ej., los nombres farmacéuticos), o cuando los campos para limpiar pertenecen a un dominio específico de la aplicación (por ejemplo, nombre y campos de dirección) las herramientas de limpieza de propósito-especial (light-cleaning) pueden resolver anomalías comunes. Estas herramientas de limpieza usan las tablas para buscar datos válidos (ej., las direcciones de envío americanas) y diccionarios de datos para buscar sinónimos y abreviaciones (ej., "st." y "street") para los datos en los campos. De esta forma, se obtienen correcciones de ortografía y la aprobación de la información específica de un dominio.
Estas herramientas dan muy buenos resultados cuando el dominio de la información está restringido. Algunos ejemplos son: postalsoft ace, ssa (search software america), biblioteca de
54
carleton´s pure integrate (anteriormente conocido como enterprise/integrator) y eti data cleanse. (Luis Enrique Sánchez Crespo, 2000)
2.7.1.3 Limpieza de dominio-independiente
El problema de tener la misma entidad descrita por dos valores diferentes puede ocurrir y tiene que ser reparado. Para unir registros que pueden contener diferentes alternativas, se debe realizar un trabajo que nos permita no perder información entre los registros. Además, los resultados obtenidos pueden tener determinadas aplicaciones en términos de esquemas de bases de datos, en los que los atributos se refieren a categorías de la misma entidad. (Luis Enrique Sánchez Crespo, 2000)
Los algoritmos descritos por Monge y Elkan están basados en el principio de definir el grado de emparejamiento entre dos campos como el número de sus cadenas atómicas emparejadas y divididas por el número medio de cadenas atómicas. Se dice que dos cadenas están emparejadas si son iguales o una es un prefijo de la otra. A continuación se describen tres algoritmos para emparejamiento por campos (básico, recursivo y el de smith-waterman) con complejidades de tiempo diferentes. El algoritmo recursivo, está basado en la partición de cada campo en sub- campos que se emparejan entonces entre sí, se aplica en herramientas de búsqueda en línea en las web llamadas webfind. (Luis Enrique Sánchez Crespo, 2000)
Carleton´s pure integran se basa en los productos basados en claves (cuando los registros son
identificados por claves no deterioradas) y el emparejando no basado en claves (también llamado "emparejando difuso (fuzzy matching)”) para comparar posibles registros sucios de fuentes diferentes. (Luis Enrique Sánchez Crespo, 2000)
2.7.1.4 Limpieza basada en reglas
Este es otro conjunto de métodos que se usan para descubrir campos que se emparejan cuando se mezclan diferentes fuentes. Los métodos basados en reglas, además de usar los resultados obtenidos mediante el análisis sintáctico, tienen en cuenta un conjunto de reglas que establecen equivalencias entre los registros de diferentes bases de datos, teniendo en cuenta la combinación de varios campos a emparejar. Estas reglas pueden ser especificadas por el usuario, por la persona encargada de implementar el almacén de datos o pueden ser obtenidas automáticamente
55 aplicando técnicas de extracción de información (data mining) a las fuentes de datos. (Luis Enrique Sánchez Crespo, 2000)
2.7.1.4.1 Reglas especificadas por el usuario
Un ejemplo de un sistema de reglas especificadas por el usuario es el edd “data cleanser tool” que utiliza un buen fundamento tecnológico para resolver el problema de la "mezcla/filtrado (merge/purge)". El algoritmo de mezcla/filtrado se utiliza siempre que uno quiera unir volúmenes grandes de datos (que pueden estar alterados o inconsistentes) de las múltiples fuentes tan rápidamente como sea posible y los datos resultantes se exige que sean tan exacto como sea posible (su uso es ideal cuando la condición impuesta es la de máxima velocidad y máxima calidad posible en el tiempo estipulado). Los datos sucios que nos interesan en esta fase son los que existen principalmente porque había errores tipográficos o la existencia de registros dobles sobre la misma entidad real. El método aplicado de eliminar duplicados y unir registros es un método denominado “sorted neighborhood” que obliga a la creación de claves para poder analizar cada registro de la fuente de datos, entonces ordena los registros según una de esas claves, y finalmente empareja los registros dentro de una ventana de tamaño fijo de registros. La función de emparejamiento usa la comparación de registros de datos basada en conjuntos de reglas (formando una teoría de igualdad) de esa manera se establecen correspondencias entre los registros. Dos registros son emparejados por la aplicación si difieren ligeramente según su función de distancia. Un ejemplo de este procedimiento de codificación realizado en c, es: (Luis Enrique Sánchez Crespo, 2000)
Ejemplo 1: la meta es unir registros (persona 1 y persona 2) con atributos: ssn, nombre, dirección, ciudad, estado, cp. Los registros comparados pertenecen a una ventana de tamaño fijo. Para (todo el conjunto de tuplas a considerar) {
Para (todo el conjunto de tuplas a considerar dentro de la ventana de tamaño fijo) { Boolean similar-ssns = same-ssn-p (ssn1, ssn2)
Similar-nombres del boolean = Compare-names (name1, first-name1, last-name1, initials-name1, name2, first-name2, last-name2, initials-name2) Si (similar-ssns y similar-nombres)
56 Merge-tuples (person1, person2)
Boolean similar-addrs = comparar-addrs (stret1, street2) Similar-ciudad del boolean = same-city (city1, city2) Similar-silbido del boolean = same-zip (zip1, zip2) Similar-estado del boolean =! strcmp (state1, state2)
Muy-similar-addrs = (similar-addrs && la similar-ciudad && (similar-estado || el similar-silbido));
Si ((similar-ssns || los similar-nombres) && muy-similar-addrs) Unir-tuples (person1, person2);
... }
}
El método denominado “sorted neighborhood” puede aparecer de dos formas. En una aproximación por múltiples pasos, el algoritmo básico se ejecuta en varios tiempos, en cada tiempo se utilizará una clave diferente para ordenar y los registros resultantes son obtenidos por la unión de cierres transitivos sobre los resultados del intermedio. Otro acercamiento, el acercamiento de la eliminación doble, elimina de forma exacta o muy aproximada, emparejando registros durante la fase ordenando. Este perfeccionamiento permite una reducción de tiempo al hacerse la eliminación de duplicados antes de la fase de fusión. (Luis Enrique Sánchez Crespo, 2000)
Otros dos ejemplos que usan un conjunto de reglas para guiar la limpieza de datos son. Pure
integrate de carleton y eti data cleanse. El anterior permite la especificación de reglas basadas
en fusión según criterios previamente definidos (por ejemplo, escogiendo el valor que ocurre con más frecuencia). (Luis Enrique Sánchez Crespo, 2000)
Las desventajas principales de este tipo de solución es que las reglas de escritura están consideradas como tareas que consumen mucho tiempo y esas reglas nunca cubrirán cada posible
57 anomalía en los datos. Esta última situación lleva a excepciones que tienen que ser manejadas a mano por el usuario. (Luis Enrique Sánchez Crespo, 2000)
2.7.1.4.2 Reglas derivadas de forma automática
Otro conjunto de herramientas que usan reglas para resolver los conflictos producidos entre los registros de fuentes diferentes y que describen la misma entidad real, son las que derivan esas reglas de forma automática por medio de técnicas de data mining. De hecho, se analizan los volúmenes de cada fuente de los datos lexicalmente y se encuentran estadísticas que involucran palabras y relaciones entre ellas. Existen múltiples herramientas (árboles de decisión o reglas asociativas, redes neuronales) para encontrar modelos de los datos. El resultado de tal cómputo es un conjunto de reglas que permite limpiar y gestionar cada fuente de datos. Un ejemplo de una herramienta comercial es wizrule y algunos ejemplos de bases de datos basadas en reglas aplicando técnicas de data mining son: (Luis Enrique Sánchez Crespo, 2000)
Regla matemática: A = b * c
Donde
A = total, b = la cantidad, c = el precio de la unidad Nivel de exactitud de la regla: 0.99
La regla existe en 1890 registros
Siendo el nivel de exactitud = la proporción o el ratio entre el número de casos en los que la fórmula es válida (acierta) y el número total de casos.
Regla de si-entonces: Si cliente es "summit"
Y el artículo es tipo de la computadora x Entonces vendedor = "dan wilson" Probabilidad de la regla: 0.98 La regla existe en 102 registros
58 Probabilidad del error <0.1
Siendo la probabilidad de la regla = la proporción entre el número de registros en los que las condiciones y el resultado son válidos y el número de registros con condiciones con o sin el resultado.
Y la probabilidad del error = posibilidad de que la regla no contenga la población entera, es decir, no contempla todos los casos.
Otra herramienta comercial que sigue el mismo acercamiento es la de integridad de vality. El inconveniente mayor de estos acercamientos es el nivel de incertidumbre que las reglas derivadas implican.