Presentazione del prototipo per la Trend Analysis, sviluppato da Net7 nel progetto SenTaClAus, finanziato dalla Regione Toscana nell'ambito del programma POR-CReO 2007-13.
SenTaClAus, un acronimo che sta per “Sentiment Tagging & Clustering Analysis on web & social contents” ha visto la partecipazione di Net7, anche azienda coordinatrice, SpazioDati, StudioFlu e del gruppo Advanced Algorithms and Applications (A3) del Dipartimento di Informatica dell’Università di Pisa.
Per informazioni sul progetto: http://sentaclaus.netseven.it/
Trend Analysis sui Social Network - I risultati del progetto SenTaClAus
1. !
Trend Analysis @ SenTaClAus!
Pisa – Dipartimento di Informatica!
23/03/2015!
!
Luca De Santis – desantis@netseven.it - @lucadex!
2. !
In principio… era il Social Proxy!!
• Nasce da l’esigenza di
COOP Italia di
integrare i propri
sistemi con i Social
Network!
– Non a caso proxy…!
– 2010 inizio
progettazione!
– 2011 primo rilascio!
• Enfasi su funzionalità
“editoriali”!
• Business Logic
implementata via ESB!
3. !
In principio… era il Social Proxy!!
• Nasce da l’esigenza di
COOP Italia di
integrare i propri
sistemi con i Social
Network!
– Non a caso proxy…!
– 2010 inizio
progettazione!
– 2011 primo rilascio!
• Enfasi su funzionalità
“editoriali”!
• Business Logic
implementata via ESB!
4. !
In principio… era il Social Proxy!!
• Nasce da l’esigenza di
COOP Italia di
integrare i propri
sistemi con i Social
Network!
– Non a caso proxy…!
– 2010 inizio
progettazione!
– 2011 primo rilascio!
• Enfasi su funzionalità
“editoriali”!
• Business Logic
implementata via ESB!
5. !
In principio… era il Social Proxy!!
• Nasce da l’esigenza di
COOP Italia di
integrare i propri
sistemi con i Social
Network!
– Non a caso proxy…!
– 2010 inizio
progettazione!
– 2011 primo rilascio!
• Enfasi su funzionalità
“editoriali”!
• Business Logic
implementata via ESB!
6. !
• Regole parametriche per
recuperare contenuti da molteplici
fonti!
– Facebook (pagine, accounts, gruppi, ricerca,
timeline dell’utente)!
– Twitter (ricerca, ricerca geografica, accounts,
timeline dell’utente)!
– Instagram (ricerca, ricerca geografica,
accounts, timeline dell’utente)!
– LinkedIn (gruppi, companies, persone,
aggiornamenti del network)!
– YouTube (ricerche, canali) !
– Foursquare (tips delle venues)!
– Pinterest (utenti, boards)!
– Feed RSS/Atom (siti web, blog)!
• I contenuti recuperati possono
essere indicizzati su un motore di
ricerca locale (Apache Solr) per
ulteriori filtraggi.!
Versione 2.0 – Funzionalità di ascolto!
7. !
• Regole parametriche per
recuperare contenuti da molteplici
fonti!
– Facebook (pagine, accounts, gruppi, ricerca,
timeline dell’utente)!
– Twitter (ricerca, ricerca geografica, accounts,
timeline dell’utente)!
– Instagram (ricerca, ricerca geografica,
accounts, timeline dell’utente)!
– LinkedIn (gruppi, companies, persone,
aggiornamenti del network)!
– YouTube (ricerche, canali) !
– Foursquare (tips delle venues)!
– Pinterest (utenti, boards)!
– Feed RSS/Atom (siti web, blog)!
• I contenuti recuperati possono
essere indicizzati su un motore di
ricerca locale (Apache Solr) per
ulteriori filtraggi.!
Versione 2.0 – Funzionalità di ascolto!
8. !
• Regole parametriche per
recuperare contenuti da molteplici
fonti!
– Facebook (pagine, accounts, gruppi, ricerca,
timeline dell’utente)!
– Twitter (ricerca, ricerca geografica, accounts,
timeline dell’utente)!
– Instagram (ricerca, ricerca geografica,
accounts, timeline dell’utente)!
– LinkedIn (gruppi, companies, persone,
aggiornamenti del network)!
– YouTube (ricerche, canali) !
– Foursquare (tips delle venues)!
– Pinterest (utenti, boards)!
– Feed RSS/Atom (siti web, blog)!
• I contenuti recuperati possono
essere indicizzati su un motore di
ricerca locale (Apache Solr) per
ulteriori filtraggi.!
Versione 2.0 – Funzionalità di ascolto!
9. !
• Regole parametriche per
recuperare contenuti da molteplici
fonti!
– Facebook (pagine, accounts, gruppi, ricerca,
timeline dell’utente)!
– Twitter (ricerca, ricerca geografica, accounts,
timeline dell’utente)!
– Instagram (ricerca, ricerca geografica,
accounts, timeline dell’utente)!
– LinkedIn (gruppi, companies, persone,
aggiornamenti del network)!
– YouTube (ricerche, canali) !
– Foursquare (tips delle venues)!
– Pinterest (utenti, boards)!
– Feed RSS/Atom (siti web, blog)!
• I contenuti recuperati possono
essere indicizzati su un motore di
ricerca locale (Apache Solr) per
ulteriori filtraggi.!
Versione 2.0 – Funzionalità di ascolto!
10. !
• Regole parametriche per
recuperare contenuti da molteplici
fonti!
– Facebook (pagine, accounts, gruppi, ricerca,
timeline dell’utente)!
– Twitter (ricerca, ricerca geografica, accounts,
timeline dell’utente)!
– Instagram (ricerca, ricerca geografica,
accounts, timeline dell’utente)!
– LinkedIn (gruppi, companies, persone,
aggiornamenti del network)!
– YouTube (ricerche, canali) !
– Foursquare (tips delle venues)!
– Pinterest (utenti, boards)!
– Feed RSS/Atom (siti web, blog)!
• I contenuti recuperati possono
essere indicizzati su un motore di
ricerca locale (Apache Solr) per
ulteriori filtraggi.!
Versione 2.0 – Funzionalità di ascolto!
11. !
• Usare strumenti di Named Entity Extraction per identificare i
concetti nel testo!
– Uso di TagMe!!
• Nasce il servizio di Trend Analysis!
• Analisi in tempo pressoché reale: identifico i concetti man
mano che recupero i post!
Come fare una sintesi di tutto ciò?!
12. !
• Usare strumenti di Named Entity Extraction per identificare i
concetti nel testo!
– Uso di TagMe!!
• Nasce il servizio di Trend Analysis!
• Analisi in tempo pressoché reale: identifico i concetti man
mano che recupero i post!
Come fare una sintesi di tutto ciò?!
13. !
• Usare strumenti di Named Entity Extraction per identificare i
concetti nel testo!
– Uso di TagMe!!
• Nasce il servizio di Trend Analysis!
• Analisi in tempo pressoché reale: identifico i concetti man
mano che recupero i post!
Come fare una sintesi di tutto ciò?!
14. !
• Usare strumenti di Named Entity Extraction per identificare i
concetti nel testo!
– Uso di TagMe!!
• Nasce il servizio di Trend Analysis!
• Analisi in tempo pressoché reale: identifico i concetti man
mano che recupero i post!
Come fare una sintesi di tutto ciò?!
Conce&o
X
Conce&o
Z
28. !
• Tecnica ispirata dall’articolo
Identification of influential spreaders in
complex networks (Kitsal et al, 2010)!
– Il grado con cui una persona riesce a
diffondere qualcosa (anche un virus!)
non dipende tanto dal numero dei suoi
collegamenti ma da dove è posizionata
nel grafo. !
– Se si trova al centro diffonde molto di
più di una in periferia, anche se
quest'ultima ha molti più contatti.!
– Inoltre le persone nel centro diffondono
con la stessa efficacia,
indipendentemente dai collegamenti
che hanno.!
Analisi degli influencers!
29. !
• Tecnica ispirata dall’articolo
Identification of influential spreaders in
complex networks (Kitsal et al, 2010)!
– Il grado con cui una persona riesce a
diffondere qualcosa (anche un virus!)
non dipende tanto dal numero dei suoi
collegamenti ma da dove è posizionata
nel grafo. !
– Se si trova al centro diffonde molto di
più di una in periferia, anche se
quest'ultima ha molti più contatti.!
– Inoltre le persone nel centro diffondono
con la stessa efficacia,
indipendentemente dai collegamenti
che hanno.!
Analisi degli influencers!
30. !
• Tecnica ispirata dall’articolo
Identification of influential spreaders in
complex networks (Kitsal et al, 2010)!
– Il grado con cui una persona riesce a
diffondere qualcosa (anche un virus!)
non dipende tanto dal numero dei suoi
collegamenti ma da dove è posizionata
nel grafo. !
– Se si trova al centro diffonde molto di
più di una in periferia, anche se
quest'ultima ha molti più contatti.!
– Inoltre le persone nel centro diffondono
con la stessa efficacia,
indipendentemente dai collegamenti
che hanno.!
Analisi degli influencers!
31. !
Sentiment Analysis!
• Sperimentazione fatta utilizzando
sia i risultati di SenTaClAus che
servizi commerciali!
– Integrazione servizi AlchemyAPI!
– Integrazione Sentistrength!
• Risultati… luci e ombre!
– Necessita di tanti dati: sconsigliata
per “conversazioni” con pochi post!
– Adatta solo a contesti di
conversazione “generalistici”!
– Necessità di configurare bene le
fonti; decidere bene come e
quando applicarla!
32. !
Sentiment Analysis!
• Sperimentazione fatta utilizzando
sia i risultati di SenTaClAus che
servizi commerciali!
– Integrazione servizi AlchemyAPI!
– Integrazione Sentistrength!
• Risultati… luci e ombre!
– Necessita di tanti dati: sconsigliata
per “conversazioni” con pochi post!
– Adatta solo a contesti di
conversazione “generalistici”!
– Necessità di configurare bene le
fonti; decidere bene come e
quando applicarla!
33. !
Sentiment Analysis!
• Sperimentazione fatta utilizzando
sia i risultati di SenTaClAus che
servizi commerciali!
– Integrazione servizi AlchemyAPI!
– Integrazione Sentistrength!
• Risultati… luci e ombre!
– Necessita di tanti dati: sconsigliata
per “conversazioni” con pochi post!
– Adatta solo a contesti di
conversazione “generalistici”!
– Necessità di configurare bene le
fonti; decidere bene come e
quando applicarla!
34. !
Sentiment Analysis!
• Sperimentazione fatta utilizzando
sia i risultati di SenTaClAus che
servizi commerciali!
– Integrazione servizi AlchemyAPI!
– Integrazione Sentistrength!
• Risultati… luci e ombre!
– Necessita di tanti dati: sconsigliata
per “conversazioni” con pochi post!
– Adatta solo a contesti di
conversazione “generalistici”!
– Necessità di configurare bene le
fonti; decidere bene come e
quando applicarla!
35. !
Sentiment Analysis!
• Sperimentazione fatta utilizzando
sia i risultati di SenTaClAus che
servizi commerciali!
– Integrazione servizi AlchemyAPI!
– Integrazione Sentistrength!
• Risultati… luci e ombre!
– Necessita di tanti dati: sconsigliata
per “conversazioni” con pochi post!
– Adatta solo a contesti di
conversazione “generalistici”!
– Necessità di configurare bene le
fonti; decidere bene come e
quando applicarla!
40. !
Validazione!
• 3 tipologie di focus group !
• Funzionale!
– Questionario sui servizi del sistema!
– Target: utenti, clienti!
• Architetturale!
– Evoluzioni, in particolare in ottica di
elaborazione di Big Data!
– Partner tecnici per possibili progetti!
• Marketing!
– Modalità di proposizione del servizio, analisi
della concorrenza!
– Consulenti aziendali!
41. !
Lessons Learned!
• Punti di forza!!
• Posizionamento non ottimale!
– Report finale più apprezzato di piattaforma di analisi!
• Architettura facilmente estendibile per processare grandi quantità
di dati!
– Da ESB ad Apache Storm!
– Da DB relazionali a DB NOSQL!
– Da Solr ad ElasticSearch!
• Sentiment is… King!!