crawling the web -...

25
1 Miner Miner í í a de la Web a de la Web Crawling Crawling The The Web Web Crawling the Web Presentado por Presentado por Roc Roc í í o Luj o Luj á á n Cecchini n Cecchini

Upload: others

Post on 02-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

1

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

Crawling the WebPresentado porPresentado por

RocRocíío Lujo Lujáán Cecchinin Cecchini

Page 2: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

2

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

IntroducciIntroduccióónn

¿Qué es un crawler?

Infraestructura

Algunos algoritmos

Métricas de evaluación

Page 3: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

3

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

¿¿QuQuéé es un web es un web crawlercrawler??

Básicamente es un algoritmo que aprovecha la estructura de la red para moverse de página a página.Motivación abastecer un repositorio local.

wwwwww......

wwwwww......

wwwwww......

wwwwww......

wwwwww......

wwwwww......

wwwwww......

Page 4: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

4

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

Algunas cuestionesAlgunas cuestiones¿Tendría sentido si la web fuera una entidad de carácter estático?Tipos de crawlers

Exhaustivos.Preferenciales.

Diseño de crawlers¿Cómo lograr la selectividad?¿Cómo llevar a cabo el crawling?

• Hay distintas características que pueden conducir a distintos diseños e implementaciones. Ej.: criterios de entrada utilizados, características deseadas en las páginas.

• Si encontramos un óptimo ¿puede haber otro mejor?

Page 5: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

5

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

Infraestructura de un Infraestructura de un crawlercrawler¿Cómo trabaja un crawler?

Inicializar con Inicializar con URLsURLs

seedsseedsChequear terminaciChequear terminacióónn

Elegir URL Elegir URL

de la fronterade la frontera

Traer pTraer pááginagina

ParsingParsing

Agregar Agregar URLsURLs a la listaa la lista

STARTSTART FINFIN

No listoNo listo

ListoListo

No URLNo URL

URLURL

RepositorioRepositorio

FronteraFrontera

Page 6: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

6

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

Infraestructura de un Infraestructura de un crawlercrawler

Inicializar con Inicializar con URLsURLs

seedsseedsChequear terminaciChequear terminacióónn

Elegir URL Elegir URL

de la fronterade la frontera

Traer pTraer pááginagina

ParsingParsing

Agregar Agregar URLsURLs a la listaa la lista

STARTSTART FINFIN

No listoNo listo

ListoListo

No URLNo URL

URLURL

¿Cómo trabaja un crawler?

RepositorioRepositorio

FronteraFrontera

Page 7: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

7

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

La fronteraLa frontera

FronteraFrontera

TamaTamañño mo mááximo?ximo?

Que podemos hacer una Que podemos hacer una vez alcanzado este vez alcanzado este llíímite?mite?

ImplementaciImplementacióón?n?

TrampasTrampas

Page 8: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

8

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

HistorialHistorial

Utilidad?Análisis post-crawlerMarcar ciertos sitios de interés.

Disco o memoria?Ambas, en memoria nos puede servir para hacer una búsqueda rápida de links visitados.

(url(url22,t,t22)) (url(url33,t,t33)) (url(url44,t,t44)) (url(url55,t,t55))(url(url11,t,t11))

Page 9: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

9

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

RepositorioRepositorio¿Cómo se puede implementar el repositorio?

La forma más simple es guardar cada página como un archivo separado, esto implica que cada página sea mapeada a un único nombre de archivo.¿Cómo se puede lograr esto?

• Hash. Ejemplo: MD5 traduce cada URL en un código de 128 bits, el cual se transforma en un string de 32 caracteres hexadecimales. //www.uiowa.edu/ se traduce en 160766577426e1d01fcb7735091ec584

Page 10: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

10

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

FetchingFetching

Inicializar con Inicializar con URLsURLs

seedsseedsChequear terminaciChequear terminacióónn

Elegir URL Elegir URL

de la fronterade la frontera

Traer pTraer pááginagina

ParsingParsing

Agregar Agregar URLsURLs a la listaa la lista

STARTSTART FINFIN

No listoNo listo

ListoListo

No URLNo URL

URLURL

RepositorioRepositorio

FronteraFrontera

Page 11: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

11

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

FetchingFetching¿Cómo se obtiene la página?

Por medio de una comunicación de un Cliente HTTP con un Servidor HTTP

Cosas a tener en cuentaTimeoutsInformación que se traeAnálisis de la respuestaChequeo de errores

• Robot Exclusion Protocol

Page 12: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

12

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

ParsingParsing

Inicializar con Inicializar con URLsURLs

seedsseedsChequear terminaciChequear terminacióónn

Elegir URL Elegir URL

de la fronterade la frontera

Traer pTraer pááginagina

ParsingParsing

Agregar Agregar URLsURLs a la listaa la lista

STARTSTART FINFIN

No listoNo listo

ListoListo

No URLNo URL

URLURL

RepositorioRepositorio

FronteraFrontera

Page 13: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

13

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

ParsingParsingUna vez que tenemos la página ¿quéhacemos?

Extracción y forma canónica de URLsPara extracción ParsersCuestiones una vez que obtenemos un URL:

• URLs relativos• Diferentes URLs que conducen a la misma

página forma canónica (¿pasos?).Stoplisting y steeming.Tag tree HTML Tidyng.

www.bla.blawww.bla.bla......

¿¿??

Page 14: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

14

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

CrawlersCrawlers multimulti--hiladoshilados¿¿CuCuáál es el problema del l es el problema del crawlercrawler monohiladomonohilado??

¿¿CCóómo sermo seríía un a un crawlercrawler multimulti--hilado?hilado?

No ListoNo Listo

Fin?Fin?

Elegir URLElegir URL

