1. Università degli Studi di Milano Bicocca
Dipartimento di Informatica, Sistemistica e Comunicazione
Corso di Strumenti e applicazioni del Web
9. Ricercare nel Web
Giuseppe Vizzari
Edizione 2018-19
2. Queste slides
Queste slides fanno parte del corso “Strumenti e applicazioni del Web”. Il sito del
corso, con il materiale completo, si trova in https://gvizzari.hopto.org/wp/. 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 [di una parte] del web
R.Polillo - Marzo 2015
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/
5. Come trovare l'informazione in
rete
• Sistemi di directory
Indici strutturati di argomenti (gestiti da una redazione)
• Wikipedia
Enciclopedia collaborativa
• Esplorazione
Browsing, serendipity
• Motori di ricerca
Query Risultati
• Motori semantici
www.wolframalpha.com, …
• Sistemi di Q&A sociale
Yahoo! Answer, Quora, …
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"
• Directory “generaliste” e verticali o di nicchia, anche
prodotte in modo collaborativo
• http://en.wikipedia.org/wiki/Web_directory
6
7. Yahoo! (http://dir.yahoo.com)
7
- 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/Internet_Archive
8. 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
8
9. 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)
9
10. Serendipità
• “Cerco una cosa e ne trovo un'altra”, oppure anche “non sto
cercando nulla e trovo qualcosa”
• 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
10
11. www.stumbleupon.com
• to stumble: inciampare, scoprire per caso
• È una discovery engine di pagine web, fondato in Canada nel
2001
• Vale sempre la pena di dare un’occhiata alla storia societaria
dell’azienda per capire se ci sia valore economico, sostenibilità, ecc…
• 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:
12. 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
12
13. 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)
13
15. Search engine market share
15
Fonte: http://www.netmarketshare.com
Feb 2015, mobile + tablet
16. Motori di ricerca: struttura
16
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
17. 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) 17
18. 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…
18
20. 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
• Qual è lo status dei contenuti dei social network?
• Ecc.
20
21. Struttura del web: uno studio
(vecchio ma interessante)
21
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
Recente analisi sul Deep Web: https://arxiv.org/abs/1704.07525
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.
22. Indicizzazione, iper-semplificata
URL PAGINE
CACHE
Keyword URLs
INDICE
Indicizzatore
Indicizzare: passare dalle pagine a una loro rappresentazione sintetica, e poi far
corrispondere a chiavi di ricerca un elenco di URL rilevanti
Crawler
Query processing
23. TF-IDF di base…
• TF-IDF sta per term frequency –
inverse document frequency
• Si tratta di una statistica che dà
conto di quanto un termine sia
significativo per scegliere un
documento all’interno di un certo
insieme di documenti (corpus)
• Matematicamente è il prodotto di
una funzione legata alla frequenza
del termine nel documento e di
un’altra funzione che decresce
quanto più il termine è frequente
nei documenti del corpus
• In pratica, un termine per essere
importante deve essere presente
nel documento ma anche non
essere troppo frequente nel
corpus
Corpus
Document
Searched term
24. Ricerche con più termini?
• Una query con più termini
può essere vista come un
vettore di termini…
• Per ogni termine si può
calcolare il valore TF-IDF di
ogni documento nel corpus…
• Si possono aggregare questi
valori per ricavare un valore
di rilevanza del documento
per la query specificata
• … una presentazione più
dettagliata richede l’uso di
formule matematiche che
preferisco evitare di mostrarvi
Corpus
Document
Searched terms
25. Ranking
• Gli utenti considerano di solito solo i risultati nella prima SERP
i risultati devono essere presentati in ordine di rilevanza
il successo di un motore di ricerca è fortemente legato al
suo algoritmo di ranking
25
26. Google PageRank
• Algoritmo sviluppato da S.Brin e Larry Page nella
loro tesi di PhD a Stanford (progetto BackRub,
1995-96), brevettato a nome della Stanford
University
• L'idea: la "importanza" di una pagina Web è tanto
maggiore quante più sono numerose e importanti le
pagine Web che la linkano
• S.Brin, L.Page, “The anatomy of a large-scale
hypertextual Web search engine”
• In sostanza, è il meccanismo con cui vengono
valutati i paper accademici
• 1998: Brin e Page fondano Google Inc
26
30. L’algoritmo: altri criteri
• Google utilizza oltre 200 criteri per il ranking delle pagine
• I criteri sono segreti e in continua evoluzione
• Esempi:
• Parole chiave in parti specifiche della pagina (titolo, header, testo …)
• Età del sito
• Qualità dei contenuti
• Ranking fra i siti di analogo argomento
• Numero di accessi via URL della pagina
• Numero di accessi da parte di chi cerca
• Tempo speso sulla pagina dagli utenti
• ….
• Non tutti i criteri sono gestiti da un esecutore automatico (esistono
ancora valutazioni umane)
• Potete cercare e trovare anche delle interviste specifiche a persone che
hanno svolto questo lavoro
30
31. SEO / SEM
• SEO: Search Engine Optimization
Metodi e tecniche per migliorare il ranking di un sito Web, per i
vari motori di ricerca
http://http://en.wikipedia.org/wiki/Search_engine_optimization
• SEM: Search Engine Marketing
Attività di promozione di un sito Web per migliorarne il ranking
dei motori di ricerca
http://en.wikipedia.org/wiki/Search_engine_marketing
• Page rank checker: esempio:
http://www.whatsmypr.net
31
32. SEM/SEO
• La posizione (rank) in cui un sito viene mostrato dal motore di ricerca è
estremamente importante (chi ricerca utilizza le prime posizioni, e non guarda
oltre la prima pagina)
• Molti specialisti indipendenti offrono servizi di consulenza affinchè il sito cliente
acquisisca un buon rank (SEM/SEO: Search Engine Marketing / Search
Engine Optimization)
• Le tecniche usate non sono sempre corrette: per es. vengono creati siti
composti solo da link per far “salire” i siti che pagano
• Periodicamente Google aggiorna gli algoritmi del motore per penalizzare
quello che considera spamming da parte degli specialisti SEM/SEO
• http://www.google.it/support/webmasters/bin/answer.py?answer=35291&hl=it
32
33. Risultati della ricerca: non solo
link
Provate a cercare (su Google e Bing):
- weather Milano
- time San Francisco
- sunrise New York
- 5*9+(sqrt 10)^3=
- Ernest Hemingway
- Population Milan
- define philosophy
- ristoranti 20143
- movies 20143
- mappa 20143
- mappa corso italia 6 milano
- concessionari Fiat
- ….
33
Search engine
→ Answer engine
34. Risultati della ricerca: semantica
34
Search engine
→ Answer engine
• Google Knowledge Graph - https://youtu.be/mmQl6VGvX-c
35. 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
• Il risultato è di solito (ma non sempre!) una lista di link a
pagine web
• Evoluzione: dal contenitore (anche) al contenuto
35
36. Search forms (Google)
36
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
37. SERP: struttura tipica
37
Search box
Risultati sponsorizzati
Opzioni per la ricerca
Risultati "organici"
(non influenzati
dalle
sponsorizzazioni)
Google:
AdWords
38. La coda lunga delle ricerche
38
Search terms
Frequenza
Alta frequenza, bassa
probabilità di trovare
l’informazione desiderata
Bassa frequenza, alta probabilità di
trovare l’informazione… in linea di
massima!
“negozi scarpe uomo centro milano”