Web Information Retrieval - PowerPoint PPT Presentation

About This Presentation
Title:

Web Information Retrieval

Description:

Web Information Retrieval Il World Wide Web Sviluppato da Tim Berners-Lee nel1990 al CERN per organizzare documenti di ricerca disponibili su Internet. – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 64
Provided by: Velard
Category:

less

Transcript and Presenter's Notes

Title: Web Information Retrieval


1
Web Information Retrieval
2
Il World Wide Web
  • Sviluppato da Tim Berners-Lee nel1990 al CERN
    per organizzare documenti di ricerca disponibili
    su Internet.
  • Combina lidea di scaricare documenti via FTP con
    lidea di ipertesti per collegare fra loro i
    docmenti
  • Ha sviluppato il protocollo HTTP, il concetto di
    URLs, ed il primo web server.

3
Problemi per WEB IR
  • 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..)

4
Numero di Web Servers
5
Numero di pagine Web
6
Numero di pagine Web indicizzate
SearchEngineWatch, Aug. 15, 2001
Assumendo circa 20KB per pagina, 1 miliardo di
pagine sono circa 20 terabytes di dati.
7
Crescita delle pagine indicizzate
SearchEngineWatch, Aug. 15, 2001
Google elenca il numero di pagine correntemente
indicizzate.
8
Struttura a grafo del Web
Pagine con link di ingresso e uscita
Pagine con link in uscita
Pagine con link in ingresso
http//www9.org/w9cdrom/160/160.html
9
Ricerca sul Web usando un sistema di IR
10
(No Transcript)
11
FASI
  • Spidering/Crawling esplorazione di una porzione
    del web
  • Indicizzazione generazione di indici che
    associno i documenti a dei puntatori, su tre
    basi struttura del documento, contenuto,
    posizione del documento nel grafo del web.
  • Ranking sulla base della query e degli indici,
    presentare gli indirizzi delle pagine ordinate
    per rilevanza

12
Web Search
  • 1. Spidering

13
Spiders (Robots/Bots/Crawlers)
  • Sono programmi che attraversano la rete spedendo
    pagine nuove o aggiornate ad un server
    principale,e dove queste vengono indicizzate
  • Uno Spider gira su macchine locali e spedisce
    richieste a server remoti
  • Gli indici sono usati in maniera centralizzata
    per rispondere alle query degli utenti

14
Spiders (Robots/Bots/Crawlers)
  • Si parte da un insieme pre-identificato di URL
    radice.
  • Si seguono tutti i link a partire dalle radici
    alla ricerca di pagine addizionali.
  • Alcuni sistemi consentono allutente di
    sottomettere pagine per lindicizzazione (o
    stabilire i nodi radice).

15
Spider Control
  • Decide quali link i crawler debbano esplorare e
    quali ignorare
  • Può usare dei feedback provenienti da usage
    patterns (analisi di comportamenti di utente)
    per guidare il processo di esplorazione

16
Strategie di ricerca
Breadth-first Search
17
Strategie di Ricerca (2)
Depth-first Search
18
Trade-Offs
  • Breadth-first esplora uniformemente a partire
    dalla pagina(e) root, ma richiede la
    memorizzazione di tutti i nodi del livello
    precedente (è esponenziale nel fattore di
    profondità p). E il metodo standard.
  • Depth-first richiede di memorizzare p volte il
    fattore di branching (lineare in p), ma si
    perde seguendo ununica traccia.

19
Algoritmo di Spidering
Inizializza la coda Q con un set iniziale di URL
note. Until Q vuota o si esauriscono i limiti di
tempo o pagine memorizzabili Estrai URL,
L, dalla testa di Q. Se L non è una pagina
HTML (.gif, .jpeg, .ps, .pdf, .ppt)
continua il ciclo. Se L già visitata,
continua il ciclo. Scarica la pagina, P, di
L. Se non è possibile scaricare P (e.g.
404 error, robot exclusion)
continua ciclo. Indicizza P (cioè aggiungi
rapp(P) allinverted inedex,oppure memorizza
una copia cache). Analizza P per ottenere
una nuova lista di links N. Appendi N in
coda a Q.
20
AppendStrategie di queueing
  • I nuovi link aggiunti come modificano la
    strategia di ricerca?
  • FIFO (appendi alla coda di Q) determina una
    strategia di ricerca breadth-first.
  • LIFO (aggiungi in testa a Q) determina una
    strategia di ricerca depth-first.
  • Alcuni sistemi usano delle euristiche per
    collocare i nuovi link secondo priorità focused
    crawler tese a direzionare la ricerca verso
    pagine interessanti.

