Detecting DUPLICATE OBJECTS IN XML DOCUMENTS

Slides:



Advertisements
Presentaciones similares
IBD Plan 90 y 2003 Clase 11.
Advertisements

Complejidad Computacional
Diseño y análisis de algoritmos
Módulo Tablero de Control Sesión X Lic. Aarón García López.
Pruebas de Diseño Diplomado en Calidad en el Software NOTAS
Modelo Entidad Relación
Aplicaciones de Data Mining en ciencia y tecnología Ontologias. 2
Técnicas para la elaboración de un instrumento
XML XQuery.
Pronósticos, Series de Tiempo y Regresión
GESTIÓN DE LOS COSTOS DEL PROYECTO
METRICAS DE PROCESO Y PROYECTO
DOM ( Document Object Model) Prof. Franklin Cedeño.
INTELIGENCIA ARTIFICIAL
Política de Gestión.. Es adecuada al propósito de la organización Incluye el compromiso de satisfacer los requisitos de la mejora Proporciona un marco.
Completeness of Information Sources
Understanding SOA Design Patterns
KRIGING.
Tema 3 Revisión de diversos métodos robustos aplicados en algunos problemas fotogramétricos.
Teoría de lenguajes y compiladores
Teoría de Bases de Datos
Base de Datos Relacional.
Evaluación de nuevas Tecnologías
LAS CARAS DE LA EVALUACION
Evaluación de Productos
PROCESO ANALITICO JERARQUICO (AHP)
Grafos dualmente cordales y sus relaciones con otros tipos de grafos
Manipulación de caracteres e hileras de texto
Ciclo de formulación del proyecto.
ANALISIS SINTACTICO El análisis gramatical es la tarea de determinar la sintaxis, o estructura, de un programa. Por esta razón también se le conoce como.
MUESTREO DE ACEPTACIÓN DE LOTES POR VARIABLES
GRAFOS HUGO ARAYA CARRASCO.
“Especificación de Requerimientos”
Teoria de grafos.-clase 4
Población y Muestra.
Optimización, Búsqueda Heurística
UNIDAD 1 NOMBRE DE LA UNIDAD DE TRABAJO
DISEÑO DE SOFTWARE 1ª. Parte
Consulta Típica en OLAP
Bases de Datos Modelamiento.
Clasificación de Gramáticas y Manejo de Errores
Sesión 6: Campos de Markov
(Organización y Manejo de Archivos)
Investigación Experimental
3. Análisis de Correspondencias Simples
Herramientas básicas Control de Calidad.
Experimentación Numérica
Tema 2: Base de datos relacionales
Una introducción a la computación evolutiva
MÉTODOS DE EVALUACIÓN DEL DESEMPEÑO
SISTEMA PARA LA CATEGORIZACIÓN AUTOMÁTICA DE CORREO ELECTRÓNICO Camilo Rodríguez, Departamento de Ingeniería de Sistemas, Universidad Nacional de Colombia.
CONTROL Ing. En Sistemas.
TORMENTA DE IDEAS BRAINSTORMING
PC BD Alexandra Buri H José Rivera De La Cruz.
Mapeo de Estructuras XML a Bases de Datos Relacionales
Sample-Based Quality Estimation of Query Results in Relational Database Environments Donald P. Ballou InduShobha N. Chengalur-Smith Richard Y. Wang.
AUTOVALORACION DEL CONTROL Algunos Aspectos de Interés Oficina de Control Interno Diciembre de 2014 Fuente: Guía Autovaloración del Control DAFP y Cartilla.
INTERFAZ DE ACCESS  Access es un sistema gestor de bases de datos relacionales (SGBD). Una base de datos suele definirse como un conjunto de información.

75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
Proceso de desarrollo de Software
Sistemas de Calificaciones Como transformamos la evaluación en una calificación.
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
SISTEMA DE GESTIÓN DE LA CALIDAD ISO 9001: AUDITORÍA INTERNA
Taller de investigación 1
BASE DE DATOS. NOMBRE: Paula Andrea Bedoya Rojas. GRADO: 7.3 Institución educativa Débora Arango Pérez.
Guía para la Presentación de Candidaturas PREMIOS Q-INNOVAUTO 2015 Ed. Febrero 2015.
Prácticas de Cierre MOS Excel 2010 │ Microsoft Office Specialist Microsoft Office Specialist: Excel 2010 Cada diapositiva contiene un cuadro de color.
FiVaTech: Extracción de datos Web a partir de plantillas de páginas Antonio R. Gómez Sotelo.
Transcripción de la presentación:

