La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Crawling the Hidden Web Claudio Fusconi Michele Orselli (relatore) Alberto Renzi Sistemi Informativi LS 7 Marzo 2005 Università di Bologna Da: Crawling.

Presentazioni simili


Presentazione sul tema: "Crawling the Hidden Web Claudio Fusconi Michele Orselli (relatore) Alberto Renzi Sistemi Informativi LS 7 Marzo 2005 Università di Bologna Da: Crawling."— Transcript della presentazione:

1 Crawling the Hidden Web Claudio Fusconi Michele Orselli (relatore) Alberto Renzi Sistemi Informativi LS 7 Marzo 2005 Università di Bologna Da: Crawling the Hidden Web Sriram Raghavan Hector Garcia-Molina Computer Science Departement Stanford University

2 Publicly Indexable Web e Hidden Web Hidden Web Crawlers Modello Generico di un Crawler per Hidden Web HiWE: Hidden Web Exposer LITE: Layout-based Information Extraction Prove sperimentali Conclusioni Agenda

3 Introduzione I crawler sono programmi che navigano il web, creando poi repository locali della porzione di web esplorata; percorrono quello che viene chiamato Publicly Indexable Web ossia tutte le pagine raggiungibili tramite link. Con Hidden Web ci si riferisce a tutte quelle informazioni non raggiungibili direttamente ma solo tramite form Parte più estesa del web 500 x PIW [BrightPlanet 2000] InvisibleWeb.com elenca oltre database Come posso realizzare un crawler che riesca a raggiungere anche lHidden Web?

4 Sfide e approcci Differenze rispetto ad un crawler PIW: 1.Capacità di processare, analizzare e interagire con i form 2.Raccolta e gestione dei dati di input per le query Approccio basato su: Task-specificity: consiste nel selezionare una porzione dellhidden web ed estrarne i contenuti basandosi sui requisiti di una particolare applicazione Human-assistance: configuriamo il Crawler e gli forniamo valori ad hoc per la generazione delle query

5 Form Representation Task specific database Set of value assignments Response Analysis Hidden Web Crawler Web search front-end Match Repository Download form Form submission Download response repeat Form page Response page Hidden Database Un Modello Generico

6 Titolo: Genere: Storico Avventura Commedia SupportoDVD VHS SubmitReset Form Representation Task specific database Set of value assignments Response Analysis Match Repository Form Representation: ogni volta che il crawler incontra una form deve estrarne i contenuti e costruirne una propria rappresentazione interna F: F=({E1,E2,…En},S,M) E1,E2,…En = elementi contenuti nella form S = informazioni di submission M = meta-informazioni sulla pagina Form Representation

7 Task specific database Set of value assignments Response Analysis Match Repository Task Specific DB Task specific database: contiene tutte le informazioni necessarie alla formulazione di query di ricerca per quel particolare task. La struttura del database così come la forma dei dati che contiene dipende dalla specifica implementazione. Come vedremo successivamente, HiWE utilizza un labeled fuzzy set. Alexander Scott Polanski Aliens Stone Blade Runner Matrix

8 Form Representation Task specific database Set of value assignments Response Analysis Match Repository Matching function: prende in ingresso la rappresentazione interna del form e il contenuto del DB e produce in output una serie di possibili valori di assegnamento: Match(({E1,E2,…En},S,M),D) = {[E1 v1,,…En vn]} I valori così ottenuti vengono utilizzati per riempire il form. Il procedimento si ripete ciclicamente fino al verificarsi di una condizione di terminazione Matching Function Scott Polanski Aliens Titolo: Genere: Storico Avventura Commedia SupportoDVD VHS SubmitReset Alexander Stone

9 Form Representation Task specific database Set of value assignments Response Analysis Match Repository Response Analysis: la risposta a un invio di una form viene ricevuta e memorizzata nel repository Vengono distinte le pagine che contengono risultati della ricerca e pagine che contengono messaggi di errore. Il feedback può essere utilizzato per fare tuning della funzione di matching Response Analysis

10 Come misuro le performance dei Hidden Web Crawler? Uso gli stessi indicatori dei crawler per il PIW (velocità, scalabilità, importanza delle pagine…)? No, si preferisce usare la submission efficiency N total = numero di richieste inviate (submit) N success = numero di richieste inviate la cui pagina di risposta contiene uno o più risultati positivi SE strict = N succes / N total N valid = numero di form semanticamente corrette SE lenient = N valid / N total Valutazione delle Performance Conservativo Costoso

