La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Extracción de información con patrones de contenido Samuel Pérez Osés.

Presentaciones similares


Presentación del tema: "Extracción de información con patrones de contenido Samuel Pérez Osés."— Transcripción de la presentación:

1 Extracción de información con patrones de contenido Samuel Pérez Osés

2 Guía ① Introducción ② Ciclo de vida de un wrapper ③ Aprendiendo patrones de contenido ④ Algoritmo DataProg ⑤ Aplicación de los patrones aprendidos ⑥ Conclusiones

3 Guía ① Introducción ② Ciclo de vida de un wrapper ③ Aprendiendo patrones de contenido ④ Algoritmo DataProg ⑤ Aplicación de los patrones aprendidos ⑥ Conclusiones

4 Introducción Realidad: Hay una gran cantidad de información disponible Problema: Esta orientada al usuario humano Solución: uso de web wrappers que extraen información de fuentes semi-estructuradas Los wrappers dependen de reglas de extracción, este área ha sido muy estudiada y existen wrappers muy eficientes (USC).

5 Introducción

6 Guía ① Introducción ② Ciclo de vida de un wrapper ① Verificación y reinducción ② Tipos de reglas de extracción ③ Aprendiendo patrones de contenido ④ Algoritmo DataProg ⑤ Aplicación de los patrones aprendidos ⑥ Conclusiones

7 Ciclo de vida de un wrapper Wrapper verificación Verifica que la información extraída por el wrapper es la esperada Wrapper reinducción Reconstruye las reglas de verificación para que el wrapper funcione correctamente con las páginas que han cambiado

8 Ciclo de vida de un wrapper GUI Wrapper Verification Automatic Re-Labeling Labeled web pages Wrapper Induction System Wrapper Pages to be labeled Web pages Change detected Reinduction System

9 Ciclo de vida de un wrapper El wrapper induction system (WIS) toma un conjunto de páginas etiquetadas con ejemplos de datos a extraer El WIS genera un wrapper, que recordemos que no es mas que un conjunto de reglas de extracción El WIS usa el wrapper en funcionamiento y aprende patrones que describen las estructuras de datos Si se detecta un cambio se repara con la información recopilada por el WIS

10 Ciclo de vida de un wrapper Reglas de extracción basadas en landmarks: Extrae datos usando la estructura de la página Reglas de extracción basadas en contenido: Extrae datos usando patrones de contenido, explota la estructura de los campos en sí mismo.

11 Guía ① Introducción ② Ciclo de vida de un wrapper ③ Aprendiendo patrones de contenido ① Representación de datos ② Aprendiendo a partir de ejemplos positivos ④ Algoritmo DataProg ⑤ Aplicación de los patrones aprendidos ⑥ Conclusiones

12 Aprendiendo patrones de contenido Objetivo: extraer información de fuentes semi- estructuradas Representación de datos Anteriores trabajos: character-level grammar o colección de características globales (numero de palabras, densidad de caracteres numéricos…) Ahora: un nivel intermedio de representación de palabras, mas eficiente, mas compacto y con las del character level (poder descriptivo y especificidad)

13 Aprendiendo patrones de contenido Usamos character-level para hacer un sistema jerárquico multinivel Solo usamos el principio o el final de las secuencias de tokens para aprender la estructura. A lo anterior lo llamamos Data prototype

14 Aprendiendo patrones de contenido TOKEN PUNCTALPHANUMHTML NUMBER LOWERUPPER ALPHA

15 Aprendiendo patrones de contenido Aprendiendo de ejemplos positivos Tareas al aprender: Clasificación: Aprende ejemplos positivos y negativos discriminando Conservación: Aprende características redundantes a partir de ejemplos positivos No se usan ejemplos negativos ya que puede ser problemático.

16 Aprendiendo patrones de contenido Objetivo: encontrar secuencias de tokens que sean estadísticamente significativas. Secuencias que ocurren mas a menudo de lo que cabria esperar por azar Se utiliza un nivel de confianza (alpha) que se suele fijar a 0,05. Sigue una distribución binomial en la que si la n es grande (el numero de secuencias idénticas observadas) la distribución es normal

17 Aprendiendo patrones de contenido Ejemplo de patrones significativos Tenemos, queremos saber si es significativo Sabemos la probabilidad de que aparezca UPPER como hecho aislado Podemos saber la posibilidad de que UPPER siga a NUMBER por azar Si observamos que un numero considerable de estas secuencias llegamos a la conclusión de que es un patrón significativo

18 Guía ① Introducción ② Ciclo de vida de un wrapper ③ Aprendiendo patrones de contenido ④ Algoritmo DataProg ⑤ Aplicación de los patrones aprendidos ⑥ Conclusiones

19 Algoritmo DataProg Encuentra patrones estadísticamente significativos en un conjunto de secuencias de tokens Los patrones se codifican en un árbol que llamaremos árbol de patrones Cada camino desde la raíz será un patrón significativo

20 Algoritmo DataProg Pasos del algoritmo 1. Paso previo: tokenizar el texto, esto es los tokens se asignan a uno o mas tipos sintácticos 2. Se hace crecer el árbol encontrando especializaciones significativas 3. Se podan los nodos de entre los nodos hermanos dejando las mas significativas de la misma longitud 4. Ultimo paso: extrae todos los patrones significativos del árbol de patrones