Detecting DUPLICATE OBJECTS IN XML DOCUMENTS Mauricio Clausen – Nicolás García Grupo 14

Agenda Introducción Objetivo Duplicación Conceptos Filtros Objetos duplicados Enfoque propuesto Experimentos Conclusiones y trabajo a futuro Crítica

Autores Melanie Weis Felix Naumann Expuesto en Paris, Francia - 2004 Areas de investigación Sistemas de Información XML Data Cleaning Calidad de Datos Expuesto en Paris, Francia - 2004

Introducción Motivación Popularidad de los docs XML Representación de datos Integración/Intercambio de datos de distintas fuentes Heterogéneas Distribuidas Existen alternativas para BDs pero no para XML

Objetivo Presentar una solución al problema de detectar elementos repetidos en documentos XML Estructuras pueden ser distintas No hay información del dominio Eficiente

Duplicación Técnica: Datacleansing Aspectos a considerar: Detectar y corregir los registros corruptos o inexactos de un conjunto, tabla o base de datos. Aspectos a considerar: Alcance de elementos Diversidad de Estructura <pais> <nombre>Estados Unidos</nombre> <ciudades>New York, Los Angeles</ciudades> <ciudad>Paris</ciudad> </pais> Estados Unidos de América <ciudad>New York</ciudad> <ciudad>Los Angeles</ciudad> <pais> Francia <ciudad>Paris</ciudad> </pais> Estados Unidos

Duplicación Tipos de errores de duplicación Tipográficos Equivalencia Información faltante

Conceptos Definición de duplicados Estructura Datos El nombre distingue la entidad Ancestros distinguen la entidad Similaridad de los descendientes Datos 2 formas de almacenar datos en XML: Valor de un atributo Texto en el nodo del elemento Formados por: Datos del nodo texto Valores de atributos Datos de los nodos texto de sus hijos

Conceptos Definición de duplicados Dos elementos XML e y e´ son candidatos a duplicados si: Sus ancestros son iguales o similares e y e´ tienen el mismo nombre Los datos de e y e´ son similares Los hijos de e y e´ tienen datos y estructura similares

Conceptos Funciones de similaridad Motivaciones para la medida Similitud entre multiconjuntos Influencia según el objeto Factor IDF (inverse document frequency): donde fs(o) es la frecuencia de un objeto IDF para un conjunto Medida de similaridad:

Conceptos Funciones de similaridad Distancia de edición dedit(s,s´): menor cantidad de op. de inserción, borrado y reemplazo para transformar s en s´ s y s´ similares si dedit(s,s´)/máx{l(s),l(s´)} < tedit Se divide por el máx. ya que más errores deberían ser permitidos en cadenas más largas. Elementos Strings Tokens

Conceptos Funciones de similaridad E conjunto de elementos a comparar TS(e) tokens que componen datos de CS(e) tokens que componen los datos de los hijos de e

Filtros Identificando datos similares Para reducir cálculos, se aplican filtros al dedit elemento1 elemento2 datos hijos datos hijos stringDatos stringHijos dedit stringDatos stringHijos

Filtros Filtro de longitud de distancia Agrupar strings por largo y descartar grupos completos de pares que no califican para ser similares. Sean dos strings s y s´ de long. l(s) y l(s´): Sean L y L´ grupos de strings de largo l y l´, si: ninguna s de L es duplicada de una s´ de L´ Recordar: 2 cadenas son duplicadas si dedit(s,s´) < tedit

Filtros Filtro usando desigualdad triangular Sean x, y, z strings se puede demostrar: Rango min, max para dedit(x,z) x y z son similares x y z no son similares

Filtros Filtro distancia de bolsa Sea un string x en un alfabeto A ms(x) el multiconjunto de símbolos en x Ej: ms(“casa”) = a, a, c, s Se define distancia de bolsa: Semántica de la operación diferencia: {a,a,a,b} – {a,a,b,c,c} = {a} Se puede demostrar: y usarse como un filtro para dedit

Objetos duplicados Detectando pares de objetos duplicados tdup valor referencia duplicados isDup(e,e´) V si s(e,e´) > tdup F sino

Objetos duplicados Filtro de objetos E elemento XML S(e) = TS(e) U CS(e) G conjunto de strings de todos los elementos Se compara f(e) con tdup, si es menor, e no tiene duplicados

Enfoque propuesto Comparación de elementos con mismo nombre Top-Down Duplicados en elementos padres son detectados antes que en elementos hijos Detección de duplicados en 6 pasos

Enfoque propuesto Extracción de objetos Generación de grafo Detección de tokens e hijos similares Filtrado de objetos Comparación objetos Agupación de duplicados

