Il processo di sviluppo software

7 downloads 2186 Views 851KB Size Report
Servizi web: motori di ricerca (Google), portali web (Yahoo), sistemi e- commerce .... Obiettivo: ottenere il ranking di una pagina per ogni specifica query.
Corso di Laurea Specialistica in Ingegneria Informatica

Corso di Linguaggi e Tecnologie Web

Web Information Retrieval

Eufemia TINELLI

A. A. 2011 - 2012

Introduzione

• Per Web information Retrieval si intende la ricerca di pagine web Æ la collezione che si considera è la parte pubblica del web • Modalità di ricerca sul web – Ricerca diretta – Ricerca mediante link – Servizi web: motori di ricerca (Google), portali web (Yahoo), sistemi ecommerce (reccomender system) • Evoluzione dei motori di ricerca – 1994-1997 – Prima generazione (Lycos) basati sul “contenuto” – 1998-0ggi – Seconda generazione (Google) basati sulla “struttura” del web – Oggi – Terza generazione (sperimentale): analisi semantica, analisi del contesto, … • Tipi di query – Specific queries (problema della povertà) – Broad topic queries (problema dell’abbondanza) – Similar-page queries E. TINELLI – LTW A. A. 20112011-2012

2

Da IR a Web IR: cosa cambia?

• Dati distribuiti: I documenti sono sparsi su milioni di server differenti • Dati Volatili: Molti documenti appaiono e spariscono (così detti dead links). • Enormi volumi di dati: Miliardi di documenti diversi • Dati non strutturati e ridondanti: Non esiste una struttura uniforme, ci sono errori html, circa 30% di documenti duplicati. • Qualità dei dati: Non ci sono controlli editoriali, le informazioni possono essere false, possono esserci errori, testi mal scritti.. • Dati eterogenei: multimediali (immagini, video, suoni) diversi linguaggi, diversi formati (pdf, ps, doc) E. TINELLI – LTW A. A. 20112011-2012

3

Web IR: I nuovi strumenti •

Struttura & hyperlink di una pagina – Importanza del “tagging” Æ , , ecc. – Web link: rappresentano una relazione tra pagine connesse • documento sorgente (pagina Web) che contiene il link: – e.s. ACM site

• testo ancora e.s. ACM site • documento target (pagina Web) che è riferita dal link – e.s. http://www.acm.org

• in-link della pagina p è un link da una pagina Web alla pagina p • out-link della pagina p è un link dalla pagina p a una pagina Web



Analisi dei link – La qualità/popolarità di una pagina cresce al crescere del numero dei suoi in-link • simile all’analisi delle citazioni nell’IR tradizionale per il calcolo dell’impact factor delle pubblicazioni scientifiche – L’autorevolezza di una pagina dipende dal numero di in-link ma non solo poiché anche le pagine popolari hanno questa caratteristica • pagine autorevoli - contengono informazioni rilevanti (sono buone sorgenti di contenuto) • pagine hub - puntano a pagine utili (sono buone sorgenti di link) E. TINELLI – LTW A. A. 20112011-2012

4

Motori di ricerca: architettura generale Page Repository Search

Spiders

Query

Ranked results

WEB WEB

Modulo Indicizzazione

Modulo IR

Controllo Spidering Testo

Struttura

E. TINELLI – LTW A. A. 20112011-2012

Link

5

Fasi del processo di Web IR

• Spidering: esplorazione di una porzione del web Æ cercare pagine da indicizzare – dato un insieme iniziale di url, scarica tutte le pagine raggiungibili dall'insieme seguendo gli iperlink • Tutte le pagine (general purpose crawler) • Solo quelle su determinati argomenti (focused crawler)

• Indicizzazione: generazione di indici che associno i documenti a dei puntatori • Ranking: sulla base della query e degli indici, presentare gli indirizzi delle pagine ordinate per rilevanza – Basato sul contenuto (e struttura): modello booleano e vettoriale – Basato sulla struttura ipertestuale • HITS (Hypertext Induced Topic Selection) (Kleinberg, 1997) • PageRank (Brin and Page, 1998) E. TINELLI – LTW A. A. 20112011-2012

