40
Università degli Studi di Milano Bicocca Dipartimento di Informatica, Sistemistica e Comunicazione Corso di Strumenti e applicazioni del Web 7. Ricercare nel Web Giuseppe Vizzari Edizione 2017-18

7 - Ricercare nel web - 17/18

Embed Size (px)

Citation preview

Page 1: 7 - Ricercare nel web - 17/18

Università degli Studi di Milano BicoccaDipartimento di Informatica, Sistemistica e Comunicazione

Corso di Strumenti e applicazioni del Web

7. Ricercare nel Web

Giuseppe Vizzari

Edizione 2017-18

Page 2: 7 - Ricercare nel web - 17/18

Queste slides

Queste slides fanno parte del corso “Strumenti e applicazioni del Web”. Il sito delcorso, con il materiale completo, si trova in https://gvizzari.hopto.org/wp/. Data larapida 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 allescreen shot, i cui diritti restano in capo ai rispettivi proprietari, che, ovepossibile, sono stati indicati. L'autore si scusa per eventuali omissioni, e restaa disposizione per correggerle.

Page 3: 7 - Ricercare nel web - 17/18

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/

Page 4: 7 - Ricercare nel web - 17/18

The Internet Map (http://internet-map.net/)

Page 5: 7 - Ricercare nel web - 17/18

Come trovare l'informazione in rete• Sistemi di directory

Indici strutturati di argomenti (gestiti da una redazione)

• WikipediaEnciclopedia collaborativa

•EsplorazioneBrowsing, serendipity

• Motori di ricercaQuery Risultati

• Motori semanticiwww.wolframalpha.com, …

• Sistemi di Q&A socialeYahoo! Answer, Quora, …

5

Page 6: 7 - Ricercare nel web - 17/18

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

Page 7: 7 - Ricercare nel web - 17/18

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

Page 8: 7 - Ricercare nel web - 17/18

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

Page 9: 7 - Ricercare nel web - 17/18

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

Page 10: 7 - Ricercare nel web - 17/18

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

Page 11: 7 - Ricercare nel web - 17/18

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:

Page 12: 7 - Ricercare nel web - 17/18

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

Page 13: 7 - Ricercare nel web - 17/18

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

Page 14: 7 - Ricercare nel web - 17/18

Search engine market share

14

Fonte: http://www.netmarketshare.com

Feb 2015, desktop

Page 15: 7 - Ricercare nel web - 17/18

Search engine market share

15

Fonte: http://www.netmarketshare.com

Feb 2015, mobile + tablet

Page 16: 7 - Ricercare nel web - 17/18

Motori di ricerca: struttura

16

InterfacciaQuery

processing

Ranking

dei risultati

Query

Risultati

(SERP)

Front-end process

Indici + cached

pages

CrawlerCrawler Indicizzator

eCrawler

Richieste

Pagine

web

Pagine

webWW

W

Back-end process

Page 17: 7 - Ricercare nel web - 17/18

Motori di ricerca: struttura

Ogni motore di ricerca è composto da cinque componentifondamentali: crawler, indice, interfaccia, query processor e ilsistema di ranking

• Il crawler è un software specializzato che naviga la rete eporta le pagine nell'indice. Il crawler tiene anche nota dei linkche trova e li usa per raggiungere via via nuove pagine connuovi link ...

• L'indice è un enorme database dove le pagine vengonomemorizzate con tutti i metadati e dove tutte le parolevengono “invertite” creando indici/chiavi per ognuna di esse

• L'interfaccia interpreta la richiesta dell'utente, tenta diinterpretarla e passa la richiesta al query processor cheagisce sull'indice

• Il sistema di ranking ordina i risultati della query in funzionedella loro "rilevanza" (eventualmente filtrando risultati nonpertinenti) 17

Page 18: 7 - Ricercare nel web - 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

Page 19: 7 - Ricercare nel web - 17/18

robots.txt: esempio

www.domain.com

19

/

robots.txt

utenti

foto

aboutUser-agent: Google

Disallow /utenti/foto

Allow: *

Crawl-delay: 20 sec

Page 20: 7 - Ricercare nel web - 17/18

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

Page 21: 7 - Ricercare nel web - 17/18

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.

Page 22: 7 - Ricercare nel web - 17/18

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

Page 23: 7 - Ricercare nel web - 17/18

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

Page 24: 7 - Ricercare nel web - 17/18

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

Page 25: 7 - Ricercare nel web - 17/18

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

Page 26: 7 - Ricercare nel web - 17/18

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 Inc26

Page 27: 7 - Ricercare nel web - 17/18

PageRank: esempio

27

Page 28: 7 - Ricercare nel web - 17/18

PageRank: esempio

28

71

1

6

1

1

Page 29: 7 - Ricercare nel web - 17/18

PageRank: esempio

29http://en.wikipedia.org/wiki/PageRank

Page 30: 7 - Ricercare nel web - 17/18

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

Page 31: 7 - Ricercare nel web - 17/18

SEO / SEM

• SEO: Search Engine OptimizationMetodi e tecniche per migliorare il ranking di un sito Web, per i vari motori di ricercahttp://http://en.wikipedia.org/wiki/Search_engine_optimization

• SEM: Search Engine MarketingAttività di promozione di un sito Web per migliorarne il ranking dei motori di ricercahttp://en.wikipedia.org/wiki/Search_engine_marketing

• Page rank checker: esempio:http://www.whatsmypr.net

31

Page 32: 7 - Ricercare nel web - 17/18

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

Page 33: 7 - Ricercare nel web - 17/18

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

Page 34: 7 - Ricercare nel web - 17/18

Risultati della ricerca: semantica

34

Search engine

→ Answer engine

• Google Knowledge Graph - https://youtu.be/mmQl6VGvX-c

Page 35: 7 - Ricercare nel web - 17/18

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

Page 36: 7 - Ricercare nel web - 17/18

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

Page 37: 7 - Ricercare nel web - 17/18

SERP: struttura tipica

37

Search box

Risultati sponsorizzati

Opzioni per la ricerca

Risultati "organici"

(non influenzati

dalle

sponsorizzazioni)

Google:

AdWords

Page 38: 7 - Ricercare nel web - 17/18

La coda lunga delle ricerche

38

Search terms

Fre

qu

en

za

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”

Page 39: 7 - Ricercare nel web - 17/18

Google Trends (www.google.com/trends)

39

Vedi

http://www.google.com/trends/topcharts?date=2014

Page 40: 7 - Ricercare nel web - 17/18

Google Ngram viewer(https://books.google.com/ngrams/)

40