Enfoque propuesto Extracción de objetos XML contiene elementos de diferentes nombres en varios niveles Es posible buscar duplicados en un dominio menor Se genera XML objeto utilizando XQuery Esquema predefinido, facilita siguiente paso Pierde información del esquema pero mantiene datos Potencialmente menor que el original

Enfoque propuesto XML Original XML Objeto

Enfoque propuesto Generación del Grafo Internamente el XML se representa con un Grafo G(V,E) V conjunto de vértices: elementos, tokens e hijos E conjunto aristas: correspondencia de un elemento con sus tokens e hijos Construido a partir del XML Objeto utlizando el parser SAX (Simple API for XML) de Java

Enfoque propuesto Se crea un vértice por cada tag element Por cada token entre element y children un nuevo vértice, unido por una nueva arista al vértice del tag element Un vértice por cada elemento de los hijos, y una nueva arista que lo una al vértice del element

Enfoque propuesto Detección de tokens e hijos similares Determina similitud entre objetos comparando sus tokens y datos de sus hijos (dedit) Se aplican los filtros para disminuir las comparaciones de distancia de edición Longitud de distancia Desigualdad triangular Distancia de bolsa Filtros con alta selectividad

Enfoque propuesto Si dos tokens duplicados pertenecen a distintos elementos, se agregan 2 aristas, de cada elemento al token duplicado en el otro elemento

Enfoque propuesto Filtrado de objetos Se aplica la función de filtro a cada vértice correspondiente a un element Unión y diferencia en forma eficiente, considerando el grado de los vecinos Cuando se filtra un vértice Elimina el vértice y sus aristas del grafo Aplica nuevamente el filtro a cada vértice que pertenecía a la intersección del eliminado

Enfoque propuesto Detección de duplicados Se aplica la función de similitud (s) Únicamente es necesario comparar vértices adyacentes Una nueva arista por cada par de vértices duplicados

Enfoque propuesto Se calcula la clausura transitiva del Grafo Como resultado se obtienen agrupaciones de elementos Todos los elementos de una misma agrupación representan el mismo objeto del mundo real

Enfoque propuesto Top-Down Traversal Una vez detectados los duplicados en un nivel, se desciende al siguiente nivel en la jerarquía Para cada agrupación se repiten los pasos anteriores En cada iteración se consideran los elementos con el mismo nombre y cuyos padres pertenecen a la misma agrupación

Experimentos Se evalúa la efectividad de la propuesta ¿Qué tan efectivos son los filtros antes descritos? ¿Qué tan efectiva es la propuesta en la identificación de elementos duplicados en un XML?

Experimentos Se generó un documento XML con errores a partir de uno correcto 100% de duplicados Introducción de 3 tipos de errores: Errores tipográficos: 20% Errores de equivalencia: 8% Datos faltantes: 10% Los errores fueron generados con la herramienta DirtyXMLGenerator

Experimentos Selectividad de los filtros Distancia de edición Datos de prueba contienen con 711 tokens, requerirían 252405 cálculos, que se reducen un 99% (1027) aplicando los filtros: Longitud de distancia: 83% Desigualdad triangular: 23% Distancia de bolsa: 97%

Experimentos

Experimentos Filtro de objetos Depende altamente de la cantidad de objetos duplicados Si todos los elementes contienen duplicados, va a tener una selectividad del 100% En caso que no hayan elementos duplicados, la selectividad va a ser del 0%

Experimentos Efectividad en la medida de similitud Se logró una precisión superior al 80% para valores de recall de hasta 80% La co-ocurrencia mejoró la precisión/recall global, aunque para valores entre 30% y 70% fue peor que sin co-ocurrencia

Experimentos

Experimentos Bajo nivel global de falsos positivos y negativos considerando co-ocurrencia Indica que s es una buena medida

Conclusiones y trabajo a futuro Se plantea el problema de duplicados en XML Analogía dimensión unicidad, factor duplicidad Se distinguen 2 problemas fundamentales: Alcance de los elementos Libertad de estructura de XML Se proponen técnicas de filtrado Se visualizan mejoras a incluir Considerar consumo de memoria en cálculos Tener en cuenta info del esquema (si se dispone)

Crítica Puntos fuertes Puntos débiles Uso creciente de XML Independiente del contexto Claro y autocontenido Buenos ejemplos Considera detalles a mejorar y resultados a comprobar Puntos débiles Varios conceptos explicados únicamente en referencias No define criterios para elegir valores de tedit y tdup

Preguntas

Mauricio Clausen – Nicolás García Grupo 14 Muchas Gracias !!! Mauricio Clausen – Nicolás García Grupo 14