Traer pTraer pááginagina

ParsingParsing

Agregar URLAgregar URL

Fin?Fin?

Elegir URLElegir URL

Traer pTraer pááginagina

ParsingParsing

Agregar URLAgregar URL

ListoListo

No ListoNo Listo

ListoListo

getget getgetaddadd addadd

FrontierFrontier

LockLock

UnlockUnlock

Fin?Fin?

Page 15: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

15

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

AlgoritmosAlgoritmosPrimero el mejor – Ingenuo

Usa similaridad por coseno. Se calcula el valor de similaridad de la página de la cual extrae los URLs con la consulta:

||||||||),(

pq

pq

vvvv

pqsim⋅

⋅=

Donde q es la consulta, p es la página de la cual extraje los URLs, vq y vp son las representaciones vectoriales de las frecuencias de los términos, para la consulta y la página respectivamente. sim(q,p) es puntaje que se le da a los nuevos URLs.

Page 16: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

16

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

AlgoritmosAlgoritmosShark search

Usa un medida de similaridad que tiene en cuenta el anchor text, el texto que rodea al link y es influenciada por el puntaje de los ancestros de la página de la cual sacamos los nuevos URLs.Tiene un límite de profundidad a recorrer sin encontrar info importante.Requiere de la especificación de varios parámetros:

d: la profundidad a recorrer.γ y δ: factores de peso para el puntaje heredado.β: factor de peso para el anchor text.

Page 17: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

17

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

AlgoritmosAlgoritmosShark seach – formulerío

Valores sugeridos: δ = 0.5, γ = 0, β = 0.8.

)()1()()( URLvecindadURLherenciaURLscore ⋅−+⋅= γγ

⎩⎨⎧

⋅⋅

)(),(

pherenciapqsim

δδ

casootroenpqsimsi 0),( >

})()1()( URLcontextoURLanchor ⋅−+⋅ ββ

)_,(1

aumcontextoqsim ⎭⎬⎫>

casootroenURLanchorsi 0)(

Page 18: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

18

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

AlgoritmosAlgoritmosCrawlers enfocados FER

La idea básica de estos crawlers es clasificar las páginas en una taxonomía de temas.El usuario puede ir agregando nuevas categorías e ir marcando algunas como “buenas”. Además se deben dar unos URLs ejemplo que el crawler usa para construir un clasificador capaz de encontrar la probabilidad de que una pagina pertenezca a cierta categoría. Se calcula un puntaje de relevancia de a cuerdo a que tan buena es la categoría en la cual cae la página.

Page 19: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

19

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

AlgoritmosAlgoritmosCrawlers enfocados en el contexto

Es un poco más elaborado que el anterior, usa también clasificadores, pero no descarta inmediatamente las páginas que no le parecen importantes.Espera unos links más, con la esperanza de que haya algo importante unos pasos más allá en la red.

Page 20: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

20

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

MMéétricas de Evaluacitricas de Evaluacióónn¿Cómo hacemos para determinar que crawler es mejor?

En base a su habilidad de devolver “buenas páginas”.

¿Cómo hacemos para saber que una página es “buena”?

Métricas de evaluación:Se enfocan en dos dimensiones:

Importancia de las páginas.Performance

Page 21: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

21

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

MMéétricas de evaluacitricas de evaluacióónnImportancia de las páginas

Palabras claves en el documento.Similaridad con la consulta.Similaridad con páginas semillas.ClasificadorRetrieval system rank.Popularidad basada en links.

Page 22: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

22

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

MMéétricas de evaluacitricas de evaluacióónnPerformance

Analogía con RIPrecisión “fracción de páginas recuperadas (crawleadas) que son relevantes”Recall (cobertura) “fracción de páginas relevantes que son recuperadas (crawleadas)”

¿Qué problema se nos presenta?NO conocemos la totalidad de las páginas relevantes presentes en toda la web.

Page 23: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

23

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

Para aproximar “precisión”Tasa de adquisiciónPromedio de importancia

Para aproximar “recall”Target recall

MMéétricas de evaluacitricas de evaluacióónn

URLsURLs

relevantesrelevantes

URLsURLs targetstargets URLsURLs seedsseeds

||||_

t

ct

PPPrecallt ∩

=

Page 24: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

24

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

MMéétricas de evaluacitricas de evaluacióónn

Robustez: • Se separa el conjunto de seeds anterior en dos, y

se da c/u como seeds de entrada para dos instancias del mismo crawler. Luego se mide la superposición de las páginas resultantes en las dos instancias. Mayor superposición implica mayor robustez.

PPrr

PPtt

PPcc

ct PP ∩

cr PP ∩

Page 25: Crawling the Web - cs.uns.edu.arcs.uns.edu.ar/~agm/mineriaweb/downloads/Slides/clase06-slides-roc… · Minería de la Web – Crawling The Web Algunas cuestiones z¿Tendría sentido

25

MinerMineríía de la Web a de la Web –– CrawlingCrawling TheThe WebWeb

Ejemplo

MMéétricas de Evaluacitricas de Evaluacióónn

2525

2020

1515

1010

55

000 2000 4000 6000 8000 2000 4000 6000 8000 100000 10000

Ave

rage

A

vera

ge p

reci

sion

prec

isio

n

PagedPaged crawledcrawled

BreadthBreadth--FirstFirst

NaiveNaive BestBest--FisrtFisrt

2525

2020

1515

1010

55

000 2000 4000 6000 8000 2000 4000 6000 8000 100000 10000

Ave

rage

A

vera

ge ta

rget

targ

etre

call

reca

ll(%

)(%

)

PagedPaged crawledcrawled

BreadthBreadth--FirstFirst

NaiveNaive BestBest--FisrtFisrt