21
Strategie per Spider specializzati
  • Ristretti a siti specifici.
  • Rimuove alcuni links da Q.
  • Ristretti a directories specifici.
  • Rimuove i links non contenuti nel directory.
  • Obbedisce a restrizioni imposte dai proprietari
    dei siti (robot exclusion).

22
Dettagli sulle tecniche di Spidering 1.
Estrazione dei Link (puntatori)
  • Si devono identificare tutti i links contenuti in
    una pagina ed estrarre le relative URLs, per
    proseguire nellesplorazione.
  • lta hrefhttp//www.cs.utexas.edu/users/mooney/ir-
    coursegt
  • ltframe srcsite-index.htmlgt
  • Se esistono URL specificate con riferimento alla
    URL della pagina corrente, devono costruire un
    URL completo
  • lta hrefproj3gt diventa
    http//www.cs.utexas.edu/users/mooney/ir-course/pr
    oj3
  • lta href../cs343/syllabus.htmlgt diventa
    http//www.cs.utexas.edu/users/mooney/cs343/syllab
    us.html

23
2. Esprimere i Link in fromato canonico
  • Variazioni equivalenti vengono normalizzate
    rimuovendo la slash finale http//www.cs.utexas.
    edu/users/mooney/
  • http//www.cs.utexas.edu/users/mooney
  • Si rimuovono i riferimenti a pagine interne
    (refs)
  • http//www.cs.utexas.edu/users/mooney/welcome.html
    courses
  • http//www.cs.utexas.edu/users/mooney/welcome.html

24
3. Refresh aggioramento delle pagine
  • Il Web è dinamico ci sono molte pagine nuove,
    pagine aggiornate, cancellate, riposizionate..
  • Periodicamente lo Spider deve verificare tutte le
    pagine indicizzate per aggiornamenti e
    cancellazioni
  • Basta guardare le info di intestazione (es. META
    tags sullultimo aggiornamento) per verificare se
    la pagina è stata aggiornata, e ricaricarla se
    necessario.
  • Tiene traccia delle pagine più dinamiche nel
    tempo, e controlla quelle in prevalenza.
  • Aggiorna e verifica con preferenza le pagine più
    popolari.

25
4. Robot Exclusion
  • Alcuni siti Web o pagine possono specificare che
    gli spiders/robot non accedano né indicizzino
    certe aree.
  • Due componenti
  • Robots Exclusion Protocol E un protocollo che
    vieta laccesso da direttori specificati
    allintero sito. Robots META Tag Etichetta
    documenti specifici per evitarne lindicizzazione
    o lesplorazione.

26
Robots Exclusion Protocol
  • Gli amministratori dei siti mettono un file
    robots.txt alla radice del web directory
    dellhost.
  • http//www.ebay.com/robots.txt
  • http//www.cnn.com/robots.txt
  • Il file contiene una lista di directories
    proibite per un dato robot, o agente di utente.
  • Exclude all robots from the entire site
  • User-agent
  • Disallow /

27
Robot Exclusion Protocol Examples
  • Escludere directories
  • User-agent
  • Disallow /tmp/
  • Disallow /cgi-bin/
  • Disallow /users/paranoid/
  • Escludere uno specifico robot
  • User-agent GoogleBot
  • Disallow /
  • Consentire luso solo ad uno specifico robot
  • User-agent GoogleBot
  • Disallow
  • User-agent
  • Disallow /

28
5. Multi-Threaded Spidering
  • Il collo di bottiglia consiste nel ritardo di
    rete per scaricare singole pagine.
  • E preferibile seguire molti fili della rete in
    parallelo ognuno dei quali richiede una pagina da
    diversi host.
  • Il precedente spider di Google aveva molti
    crawlers coordinati, ognuno con 300 thread,
    complessivamente capaci di scaricare più di 100
    pagine al secondo.

29
6. Selezione delle pagine
  • Quali pagine scaricare?? (non tutto il web!!)
  • Metriche di importanza
  • Interest-driven (spiders specializzati)
  • Popularity driven
  • Location driven

30
Sommario (Spiders)
  • Strategia di ricerca
  • Strategia di aggiornamento (refresh)
  • Minimizzazione del carico su altre organizzazioni
    (robot exclusion)
  • Selezione delle pagine

31
2. Indicizzazione
32
Modalità per indicizzare le pagine sul Web
  • Per ogni pagina identificata dallo Spider va
    creato un indice. Tre metodi (non esclusivi)
  • Si usano dei directories, che classificano le
    pagine Web per argomento
  • Si indicizza ogni documento esplorato dallo
    Spider come full text (flat o strutturato)
  • Si tiene conto della struttura ipertestuale del
    Web, cioè degli hyperlinks

