Riccardo Govoni - Search

1,803 views

Published on

Credits:

Section Logos:
--------------
p.1: logo, socialmedialab.net
p.2: http://shelfsphotoblog.wordpress.com/2008/06/18/1-introduction/
p.4: http://www.warriorsofthe.net/ gallery
p. 13: 2-var gaussian distribution, generated by gnuplot
p. 18: O'Reilly Google Hacks Cover, http://oreilly.com/catalog/9780596004477/
p. 31: Q glyph, http://msdn.microsoft.com tech docs
p. 34: http://www.myconfinedspace.com/tag/milhouse/
p. 41: Semantic Rubik's cube: http://www.twine.com/twine/1w3b23v2-6j0/web-3-0-semantic-web
p. 54: http://pcbunn.cacr.caltech.edu/jjb/Synthesizers/Minisonic2/default.htm
p. 60: Blender, http://blendtec.com/
p. 65: Book of Keels portion, http://www.uwo.ca/english/site/archive/confrncs/medievalisms/Abstracts.htm
p. 82: logo, www.bayesfor.eu
p. 92: Oracle HQs, http://www.flickr.com/photos/70276096@N00/148724126/in/photostream/
p. 94: http://commons.wikimedia.org/wiki/File:Minard.png

Section contents and images:
----------------------------
p.4 - p.12 : en.wikipedia.org,
p.13 - p. 17: author-made, bubbl.us
p.18 - p. 30: http://www.google.com/insights/search/, Calorielab.com,
en.wikipedia.org, https://www.google.com/adplanner
p.31 - p. 33: author-made
p.34 - p. 40: microformats.org, en.wikipedia.org,
http://code.google.com/apis/socialgraph/,
http://developer.yahoo.net/blog/archives/2008/12/monkey_finds_microformats_and_rdf.html
p.41 - p. 53: semantic-conference.com, en.wikpedia.org,
http://commons.wikimedia.org/wiki/File:W3c-semantic-web-layers.svg,
creativecommons.org, developer.mozilla.com, intertwingly.net,
www.opencalais.com, gnosis.clearforest.com
p.54 - p.59 : http://apiwiki.twitter.com/, developer.nytimes.com,
http://moritz.stefaner.eu
p. 60 - p.64: pipes.yahoo.com , http://www.programmableweb.com/
p. 65 - p.81: en.wikipedia.org, http://www.ohohlfeld.com/zipf.html,
http://irthoughts.wordpress.com/2008/07/07/understanding-tfidf/,
http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/index.html,
bayesfor.eu, battlehorse.net,
http://www.cs.cmu.edu/~enron/, http://jheer.org/enron/,
http://www.cs.umass.edu/~ronb/enron_dataset.html
p. 82 - p.91: www.bayesfor.eu, www.polisblog.it/cerca/bayesfor
p. 92 - p.93: see links inside presentation
p. 94 - p.95: see links inside presentation

  • Be the first to comment

  • Be the first to like this

