1 Extracción de registros de datos Christian Marmolejo Gómez Algoritmo MDR
2 Introducción Sistemas actuales Características del algoritmo Pasos del algoritmo Conclusiones
3 INTRODUCCIÓN Wrapping Extracción de información Información estructurada Aproximaciones generalistas, malos resultados Cambio de técnica
4 ¿QUÉ ES UN REGISTRO DE DATOS? Agrupa datos de un mismo objeto Estructura HTML regular Suelen mostrarse en listas Representación HTML de una fila en una BD
5 UN EJEMPLO DE RD
6 Introducción Sistemas actuales Características del algoritmo Pasos del algoritmo Conclusiones
7 DEFICIENCIAS Identificación visual de patrones y programación - No escalable a muchas páginas Cierta automatización + técnicas de aprendizaje automático - Etiquetado manual de regiones de la página (gran intervención humana)
8 DEFICIENCIAS Heurísticas y conocimiento del dominio - Costoso de conseguir Otros: Patricia tree, inducción de gramáticas, clustering… - Resultados pobres
9 UN PROBLEMA COMÚN No extraen RDs no contiguos Columnas de tablas parte1 de objeto1, parte1 de objeto2, parte2 de objeto1, parte2 de objeto2
10 Introducción Sistemas actuales Características del algoritmo Pasos del algoritmo Conclusiones
11 CARACTERÍSTICAS DE MDR Suposiciones empíricas Automático Etiquetas y estructuras, no texto Zonas similares RDs contiguos y no contiguos RDs anidados
12 DOS OBSERVACIONES CLAVE 1.Región de datos 2.Hijos del mismo padre
13 5 nodos TR debajo del nodo TBODY Subárboles debajo de TBODY forman una región de datos DOS OBSERVACIONES CLAVE
14 Introducción Sistemas actuales Características del algoritmo Pasos del algoritmo Árbol de etiquetas Extracción de regiones de datos Identificación de RDs Conclusiones
15 PASOS DE MDR 1.Tag tree o árbol de etiquetas. 2.Extraer regiones de datos de la página. 3.Identificar los RDs.
16 ÁRBOL DE ETIQUETAS Un par de etiquetas, un nodo. Un par de etiquetas anidadas, un nodo hijo. 1.Preprocesamiento del código HTML 2.Construcción del árbol Inconvenientes: Errores en el código.
17 ÁRBOL DE ETIQUETAS
18 Información visual de los navegadores 1.Subsistema de parsing y rendering de un navegador coordenadas 2.Relación de contenido árbol MDR2
19 ÁRBOL DE ETIQUETAS
20 Introducción Sistemas actuales Características del algoritmo Pasos del algoritmo Árbol de etiquetas Extracción de regiones de datos Identificación de RDs Conclusiones
21 UN PAR DE DEFINICIONES Nodo generalizado: r nodos que cumplen: 1.Tienen todos el mismo padre 2.Son adyacentes Un RD, uno o varios hermanos. Un nodo generalizado, uno o varios RDs.
22 UN PAR DE DEFINICIONES Región de datos: dos o más nodos generalizados que cumplen: 1. Tienen todos el mismo padre 2. Tienen todos la misma longitud 3. Son todos adyacentes 4. La distancia de edición normalizada entre ellos es inferior a un umbral
23 UN PAR DE DEFINICIONES
24 CÁLCULO DE LA EDIT DISTANCE Comparar nodos 1.Comienzo primer nodo generalizado 2.Longitud de los nodos generalizados Probar combinaciones Cadena de etiquetas del subárbol Almacenamos la edit distance O(NK)
25 CÁLCULO DE LA EDIT DISTANCE Edit distance Compara el parecido de dos cadenas Mutaciones de cadena origen a final Gran ahorro computacional
26 CÁLCULO DE LA EDIT DISTANCE
27 DETERMINACIÓN DE REGIONES DE DATOS Identificación de regiones de datos Recorrido en profundidad Umbral fijado Adición de nodos generalizados a la región de datos actual Región de datos dentro de otra mayor Nodo generalizado dentro de otro menor
28 Introducción Sistemas actuales Características del algoritmo Pasos del algoritmo Árbol de etiquetas Extracción de regiones de datos Identificación de RDs Conclusiones
29 IDENTIFICACIÓN DE RDs Muchos tipos de nodos generalizados Contiguos, múltiples, no contiguos y sin región de datos Parecidos entre ellos Mismo nivel o uno inferior Ciertas heurísticas
30 IDENTIFICACIÓN DE RDs NODOS GENERALIZADOS CON UN COMPONENTE Una columna, un RD Una fila entera, un RD (tabla de datos o un solo bloque)
31 IDENTIFICACIÓN DE RDs NODOS GENERALIZADOS MÚLTIPLES Nodos hijos no parecidos o distinto número de hijos Un nodo generalizado, un RD Si no RD no contiguo
32 IDENTIFICACIÓN DE RDs RD NO CONTIGUO: CASO 1 Hijos parecidos entre ellos pero no a otros Mezcla de nodos
33 IDENTIFICACIÓN DE RDs RD NO CONTIGUO: CASO 2 Regiones adyacentes no similares Mezcla de nodos Arriesgado
34 IDENTIFICACIÓN DE RDs RDs SIN REGIÓN DE DATOS Impar, fila no parecida No forma región Comparación de cadenas
35
36 Introducción Sistemas actuales Características del algoritmo Pasos del algoritmo Conclusiones
37 CONCLUSIONES Propósito específico Sin intervención humana Efectivo Rápido Mayor casuística Abierto a mejoras Punto de partida a otras técnicas
38 CONCLUSIONES Deficiencias: Subjetivo Orientado a tablas
39 Gracias Christian Marmolejo Gómez Más información: http://www.cs.uic.edu/~liub/publications/kd d2003-dataRecord.pdf