33
1. Creazione di Directories 1.1 Classificazione
manuale
  • Yahoo usa editors umani per generare un directory
    gerachico di pagine web.
  • http//www.yahoo.com/
  • Open Directory Project è un progetto simile,
    basato sul lavoro distribuito di editors
    volontari (net-citizens provide the collective
    brain). E utilizzato da molti motori di
    ricerca. Il progetto è stato avviato da Netscape.
  • http//www.dmoz.org/

34
1.2 Classificazione automatica
  • La classificazione manuale dei documenti sul web
    ad opera dei gestori di portali o motori di
    ricerca richiede molto tempo e molta
    forza-lavoro, è soggettiva, e soggetta a errori.
  • I metodi automatici di classificazione dei testi
    possono essere usati per alleviare questo lavoro.
  • Questi metodi si basano su tecniche di machine
    learning.

35
1.3 Gerarchizzazione automatica di documenti
  • Lo sviluppo di tassonomie è un processo
    complesso, richiede tempo, è soggettivo, produce
    errori.
  • Esistono metodi automatici (Hierarchical
    Agglomerative Clustering (HAC) ) per ottenere
    automaticamente una strutturazione gerarchica.

36
Metodi di classificazione automatica
Sport Cn
37
Classificazione Automatica (2)
  • Dato
  • Un insieme di categorie
  • Un insieme T di documenti d,
  • definisci
  • f T ? 2C
  • VSM (Vector Space Model)
  • I documenti sono rappresentati come vettori
    (modello vettoriale).
  • Sia i documenti che le categorie sono vettori.
  • d è assegnato a se

38
Esempio
d1 Politica
d2 Sport
d3Economia
Bush declares war. Berlusconi gives support
Wonderful Totti in the yesterday match against
Berlusconis Milan
Berlusconi acquires Inzaghi before elections
Berlusconi
d2
d1
C1 Politica
d3
C2 Sport
Totti
Bush
39
Il Classificatore di Rocchio
  • , il peso di wi in dj
  • Ad esempio (ma esistono altri schemi di pesatura)
    TF IDF
  • , il peso di wi in Ck
  • , i documenti di addestramento per
  • Un documento d è assegnato alla classe Ck se

40
Altri metodi di classificazione SVM
41
1.Classificazione1. Classificazione2.
Creazione degli indici 2.1 Full text 2.2
Usando informazioni aggiuntive sul testo
42
Creazione automatica di Indici nel Web IR
  • Molti sistemi usano varianti dellinverted file
  • Ad ogni parola o keyword viene associato
    linsieme dei puntatori alle pagine che
    contengono la parola
  • Eliminazione di stopwords, punteggiatura..
  • Usualmente si associa anche una breve descrizione
    del contenuto della pagina (per mostrarlo
    allutente)

43
Creazione automatica di Indici (2)
  • Poiché occorrono circa 500 bytes per memorizzare
    linformazione relativa ad ogni pagina, occorrono
    circa 50 Gb per mantenere le informazioni
    relative a 100 milioni di pagine !!
  • Tecniche di compressione possono consentire di
    ridurre la taglia di un inverted file di circa il
    30 (dunque bastano 15 Gb per 100 milioni di
    pagine)

44
Creazione automatica di Indici (3)
  • Alcuni inverted files puntano alloccorrenza di
    una parola nel testo (non nel documento), ma la
    tecnica è troppo costosa in termini di memoria.
  • Se si possiede un puntatore di posizione dentro
    la pagina, è possibile fare proximity search
    cioè cercare frasi (parole fra loro contigue).
  • Qualche motore di ricerca consente proximity
    search, ma le tecniche non sono note interamente.

45
Creazione automatica di Indici (4)
  • Una soluzione intermedia consiste nel puntare a
    blocchi anziché a singole occorrenze nel
    documento.
  • Questo riduce la taglia dei puntatori e velocizza
    la ricerca.

46
Metodi avanzati Indicizzazione usando il testo
nelle ancore
  • Lo Spider analizza il testo nelle ancore (between
    ltagt and lt/agt) di ogni link seguito.
  • Il testo nelle ancore di solito è molto
    informativo sul contenuto del documento cui
    punta.
  • Si aggiunge il testo contenuto nellancora alla
    rappresentazione del contenuto della pagina
    destinazione (keywords).
  • Questo metodo è usato da Google
  • lta hrefhttp//www.microsoft.comgtEvil
    Empirelt/agt
  • lta hrefhttp//www.ibm.comgtIBMlt/agt

47
Indicizzazione usando il testo nelle ancore (cont)
  • E particolarmente utile quando il contenuto
    descrittivo nelle pagine destinazione è
    nascosto nei logo delle immagini piuttosto che
    in testi accessibili.
  • Spesso non è affatto utile
  • click here
  • Migliora la descrizione del contenuto di pagine
    poplari con molti link entranti, ed aumenta la
    recall di queste pagine.
  • Si può anche assegnare un peso maggiore al testo
    contenuto nelle ancore.