Riccardo Govoni - Search

  1. 1. Search Corso di formazione d’Eccellenza in Web 2.0, online business e social media marketing Social Media Lab Universita’ IULM Govoni Riccardo - 28/Apr/2009
  2. 2. Intro Di cosa si parla oggi?
  3. 3. Intro • Il Web, la ricerca quantitativa e l’informazione strutturata • Fonti dati e disponibilita’ • Data & Text mining • Case studies ed esempi
  4. 4. Web An internet firewall, as seen from www.warriorsofthe.net
  5. 5. Breve storia del web • Da 3 terminali a 1.1B utenti • Arpanet e il TCP/IP • Cern e WWW • HTTP ed il modello page-by-page • HTML ed i linguaggi di markup • La crescita esponenziale, i motori di ricerca
  6. 6. HTML • Linguaggio di markup piu’ popolare per contenuti web • prima apparizione nel 1991, formalizzato nel 1993 • E’ de-facto il mattone base del world-wide- web... • ma l’ultima revisione (HTML 4.01) risale al 1999 !
  7. 7. HTML • Pro: • Semplicita’ • Portabilita’ • Contro: • Applicabilita’ limitata nella sua concezione originale • Commistione di presentazione e contenuto
  8. 8. L’esplosione del web
  9. 9. HTML • Perfetto per contenuti testuali • Pessimo per lo scambio dati • Un layer di presentazione di troppo successo Text Data Human Machine
  10. 10. HTML (cont.)
  11. 11. HTML (cont.) <td>1</td> <td> <span class=quot;flagiconquot;> <a href=quot;/wiki/File:Flag_of_Utah.svgquot; class=quot;imagequot; title=quot;Flag of Utah.svgquot;> <img alt=quot;quot; src=quot;http://.../22px-Flag_of_Utah.svg.pngquot; width=quot;22quot; height=quot;15quot; border=quot;0quot; class=quot;thumbborderquot; /> </a> </span> <a href=quot;/wiki/Utahquot; title=quot;Utahquot;>Utah</a> </td> <td>2.50</td>
  12. 12. Altri standard • Cascading Style Sheet (CSS) • Javascript • Flash • eXtensible Markup Language (XML) • Really Simple Syndication (RSS)
  13. 13. Ricerca Quantitativa Dato, Misura, Ripetibilita’, Statistica, Esperimento 2-var normal gaussian distribution
  14. 14. Ricerca Quantitativa
  15. 15. Ricerca Qualitativa
  16. 16. Obiettivo • dati, dati, dati • Hard numbers, quantita' verificabili, datasets, serie storiche. • Esistono sul web? Esistono in formati aperti a successive analisi?
  17. 17. Come trovarli? • Ehi, ma il web e’ (quasi) tutto testo! • Identifichiamo le fonti dati disponibili • Preferiamo l’utilizzo di informazioni strutturate
  18. 18. Searching... Dal testo ai dati
  19. 19. Alcuni esempi • Google Insights for Search • Google Ad Planner
  20. 20. Insights for Search http://www.google.com/insights/search/
  21. 21. Esempi • Seasonality • Brand recognition • Marketing response • Demographics • Sales Trends
  22. 22. Demographics: Obesity
  23. 23. Demographics: Obesity • Google insights for search for obesity - weight loss • http://calorielab.com/news/wp-images/post-images/ fattest-states-2007.gif • http://www.google.com/insights/search/#cat=&q=Weight %20Loss&geo=US&date=&clp=&cmpt=geo
  24. 24. Demographics: Swine Flu
  25. 25. Demographics: Swine Flu • Google insights for search for swine flu • http://en.wikipedia.org/wiki/ 2009_swine_flu_outbreak_in_the_United_States • http://www.google.com/insights/search/#q=swine %20flu&geo=US&date=today%207-d&cmpt=geo
  26. 26. Google Ad Planner
  27. 27. [Un]structured information Why structure matters Never tell a typographer that text is “just text”
  28. 28. Perche’ e’ importante? • Importanza dell’informazione strutturata per l’analisi quantitativa • Gestire l’information overload • Facilitano l’elaborazione automatica • Ripetibilita’ del processo di analisi • Migliore interpretazione del dato: meno soggettivo, piu’ oggettivo.
  29. 29. Text RSS Data Provisioning CSV Microformat Semantic Web API
  30. 30. Microformats Embedding structured info under the hood An example of microchip art. Milhouse on a Sil154CT64 chip
  31. 31. Cosa sono? “Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.” http://microformats.org/
  32. 32. Cosa sono? • Un sistema totalmente compatibile con gli standard esistenti (HTML, XHTML) per arricchire i contenuti web con metadati semantici • Un tentativo per risolvere la commistione tra presentazione e contenuto dell’ HTML. • Ad esempio: contact details, coordinate geografiche, eventi di calendario.
  33. 33. Microformat:geo Informazioni geografiche: http://microformats.org/wiki/geo per l’utente N 37° 24.491 W 122° 08.313 per la macchina <div class=quot;geoquot;> <abbr class=quot;latitudequot; title=quot;37.408183quot;>N 37° 24.491</abbr> <abbr class=quot;longitudequot; title=quot;-122.13855quot;>W 122° 08.313</abbr> </div>
  34. 34. Microformat:xfn Informazioni sociali: http://en.wikipedia.org/wiki/XHTML_Friends_Network per l’utente Riccardo Govoni per la macchina <a href=quot;http://www.battlehorse.net/quot; rel=quot;colleaguequot;> Riccardo Govoni </a>
  35. 35. Search Engines • Yahoo Search Monkey http://developer.yahoo.net/blog/archives/2008/12/monkey_finds_microformats_and_rdf.html • Google Social Graph APIs http://code.google.com/apis/socialgraph/ http://microformats.org/wiki/search-engines
  36. 36. Semantic Web <item rdf:about=quot;http://dbpedia.org/resource/Catquot;>Cat</item> Artwork of the W3C Semantic Web logo
  37. 37. Semantic Web “Semantic technologies include software standards and methodologies that are aimed at providing more explicit meaning for the information that's at our disposal” http://www.semantic-conference.com/primer.html • E’ un set di principi, standard e tecnologie volta a superare la limitazione del web odierno nel discernere presentazione da contenuto. • E’ una forma di fruizione dell’universo di informazioni presenti sul web orientata all’elaborazione da parte di una macchina.
  38. 38. Cos’e’ una lista? E uno stato?
  39. 39. Cos’e’ una lista? <td>1</td> <td> <span class=quot;flagiconquot;> <a href=quot;/wiki/File:Flag_of_Utah.svgquot; class=quot;imagequot; title=quot;Flag of Utah.svgquot;> <img alt=quot;quot; src=quot;http://.../22px-Flag_of_Utah.svg.pngquot; width=quot;22quot; height=quot;15quot; border=quot;0quot; class=quot;thumbborderquot; /> </a> </span> <a href=quot;/wiki/Utahquot; title=quot;Utahquot;>Utah</a> </td> <td>2.50</td>
  40. 40. Le tecnologie in gioco
  41. 41. OWL • Ontologia: una rappresentazione formale di un set di concetti all’interno di un dominio definito e delle relazioni che li collegano • OWL (Web Ontology Language): Linguaggio per la definizione di ontologie.
  42. 42. RDF • RDF (Resource Description Framework): un’insieme di specifiche per la descrizione e modellazione di ‘risorse’ in forma di triple “Soggetto - Predicato - Oggetto” • SPARQL: linguaggio di ricerca per risorse descritte tramite RDF.
  43. 43. RDF: esempio <RDF:RDF xmlns:RDF=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot; xmlns:ANIMALS=quot;http://www.some-fictitious-zoo.com/rdf#quot;> <RDF:Seq about=quot;http://www.some-fictitious-zoo.com/all-animalsquot;> <RDF:li> <RDF:Description about=quot;http://www.some-fictitious-zoo.com/mammals/lionquot;> <ANIMALS:name>Lion</ANIMALS:name> <ANIMALS:species>Panthera leo</ANIMALS:species> <ANIMALS:class>Mammal</ANIMALS:class> </RDF:Description> </RDF:li> <RDF:li> <RDF:Description about=quot;http://www.some-fictitious-zoo.com/arachnids/tarantulaquot;> <ANIMALS:name>Tarantula</ANIMALS:name> <ANIMALS:species>Avicularia avicularia</ANIMALS:species> <ANIMALS:class>Arachnid</ANIMALS:class> </RDF:Description> </RDF:li> <RDF:li> <RDF:Description about=quot;http://www.some-fictitious-zoo.com/mammals/hippopotamusquot;> <ANIMALS:name>Hippopotamus</ANIMALS:name> <ANIMALS:species>Hippopotamus amphibius</ANIMALS:species> <ANIMALS:class>Mammal</ANIMALS:class> </RDF:Description> </RDF:li> </RDF:Seq> </RDF:RDF>
  44. 44. RDF: esempio • http://creativecommons.org/licenses/by/3.0/
  45. 45. FOAF • FOAF (Friend of a Friend): E’ un’ ontologia rivolta alla descrizione di persone e reti sociali.
  46. 46. FOAF example <rdf:RDF xmlns:rdf=quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#quot; xmlns:rdfs=quot;http://www.w3.org/2000/01/rdf-schema#quot; xmlns:foaf=quot;http://xmlns.com/foaf/0.1/quot;> <foaf:Person> <foaf:name>Sam Ruby</foaf:name> <foaf:firstName>Sam</foaf:firstName> <foaf:surname>Ruby</foaf:surname> <foaf:nick>rubys</foaf:nick> <foaf:mbox_sha1sum>703471c6f39094d88665d24ce72c42fdc5f20585</foaf:mbox_sha1sum> <foaf:homepage rdf:resource=quot;http://www.intertwingly.net/quot;/> <foaf:depiction rdf:resource=quot;http://www.intertwingly.net/images/SamR_small.jpgquot;/> <foaf:workplaceHomepage rdf:resource=quot;http://www.ibm.com/quot;/> <foaf:schoolHomepage rdf:resource=quot;http://www.cnu.edu/quot;/> <!-- DJ Adams --> <foaf:knows> <foaf:Person rdf:ID=quot;djquot;> <foaf:givenName>DJ</foaf:givenName> <foaf:surname>Adams</foaf:surname> <foaf:mbox rdf:resource=quot;mailto:dj.adams@pobox.comquot;/> <rdfs:seeAlso rdf:resource=quot;http://www.pipetree.com/~dj/foaf.rdfquot;/> </foaf:Person> </foaf:knows> ...
  47. 47. Case: Open Calais http://www.opencalais.com/ http://viewer.opencalais.com/ • Calais, un progetto Thomson Reuters, e’ un servizio online per la conversione di testo non strutturato in strutture semantiche, utilizzando tecniche di Natural language Processing e Machine Learning. • Esempio: Gnosis • Alternative: KIM - OntoText
  48. 48. Gnosis
  49. 49. API Application Programming Interface Tektronix 556 dual beam spectrum analyzer
  50. 50. API • Il modo migliore per avere accesso a dati strutturati. • Permettono all’utente (programmatore) l’accesso al dato saltando il layer di presentazione (HTML). • Sono ubiquitarie: ricerca, e- commerce, news, finance, reti sociali, photo, mapping, mobile, travel, music, ovunque. • Sono componibili (Mashups).
  51. 51. API • Sono rivolte a “programmatori”, ma ... • Riducono la barriera di accesso all’informazione per chiunque • Rendono possibile l’accesso a sistemi che il singolo non sarebbe in grado di ottenere. • Sono espressione dell’idea di “open communication” come forma di auto- gestione del web. • Sono un esempio digitale di mutua simbiosi.
  52. 52. Twitter API { quot;trendsquot;:{ quot;2009-04-27 22:10:19quot;:[ { quot;queryquot;:quot;quot;Swine Fluquot; OR Fluquot;, quot;namequot;:quot;Swine Fluquot; }, { quot;queryquot;:quot;#swinefluquot;, quot;namequot;:quot;#swinefluquot; }, { quot;queryquot;:quot;Mexicoquot;, quot;namequot;:quot;Mexicoquot; }, { quot;queryquot;:quot;#musicmondayquot;, quot;namequot;:quot;#musicmondayquot; }, { quot;queryquot;:quot;#savechuckquot;, quot;namequot;:quot;#savechuckquot; } http://search.twitter.com/trends/current.json ] }, quot;as_ofquot;:1240870219 }
  53. 53. New York Times APIs http://developer.nytimes.com/docs
  54. 54. NYT elastic lists Text http://moritz.stefaner.eu/projects/elastic-lists/NYT/
  55. 55. Mashups Blending the web together
  56. 56. Mashups • Applicazioni web che combinano dati provenienti da piu’ fonti in una singola funzionalita’ integrata. • Si basano quasi sempre sulle API rese disponibili dai singoli servizi • Offrono a non sviluppatori l’accesso a informazioni strutturate “pre-digerite” • Yahoo pipes (e.g.: Social Media Tracker) • Programmable Web
  57. 57. Yahoo Pipes http://pipes.yahoo.com/pjdonnellywork/5bd39564344cffbc9c9fabbeecec1576
  58. 58. Programmable Web • La risorsa di riferimento, dove aggiornarsi su API e Mashups disponibili
  59. 59. Programmable Web • http://www.liveplasma.com/ • http://dev.benedictoneill.com/bbc/ • http://imagine-it.org/amazong/arbore.php? XMLFileName=0738204315.xml • http://imagine-it.org/amazong/ vissimweb.htm
  60. 60. At the end, it’s all text... Introduzione al Text processing e Text mining Book of Kells, Trinity College, Dublino
  61. 61. Data mining • Il problema dell’information overload • Data mining “is the process of extracting hidden patterns from data” • Il Data mining si divide in 2 rami: Discovery e Prediction • Il Data mining riguarda 4 classi di problemi: Classification, Clustering, Regression, Pattern Inference
  62. 62. Text mining, Information Retrieval • ramo del Data Mining, focalizzato all’estrazione di dati a partire da corpora testuali. • Sottogruppi: text clustering, normalization, entity recognition, summarization, computational linguistics, natural language processing
  63. 63. Zipf distribution Originally, Zipf's law stated that, “in a corpus of natural language utterances, the frequency of any word is roughly inversely proportional to its rank in the frequency table”. http://www.ohohlfeld.com/zipf.html
  64. 64. tf-idf • Le basi della ricerca testuale: • All’interno di un corpo di testo, come distinguere i termini che danno un contributo significativo ad un documento, rispetto ai connettivi? • Valorizzare i termini che appaiono spesso in un documento • Penalizzare i termini che appaiono spesso nell’intero corpus
  65. 65. tf-idf • tf-idf : Term Frequency / Inverse Document Freq. • Term weighting: aij = f(Lij,Gi,Nj) = Lij Gi Nj • Classic tf-idf: http://irthoughts.wordpress.com/2008/07/07/understanding-tfidf/
  66. 66. Clustering • Identificare una struttura in un’insieme di dati non noti a priori. • Organizzare oggetti in gruppi i cui mmbri sono simili secondo una certa metrica. http://home.dei.polimi.it/matteucc/ Clustering/tutorial_html/index.html
  67. 67. Graph Theory • the study of graphs: mathematical structures used to model pairwise relations between objects from a certain collection. • A quot;graphquot; in this context refers to a collection of vertices or 'nodes' and a collection of edges that connect pairs of vertices. A graph may be undirected, meaning that there is no distinction between the two vertices associated with each edge, or its edges may be directed from one vertex to another.
  68. 68. Graph Theory
  69. 69. Graph Theory e Clustering • Entrambe le teorie si basano sul concetto di metrica. Perche’ non sfruttarlo? • Esempio: identificare gruppi all’interno di un network sociale.
  70. 70. Esempio: processing battlehorse.net
  71. 71. Machine learning • Riguarda il disegno e lo sviluppo di algoritmi che permettono ad un computer di migliorare le proprie capacita’ nel tempo, sulla base dei dati a disposizione. • Include numerose discipline usate quotidianamente per gestire l’enorme mole di dati disponibile sul web.
  72. 72. Case study: Enron • Enron ando’ in bancarotta il 2 Dicembre 2001, a seguito di scandali e illegalita’ finanziarie. • Per effetto delle indagini, un corpus di 200.000(*) email riguardanti 150 persone e’ diventato di dominio pubblico: il dataset Enron.
  73. 73. L’analisi quantitativa • Utilizziamo i legami mittente-destinatario per creare grafi di relazioni, da cui estrarre informazioni sociali in base ai volumi di scambio: chi parla con chi? chi agisce da accentratore?
  74. 74. Enron: riferimenti • http://www.cs.cmu.edu/~enron/ • http://jheer.org/enron/ • http://www.cs.umass.edu/~ronb/enron_dataset.html
  75. 75. BayesFor Un caso di studio su Web crawling e Media monitoring www.bayesfor.eu
  76. 76. BayesFor.eu • Un’associazione che si propone di promuovere e realizzare ricerche, studi o sperimentazioni in materia di analisi dei dati e utilizzo di tecniche statistiche • Ha l’obiettivo di fare spidering di fonti sul web con lo scopo di estrarre informazioni, come ad esempio: • Correlazione tra concetti semantici nel tempo • Associazioni tra concetti semantici e publisher • Media bias e relazioni tra informazioni e notizie • Interrelazione tra news, media e mercati finanziari
  77. 77. Come funziona? • Lista di fonti (siti di quotidiani italiani ed esteri, agenzie di stampa, feed rss, etc...) • Lista di topics di interesse, incrementata dinamicamente in base alla popolarita’ • Un motore di crawling web • Un archivio dati con memoria storica dei contenuti analizzati fino ad oggi • Strumenti di analisi statistica e numerica
  78. 78. Volumi • ca. 200 fonti : portali, news websites, feeds • 40000 termini lessicali tracciati giornalmente • 20M di termini identificati negli ultimi 5 mesi • ~ 50Mb di dati giornalieri : come 60 libri di 300 pagine l’uno • ~ 25Gb di dati accumulati da fine 2007, come una biblioteca di 40.000 volumi
  79. 79. Il processo di estrazione Estrazione automatica dei contenuti delle pagine web di Crawling interesse. Archival Archiviazione storica per giorno e per fonte Rimozione della formattazione indesiderata. Pulizia del Cleaning codice HTML e della punteggiatura. Filtering Separazione delle stop-word per ogni lingua analizzata Stemming Identificazione delle radici lessicali e raggruppamento Pesatura dei termini in base a posizione e prominenza Weighting all’interno delle pagine web Indexing Analysis Indicizzazione, ricerca e analisi statistica
  80. 80. Graph theory & News events
  81. 81. Case: Primarie PD True Value Predicted Candidato True Value Predicted Veltroni 75.81% 68.95% Bindi 12.88% 15.47% Letta 11.07% 15.47% Bonazzi A., Brunori P., Govoni R., Lampronti G.I., and Zandi M. Italy 2008 Polls, Web Visibility and Election Results, EDem2008 E-Democracy Conference proceedings, Danube University Krems
  82. 82. Zandi, Grippa, Bazarnick, Brunori, Frongia, Govoni, Bonazzi, Poster: Media Behavior During 2008 Electoral Campaign: a Web Content Analyis, SUNBELT Annual Conference, San Diego USA
  83. 83. Case: 2008 US Presidential Campaign
  84. 84. Web Datasets Dove stanno i dati sul web? Quali datasets sono disponibili? Oracle headquarters, California
  85. 85. Datasets? • Wikipedia Dump: http://download.wikimedia.org/ • il caso Enron: http://www.cs.cmu.edu/~enron/ • Grouplens: http://www.grouplens.org/taxonomy/term/14 • swivel.com , many-eyes.com • http://www.gapminder.org/ • http://www.ted.com/index.php/talks/ hans_rosling_shows_the_best_stats_you_ve_ever_seen.html
  86. 86. J. Minard map of Napoleon’s Russia campaign. ca 1861. Data Visualization Un’immagine vale piu’ di mille parole
  87. 87. Data Visualization • Processing: • http://www.processing.org • http://www.openprocessing.org • Google Visualization APIs • http://code.google.com/apis/visualization/
  88. 88. Thanks

×