Riccardo Govoni - Search

Post on 14-Dec-2014

1.383 views 4 download

description

Credits:Section Logos:--------------p.1: logo, socialmedialab.netp.2: http://shelfsphotoblog.wordpress.com/2008/06/18/1-introduction/p.4: http://www.warriorsofthe.net/ galleryp. 13: 2-var gaussian distribution, generated by gnuplotp. 18: O'Reilly Google Hacks Cover, http://oreilly.com/catalog/9780596004477/p. 31: Q glyph, http://msdn.microsoft.com tech docsp. 34: http://www.myconfinedspace.com/tag/milhouse/p. 41: Semantic Rubik's cube: http://www.twine.com/twine/1w3b23v2-6j0/web-3-0-semantic-webp. 54: http://pcbunn.cacr.caltech.edu/jjb/Synthesizers/Minisonic2/default.htmp. 60: Blender, http://blendtec.com/p. 65: Book of Keels portion, http://www.uwo.ca/english/site/archive/confrncs/medievalisms/Abstracts.htmp. 82: logo, www.bayesfor.eup. 92: Oracle HQs, http://www.flickr.com/photos/70276096@N00/148724126/in/photostream/p. 94: http://commons.wikimedia.org/wiki/File:Minard.pngSection contents and images:----------------------------p.4 - p.12 : en.wikipedia.org, p.13 - p. 17: author-made, bubbl.usp.18 - p. 30: http://www.google.com/insights/search/, Calorielab.com, en.wikipedia.org, https://www.google.com/adplannerp.31 - p. 33: author-madep.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.comp.54 - p.59 : http://apiwiki.twitter.com/, developer.nytimes.com, http://moritz.stefaner.eup. 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.htmlp. 82 - p.91: www.bayesfor.eu, www.polisblog.it/cerca/bayesfor p. 92 - p.93: see links inside presentationp. 94 - p.95: see links inside presentation

Transcript of Riccardo Govoni - Search

SearchCorso di formazione d’Eccellenza in Web 2.0, online

business e social media marketing

Social Media LabUniversita’ IULM

Govoni Riccardo - 28/Apr/2009

IntroDi cosa si parla oggi?

Intro

• Il Web, la ricerca quantitativa e l’informazione strutturata

• Fonti dati e disponibilita’

• Data & Text mining

• Case studies ed esempi

Web

An internet firewall, as seen from www.warriorsofthe.net

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

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 !

HTML

• Pro:

• Semplicita’

• Portabilita’

• Contro:

• Applicabilita’ limitata nella sua concezione originale

• Commistione di presentazione e contenuto

L’esplosione del web

HTML• Perfetto per contenuti testuali

• Pessimo per lo scambio dati

• Un layer di presentazione di troppo successo

Text

Human

Data

Machine

HTML (cont.)

HTML (cont.)<td>1</td><td> <span class="flagicon"> <a href="/wiki/File:Flag_of_Utah.svg" class="image" title="Flag of Utah.svg"> <img alt="" src="http://.../22px-Flag_of_Utah.svg.png" width="22" height="15" border="0" class="thumbborder" /> </a>&#160;</span> <a href="/wiki/Utah" title="Utah">Utah</a></td><td>2.50</td>

Altri standard

• Cascading Style Sheet (CSS)

• Javascript

• Flash

• eXtensible Markup Language (XML)

• Really Simple Syndication (RSS)

Ricerca QuantitativaDato, Misura, Ripetibilita’, Statistica, Esperimento

2-var normal gaussian distribution

Ricerca Quantitativa

Ricerca Qualitativa

Obiettivo

• dati, dati, dati

• Hard numbers, quantita' verificabili, datasets, serie storiche.

• Esistono sul web? Esistono in formati aperti a successive analisi?

Come trovarli?

• Ehi, ma il web e’ (quasi) tutto testo!

• Identifichiamo le fonti dati disponibili

• Preferiamo l’utilizzo di informazioni strutturate

Searching...Dal testo ai dati

Alcuni esempi

• Google Insights for Search

• Google Ad Planner

Insights for Search

http://www.google.com/insights/search/

Esempi

• Seasonality

• Brand recognition

• Marketing response

• Demographics

• Sales Trends

Demographics: Obesity

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

Demographics: Swine Flu

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

Google Ad Planner

[Un]structured informationWhy structure matters

Never tell a typographer that text is “just text”

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.

Text

Data ProvisioningCSV

Microformat

API

Semantic Web

RSS

MicroformatsEmbedding structured info under the hood

An example of microchip art. Milhouse on a Sil154CT64 chip

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/

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.

Microformat:geoInformazioni geografiche: http://microformats.org/wiki/geo

<div class="geo"> <abbr class="latitude" title="37.408183">N 37° 24.491</abbr> <abbr class="longitude" title="-122.13855">W 122° 08.313</abbr></div>

N 37° 24.491 W 122° 08.313

per l’utente

per la macchina

Microformat:xfnInformazioni sociali: http://en.wikipedia.org/wiki/XHTML_Friends_Network

<a href="http://www.battlehorse.net/" rel="colleague"> Riccardo Govoni</a>

Riccardo Govoni

per l’utente

per la macchina

Semantic Web<item rdf:about="http://dbpedia.org/resource/Cat">Cat</item>

Artwork of the W3C Semantic Web logo

Semantic Web

• 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.

“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

