La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ALGORITMO STALKER extracción de información en sitios web Juan Manuel Piñero Sánchez.

Presentaciones similares


Presentación del tema: "ALGORITMO STALKER extracción de información en sitios web Juan Manuel Piñero Sánchez."— Transcripción de la presentación:

1 ALGORITMO STALKER extracción de información en sitios web Juan Manuel Piñero Sánchez

2 Objetivo ¿qué es la extracción web y cómo nos aproximamos a ella?

3 3 Queremos obtener información concreta de un tipo de sitio web. Información objetivo: aquella que queremos obtener de la web. objetivo título precio

4 ALGORITMO STALKER 4 objetivo grupos

5 ALGORITMO STALKER 5 El algoritmo Stalker consta de dos fases: entrenamiento y producción. entrenamiento y producción algoritmo Stalker reglas entrenamiento reglas información producción

6 Obtención ¿cómo agrupamos el html para que Stalker lo procese?

7 ALGORITMO STALKER 7 obtención El embedded catalog es una representación del código html en forma de árbol. El nodo raíz es la web completa. Un nodo hijo es una subcadena del padre. Un nodo hoja es la información objetivo.

8 8 obtención nombre cocina dirección Name: Yala Cuisine: Thai 4000 Colfax, Phoenix, AZ 85258 (602) 508-1570 523 Vernon, Las Vegas, NV 89104 (702) 578-2293 403 Pico, LA, CA 90007 (213) 798-0008

9 ALGORITMO STALKER 9 obtención Name: Yala Cuisine: Thai 4000 Colfax, Phoenix, AZ 85258 (602) 508-1570 523 Vernon, Las Vegas, NV 89104 (702) 578-2293 403 Pico, LA, CA 90007 (213) 798-0008 Yala Thai 4000 Colfax, Phoenix, AZ 85258 (602) 508-1570 523 Vernon, Las Vegas, NV 89104 (702) 578-2293 403 Pico, LA, CA 90007 (213) 798-0008 523 Vernon, Las Vegas, NV 89104 (702) 578-2293 403 Pico, LA, CA 90007 (213) 798-0008 4000 Colfax, Phoenix, AZ 85258 (602) 508-1570

10 STALKER. Idea principal ¿que hace Stalker intuitivamente?

11 ALGORITMO STALKER 11 ALGORITMO STALKER idea principal El objetivo del algoritmo es generar reglas para pasar de un nodo del e.c. a su hijo. Name: Yala Cuisine: Thai 4000 Colfax, Phoenix, AZ 85258 (602) 508-1570 523 Vernon, Las Vegas, NV 89104 (702) 578-2293 403 Pico, LA, CA 90007 (213) 798-0008 4000 Colfax, Phoenix, AZ 85258 (602) 508-1570 523 Vernon, Las Vegas, NV 89104 (702) 578-2293 403 Pico, LA, CA 90007 (213) 798-0008 523 Vernon, Las Vegas, NV 89104 (702) 578-2293 4000 Colfax, Phoenix, AZ 85258 (602) 508-1570

12 ALGORITMO STALKER 12 ALGORITMO STALKER idea principal El algoritmo va explorando qué hay delante y detrás de la información sensible. Genera reglas que identifican la parte de delante (prefijo) y la parte de atrás (sufijo). El análisis del sufijo es simétrico al del prefijo, por tanto se omite en la explicación. Name: Yala Cuisine: Thai

13 ALGORITMO STALKER 13 ALGORITMO STALKER idea principal Una regla de Stalker consume caracteres. Deja de consumir al llegar al sitio indicado. Name: Yala Cuisine: Thai consume hasta “Cui”

14 ALGORITMO STALKER 14 Name: Yala Cuisine: Thai consume hasta “Name” Name: Yala Cuisine: Thai consume hasta Name: Yala Cuisine: Thai consume hasta ALGORITMO STALKER idea principal reglas y ejemplos cubren no cubren positivamentenegativamente early matchlate match Name: Yala Cuisine: Thai consume hasta Name: Yala Cuisine: Thai consume hasta “Nam” Name: Yala Cuisine: Thai consume hasta

