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

Slides:



Advertisements
Presentaciones similares
Clasificación de los compiladores
Advertisements

Compiladores e intérpretes
Procesamiento de cadenas
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
DEPARTAMENTO DE EDUCACI Ó N SECRETAR Í A AUXILIAR DE SERVICIOS ACAD É MICOS Y SERVICIOS EDUCATIVOS A LA COMUNIDAD UNIDAD DE TECNOLOGÍA Y CURRÍCULO PROYECTO.
MAPAS CONCEPTUALES Consuelo Antía – Julio 2003.
Crear un gráfico SmartArt
Sesiones de Creatividad
DOM ( Document Object Model) Prof. Franklin Cedeño.
Metodología de la Programación
ANALIZADOR SINTACTICO
Investigación de Operaciones II
Investigación de Operaciones II
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Búsqueda Informada Heurísticas.
DIAGRAMAS DE CLASES Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando.
ANALISIS SINTACTICO DESCENDENTE
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
Capitulo 10: La metodología Box-Jenkins
ÁRBOLES DE EXPRESION.
Listas circulares.
M.C. Meliza Contreras González
Curso: XML, de los datos a la presentación Julio de 2005 CAPTIVA · XPath.
Trabajo presentado por: LUIS FERNANDO OBANDO ING
TIPOS DE MODELOS DE REGRESIÓN Y SUPUESTOS PARA EL MODELO A
Definition Type Document (DTD)
ANALISIS SINTACTICO Parte I
Diseño y análisis de algoritmos
Métodos de Búsqueda Informada. Búsqueda de la mejor Ruta En esta sección no sólo nos interesa encontrar una posible ruta, sino obtener aquella ruta que.
Traducción de Juan Antonio del Valle Flores
CÓDIGOS DE HUFFMAN. Códigos de Huffman Los códigos de Huffman, que representan caracteres por cadenas de bits de longitud variable, proporcionan alternativas.
Universidad Nacional de Jujuy Facultad de Ingeniería
1.3. ¿Cómo elaborar un mapa conceptual?
Diseño y análisis de algoritmos
Parte II. Algorítmica. 3. Algoritmos voraces.
Código de Barras Explicación de la codificación del código de barras con un fuente en VFP que te permite imprimir códigos de barras sin usar fonts u otro.
Teoría de lenguajes y compiladores
Todo traductor esta basado en una gramática para el lenguaje fuente. Todo traductor esta basado en una gramática para el lenguaje fuente. Una gramática.
3. Espacios de trabajo. Manual de formación 2 3. Espacios de trabajo 3.1 Introducción … ……pág.45.
Backtracking 1. Método general. 2. Análisis de tiempos de ejecución.
SEO Los términos posicionamiento en buscadores, posicionamiento web u optimización de motores de búsqueda engloban todos los procesos que se encargan de.
Escribimos google.com DIRECCIÓN Elegimos Nombre Contraseña.
Parte II. Algorítmica. 5. Backtracking. 1. Análisis de algoritmos.
CONCEPTOS BÁSICOS FUNDACIÓN UNIVERSITARIA LOS LIBERTADORES Fredys Alberto Simanca Herrera Programación Estructurada Semana Bogotá, D.C
Metodología para solución de problemas
Análisis Léxico Área Software de Base.
CARPLATE Reconocimiento del marco de la matrícula de un coche
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Procesamiento Digital de Imágenes
Formularios La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
UNIVERSIDAD LATINA (UNILA)
1 Sebastián Argüello A60490 semana 3 Autómatas y compiladores CI-1322.
Teoría de lenguajes y compiladores
Como crear un contacto en outlook. 1.En Contactos, en la ficha Inicio, en el grupo Nuevo, haga clic en Nuevo contacto. Comando Nuevo contacto en la cinta.
Ciclo de vida de un sistema
NOMBRE: KENIA MACÍAS. RECOMENDACIONES PARA HACER UN FORMULARIO En un sistema web, en muchas ocasiones es necesario obtener información del usuario y para.
Taller: Inteligencia Computacional
ACCESS  Para los campos Texto, esta propiedad determina el número máximo de caracteres que se pueden introducir en el campo. Siendo por defecto.
Pasos para elaborar Tablas en HTML Para empezar crearemos una tabla sencilla de dos filas y dos elementos. Vayamos por pasos: 1.En primer lugar ponemos.
Aplicaciones para la Administración de Negocios
INTRODUCCIÓN A SPSS Statistic Package for Social Sciencies.
Matemáticas Discretas MISTI
Expresiones Regulares
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
CODIFICACION DE HUFFMAN
Extracción de información con patrones de contenido Samuel Pérez Osés.
Algoritmos voraces Códigos de Huffman. Descripción del problema Tenemos un archivo de entrada. Asumiremos que el archivo está compuesto de bytes (enteros.
Equipo de Profesores del Curso. Funciones de Texto.
Transcripción de la presentación:

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

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

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

ALGORITMO STALKER 4 objetivo grupos

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

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

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 obtención nombre cocina dirección Name: Yala Cuisine: Thai 4000 Colfax, Phoenix, AZ (602) Vernon, Las Vegas, NV (702) Pico, LA, CA (213)

ALGORITMO STALKER 9 obtención Name: Yala Cuisine: Thai 4000 Colfax, Phoenix, AZ (602) Vernon, Las Vegas, NV (702) Pico, LA, CA (213) Yala Thai 4000 Colfax, Phoenix, AZ (602) Vernon, Las Vegas, NV (702) Pico, LA, CA (213) Vernon, Las Vegas, NV (702) Pico, LA, CA (213) Colfax, Phoenix, AZ (602)

STALKER. Idea principal ¿que hace Stalker intuitivamente?

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 (602) Vernon, Las Vegas, NV (702) Pico, LA, CA (213) Colfax, Phoenix, AZ (602) Vernon, Las Vegas, NV (702) Pico, LA, CA (213) Vernon, Las Vegas, NV (702) Colfax, Phoenix, AZ (602)

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

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”

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

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

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

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

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:

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

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

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

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)

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

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

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

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

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:

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: 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( )

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

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.

FIN ¿comentarios?