Università degli Studi di Milano Bicocca
Dipartimento di Informatica, Sistemistica e Comunicazione
Corso di Strumenti e applicazioni del Web
9. Ricercare nel Web (Parte I)
Giuseppe Vizzari
Edizione 2015-16
Queste slide
Queste slide fanno parte del corso “Strumenti e applicazioni del Web”. Il sito del
corso, con il materiale completo, si trova in
strumentiapplicazioniweb.wordpress.com. Data la rapida evoluzione della rete, il
corso viene aggiornato ogni anno.
Il presente materiale è pubblicato con licenza Creative Commons
“Attribuzione - Non commerciale - Condividi allo stesso modo – 3.0”
(http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it ):
La licenza non si estende alle immagini provenienti da altre fonti e alle
screen shot, i cui diritti restano in capo ai rispettivi proprietari, che, ove
possibile, sono stati indicati. L'autore si scusa per eventuali omissioni, e resta
a disposizione per correggerle.
Una visualizzazione [di una parte] del web
R.Polillo - Marzo 2015 3
La immagine mostra una porzione di Internet costituita da 535.000 nodi e più di 600.000 links
WALRUS Visualization tool, 2001 http://www.caida.org/tools/visualization/walrus/
The Internet Map (http://internet-map.net/)
Come trovare l'informazione in
rete
• Sistemi di directory
Indici strutturati di argomenti (gestiti da una redazione)
• Wikipedia
Enciclopedia collaborativa
• Motori di ricerca
Query  Risultati
• Motori semantici
www.wolframalpha.com, …
• Sistemi di Q&A sociale
Yahoo! Answer, …
• Esplorazione
Browsing, serendipity
5
Web directory
• Storicamente, il primo strumento di ausilio alle
ricerche nel Web
• Una nota: nel 1995 molte persone avevano una sorta di
sistema di bookmark “server side” nella loro pagina
personale (pagina dei “link utili”)
• Classificazione gerarchica dei siti (e non delle pagine)
in categorie e sottocategorie, a più livelli, effettuata "a
mano" -> varie "tassonomie"
• Directories “generaliste” e directories verticali o di
nicchia, anche prodotte in modo collaborativo
• http://en.wikipedia.org/wiki/Web_directory
6
Tassonomia
Emporio celeste dei riconoscimenti benevoli
(Enciclopedia cinese, J.L.Borges, 1973)
Gli animali si dividono in:
a) Appartenenti all’imperatore
b) Imbalsamati
c)Ammaestrati
d) Lattonzoli
e) Sirene
f) Favolosi
g)Cani randagi
h) Inclusi in questa classificazione
i) Che si agitano come pazzi
j) Innumerevoli
k)Disegnati con un pennello finissimo di peli di
cammello
l) Eccetera
m) Che hanno ritto il vaso
n) Che da lontano sembrano mosche.
7
 Raggruppamento di
oggetti in classi,
secondo qualche
criterio
 taxis=ordine
nomos=regola
 Ogni tassonomia è