15 ALGORITMO STALKER 15 ALGORITMO STALKER idea principal Name: Yala Cuisine: Thai consume hasta “Name” Name: Yala Cuisine: Thai consume hasta Name: Yala Cuisine: Thai consume hasta reglas y ejemplos cubrenno cubren positivamentenegativamente early matchlate match Name: Yala Cuisine: Thai consume hasta Name: Yala Cuisine: Thai consume hasta “Nam” Name: Yala Cuisine: Thai consume hasta

16 LLA ¿cómo son las reglas de Stalker y qué representan?

17 ALGORITMO STALKER 17 ALGORITMO STALKER LLA Name: Yala Cuisine: Thai consume hasta Cómo primera aproximación, es la cadena de texto que la regla busca. Consume carácteres hasta llegar a ella o mientras se siga encontrando con ella. Una regla Stalker es un LLA. LLA: Linear Landmark Automata. (Autómata lineal basado en landmarks). Landmark: (“sitio conocido” “hito”)

18 ALGORITMO STALKER 18 ALGORITMO STALKER LLA Un landmark se compone de tokens. Un token puede ser un carácter, una etiqueta html o un wildcar (un grupo de posibles tokens). wildcar anything numeric alphanumeric alphabetic capitalized allcaps htmltag nonhtml punctuation etiqueta carácter Nombre: Cuisine:

19 ALGORITMO STALKER 19 ALGORITMO STALKER LLA La transición bucle va consumiendo carácteres en espera de poder realizar la transición del landmark. La transición al nuevo estado se produce cuando podemos consumir el landmark. Al ser lineal cada estado sólo tiene dos posibles transiciones, un bucle y una a un nuevo estado. La regla es un autómata. estado transición Name: Yala Cuisine: Thai consume hasta

20 ALGORITMO STALKER 20 ALGORITMO STALKER LLA Para definir la regla nos bastará con expresar el landmark y la relación que tiene con el texto (consumir hasta que aparezca el landmark, incluyendo a este o no). SkipTo(landmark) SkipUntil(landmark) SkipTo(’:’)SkipTo( ) Name: Yala Cuisine: Thai ‘:’ SkipTo( )SkipUntil(punctuation) Name: Yala Cuisine: Thai punctuation

21 Algoritmo de aprendizaje ¿qué pasos sigue Stalker para generar las reglas?

22 ALGORITMO STALKER 22 ALGORITMO STALKER algoritmo El algoritmo de entrenamiento Stalker recibe como entrada una serie de ejemplos web correctamente marcados según una ontología definida. Proporcionará una serie de reglas Stalker dispuestas en forma de disyunción. either SkipTo(’:’)SkipTo( ) or SkipUntil(number) or SkipTo( )SkipUntil(htmltag)

23 ALGORITMO STALKER 23 ALGORITMO STALKER algoritmo La parte fundamental del algoritmo es un bucle que va generando reglas, componentes de la disyunción final. Este bucle se repite mientras haya ejemplos que no sean cubiertos positivamente por ninguna de las disyunciones. regla bucle

24 ALGORITMO STALKER 24 no sí ALGORITMO STALKER algoritmo Si no, elegimos nuestros nuevas candidatas a partir de la mejor para refinar y volvemos a empezar. Si la posible solución es perfecta (cubre positivamente al menos un ejemplo y no cubre negativamente ninguno), le hacemos un postproceso y la devolvemos. De las candidatas, elige la mejor para refinar (por si la posible solución no sirve). De las candidatas, elige una posible solución. A partir del ejemplo semilla genera una serie de reglas candidatas. Elige un ejemplo que no este cubierto positivamente todavía, es el ejemplo semilla. La parte central del bucle es un algoritmo voraz, Learn Disjunct. ejemplo semilla reglas candidatas posible solución mejor refinar ¿solución perfecta? FIN elijo nuevos candidatos y vuelvo a empezar

25 25 ALGORITMO STALKER algoritmo El ejemplo semilla es el que tenga el prefijo más corto de los que quedan sin cubrir positivamente. Los candidatos se eligen mirando el último token del prefijo, y creando todos los landmarks posibles. MARIO MIX PACK- GAME CUBE - NUEVO - PRECINTADO 35,00 SkipTo( ) SkipTo(htmltag) SkipTo(anything) SkipUntil(‘35’) SkipUntil(number) SkipUntil(anything)