21 ROOT ALPHANUM NUMBER UPPER ALPHAALPHANUM ALPHANUMBoulevardALPHA StreetWay 4676 Admiralty Way 10924 Pico Boulevard 512 Oak Street 2431 Main Street 5257 Adams Boulevard TOKEN PUNCTALPHANUMHTML NUMBER LOWERUPPER ALPHA

22 Guia ① Introducción ② Ciclo de vida de un wrapper ③ Aprendiendo patrones de contenido ④ Algoritmo DataProg ⑤ Aplicación de los patrones aprendidos ① Verificación de wrappers ② Reinducción de wrappers ① Algoritmo de plantilla ② Algoritmo de Re-etiquetado ⑥ Conclusiones

23 Aplicación de patrones aprendidos Verificación de wrappers Los wrappers son vulnerables a cambios lo cual ocurre con frecuencia cuando la página se re-diseña Los datos extraídos nos indican si algo ha cambiado Usamos ejemplos extraídos anteriormente que se sabe que son correctos Se aprende una descripción basadas en patrones aprendidos con DataProg y características numéricas Se calculan dos vectores k y r que son las características y patrones de cada ejemplo y los datos que se saben correctos Se comparan estos dos vectores y se ve si son iguales a un nivel significativo mediante el test estadístico de Pearson

24 Aplicación de patrones aprendidos Reinducción de wrappers Siguiente tarea: reconstruir los wrappers Se intenta automatizar el proceso de inducción Empleamos un conjunto de páginas que sabemos que funcionaban correctamente y otro de la misma fuente Método de aprendizaje supervisado y no supervisado para aprender de los campos de las nuevas páginas Los patrones aprendidos de DataProg y otras características globales juegan un papel fundamental

25 Aplicación de patrones aprendidos Algoritmo de plantilla Las páginas webs utilizan plantillas para representar los datos ej.. Productos Podemos inducirlas plantillas que usan Se siguen los siguientes pasos: Dentro del conjunto de páginas se coge la mas pequeña como semilla (seed) Se empieza por el primer token y se concatenan todos los que cumplan que aparecen una sola vez en todas las páginas del conjunto Si la secuencia tiene al menos 3 tokens (medida empírica) y cumple lo anterior, pertenece a la plantilla

26 Aplicación de patrones aprendidos

27 Web Pages Labeled web pages Grups Extracts Wrapper Induction System Patterns Wrapper Extracted data score Apply Score Extract

28 Aplicación de patrones aprendidos Algoritmo de re-etiquetado automático DataProg ha aprendido patrones finales e iníciales durante el funcionamiento normal del wrapper Estos patrones se usan para identificar segmentos de textos de posibles datos, cuando se sabe que ha cambiado algo Se calcula la media del numero de token y su varianza en los ejemplos de entrenamiento Cada página nueva se escanea con los patrones y se extraen candidatos que entrenen los limites de la varianza y la media anterior (se eliminan outliers)

29 Aplicación de patrones aprendidos Algoritmo de re-etiquetado automático Se extraen demasiados segmentos ya que los patrones son demasiado generales Se asigna un vector de características a cada candidato a extraer con: Su posición Si es visible o no (HTML tag) El hueco que ocupa en la plantilla El contexto (token adyacentes)

30 Aplicación de patrones aprendidos Algoritmo de re-etiquetado automático Se agrupan los candidatos en grupos según tengan vectores característicos similares Se puntúan estos grupos según la similaritud que tengan entre ellos Se ordenan estos grupos según esta puntuación Se les pasa como argumentos de entrada a STALKER los “mejores” grupos STALKER aprende reglas de extracción de las páginas que han cambiado Estas reglas son las que se asumen para los ejemplos nuevos que han cambiado

31 Guia ① Introducción ② Ciclo de vida de un wrapper ③ Aprendiendo patrones de contenido ④ Algoritmo DataProg ⑤ Aplicación de los patrones aprendidos ⑥ Conclusiones

32 Conclusiones Resultados Verificación Se usaron 27 wrappers y 23 fuentes distintas (altavista, amazon, bigbook, yahoo (quote, people, weather)…) Se hicieron 438 comparaciones Se apreciaron 37 cambios que se atribuyeron al formato de los datos y etiquetado Se detectaron 35 de esos cambios De estos 15 fueron fallos de los cuales 13 fueron falsos positivos (el sistema dijo que fallaba cuando en realidad no lo hacia) 2 fueron falsos negativos.

33 Conclusiones Reinducción Se usaron 10 fuentes de las 23 que se usaron antes Reglas basadas en contenido Se considera correctos y se identifica en 3 de las 10 páginas que se usan, lo mínimo que necesita STALKER son 2 de esas 10 De las 277 veces que se hizo en todos los datos hubo 61 errores De los cuales 31 fueron falsos positivos (campos parciales “Cloudy” en vez de “Mostly Cloudy”) 30 fueron falsos negativos

34 Conclusiones Reinducción Reglas basadas en landmarks No se especifica el numero de comparaciones que se hicieron ni cuantas veces Los resultados para los falsos positivos son de un 10% respecto a los positivos Para los falsos negativos son de un 20% respecto a los positivos

35 Conclusiones Ideas prometedoras Uso de test y distribuciones estadísticas Cambios muy localizados Fuentes reales Resultados buenos como base para el futuro

36 FIN ¿ALGUNA PREGUNTA?


Descargar ppt "Extracción de información con patrones de contenido Samuel Pérez Osés."

Presentaciones similares


Anuncios Google