Trend Analysis sui Social Network - I risultati del progetto SenTaClAus

Post on 14-Jan-2017

1,359 views 0 download

transcript

!

Trend Analysis @ SenTaClAus!

Pisa – Dipartimento di Informatica!23/03/2015!

!Luca De Santis – desantis@netseven.it - @lucadex!

!

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!

!

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!

!

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!

!

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!

!

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

!

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

!

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

!

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

!

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

!

•  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ò?!

!

•  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ò?!

!

•  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ò?!

!

•  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  

!

Il lavoro in SenTaClAus!

•  Estensioni della Trend Analysis!–  Miglioramenti nell’efficacia, grazie alle corrispondenti evoluzioni nella

Text Analysis!

–  Nuove analisi (e corrispondenti interfacce grafiche)!•  Link Analysis!

•  Analisi geografiche!

•  Analisi degli Influencers!

•  Sperimentazioni sulla Sentiment Analysis!

–  Si sfrutta la logica di elaborazione “a catena di montaggio” dell’ESB!! Enterprise  Service  Bus  

Immagini © http://ecquire.com/blog/social-media-sales-funnel/ - http://rvtechsolutions.com/socialmediabreakfast/willmar-lakes-area/

Esempi di Trend Analysis: menzioni @Unipisa!

Esempi di Trend Analysis: menzioni @Unipisa!

Esempi di Trend Analysis: menzioni @Unipisa!

Esempi di Trend Analysis: menzioni @Unipisa!

Ricerca #serviziopubblico!

Ricerca #serviziopubblico!

Ricerca #serviziopubblico!

Disambiguazione hashtags !

Link Analysis!

Link Analysis!

Mappe!

Mappe!

!

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

!

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

!

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

!

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!

!

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!

!

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!

!

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!

!

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!

!

Architettura Software!

•  Architettura Multilayer!–  Data Layer: !

•  MariaDB!•  Solr!

–  Presentation!•  PHP/

Symfony!–  Business!

•  ESB !•  Java!•  Enterprise

Integration Pattern!

Logica di elaborazione “a catena di montaggio”!

Logica di elaborazione “a catena di montaggio”!

Logica di elaborazione “a catena di montaggio”!

!

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!

!

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!!

!

http://www.netseven.it!!

http://spaziodati.eu!!

http://www.studioflu.it/!!

http://acube.di.unipi.it/!