arbitraria, e dipende
dagli obiettivi
Yahoo! (http://dir.yahoo.com)
8
- Nasce come “La guida al
WWW di Jerry e David”, nel
1994
- Qui la home del 1996, da
www.archive.org
http://en.wikipedia.org/wiki/Int
ernet_Archive
The Open Directory Project (ODP)
• Nota anche come DMOZ (Directory Mozilla
http://www.dmoz.org/
• Directory gratuita, aperta e multilingua
• Fondata nel 1998, poi acquisita da Netscape (1998), poi AOL, e
manutenuta da una comunità di editor volontari
• http://en.wikipedia.org/wiki/Open_Directory_Project
9
Domoz vs Yahoo!
10
Dmoz Yahoo!
NB La directory di Yahoo non viene più aggiornata
http://en.wikipedia.org/wiki/Yahoo!_Directory
Wikipedia come strumento di ricerca
• Wikipedia è un formidabile strumento di ricerca e
accesso al web
• Ogni voce di Wikipedia è corredata da numerosi link
interni ed esterni, che spesso permettono di
raggiungere i siti più significativi correlati
all’argomento esaminato
• Inoltre Wikipedia contiene numerosi indici e
directory, fra cui anche veri e propri portali tematici
(http://en.wikipedia.org/wiki/Portal:Contents/Portals)
11
Serendipità
• Cerco una cosa e ne trovo un'altra
• Nome coniato da Horace Walpole, tratto dalla fiaba “I tre principi
di Serendip” (Serendip è l'antico nome di Sri Lanka)
• Serve fortuna (“il caso”) e un atteggiamento di apertura: per
cogliere l'indizio che porterà alla scoperta occorre essere aperti
alla ricerca e riconoscere il valore di esperienze che non
corrispondono alle originarie aspettative
• http://en.wikipedia.org/wiki/Serendipity
• http://serendip.brynmawr.edu/serendip/about.html
12
13
www.stumbleupon.com
• to stumble: inciampare, scoprire per caso
• È una discovery engine di pagine web, fondato in Canada nel 2001
• Premendo il bottone STUMBLE! installato sul browser, viene proposto un
sito, un’immagine o un video scelti sulla base delle preferenze dell’utente, o
delle raccomandazioni dei suoi amici o da altri utenti che hanno interessi
simili
• Il processo di selezione si affina sulla base del gradimento espresso
(opzionalmente) dall’utente:
14
Motori di ricerca per il Web
• Componente software (utilizzabile come servizio online)
progettato per ricercare informazioni sul World Wide Web
• Le informazioni (di solito nella forma di link) sono presentate in
una serie di Search Engine Results Page (SERP)
• La qualità di un motore si valuta sulla base della pertinenza e
rilevanza dei risultati
15
Motori di ricerca
Una storia complessa, iniziata negli anni '90. Oggi, i primi:
Google
- Dal 1998
Baidu
- dal 2000, cinese
Yahoo!
- Con motori esterni (dal 2009 "Powered by Bing")
Bing
- Dal 2009 (prima: MSN Search, Windows Live Search, Live
Search)
16
Search engine market share
17
Fonte: http://www.netmarketshare.com
Feb 2015, desktop
Search engine market share
18
Fonte: http://www.netmarketshare.com
Feb 2015, mobile + tablet
Motori di ricerca: struttura
19
Interfaccia
Query
processing
Ranking
dei risultati
Query
Risultati
(SERP)
Front-end process
Indici + cached
pages
Crawler
Crawler Indicizzator
e
Crawler
Richieste
Pagine
web
Pagine
webWW
W
Back-end process
Motori di ricerca: struttura
Ogni motore di ricerca è composto da cinque componenti
fondamentali: crawler, indice, interfaccia, query processor e il sistema
di ranking
• Il crawler è un software specializzato che naviga la rete e porta le
pagine nell'indice. Il crawler tiene anche nota dei link che trova e li
usa per raggiungere via via nuove pagine con nuovi link ...
• L'indice è un enorme database dove le pagine vengono
memorizzate con tutti i metadati e dove tutte le parole vengono
“invertite” creando indici/chiavi per ognuna di esse
• L'interfaccia interpreta la richiesta dell'utente, tenta di interpretarla
e passa la richiesta al query processor che agisce sull'indice
• Il sistema di ranking ordina i risultati della query in funzione della
loro "rilevanza" (eventualmente filtrando risultati non pertinenti)
20
Web crawling
• I crawler (robot, spider, bot) sono programmi che navigano il Web,
esaminando le diverse pagine e seguendo i link in esse presenti
• Seguono opportune politiche di navigazione (per es. per decidere
quando riesaminare una pagina già vista)
• L'interazione con i Web server segue specifici protocolli (per es.
robot exclusion protocol, o robot.txt)
• Non tutto il Web è accessibile ai crawler
21
robots.txt: esempio
www.domain.com
22
/
robots.txt
utenti
foto
about
User-agent: Google
Disallow /utenti/foto
Allow: *
Crawl-delay: 20 sec
Deep vs surface Web
• Non tutto il Web è accessibile ai motori di ricerca
• Il Web invisibile ("deep Web") è parecchi ordini di grandezza più
vasto del Web visibile ("surface Web")
• Deep Web, esempi:
• Pagine "vietate" dai Web server (robots.txt)
• Pagine generate dinamicamente a fronte di query o di
input forniti attraverso form
• Pagine senza link entranti
• Pagine accessibili tramite registrazione e login
• Ecc.
23
Struttura del web: uno studio
(vecchio ma interessante)
24
Analisi di 203 milioni di pagine, nel 1999: Broder et al., Graph structure in the web,
WWW Conference 2000, http://www9.org/w9cdrom/160/160.html
17 million nodes
Strongly Connected
Component: per
ogni coppia di nodi
c’è un cammino da
uno all’altro
One can pass from any node
of IN through SCC to any node of OUT.
Hanging off IN and OUT are TENDRILS
containing nodes that are reachable
from portions of IN, or that can reach
portions of OUT, without passage
through SCC. It is possible for a
TENDRIL hanging off from IN to
be hooked into a TENDRIL leading
into OUT, forming a TUBE -- a
passage from a portion of IN to
a portion of OUT without touching SCC.
Tipi di query
• Informativa
Obiettivo: trovare un'informazione
• Navigazionale
Obiettivo: trovare una pagina web, che conosco già
• Risorsa
Obiettivo: trovare una risorsa (non informativa) disponibile sul web
(schema non del tutto esaustivo, ad es. query “esplorative”)
• Il risultato è di solito (ma non sempre!) una lista di link a pagine
web
• Evoluzione: dal contenitore (anche) al contenuto
25
Search forms (Google)
26
Semplice: Avanzata:
Posso usare una sintassi
complessa
Esempi:
query AND query
query OR query
-query
term site:url
link: x
…. Cfr. http://www.google.com/insidesearch/
http://bit.ly/13dakJx
Google: evoluzione della home
page
Video sulla evoluzione di www.google.com dal 1998
al 2007
http://www.youtube.com/watch?v=1vgprty39og
27
SERP: struttura tipica
28
Search box
Risultati sponsorizzati
Opzioni per la ricerca
Risultati "organici"
(non influenzati
dalle
sponsorizzazioni)
Google:
AdWords

09 - Ricercare nel Web I

  • 1.
    Università degli Studidi Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Strumenti e applicazioni del Web 9. Ricercare nel Web (Parte I) Giuseppe Vizzari Edizione 2015-16
  • 2.
    Queste slide Queste slidefanno parte del corso “Strumenti e applicazioni del Web”. Il sito del corso, con il materiale completo, si trova in strumentiapplicazioniweb.wordpress.com. Data la rapida evoluzione della rete, il corso viene aggiornato ogni anno. Il presente materiale è pubblicato con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo – 3.0” (http://creativecommons.org/licenses/by-nc-sa/3.0/it/deed.it ): La licenza non si estende alle immagini provenienti da altre fonti e alle screen shot, i cui diritti restano in capo ai rispettivi proprietari, che, ove possibile, sono stati indicati. L'autore si scusa per eventuali omissioni, e resta a disposizione per correggerle.
  • 3.
    Una visualizzazione [diuna parte] del web R.Polillo - Marzo 2015 3 La immagine mostra una porzione di Internet costituita da 535.000 nodi e più di 600.000 links WALRUS Visualization tool, 2001 http://www.caida.org/tools/visualization/walrus/
  • 4.
    The Internet Map(http://internet-map.net/)
  • 5.
    Come trovare l'informazionein rete • Sistemi di directory Indici strutturati di argomenti (gestiti da una redazione) • Wikipedia Enciclopedia collaborativa • Motori di ricerca Query  Risultati • Motori semantici www.wolframalpha.com, … • Sistemi di Q&A sociale Yahoo! Answer, … • Esplorazione Browsing, serendipity 5
  • 6.
    Web directory • Storicamente,il primo strumento di ausilio alle ricerche nel Web • Una nota: nel 1995 molte persone avevano una sorta di sistema di bookmark “server side” nella loro pagina personale (pagina dei “link utili”) • Classificazione gerarchica dei siti (e non delle pagine) in categorie e sottocategorie, a più livelli, effettuata "a mano" -> varie "tassonomie" • Directories “generaliste” e directories verticali o di nicchia, anche prodotte in modo collaborativo • http://en.wikipedia.org/wiki/Web_directory 6
  • 7.
    Tassonomia Emporio celeste deiriconoscimenti benevoli (Enciclopedia cinese, J.L.Borges, 1973) Gli animali si dividono in: a) Appartenenti all’imperatore b) Imbalsamati c)Ammaestrati d) Lattonzoli e) Sirene f) Favolosi g)Cani randagi h) Inclusi in questa classificazione i) Che si agitano come pazzi j) Innumerevoli k)Disegnati con un pennello finissimo di peli di cammello l) Eccetera m) Che hanno ritto il vaso n) Che da lontano sembrano mosche. 7  Raggruppamento di oggetti in classi, secondo qualche criterio  taxis=ordine nomos=regola  Ogni tassonomia è arbitraria, e dipende dagli obiettivi
  • 8.
    Yahoo! (http://dir.yahoo.com) 8 - Nascecome “La guida al WWW di Jerry e David”, nel 1994 - Qui la home del 1996, da www.archive.org http://en.wikipedia.org/wiki/Int ernet_Archive
  • 9.
    The Open DirectoryProject (ODP) • Nota anche come DMOZ (Directory Mozilla http://www.dmoz.org/ • Directory gratuita, aperta e multilingua • Fondata nel 1998, poi acquisita da Netscape (1998), poi AOL, e manutenuta da una comunità di editor volontari • http://en.wikipedia.org/wiki/Open_Directory_Project 9
  • 10.
    Domoz vs Yahoo! 10 DmozYahoo! NB La directory di Yahoo non viene più aggiornata http://en.wikipedia.org/wiki/Yahoo!_Directory
  • 11.
    Wikipedia come strumentodi ricerca • Wikipedia è un formidabile strumento di ricerca e accesso al web • Ogni voce di Wikipedia è corredata da numerosi link interni ed esterni, che spesso permettono di raggiungere i siti più significativi correlati all’argomento esaminato • Inoltre Wikipedia contiene numerosi indici e directory, fra cui anche veri e propri portali tematici (http://en.wikipedia.org/wiki/Portal:Contents/Portals) 11
  • 12.
    Serendipità • Cerco unacosa e ne trovo un'altra • Nome coniato da Horace Walpole, tratto dalla fiaba “I tre principi di Serendip” (Serendip è l'antico nome di Sri Lanka) • Serve fortuna (“il caso”) e un atteggiamento di apertura: per cogliere l'indizio che porterà alla scoperta occorre essere aperti alla ricerca e riconoscere il valore di esperienze che non corrispondono alle originarie aspettative • http://en.wikipedia.org/wiki/Serendipity • http://serendip.brynmawr.edu/serendip/about.html 12
  • 13.
  • 14.
    www.stumbleupon.com • to stumble:inciampare, scoprire per caso • È una discovery engine di pagine web, fondato in Canada nel 2001 • Premendo il bottone STUMBLE! installato sul browser, viene proposto un sito, un’immagine o un video scelti sulla base delle preferenze dell’utente, o delle raccomandazioni dei suoi amici o da altri utenti che hanno interessi simili • Il processo di selezione si affina sulla base del gradimento espresso (opzionalmente) dall’utente: 14
  • 15.
    Motori di ricercaper il Web • Componente software (utilizzabile come servizio online) progettato per ricercare informazioni sul World Wide Web • Le informazioni (di solito nella forma di link) sono presentate in una serie di Search Engine Results Page (SERP) • La qualità di un motore si valuta sulla base della pertinenza e rilevanza dei risultati 15
  • 16.
    Motori di ricerca Unastoria complessa, iniziata negli anni '90. Oggi, i primi: Google - Dal 1998 Baidu - dal 2000, cinese Yahoo! - Con motori esterni (dal 2009 "Powered by Bing") Bing - Dal 2009 (prima: MSN Search, Windows Live Search, Live Search) 16
  • 17.
    Search engine marketshare 17 Fonte: http://www.netmarketshare.com Feb 2015, desktop
  • 18.
    Search engine marketshare 18 Fonte: http://www.netmarketshare.com Feb 2015, mobile + tablet
  • 19.
    Motori di ricerca:struttura 19 Interfaccia Query processing Ranking dei risultati Query Risultati (SERP) Front-end process Indici + cached pages Crawler Crawler Indicizzator e Crawler Richieste Pagine web Pagine webWW W Back-end process
  • 20.
    Motori di ricerca:struttura Ogni motore di ricerca è composto da cinque componenti fondamentali: crawler, indice, interfaccia, query processor e il sistema di ranking • Il crawler è un software specializzato che naviga la rete e porta le pagine nell'indice. Il crawler tiene anche nota dei link che trova e li usa per raggiungere via via nuove pagine con nuovi link ... • L'indice è un enorme database dove le pagine vengono memorizzate con tutti i metadati e dove tutte le parole vengono “invertite” creando indici/chiavi per ognuna di esse • L'interfaccia interpreta la richiesta dell'utente, tenta di interpretarla e passa la richiesta al query processor che agisce sull'indice • Il sistema di ranking ordina i risultati della query in funzione della loro "rilevanza" (eventualmente filtrando risultati non pertinenti) 20
  • 21.
    Web crawling • Icrawler (robot, spider, bot) sono programmi che navigano il Web, esaminando le diverse pagine e seguendo i link in esse presenti • Seguono opportune politiche di navigazione (per es. per decidere quando riesaminare una pagina già vista) • L'interazione con i Web server segue specifici protocolli (per es. robot exclusion protocol, o robot.txt) • Non tutto il Web è accessibile ai crawler 21
  • 22.
  • 23.
    Deep vs surfaceWeb • Non tutto il Web è accessibile ai motori di ricerca • Il Web invisibile ("deep Web") è parecchi ordini di grandezza più vasto del Web visibile ("surface Web") • Deep Web, esempi: • Pagine "vietate" dai Web server (robots.txt) • Pagine generate dinamicamente a fronte di query o di input forniti attraverso form • Pagine senza link entranti • Pagine accessibili tramite registrazione e login • Ecc. 23
  • 24.
    Struttura del web:uno studio (vecchio ma interessante) 24 Analisi di 203 milioni di pagine, nel 1999: Broder et al., Graph structure in the web, WWW Conference 2000, http://www9.org/w9cdrom/160/160.html 17 million nodes Strongly Connected Component: per ogni coppia di nodi c’è un cammino da uno all’altro One can pass from any node of IN through SCC to any node of OUT. Hanging off IN and OUT are TENDRILS containing nodes that are reachable from portions of IN, or that can reach portions of OUT, without passage through SCC. It is possible for a TENDRIL hanging off from IN to be hooked into a TENDRIL leading into OUT, forming a TUBE -- a passage from a portion of IN to a portion of OUT without touching SCC.
  • 25.
    Tipi di query •Informativa Obiettivo: trovare un'informazione • Navigazionale Obiettivo: trovare una pagina web, che conosco già • Risorsa Obiettivo: trovare una risorsa (non informativa) disponibile sul web (schema non del tutto esaustivo, ad es. query “esplorative”) • Il risultato è di solito (ma non sempre!) una lista di link a pagine web • Evoluzione: dal contenitore (anche) al contenuto 25
  • 26.
    Search forms (Google) 26 Semplice:Avanzata: Posso usare una sintassi complessa Esempi: query AND query query OR query -query term site:url link: x …. Cfr. http://www.google.com/insidesearch/ http://bit.ly/13dakJx
  • 27.
    Google: evoluzione dellahome page Video sulla evoluzione di www.google.com dal 1998 al 2007 http://www.youtube.com/watch?v=1vgprty39og 27
  • 28.
    SERP: struttura tipica 28 Searchbox Risultati sponsorizzati Opzioni per la ricerca Risultati "organici" (non influenzati dalle sponsorizzazioni) Google: AdWords