Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ricercare nel web

581 views

Published on

Slide lezione "Ricercare nel web" 18/19

Published in: Education
  • Be the first to comment

  • Be the first to like this

Ricercare nel web

  1. 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. 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. 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/
  4. 4. The Internet Map (http://internet-map.net/)
  5. 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. 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. 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. 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. 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. 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. 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. 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. 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
  14. 14. Search engine market share 14 Fonte: http://www.netmarketshare.com Feb 2015, desktop
  15. 15. Search engine market share 15 Fonte: http://www.netmarketshare.com Feb 2015, mobile + tablet
  16. 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. 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. 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
  19. 19. robots.txt: esempio www.domain.com 19 / robots.txt utenti foto about User-agent: Google Disallow /utenti/foto Allow: * Crawl-delay: 20 sec
  20. 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. 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. 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. 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. 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. 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. 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
  27. 27. PageRank: esempio 27
  28. 28. PageRank: esempio 28 7 1 1 6 1 1
  29. 29. PageRank: esempio 29 http://en.wikipedia.org/wiki/PageRank
  30. 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. 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. 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. 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. 34. Risultati della ricerca: semantica 34 Search engine → Answer engine • Google Knowledge Graph - https://youtu.be/mmQl6VGvX-c
  35. 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. 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. 37. SERP: struttura tipica 37 Search box Risultati sponsorizzati Opzioni per la ricerca Risultati "organici" (non influenzati dalle sponsorizzazioni) Google: AdWords
  38. 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”
  39. 39. Google Trends (www.google.com/trends) 39 Vedi http://www.google.com/trends/topcharts?date=2014
  40. 40. Google Ngram viewer (https://books.google.com/ngrams/) 40

×