11 LUniversità di Stanford ha costruito un prototipo chiamato HiWE (Hidden Web Exposer) Caratteristiche: Utilizza una Label Value Set (LVS) table come DB interno Label matching realizzato tramite un algoritmo minimum edit distance Tecnica layout-based per lestrazione dellinformazioni dalle form (LITE) Value-SetnLabeln...… Value-Set2Label2 Value-Set1Label1 URL ListLVS Table URL N URL 2 URL 1 Response Analyzer Form Processor Form Analyzer Crawl Manager Parser WWW Custom data sources Form submission Response Feedback LVS Manager HiWE: Hidden Web Exposer

12 Dato un form F=({E1,E2,…En},S,Ø) vengono raccolte due informazioni per ogni suo elemento: 1.Label(Ei): descrizione testuale 2.Dom(Ei): insieme di valori che possono essere assegnati ad Ei Possiamo distinguere due tipi di domini: 1.Elementi con dominio finito (checkbox, radiobutton, menu a tendina) 2.Elementi con dominio infinito (textbox, textarea) HiWE - Rappresentazione del Form Titolo: Genere: Giallo Avventura Commedia Supporto DVD VHS SubmitReset Elemento E1 Label(E1) = Titolo Dom(E1) = { s | s stringa di testo} Elemento E2 Label(E2) = Genere Dom(E2) = { Giallo, Avventura, Commedia } Elemento E3 Label(E3) = Supporto Dom(E3) = { DVD, VHS }

13 Informazioni task specific organizzate in categorie, ognuna identificata da una label tabella LVS (Label Value Set) Per ogni riga (L,V) –L label –V = {v 1, …, v n } fuzzy set Funzione di appartenenza Mv assegna ad ogni elemento di V un peso nel range [0,1] { Blade Runner (1.0), …, } Fuzzy value set Label Value Set (LVS) Table Label Titolo Hiwe – Task-specific DB Titolo: Genere: Giallo Avventura Commedia Supporto DVD VHS SubmitReset

14 Matching function Per ogni elemento Ei si calcola un fuzzy set Vi (possibili assegnamenti ad Ei) In caso di elementi con dominio infinito verifica la corrispondenza tra una label presente nel db e una ricavata dal form Due attività: Label Matching (soglia σ) Ranking Hiwe – Matching function (1) Titolo: Genere: Giallo Avventura Commedia Supporto DVD VHS SubmitReset Fuzzy value set Label Value Set (LVS) Table Label titolo V 2 = {Giallo (1), Commedia (1), Azione (1)} V 1 = { Aliens (0.95),…, Matrix(0.8) } V 3 = {DVD (1), VHS(1) } Match (F) = {[E1 v1, …, En vn]: vi Vi } { Aliens (0.95),…, Matrix(0.8) }

15 Ranking value assignments Calcolo di uno score che quantifica la bontà di un assegnamento di valori alle variabili del form utilizzando i pesi dei valori. Ciò permette, utilizzando un min di migliorare lefficenza di invio, non inviando delle combinazioni di valori il cui rank è al di sotto di questa soglia. Funzioni di aggregazione: Rank ([E 1 v 1, …, E n v n ]) = –Min{M(v i )} (Fuzzy conjunction) –1/n x M(v i ) (Average) –1 - (1 - M(v i ))(Probabilistic) Hiwe – Matching function (2) Esempio (fuzzy conjunction) con min = 0.9 : ([E1 Aliens (0.95), E2 Azione (1), E3 DVD (1)]) = 0.95 ([E1 Matrix (0.8), E2 Azione (1), E3 DVD (1)]) = 0.8

16 HiWE – LVS table HiWE supporta vari meccanismi per inserire oggetti nella tabella LVS: Explicit Initialization Si possono inserire label e relativi set di valori durante l inizializzazione del crawler. Questa tecnica è adatta per inserire elementi che è molto probabile incontrare in una particolare ricerca Built-in entries Inserisco categorie comuni e spesso usate (date, giorni della settimana, ecc) Wrapped data sources Il LVS Manager può comunicare e ricevere nuovi elementi per la tabella LVS attraverso interrogazioni di sorgenti dati esterne. Supporto a due operazioni: 1.Inserimento nuove categorie 2.Ampliamento categorie esistenti Crawling experience Se abbiamo nella LVS una label con un dominio chiuso, possiamo usare questi ultimi come set di valori per una label simile ma con infiniti valori

17 Marche, Umbria, Molise …. Regioni LVS LVS Manager Wrapper Yahoo Directory 1-Marche 2-Umbria 3-Molise Categorie R1)…, Regioni dItalia {Abruzzo,…,Lazio},… R2)…, Regioni dItalia {Abruzzo,…,Lazio},… R3)…, Regioni dItalia {Abruzzo,…,Lazio},… R1R2R3 Abruzzo Molise … Lazio,…,Lazio LVS table – Wrapped data sources Servizi di catalogazione online come le Yahoo directory e le Open Directory Project, hanno una struttura che permette di usarle per popolare in modo efficiente la tabella LVS.

