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
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. 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. HTML
• Pro:
• Semplicita’
• Portabilita’
• Contro:
• Applicabilita’ limitata nella sua concezione
originale
• Commistione di presentazione e
contenuto
16. Obiettivo
• dati, dati, dati
• Hard numbers, quantita' verificabili,
datasets, serie storiche.
• Esistono sul web? Esistono in formati aperti
a successive analisi?
17. Come trovarli?
• Ehi, ma il web e’ (quasi) tutto testo!
• Identifichiamo le fonti dati disponibili
• Preferiamo l’utilizzo di informazioni
strutturate
26. 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
35. 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/
36. 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.
37. 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>
38. 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>
39. 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
42. 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.
46. 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.
47. 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.
52. 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
55. 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).
56. 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.
61. 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
65. At the end,
it’s all text...
Introduzione al Text processing e
Text mining
Book of Kells, Trinity College, Dublino
66. 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
67. 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
68. 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
69. 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
70. 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/
71. 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
72. 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.
74. 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.
76. 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.
77. 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.
78. 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?
82. BayesFor
Un caso di studio su
Web crawling e Media monitoring
www.bayesfor.eu
83. 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
84. 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
85. 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
86. 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
89. 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
90. Zandi, Grippa, Bazarnick, Brunori, Frongia, Govoni, Bonazzi, Poster: Media Behavior During 2008
Electoral Campaign: a Web Content Analyis, SUNBELT Annual Conference, San Diego USA