Sentiment analysis

  • View
    47

  • Download
    2

Embed Size (px)

Text of Sentiment analysis

  • Twitter Sentimental AnalysisPagliaro Alessandro

  • Elezioni Comunali Napoli 2016

  • Sentiment Analysis Workflow

  • Per scaricare i tweet in maniera legale possibile utilizzare 3 tipologie di API, attraverso chiavi generate durante la registazione a Twitter secondo il protocollo OAuth.Rest API : permettono di ricavare informazioni sul proprio profilo (tweets, followers, info account ) senza alcuna limitazione temporale.Search API : permettono di cercare qualsiasi tweet con limiti nellindicizzazione (circa 7 giorni).Streaming API : mi permettono di collezionare tutti i tweet che vengono postati in tempo reale.

    About Twitter

  • Tweepy una liberia Python appositamente per le API di TwitterSorgente 1 : Search API

    While Twitter displays no advertising, advertisers can target users based on their history of tweets and may quote tweets in ads directed specifically to the user.*

  • Le Twitter API ufficiali non permettono di accedere a tweets pi vecchi di circa una settimana. Alcuni tools forniti da terze parti permettono di accedere allindicizzazione completa di Twitter (Gnip) ma richiedono dei costi proporzionati al numero di tweets da scaricare. Per evitare tutte queste limitazioni stato usato un crawler. Questo programma si basa sulla normale ricerca che possibile fare attraverso la Twitter Search da browser, infatti, specificando una ricerca e facendo lo scroll della pagine un JSON provider genera tutti i tweet secondo il loro ordine di pubblicazione senza alcuna limitazione temporale.

    Sorgente 2 : Twitter Crawler

  • Query per hashtag e mentions (anche per emoticon) sui candidatiRecupero solo determinati campi (tweetid, username, tetx, date, etc) dagli oggetti JSON relativi ai tweetsMemorizzazione in un CSV definendo il Dataset

    Tweets

  • JSON Tweets

    *

  • Dataset : 1 Maggio/ 9Giugno

  • Hbase un database distribuito column-oriented usato sulla sommit di HDFS.Il suo data model colonnare simile a Google Big Table ed progettato per fornire un acceso rapido in lettura/scrittura ad un enorme quanit di dati memorizzati in HDFS (Hadoop File System).HBase fornisce una scalabilit orizzontale lineare.Possiede meccanismi di failover automatico (reliability, availability)Garantisce letture e scritture consistenti. (timestamp)E scritto in Java ed possibile sfruttarlo attraverso API client Java.Fornisce meccanismi di replicazione dei dati. (HDFS fattore 3 )Nasce perch HDFS consente un accesso solo sequenziale ai dati.

    HBase

  • HBase on HDFS Pseudo-Distribuited ModeSimuliamo larchitettura HBase-HDFS di un sistema distribuito su un unico nodo.

  • Master-Slave : costruito sulla sommit di HDFS, si adatta alla sua architettura e ne sfrutta I benefici di scale out e affidabilit. (HMaster-Namenode e HRegionServer-Datanode).Random access: usa meccanismi in-memory (MemStore) e di log per garantire letture e scritture performanti e affidabili.ColumnOriented data model: memorizza le tabelle per column family in ogni HStore, perci possibile definire un data model che sfrutti I vantaggi di queste tecniche di memorizzazione.Auto-Sharding: allinterno di ogni HRegionServer vengono memorizzate le tabelle per column family in range di row_id ordinati allinterno delle HRegion, man mano che queste si riempiono ne vengono definite di nuove su cui ridistribuire I dati.

    HBase: Pro

  • Hbase : Data Model

    *

  • HBase fornisce 5 operazioni di base sui dati: Put, Get, Delete, Scan e Increment.HBase fornisce sia delle API Java sia altre API di tipo Thrift, Avro, REST e la Shell. (No SQL-like)API Java: Per linserimento dei dati stata usata la classe Put dopo aver creato la HTable, mentre per la lettura la Scan (a cui stato settato un filter sulla data, per poter ottenere i tweet giornalieri su cui ciclare).

    HBase client interface

  • Hbase : Put

  • Hbase: Scan(Filter)

  • Il vocabolario stato ricavato dalla repository GitHub del progetto openNER (Open Polarity Enhanced Name Entity Recognition) che punta al supporto dei tool di natural processing language.https://github.com/opener-project/public-sentiment-lexicons/tree/master/propagation_lexicons/itAttraverso il WordCount in MapReduce sul Dataset contente i tweets sono state recuperati gli hashtag e le emoticon pi utilizzate ed aggiunte al Vocabolario.

    Sentiment: VocabolarioIta

  • Sentiment: VocabolarioIta

  • Apache OpenNLP una libreria open-source di machine learning che permette di elaborare testi in linguaggio naturale.Alcuni delle funzionalit che supporta sono:TokenizationSentence segmentationPart-of-speech taggingNamed entity extractionDocument categorizer

    Sentiment: OpenNLP

  • Questa funzionalit permette di classificare del testo in categorie predefinite, questo possibile attraverso un algoritmo di massima entropia (MaxEnt).

    Lentropia viene usata nel contesto della teoria dellinformazione per misurare lincertezza del contenuto informativo, pi ho incertezza pi ho informazioneLalgoritmo prevede quindi di addestrare il nostro modello con un training set etichettato (VocabolarioIta) con un buon livello di entropia.Nella fase di addestramento del modello possiamo regolare alcuni paramenti (cutoff, iterations).Alla fine delladdestramento, il modello analizzando il singolo tweet capace di classificarlo (positive, negative).openNLP Document Categorizer

  • openNLP Document Categorizer

  • Sentiment: AlgoritmoSelezionando i tweet per ogni candidato e per ogni giorno, stato determinato:Un sentimento non normalizzato e pesato per retweets

    Un sentimento normalizzato e pesato per retweets

    Se non ci sono retweets la formula si riduce a

  • Sentiment: Algoritmo

  • MicroStrategy

    MicroStrategy un provider di soluzioni di BI, mobile software e cloud-based services. Nel Magic Quadrant di Gartnet collocato tra i Visionaries.Fornisce solo soluzioni di BI puro.Si basa su un sistema di OLAP relazionale (ROLAP) che permette agli utenti di analizzare lintero database relazionale a tutti i livelli di granularita. La sua piattaforma di BI permette di ottenere dashboard interattive, scorecard, report altamente formattati, query ad hoc, soglie e alert.

  • Risultati : Eventi influentiPer analizzare i risultati possibile fare riferimento ad una serie di eventi che possono aver condizionato il sentimento in uno dei due modi9 maggio - DeMagistris: Mi hanno strappato la toga ma non possono strapparmi l'anima. Renzi, vattene a casa! Devi avere paura! Ti devi cagare sotto.25/30 maggio - http://www.liberiamonapoli.it/pure-de-magistris-tiene-famiglia/27 maggio - Berlusconi a Napoli per Lettieri3 Giugno - Renzi a Napoli per Valeria Valente

  • Risultati

  • Risultati

  • Risultati

  • CostiTwitterCrawler

    While Twitter displays no advertising, advertisers can target users based on their history of tweets and may quote tweets in ads directed specifically to the user.*

    *

    *