26 ALGORITMO STALKER 26 ALGORITMO STALKER algoritmo Para elegir la posible solución o el mejor para refinar se mide cómo se adecúa cada regla con cada ejemplo. Elegimos la regla que de mejores resultados según una lista de prioridad. posible solución cubra más ejemplos positivos deje sin cubrir más ejemplos menos tokens en reglas SkipUntil menor uso de wildcars landmarks finales más largos menos tokens del prefijo sin consumir mejor refinar cubra más ejemplos positivos más early matches deje sin cubrir más ejemplos menor uso de wildcars menos tokens de prefijo sin consumir menos tokens en las reglas SkipUntil landmarks finales más largos

27 ALGORITMO STALKER 27 ALGORITMO STALKER algoritmo MARIO MIX PACK- GAME CUBE - NUEVO - PRECINTADO 35,00 gamecube. 2 x juegos de futbol. iss 3 y fifa 2004 5,00 2 x Joystick Mando vibración p Nintendo GameCube GC Wii 5,39 CODE VERONICA - GameCube / Wii - PRECINTADO / NUEVO &nbs p; 29,90 SkipTo( ) SkipTo(htmltag) SkipTo(anything) SkipUntil(‘35’) SkipUntil(number) SkipUntil(anything)

28 ALGORITMO STALKER 28 ALGORITMO STALKER algoritmo Para elegir los nuevos candidatos, refinamos la regla que designamos para tal fin. Hay dos tipos de refinamiento, los de landmark o los topológicos. Los de landmark consisten en hacer los landmark del final de la regla más específicos. SkipTo(- ) SkipTo(punctuation ) SkipTo(anything ) SkipTo( ) 503 Pico, Venice, Phone: 1- 800

29 ALGORITMO STALKER 29 ALGORITMO STALKER algoritmo Los refinamientos topológicos consisten en añadir estados intermedios al LLA. Para hacerlo usamos todos los tokens que se encuentren entre el early match y la información objetivo. SkipTo( ) 503 Pico, Venice, Phone: 1- 800 SkipTo(Venice)SkipTo( ) SkipTo( )SkipTo( ) SkipTo(‘,’)SkipTo( ) SkipTo(Phone)SkipTo( ) SkipTo(‘:’)SkipTo( ) SkipTo(1)SkipTo( ) SkipTo(‘-’)SkipTo( ) SkipTo(Anything)SkipTo( ) SkipTo(Capitalized)SkipTo( ) SkipTo(Alphabetic)SkipTo( ) SkipTo(NonHtml)SkipTo( ) SkipTo(Alphanumeric)SkipTo( ) SkipTo(HtmlTag)SkipTo( ) SkipTo(Punctuation)SkipTo( ) SkipTo(Numeric)SkipTo( )

30 ALGORITMO STALKER 30 ALGORITMO STALKER algoritmo Cuando hemos encontrado una solución perfecta, no la devolvemos tal cual. Antes de devolverla intentamos mejorarla para que las distintas disyunciones sean más eficaces. Aplicamos una serie de técnicas siempre y cuando mantengan el conjunto perfecto y supongan alguna mejora. técnicas sustituir wildcars por tokens simplificar dos estados del LLA en uno solo (landmarks contiguos) hacer los landmarks más largos para evitar generalizar SkipTo(punctuation) SkipTo(”Numero:”)SkipTo( ) SkipTo( ) SkipTo(’:’) SkipTo(”Numero:” ) inicial final

31 ALGORITMO STALKER 31 ALGORITMO STALKER algoritmo Cuando ya no quedan más ejemplos por cubrir, hemos generado todas las disyunciones de nuestra regla. Para optimizar un poco más, Stalker propone reordenar las distintas disyunciones poniendo primero las más comunes. De esta forma, damos prioridad a las disyunciones con menos early matches y late matches.

32 FIN ¿comentarios?


Descargar ppt "ALGORITMO STALKER extracción de información en sitios web Juan Manuel Piñero Sánchez."

Presentaciones similares


Anuncios Google