Riccardo Govoni - Search
-
Upload
social-media-lab -
Category
Education
-
view
1.383 -
download
4
description
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> </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
Search Engines
• Yahoo Search Monkeyhttp://developer.yahoo.net/blog/archives/2008/12/monkey_finds_microformats_and_rdf.html
• Google Social Graph APIshttp://code.google.com/apis/socialgraph/
http://microformats.org/wiki/search-engines
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> </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:[email protected]"/> <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
Yahoo Pipes
http://pipes.yahoo.com/pjdonnellywork/5bd39564344cffbc9c9fabbeecec1576
Programmable Web
• La risorsa di riferimento, dove aggiornarsi su API e Mashups disponibili
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
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