6

Spiders (Robots/Bots/Crawlers) •



Agente software che naviga su web usando come punti di partenza URL note per essere punti di accesso interessanti, e successivamente visita altre pagine web percorrendo i link che vanno da una pagina all’altra Comportamento generale 1. Inizializza una coda Q di pagine con alcuni URL noti (popolari o inviati da utenti): 2. Seleziona un indirizzo dalla coda 3. Seleziona la pagina 4. Cerca nella pagina indirizzi di altri URL 5. Scarta gli URL che • •

non possono essere analizzati es. sono già stati visitati

6. Aggiunge gli URL alla coda •

utilizza una strategia breadth-first (FIFO - appendi alla coda di Q) o depth-first (LIFO - aggiungi in testa a Q)

7. Se non è scaduto il tempo torna a 2 E. TINELLI – LTW A. A. 20112011-2012

7

Crawling: Strategie di ricerca (1)

• Breadth-first: si analizzano prima tutte le pagine che hanno un link nella pagina corrente – Adatta per siti Web che trattano argomenti in relazione tra loro – La copertura è ampia ma superficiale

E. TINELLI – LTW A. A. 20112011-2012

8

Crawling: Strategie di ricerca (2)

• Depth-first: si segue il primo link nella pagina corrente fino all’ultima pagina senza link

E. TINELLI – LTW A. A. 20112011-2012

9

Regolamentare l’accesso a un server

• Robots.txt

– è un file nella root di un web server che indica se i robots possono indicizzare il contenuto del sito – può essere usato per impedire/regolamentare l’accesso agli spider – Costituito da coppie:

• user-agent: textstring (il crawler da regolamentare) • disallow:textstring (le risorse il cui accesso va regolamentato)

• I crawler possono ignorare tali indicazioni ma potrebbero essere bloccati • Esempi:

– User-agent: * – Disallow: /cgi-bin/ (impedisce a tutti i crawler l’accesso alla directory specificata) – User-agent: googlebot – Disallow: * (impedisce l’accesso al crawler di google)

E. TINELLI – LTW A. A. 20112011-2012

10

HITS • •

• •





Obiettivo: ottenere il ranking di una pagina per ogni specifica query (dinamico) Æ Analisi locale Per una specifica query si vuole trovare: – Le authorities su quell’argomento o topic (dove cioè le informazioni richieste effettivamente sono contenute) – I siti hub, che puntano alle migliori pagine su quel topic Una Autorità è una pagina puntata da molte altre pagine

Relazione di mutuo rinforzo – Una buona authority è puntata da buoni hub – Un buon hub punta a buone authority L’algoritmo si divide in 2 passi: – Costruzione del focused subgraph Sσ – Calcolo degli Hub e Authorities da Sσ L’algoritmo opera sul web graph – Le pagine del web sono i nodi del grafo – I link entranti o uscenti sono gli archi del grafo E. TINELLI – LTW A. A. 20112011-2012

11

HITS • • •

Root set Rσ: composto dalle t (≈200) pagine con più alto ranking risultanti da una query σ (broad topic query) al motore ε Base set Sσ: espandiamo Rσ con i successori e con i predecessori (al max d ≈50) di ogni pagina in Rq Costruzione del focused subgraph Sσ Sσ = Rσ For each page p Є Rσ Out(p)= i successori di p In(p)= i predecessori di p Aggiungi tutte le pagine Out(p) a Sσ If |In(p)|≤d then Aggiungi tutte le pagine in In(p) a Sσ else Aggiungi un insieme arbitrario di d pagine da In(p) in Sσ end if end for return Sσ E. TINELLI – LTW A. A. 20112011-2012

12

HITS

