La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "DETECTING DUPLICATE OBJECTS IN XML DOCUMENTS Mauricio Clausen – Nicolás García Grupo 14."— Transcripción de la presentación:

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

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

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

4 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

5 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

6 Duplicación Técnica: Datacleansing 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 Francia Paris Estados Unidos Paris Estados Unidos New York, Los Angeles Paris Estados Unidos de América New York Los Angeles

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

8 Conceptos Definición de duplicados Estructura 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

9 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

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

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

12 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

13 Filtros Identificando datos similares Para reducir cálculos, se aplican filtros al d edit elemento1 elemento2 datoshijos datos hijos stringDatosstringHijos stringDatosstringHijosd edit

14 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 d edit (s,s´) < t edit

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

16 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 d edit

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

18 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 t dup, si es menor, e no tiene duplicados

19 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

20 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

21 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

22 Enfoque propuesto XML Original XML Objeto

23 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

24 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

25 Enfoque propuesto Detección de tokens e hijos similares Determina similitud entre objetos comparando sus tokens y datos de sus hijos (d edit ) 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

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

27 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

28 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

29 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

30 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

31 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?

32 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

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

34 Experimentos

35 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%

36 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

37 Experimentos

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

39 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)

40 Crítica Puntos fuertes 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 t edit y t dup

41 Preguntas

42 MUCHAS GRACIAS !!! Mauricio Clausen – Nicolás García Grupo 14


Descargar ppt "DETECTING DUPLICATE OBJECTS IN XML DOCUMENTS Mauricio Clausen – Nicolás García Grupo 14."

Presentaciones similares


Anuncios Google