Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivos
● Conocer los componentes de un sistema de RI web y cómo
interaccionan entre sí, en contraposición a un sistema de RI
tradicional
● Entender qué es la web y qué características especiales tiene y
los retos que presenta, desde la perspectiva de un sistema de
RI
● Comprender en qué consiste el proceso de recopilación de
páginas web y el modo de funcionamiento de un crawler
● Comprender el tratamiento de los textos de las páginas web
● Entender el funcionamiento de los algoritmos HITS y
PageRank
Índice
● Motivación
● Internet y la web
● Arañas
● Procesamiento de páginas web
● Ordenación de resultados
● Algoritmo HITS
● Algoritmo PageRank
● Medidas de evaluación
Motivación
Recuperación Web
Se trata de estudiar cómo solventar los problemas que se
presentan al aplicar la RI clásica a la Web
● Cómo crear el índice
● Cómo obtener los pesos de las palabras
● Cómo recuperar los documentos ordenados
● Cómo medir la evaluación de la recuperación
Motivación
¿Qué tiene de especial la recuperación Web?
Motivación
¿Qué tiene de especial la recuperación Web?
Tamaño
http://news.netcraft.com/archives/category/web-server-survey/
Motivación
¿Qué tiene de especial la recuperación Web?
Veamos ejemplo de éxito en RI: Google
• 30·1012 URLs recorridas
• Índices del orden de 100PB
• Más la “Web profunda” no indexada
• Información dispersa en cientos de millones de sitios Web
• Decenas de miles de consultas por segundo
• Millones de resultados para consultas habituales
• Num. usuarios: ~ 30% de la población del planeta
• Multimedia, multiformato, multilingüe, multidominio
• Infraestructuras masivas distribuidas
https://www.google.com/search/howsearchworks/
Motivación
¿Qué tiene de especial la recuperación Web?
Topología macroscópica
23%
30%
23% 23%
A. Z. Broder, R. Kumar, F. Maghoul, P. Raghavan, S. Rajagopalan, R. Stata, A. Tomkins, J. L. Wiener. Graph structure in the
Web. Computer Networks 33(1-6), 2000
9 Tema 6 Recuperación de información web
Motivación
¿Qué tiene de especial la recuperación Web?
Volatilidad de la web
● Un alto porcentaje de la web cambia cada mes (o día, o segundo)
● ~ 50% de los sitios web desaparecen enteros en un año
● En los sitios Web aparecen y desaparecen paginas periódicamente
● El contenido de la mayoría de las paginas se modifica con
frecuencia
● Contenido generado dinámicamente
● Nuevos medios: blogs, microblogs (Twitter), foros, portales de
noticias, etc., son streams dinámicos de información mas que
“páginas” estables
Motivación
¿Qué tiene de especial la recuperación Web?
Calidad de la Web
● Muy variable: Calidad enciclopédica, calidad media, información anecdótica,
texto improvisado, spam, etc.
● Descentralización
● Ausencia de organización global ni supervisión editorial
● Casi cualquiera puede crear un sitio Web
● Cualquiera puede aportar contenido
● ~ 70% del contenido de la Web generado por usuarios finales
● Duplicación de contenido (mirrors, etc.)
● Spam
● Autores y buscadores en posición de adversarios
● Contenido engañoso, enlaces engañosos, promoción fraudulenta
● Múltiples mecanismos de detección y penalización de spam
Motivación
¿Qué tiene de especial la recuperación Web?
Usuarios
● Perfil universal
● No se presuponen capacidad
o conocimientos
● Todo tipo de dominios
● Internacionalización
● Tendencia de uso superficial
● Consultas cortas
● Sesiones cortas
● Browsing poco profundo
● Pocas reformulaciones
Motivación
¿Qué tiene de especial la recuperación Web?
http://w3techs.com/technologies/overview/content_language/all
http://www.internetworldstats.com/stats7.htm
13 Tema 6 Recuperación de información web
Motivación
● Need [Brod02, RL04]
● Informational – want to learn about something (~40% / 65%)
Low hemoglobin
● Navigational – want to go to that page (~25% / 15%)
United Airlines
● Transactional – want to do something (web-mediated) (~35% / 20%)
● Access a service Seattle weather
● Downloads Mars surface images
● Shop Canon S410
● Gray areas
● Find a good hub
● Exploratory search “see what’s there” Car rental Brasil
14
14 Tema 6 Recuperación de información web
Motivación
CG Appliance Express
Discount Appliances (650) 756-3931
Usuario
Same Day Certified Installation
www.cgappliance.com
San Francisco-Oakland-San Jose,
CA
Araña/Robot
www.miele.com/ - 20k - Cached - Similar pages
Miele
Welcome to Miele, the home of the very best appliances and kitchens in the world.
www.miele.co.uk/ - 3k - Cached - Similar pages
Search
Indexador
La Web
Índices Ad indexes
16 Tema 6 Recuperación de información web
Crawlers/Arañas/Robots
Un crawler (o araña o robot) es una aplicación que a
partir de un conjunto de URL’s iniciales obtiene
nuevas URL’s para su posterior indexado
Crawlers/Arañas/Robots
Funcionamiento básico:
1. Empezar con un conjunto conocido de URLs (semillas)
2. Insertar en una cola las semillas
3. Mientras la cola no esté vacía o no expire el tiempo límite:
a) Extraer una URL
b) Si es una página HTML, no ha sido visitada y se puede
descargar
● Marcar como visitada
● Realizar un análisis sintáctico para extraer términos de indexado
● Extraer URL’s a las que apunta
● Añadir las URL’s extraídas a la cola. También la propia URL visitada.
● Estructura de datos empleada: cola con prioridad
Crawlers/Arañas/Robots
URLs
encontradas
y analizadas
Web desconocida
URLs frontera
semillas
Web
Crawlers/Arañas/Robots
Qué es imprescindible en un crawler
● Ser educado. Debe respetar ciertas buenas maneras
implícitas y explícitas con los servidores que visita
● Sólo visitar páginas autorizadas (y moderar num.peticiones/min)
● Respetar los estándares de exclusión de robots (robots.txt)
User-agent: wget
User-agent: * Disallow: /
Disallow: /examenes User-agent: wget
Disallow: /notas Disallow:
<META name=“robots” content=“index/noindex, follow/nofollow”>
● Ser robusto. Ser inmune a spam web, cloacking u otros usos
fraudulentos
Crawlers/Arañas/Robots
Además, qué debería poder hacer un crawler
Crawlers/Arañas/Robots
Operaciones específicas
Índice
23 Tema 6 Recuperación de información web
Crawlers/Arañas/Robots
Operaciones específicas
● Traducción de dominios
● La velocidad de un DNS estándar no es suficiente: guardar cache
propia
● Normalización de URLs
● Mayúsculas en dominio y secuencias de escape, suprimir puerto
por defecto, suprimir “.” y “..”, unificar “/” al final de la URL,
etc.
● Si una URL no responde repetidas veces, eliminarla
● Del índice y de la cola de prioridad
● Devolver páginas que no responden deteriora la calidad
percibida por los usuarios
Crawlers/Arañas/Robots
Necesidad de paralelización
● Imposible realizar un recorrido en proceso secuencial
● Latencia y capacidad de respuesta de los servidores Web
recorridos
● Para indexar la Web en un mes se necesitan procesar muchos
GB/s
● Cómo organizar la paralelización es uno de los problemas
fundamentales a resolver en el desarrollo de un crawler
● P.e. un hilo por URL, o batches de URLs
● Amplio número de servidores, cada uno se ocupa de una porción
de la Web (reparto por direcciones IP, dominios, etc.)
● La cola de prioridad puede ser centralizada o distribuida
Crawlers/Arañas/Robots
Gestión de la prioridad -- Cola de prioridad
● Semillas
● Sitios de referencia, portales de noticias, etc.
● Estrategia de actualización (avance frontera de crawl)
● Tiempo de permanencia en la cola
● Frecuencia y tipo de cambios de las página
● Impacto de los cambios en los rankings de búsqueda
● Impacto en los rankings
● Num. de veces que la página aparece en resultados de búsqueda
● Ej. PageRank, o mejor, frecuencia de clicks de las URLs en un log
● Tasas de actualización de contenido
● Ej. portales de noticias se pueden reindexar cada hora o más veces
● Otras páginas más estables cada varias semanas
● Distinguir cambios sin importancia (ej. ads, “quote of the day”, etc.)
Crawlers/Arañas/Robots
Detección de duplicados
● 30-40% de las páginas de la Web son duplicados exactos de otras
● Mirrors, etc.
● Problemas de coste innecesario en el índice
● Redundancia en los resultados
● Detección en tiempo de crawling
● Evitar indexar la página y atravesar los enlaces
● No siempre se ignoran duplicados pero en general interesa detectarlos
● La detección de duplicados exactos es trivial
● Función hash aplicada al contenido (siempre que coincida byte a byte)
● Los “casi” duplicados son más difíciles
● Ej. noticias de agencia en varios portales
hiperenlace
Página A ancla Página B
hiperenlace
Página A ancla Página B
ó
ó
Análisis de enlaces
Si la web es un grafo, ¿cómo obtener información de esto?
Buena ? ? Maliciosa
?
38 Tema 6 Recuperación de información web
Análisis de enlaces
Si la web es un grafo, ¿cómo obtener información de esto?
Algoritmo básico:
1. Si apuntas a una página maliciosa, eres maliciosa
2. Si un nodo bueno te apunta, tú eres bueno
Buena ? Maliciosa
?
39 Tema 6 Recuperación de información web
Análisis de enlaces
Si la web es un grafo, ¿cómo obtener información de esto?
Algoritmo básico:
1. Si apuntas a una página maliciosa, eres maliciosa
2. Si un nodo bueno te apunta, tú eres bueno
Buena Maliciosa
Análisis de enlaces
Dos algoritmos:
● HITS
● PageRank
R S
20 iteraciones
PageRank
PageRank
El PageRank de una página A se mide como la suma de los
PageRank de las páginas que tienen un enlace a A
Normalizamos con el
número de enlaces de
la página
Normalizamos con el
número de enlaces de
la página
Factor de
amortiguación
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 0.575
2.275 0.15
1 0.575
2.275 0.15
1 0.575
2.275 0.15
1 0.575
2.275 0.15
1 0.575
2.275 0.15
2.084 0.575
1.191 0.15
20 iteraciones
1.49 0.783
1.577 0.15
Google's PR Evaluation
Page A
2,000 Page B
Page C
Page D
1,500
1,000
0,500
'-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Medidas de evaluación
Algunas medidas:
● P@10
● Reciprocal Rank (RR)
Bibliografía