• Calcolo dei gradi di autorità A(p) e di hub H(p) di una pagina p • calcolo del peso di autorità A(p) – se p è puntata da molte pagine con valori alti di H, allora deve ricevere un valore alto di A

• calcolo del peso di hub H(p) – se p punta a molte pagine con valori alti di A, allora deve ricevere un valore alto di H

• Dopo il calcolo i pesi vengono normalizzati E. TINELLI – LTW A. A. 20112011-2012

13

PageRank • •

Obiettivo : ottenere un ranking di tutte le pagine del web indipendentemente dalle query (statico) Æ Analisi Globale Idea di base: PageRank simula la navigazione casuale dell’utente su Web – una pagina ha un PageRank alto se la somma dei PageRank dei suoi in-link è alta – una pagina con PageRank alto ha – o molti in-link – oppure pochi in-link con PageRank alto

1 P(a) = (1− d) + d P(a i ) C (a i ) i∈A in ∑

– P(a) è la probabilità che un navigatore casuale (random walker) raggiunga la pagina a – C(ai) numero complessivo di (out) links della pagina ai – d è il “damping factor” e modella la probabilità che il “random walker” smetta di navigare



PageRank simula un attraversamento casuale del web e calcola il “grado” di probabilità di raggiungere la pagina Æ in altri termini è un indice di quanto tempo, mediamente, il navigatore impiegherà ad arrivare su una certa pagina E. TINELLI – LTW A. A. 20112011-2012

14

PageRank: Esempio di calcolo “ad un passo”

T1 3

A PR=0.5 Si parte da pesi casuali e si itera il procedimento

2

T2 4

PR=0.3 5

T3

PR=0.1 PR(A)=(1-d) + d*(PR(T1)/C(T1) + PR(T2)/C(T2) + PR(T3)/C(T3)) =0.15+0.85*(0.5/3 + 0.3/4+ 0.1/5) E. TINELLI – LTW A. A. 20112011-2012

15

PageRank

• Inizialmente l’utente è su una pagina p; a ogni passo procede – verso una pagina casuale legata (tramite outlink) alla pagina corrente con probabilità d (“fattore di damping”) es. probabilità di seguire un outlink = 0.8 – verso una pagina Web casualmente selezionata con probabilità 1-d es. probabilità di un salto casuale = 0.2

• Problema del “Rank Sink” – In generale, molte pagine web non hanno inlinks/outlinks



Formula leggermente diversa, che introduce gli archi tra tutte le pagine (anche dai pozzi), rendendo il grafo fortemente connesso

1 P(a) = (1− d)E(a) + d P(a i ) C (a i ) i ∈A in ∑

E. TINELLI – LTW A. A. 20112011-2012

16

Google • •

Fase di memorizzazione e indicizzazione sono separate Indexer – –

Inizialmente costruisce un “forward index” Individua i link • • •



Memorizzati nell’area di storage delle ancore Risoluzione URL relativi (URL resolver) Memorizzati coppie di URL nell’area di storage dei links

Aggiorna il lessico •

Hit è la parola trovata (plain hit e fancy hit) es. di plain hit – – –



Sorter –



1bit per maiuscolo/minuscolo 3bit per la lunghezza della parola 12bit per la posizione del doc

Crea l’inverted index dal forward index

Search – – – –

Server web si fa carico della richiesta Controlla il lessico Cerca nei barrels i docIDs Ranking: combinazione lineare di pesi • • •

E. TINELLI – LTW A. A. 20112011-2012

contenuto Æ plain hit struttura Æ fancy hit popolarità Æ PageRank

17

Riferimenti

• Modern Information Retrieval, R. Baeza-yates and B. Ribeiro-Neto,Addison-Wesley and ACM Press, 1999 • Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze, Introduction to Information Retrieval, Cambridge University Press, 2007 – http://nlp.stanford.edu/IR-book/information-retrieval-book.html

E. TINELLI – LTW A. A. 20112011-2012

18