18 LVS Table - Crawler Input Titolo: Genere: Giallo Avventura Commedia Supporto DVD VHS SubmitReset Fuzzy value set Label Value Set (LVS) Table Label Genere Titolo: Genere: SubmitReset Giallo (1), Avventura (1), Commedia (1) Regista:

19 Quando inseriamo un elemento nella LVS dobbiamo anche assegnarli un peso. A seconda della tecnica che ho usato per inserire lelemento avrò casi diversi: Built-in / Explicit Initialization Il peso delloggetto è definito a priori (solitamente 1) e non varia Wrapped data sources Il peso inizialmente è calcolato dal Wrapper e viene incrementato/decrementato in caso di successo/insuccesso HiWE – Computing weights Crawling Experience Tre casi: 1. Estrazione di label(E) e calcolo LabelMatch(E) inserimento nuovi valori e aggiornamento valori esistenti 2.Estrazione di label(E) e nessun match nuova entry in LVS 3. Fallimento nellestrazione di una label calcolo insieme più vicino e aggiornamento valori

20 E1 {text1, tex2} E2 {text3, text4} Ranking Label(E1) = text1 Label(E2) = text4 Layout text1 text2 text3 text4 E1 E2 HiWE – LITE Pagina con form LITE (Layout-based Information Extraction) Estrae il testo basandosi sul layout della form Strategia: pruning dellalbero DOM per isolare il form Problemi: il layout della pagina non si riflette nel codice Tag con semantica poco usati (caption, label) Pruning Form Candidati

21 HiWE - Parametri di configurazione Value-SetnLabeln...… Value-Set2Label2 Value-Set1Label1 URL ListLVS Table URL N URL 2 URL 1 Response Analyzer Form Processor Form Analyzer Crawl Manager Parser WWW Custom data sources Form submission Response Feedback LVS Manager 1Siti da navigare 2Inizializzazione tabella LVS 3Inizializzazione data source (wrapped) 4Soglia per label matching (σ) 5Soglia di ranking (ρmin) 6Minima dimensione form (α) 7Funzione di aggregazione

22 HiWE – Esperimenti Prove sperimentali su tre differenti task: 1. Articoli, reports e white papers relativi alle industrie di semiconduttori (relativi agli ultimi 10 anni) 2.Recensioni articoli e informazioni storiche su films diretti da registri vincitori di Oscar (negli ultimi 30 anni) 3.Report tecnici su DB di 30 dipartimenti di informatica (degli ultimi 5 anni)

23 HiWE – Effetti della funzione di Ranking fuz migliore efficienza avg riporta più risultati, ma è meno efficiente (utile se lobiettivo è recuperare più dati possibili) prob scarsi risultati

24 HiWE - Effetto di α

25 HiWE – Effetti su LVS del crawler

26 Crawler PIW vs Hidden web crawler Modello generico per un crawler per Hidden web HiWE come Hidden web crawler Limiti: –Non considera riempimenti parziali delle form –Non tiene conto delle dipendenze tra campi delle form Conclusioni

27 AlltheWeb –http://www.alltheweb.comhttp://www.alltheweb.com Bright Planet –http://www.brightplanet.com/http://www.brightplanet.com/ Direct Search –http://www.freepint.com/gary/direct.htmhttp://www.freepint.com/gary/direct.htm Google Scholar –http://scholar.google.comhttp://scholar.google.com IxQuick –http://ixquick.com/http://ixquick.com/ Search-22 –http://www.search-22.comhttp://www.search-22.com Search Adobe PDF Online –http://searchpdf.adobe.com/http://searchpdf.adobe.com/ Turbo10 –http://turbo10.comhttp://turbo10.com Vivisimo –http://www.vivisimo.comhttp://www.vivisimo.com Search Engines for the Invisible Web

28 Crawling the Hidden Web Sriram Raghavan Hector Garcia-Molina Computer Science Departement Stanford University, Available at dbpubs.stanford.edu/pub/ S. Raghavan and H. Garcia-Molina. Crawling the hidden web Technical Report , Computer Science Dept., Stanford University, Dec Available at J. Cho and H. Garcia-Molina. The evolution of the web and implications for an incremental crawler In Proc. of the 26th Intl. Conf. on Very Large Databases, J. Cho, H. Garcia-Molina, and L. Page. Efficient crawling through url ordering In Proc. of the 7th Intl. WWW Conf., Bibliografia

29 Questions


Scaricare ppt "Crawling the Hidden Web Claudio Fusconi Michele Orselli (relatore) Alberto Renzi Sistemi Informativi LS 7 Marzo 2005 Università di Bologna Da: Crawling."

Presentazioni simili


Annunci Google