Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CrowdPulse

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

 CrowdPulse

CrowdPulse: un sistema Reattivo ed Estendibile per Estrazione e Analisi di Contenuti Sociali

Progetto di Tesi per Informatica Magistrale in "Accesso Intelligente all'Informazione ed Elaborazione del Linguaggio Naturale".

Avatar for Francesco Pontillo

Francesco Pontillo

December 17, 2015

Other Decks in Programming

Transcript

  1. Corso di Laurea Magistrale in Informatica – A. A. 2014-2015

    CrowdPulse un Sistema Reattivo ed Estendibile per Estrazione e Analisi di Contenuti Sociali Tesi in Accesso Intelligente all’Informazione ed Elaborazione del Linguaggio Naturale Relatori: Prof. Giovanni SEMERARO Prof. Cataldo MUSTO Laureando: Francesco PONTILLO Matricola 600119
  2. twitter 320M utenti attivi/mese 1B visite uniche/giorno 500M+ tweet/giorno (2014)

    Grafo hub-and-spoke fra profili Hashtag -> argomenti facebook 1.55B utenti attivi/mese 1.01B utenti attivi/giorno Grafo di peer fra profili Appartenenza a gruppi Espressioni di “like” per pagine Social Network: quanti dati? (2006)1 (2004)2 1 https://blog.twitter.com/2014/the-2014-yearontwitter 2 http://newsroom.fb.com/company-info/ 00010
  3. Opportunità di business MONITORAGGIO AZIENDALE RILEVAMENTO TEMATICHE ANALISI IN TEMPO

    REALE URBAN PROFILING User engagement Reazioni ad annunci Sondaggi su prodotti Tagging semantico Categorizzazioni Wikipedia Notizie dal mondo Sondaggi politici Eventi sportivi, musicali Hot triggers Localizzazione utenti Sentiment generale In tempo reale o meno Costruzione HateMap Rilevamento problematiche Topic di interesse attuale 00011
  4. CrowdPulse è un sistema reattivo ed estendibile per l’estrazione e

    l’analisi di contenuti provenienti da social network.
  5. CrowdPulse: cosa fa? Può estrarre contenuti testuali da social network

    Facilmente estendibile per qualsiasi contenuto Può profilare le utenze • Singolarmente • In un grafo di “amicizie” Gestisce la geo-localizzazione(accurata e approssimata) Orientato all’analisi testuale e semantica • Tokenization, lemmatization • Tagging, categorizzazione Passi altamente parametrizzabili Soddisfa tutti i requisiti di business visti in precedenza (e altri ancora)! 00101
  6. 3 http://reactivex.io/ 4 http://www.reactivemanifesto.org/ CrowdPulse: come funziona? 00110 Estendibile: aggiungere

    un plugin non comporta la ri-compilazione del sistema • Compilazione nuovo plugin • Aggiunta al classpath Flussi di dati fra nodi (RxJava)3 4 • Messaggi • Profili Configurabile: passi come nodi di un grafo (JSON) Estrazione messaggi Profilazione utenti Tagging Estrazione Profilazione utenti Persistenza su disco Localizzazione utenti Tagging semantico Stampa messaggi
  7. CrowdPulse: plugin sviluppati 00111 SOCIAL Estrazione messaggi e risposte Estrazione

    profili e connessioni Localizzazione messaggi e profili TEXT Rilevamento lingua Rimozione stop word Indicizzazione testuale Tokenization POS-tagging Lemmatizzazione Tagging semantico Estrazione categorie Wikipedia Sentiment Analysis (supporto) EXTRAS Generazione infografiche Infogr.am Notifiche email
  8. Plugin di estrazione messaggi 01000 query lista di disgiunzioni geoLocationBox

    longitudine, latitudine, raggio (km) from/to/references autore, destinatario, utenti citati language/locale lingua e locale del messaggio geo: 16.866667, 41.125278, 20km lang: it since: 2015- 12-10 query: bari since/until range di date
  9. Plugin di tagging semantico Tagging semantico dei messaggi nel flusso

    • TagMe • OpenCalais • Babelfy • WikipediaMiner Elaborazioni dirette sui tag: • Rimozione di stop- tag • Visualizzazioni (torta, barre, cloud) 01001
  10. Plugin di sentiment analysis Associazione “sentiment” ai messaggi 01010 (UNIBA)5

    SENTIT SENTIWORDNET Italiano e inglese Associazione di score a lemmi singoli Calcolo dello score totale del messaggio 5 UNIBA at EVALITA 2014-SENTIPOLC Task: Predicting tweet sentiment polarity combining micro-blogging, lexicon and semantic features (Basile, Novielli) (TRAMITE MULTIWORDNET) Italiano Fortemente orientato ai tweet
  11. Casi d’uso: generalità ESTRAZIONE messaggi PROFILAZIONE utenti autori Tokenization messaggi

    POS-tagging e semplificazione Lemmatizzazione dei token Tagging semantico Rimozione di stop-word (tag e token) Estrazione categorie Wikipedia (da tag) Rimozione di stop-word (categorie) SENTIMENT ANALYSIS 01100 1 2 3 4 5 6 7 8 9 10
  12. Casi d’uso: esecuzioni 01101 HATE MAP Tag/word cloud Timeline ESECUZIONI

    PARAMETRIZZATE Omofobia Sessismo Islamofobia Xenofobia Offese verso disabili Antisemitismo PERIODO DI ESECUZIONE Dal 20 agosto 2015 Al 24 settembre 2015 SESSISMO 503,626 ISLAMOFOBIA 295,712 OFFESE A DISABILI 103,929 ANTISEMITISMO 32,652 XENOFOBIA 30,012 15,054 OMOFOBIA TOTALE 980,985
  13. Casi d’uso: Paris 10000 Esecuzione “streaming” del sistema CrowdPulse Durata

    dell’esecuzione di ~7 ore (stop manuale) Paris #fusillade RISULTATI 283,133 QUERY DI RICERCA RANGE TEMPORALE 2015-11-13 23:27:38 UTC 2015-11-14 00:17:35 UTC circa 50 minuti di informazioni circa 95 tweet al secondo
  14. Risultati ottenuti 10100 MODALITÀ STREAMING Fire and forget Estrarre dati

    non filtrati Posticipare le decisioni sulle analisi GESTIONE DELLA BACKPRESSURE Performance stabili nel tempo Analisi nell’ordine di MILIONI DI MESSAGGI No crash improvvisi, errori controllati MODULARITÀ ED ESTENDIBILITÀ Aggiunta PLUGIN semplice e guidata Nessuna necessità di ricompilazione Testabilità in isolamento per ogni plugin CONFIGURABILITÀ Grafo di plugin definibile a compile-time Grafo di plugin come JSON a runtime CONFRONTI Più plugin per uno stesso compito STATISTICHE generate per ogni plugin
  15. Sviluppi futuri Ottimizzazione GRAFO VICINANZE fra utenti Sperimentazione con BASE

    DATI RELAZIONALE Miglioramento dei parametri di configurazione “default” UNIT TEST di tutti i moduli (~80% code coverage) Autenticazione e autorizzazione per applicativo Web Sperimentazione tramite esecuzioni su SISTEMI CLOUD Analisi oltre il testo audio foto (riconoscimento entità) video CONFRONTO con altri recenti sistemi Google TensorFlow Google Cloud DataFlow 10101