48
1. Classificazione2. Creazione degli
indici 2.1 Full text 2.2 Usando informazioni
aggiuntive sul testo3. Ranking 3.1 Ranking
sulla base del contenuto 3.2 Ranking sulla
base della struttura ipertestuale
49
Ranking
  • I metodi di ranking usati dai motori di ricerca
    sono top-secret
  • I metodi più usati sono il modello vettoriale e
    booleano
  • Alcuni nuovi motori utilizzano per il ranking
    anche gli hyperlinks. Le pagine risposta pi
    vengono valutate (ed il loro numero viene esteso)
    sulla base del numero di connessioni da e verso
    pi.

50
Link Analysis
51
Outline
  • Early Approaches to Link Analysis
  • Hubs and Authorities HITS
  • Page Rank
  • Stability
  • Probabilistic Link Analysis
  • Limitation of Link Analysis

52
Primi metodi di link analysis
Assunzioni
  • Gli Hyperlinks contengono informazioni che
    sussumono un giudizio sulla pagina
  • Più links entrano in un sito, più importante è il
    giudizio
  • La visibilità di un sito si misura mediante il
    numero di siti che puntano ad esso
  • La liminosità di un sito è il numero di altri
    siti che esso punta
  • ? Limite non cattura limportanza relativa dei
    siti parenti (cioè ad esso collegati )


53
HITS - Kleinbergs Algorithm
  • HITS Hypertext Induced Topic Selection
  • Per ogni vertice v ? V in un sottografo di
    interesse

a(v) - l authority di v h(v) - la hubness di v
  • Un sito è autorevole se riceve molte citazioni.
    Le citazioni da parte di siti importanti pesano
    di più di quelle da parte di siti meno importanti.
  • Un buon hub è un sito che è collegato con molti
    siti autorevoli

54
Authority e Hubness
5
2
3
1
1
6
4
7
a(1) h(2) h(3) h(4)
h(1) a(5) a(6) a(7)
55
Ranking con HA

   
56
Esempio di HITS
Trova un sottografo di partenza
  • Inizia con il set di radici R 1, 2, 3, 4
  • 1, 2, 3, 4 - nodi rilevanti per largomento
    (query)
  • Espandi il set di radici R includendo tutti i
    figli e un numero fisso di di nodi parenti

? Un nuovo set S (sottografo base) ?
57
Esempio HITS (2)
  • S il grafo di partenza
  • B(i) le pagine che puntano ad una pagina i di S
  • (F(i) le pagine punate da una pagina i di S
  • Passo H
  • Passo A
  • Inizializza ai,hi con valori arbitrari (1? i ? n)
  • Ripeti fino all convergenza
  • applica il passo A
  • applica il passo H
  • normalizza
  • Fine

58
HITS Example Results
Authority
Hubness
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Pesi di authority e hubness
59
PageRank
  • Introdotto da Page et al (1998)
  • Il peso è assegnato dal rank dei nodi parenti
  • Differenza rispetto a HITS
  • HITS prende i pesi di Hubness Authority
  • Page rank è proporzionale al rank dei suoi nodi
    parenti ma inversamente proporzionale al
    outdegree dei suoi parenti

60
Notazione matriciale
Il calcolo di pagerank corrisponde al calcolo
delleigenvector (autovettore) principale della
matrice delle adiacenze normalizzata del web (a
meno del parametro d si ha
Matrice delle adiacenze
A
http//www.kusatro.kyoto-u.com
61
Come si calcola pageRank?
  • Si parte da pesi casuali e si itera il
    procedimento
  • Es
  • d

  • 0.85
  • PR(A)

  • (1 d) d(PR(B)/1)
  • PR(B)

  • (1 d) d(PR(A)/1)
  • i.e.
  • PR(A)

Partiamo con P0 PR(A) 0.15
0.85 0 0.15 PR(B) 0.150,850.150.2775 PR(A
) 0.15 0.85 0.27750.385875 PR(B)0.47799..
PR(A)0.5562.. PR(B)0.6228.. Tende a 1!!
d 0.85 PR(A) (1 d) d(PR(B)/1) PR(B)
(1 d) d(PR(A)/1) Partiamo con P1
PR(A) 0.15 0.85 1 1 PR(B)
0.150,8511 già converge!!

62
Problemi
  • Problema del Rank Sink
  • In generale, molte pagine web non hanno
    inlinks/outlinks
  • E.g.
  • nessun parente ? rank 0
  • MT converge a una matrice
  • la cui ultinma colonna contiene
  • tutti zero
  • nessun figlio ? nessuna soluzione
  • MT converge ad una matrice di zeri

63
PageRank è usato da Google
Write a Comment
User Comments (0)
About PowerShow.com