Cos’e’ una lista? E uno stato?

Cos’e’ una lista?<td>1</td><td> <span class="flagicon"> <a href="/wiki/File:Flag_of_Utah.svg" class="image" title="Flag of Utah.svg"> <img alt="" src="http://.../22px-Flag_of_Utah.svg.png" width="22" height="15" border="0" class="thumbborder" /> </a>&#160;</span> <a href="/wiki/Utah" title="Utah">Utah</a></td><td>2.50</td>

Le tecnologie in gioco

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.

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.

RDF: esempio<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ANIMALS="http://www.some-fictitious-zoo.com/rdf#">

<RDF:Seq about="http://www.some-fictitious-zoo.com/all-animals"> <RDF:li> <RDF:Description about="http://www.some-fictitious-zoo.com/mammals/lion"> <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="http://www.some-fictitious-zoo.com/arachnids/tarantula"> <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="http://www.some-fictitious-zoo.com/mammals/hippopotamus"> <ANIMALS:name>Hippopotamus</ANIMALS:name> <ANIMALS:species>Hippopotamus amphibius</ANIMALS:species> <ANIMALS:class>Mammal</ANIMALS:class> </RDF:Description> </RDF:li> </RDF:Seq></RDF:RDF>

RDF: esempio

• http://creativecommons.org/licenses/by/3.0/

FOAF

• FOAF (Friend of a Friend): E’ un’ ontologia rivolta alla descrizione di persone e reti sociali.

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:foaf="http://xmlns.com/foaf/0.1/"><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="http://www.intertwingly.net/"/> <foaf:depiction rdf:resource="http://www.intertwingly.net/images/SamR_small.jpg"/> <foaf:workplaceHomepage rdf:resource="http://www.ibm.com/"/> <foaf:schoolHomepage rdf:resource="http://www.cnu.edu/"/>

<!-- DJ Adams --> <foaf:knows> <foaf:Person rdf:ID="dj"> <foaf:givenName>DJ</foaf:givenName> <foaf:surname>Adams</foaf:surname> <foaf:mbox rdf:resource="mailto:dj.adams@pobox.com"/> <rdfs:seeAlso rdf:resource="http://www.pipetree.com/~dj/foaf.rdf"/> </foaf:Person> </foaf:knows>...

FOAF example

Case: Open Calais

• 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

http://viewer.opencalais.com/http://www.opencalais.com/

Gnosis

APIApplication ProgrammingInterface

Tektronix 556 dual beam spectrum analyzer

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).

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.

Twitter API{ "trends":{ "2009-04-27 22:10:19":[ { "query":"\"Swine Flu\" OR Flu", "name":"Swine Flu" }, { "query":"#swineflu", "name":"#swineflu" }, { "query":"Mexico", "name":"Mexico" }, { "query":"#musicmonday", "name":"#musicmonday" }, { "query":"#savechuck", "name":"#savechuck" } ] }, "as_of":1240870219}

http://search.twitter.com/trends/current.json

New York Times APIs

http://developer.nytimes.com/docs

NYT elastic lists

Text

http://moritz.stefaner.eu/projects/elastic-lists/NYT/

MashupsBlending the web together

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

Programmable Web

• La risorsa di riferimento, dove aggiornarsi su API e Mashups disponibili

At the end, it’s all text...Introduzione al Text processing e Text mining

Book of Kells, Trinity College, Dublino

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

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

Zipf distributionOriginally, 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

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

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/

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

Graph Theory

• the study of graphs: mathematical structures used to model pairwise relations between objects from a certain collection.

• A "graph" 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.

Graph Theory

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.

Esempio: processing battlehorse.net

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.

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.

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?

Enron: riferimenti

• http://www.cs.cmu.edu/~enron/

• http://jheer.org/enron/

• http://www.cs.umass.edu/~ronb/enron_dataset.html

BayesForUn caso di studio suWeb crawling e Media monitoring

www.bayesfor.eu

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

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

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

Il processo di estrazione

CrawlingEstrazione automatica dei contenuti delle pagine web di interesse.

Archival Archiviazione storica per giorno e per fonte

CleaningRimozione della formattazione indesiderata. Pulizia del codice HTML e della punteggiatura.

Filtering Separazione delle stop-word per ogni lingua analizzata

Stemming Identificazione delle radici lessicali e raggruppamento

WeightingPesatura dei termini in base a posizione e prominenza all’interno delle pagine web

Indexing Analysis Indicizzazione, ricerca e analisi statistica

Graph theory & News events

Candidato True Value Predicted

Veltroni 75.81% 68.95%

Bindi 12.88% 15.47%

Letta 11.07% 15.47%

Case: Primarie PDTrue Value Predicted

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

Zandi, Grippa, Bazarnick, Brunori, Frongia, Govoni, Bonazzi, Poster: Media Behavior During 2008 Electoral Campaign: a Web Content Analyis, SUNBELT Annual Conference, San Diego USA

Case: 2008 US Presidential Campaign

WebDatasetsDove stanno i dati sul web?Quali datasets sono disponibili?

Oracle headquarters, California

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

Data VisualizationUn’immagine vale piu’ di mille parole

J. Minard map of Napoleon’s Russia campaign. ca 1861.

Data Visualization

• Processing:

• http://www.processing.org

• http://www.openprocessing.org

• Google Visualization APIs

• http://code.google.com/apis/visualization/

Thanks