Approcci per l'estrazione del Sentiment da Social Network
1. APPROCCI PER L’ESTRAZIONE
DEL SENTIMENT DA COMMENTI
PROVENIENTI DA SOCIAL NETWORK:
STUDIO DI UN CASO
UNIVERSITÀ DEGLI STUDI DI SALERNO
FACOLTÀ DI INGEGNERIA
CORSO DI LAUREA IN INGEGNERIA INFORMATICA
Candidato:
LEONARDO OLIVA
Relatore:
Ing. FRANCESCO COLACE
2. Motivazioni
Comprendere le problematiche connesse
all’analisi automatica del sentimento e gli
strumenti utilizzabili a tal fine
Individuare una tecnica adatta a rilevare il
sentimento di una pagina Facebook
Progettare un’applicazione semplice ed intuitiva
per l’acquisizione del sentimento
3. Trattazione generale
Introduzione alla Sentiment Analysis
Stato dell’arte
Obiettivo dell’elaborato
Descrizione del flusso di lavoro che porta
all’estrazione del sentimento
Descrizione dell’architettura alla base
dell’applicazione realizzata
Conclusioni
4. Introduzione
Capillare diffusione dei social media
Dovuta soprattuto all’enorme diffusione di Internet
nel mondo
Secondo i dati aggiornati al 30 Giugno 2014, più di 3
miliardi di individui accedono alla rete
Importante ruolo nella società contemporanea
Accesso facilitato alle informazione ed ampie
opportunità di comunicazione
5. Introduzione (II)
Quantità enorme di informazioni
I dati presenti in rete, opportunamente raccolti ed
analizzati, permettono non solo di capire e
spiegare fenomeni sociali complessi, ma anche di
prevederli.
Problematiche riscontrate
Vastità delle informazioni, di cui solo una parte,
rilevante.
Approcci quantitativi non sufficienti se presi da
soli
Contare, ad esempio, il numero di like di un post su
Facebook non produce nessun risultato
particolarmente utile in termine di sentiment
6. Introduzione (III)
Unire approcci quantitativi e qualitativi per
comprendere il sentiment di una frase
Sentiment Analysis
L’insieme di processi finalizzati a trovare
automaticamente la polarità espressa da alcuni
documenti
7. Metodi per la S.A.
Sentiment Analysis su due dimensioni
Tipologia di analisi:
Analisi non supervisionata: individuare
raggruppamenti tra dati in uno spazio, e quindi
associargli delle classi, incognite a priori
Analisi supervisionata: le classi semantiche sono
note a priori o vengono identificate tramite
codifica umana su un sottoinsieme di testi
(Training Set)
8. Metodi per la S.A.
Raggruppamento:
Analisi individuale: quando si effettua la stima di
un singolo commento appartenente al Test Set,
utilizzando le informazioni del Training Set.
Analisi aggregata: aggregazione dei risultati in un
singolo risultato
9. Obbiettivi
Progettare e sviluppare un software per
l’acquisizione e la classificazione in base al
sentimento di commenti provenienti dal social
network Facebook
Il software deve fornire un output di semplice
comprensione
Applicazione di facile utilizzo ed immediata
10. Strumenti di sviluppo
Ambiente e linguaggio
Java Development Kit versione 8
Eclipse Studio versione 4.4
Librerie di supporto
GraphAPI e RestFB
Weka
13. Addestramento del modello
Apprendimento supervisionato
Creazione del TrainingSet usando commenti
scaricati da diverse pagine Facebook attraverso
le GraphAPI
TrainingSet formato da 600 commenti classificati
manualmente in base al sentimento
14. Addestramento del modello (II)
Pre-Elaborazione dei commenti
Estrazione delle emoticon e loro conteggio
Adattamento del TrainingSet affinché potesse essere
fornito al modello di regressione logistica bayesiana
Addestramento attraverso Weka
19. Conclusioni
In questo elaborato ho investigato le principali
tecniche per la Sentiment Analysis
La tecnica risultata più efficace nel contesto in
cui è stata adottata è la regressione logistica
bayesiana
Possibili sviluppi futuri sono l’adozione di
tecniche originali basate sull’approccio del
Natural Language Processing
Editor's Notes
Lo studio di un caso considerato è stato quello di applicare la tecnica utilizzata, per l’estrazione del sentiment da pagine Facebook
Le principali motivazioni che hanno spinto allo svillopo questo elaborato sono state quelle di comprendere le problematiche….
Nella trattazione generale dell’elaborato vedremo una breve introduzione alla Sentiment Analysis e le attuali tecniche descritte nello stato dell’arte.
L’obiettivo dell’elaborato è quello di descrivere il flusso di lavoro che porta all’estrazione del sentimento da brevi commenti E DUNQUE l’architettura alla base dell’applicazione realizzata.
In questi ultimi anni abbiamo assistito ad una capillare diffusione dei social media, dovuta soprattutto all’enorme diffusione di internet nel mondo. Infatti secondo recenti dati sono ben 3 miliardi le persone connesse alla rete.
Ciò ha conferito al web un importante ruolo nella società, in quanto ha reso un accesso facilitato alle informazioni e ha permesso ampie opportunità di comunicazione
Ciò ha ovviamente generato un’enorme quantità di informazioni. I dati presenti in rete infatti, se opportunamente raccolti ed analizzati, permettono non solo di capire e spiegare fenomeni sociali complessi, ma anche di prevederli.
Le problematiche che si riscontrano in questo processo sono ovviamente dovute alla vastità delle informazioni, di cui solo una piccola parte è rilevante.
Ciò rende gli approcci quantitativi non sufficienti se presi singolarmente.
Infati se ci limitassimo a contare, ad esempio, il numero di like di un post facebook, ciò non produrebbe nessun risultato particolarmente utile in termine di sentiment.
E’ dunque necessario unire sia gli approcci quantitativi che quelli qualitativi per capire il sentiment di una frase.
La Sentiment Analysis è dunque quell’insieme di processi
La Sentiment Analysis spazia su due dimensioni differenti. La prima riguarda la tipologia.
Analisi non Supervisionata che si occupa di individuare raggruppamenti tra dati rappresentati in uno spazio, e quindi associare a tali raggruppamenti delle classi, che sono incognite a priori.
Analisi Supervisionata: le classi semantiche (ad esempio positivo o negativo) sono note a priori o vengono identificate tramite codifica manuale su un sottoinsieme di testi, che solitamente formerà il Training Set
La seconda dimensione è quella del raggruppamento dei dati.
Nell’analisi individuale si effettua la stima di un singolo commento appartenente al test set, utilizzando le informazioni del training set.
Nell’analisi aggregata si ha l’unione dei risultati in modo tale da produrne un singolo
GraphAPI e RestFB con le quali è possibile interfacciarsi con il grafo sociale di Facebook
Weka, libreria open-source che mette a disposizione fra le altre cose numerosi metodi di classificazione.
Il modello considera to in questo elaborato è la regressione logistica Bayesiana.
Il flusso di lavoro è quello che possiamo vedere nel grafico. Il commento passa attraverso una serie di filtri che sono degli applicativi che pre-elaborano il commento stesso per renderlo compatibile con l’implementazione della regressione logistica in weka , esso viene classificato ed infine abbiamo il sentiment.
L’addestramento del modello passa attraverso un apprendimento supervisionato.
Anzitutto si è creato il trainingset utilizzando commenti scaricati da diverse pagine Facebook attraverso le GraphAPI.
Il TrainingSet è formato da 600 commenti classificati manualmente in base al sentimento (RICORDA!!)
In seguito è stata necessaria una Pre-Elaborazione dei commenti per l’estrazione delle emoticon e del loro conteggio in modo che potessero avere un peso in base al sentimento espresso. Inoltre il TrainingSet è stato adattato in una forma compatibile per WEKA. In particolare sono stati applicati due tipi di filtri: uno ha trasformato le frasi in vettori di parole rappresentate come interi, ed un secondo è stato usato per selezionare le parole più rilevanti in base ad un valore di soglia.
Possiamo osservare come la reg. log. Bayesiana in questo scenario ha ottenuto il risultato migliore, di poco superiore alle SVM. Decisamente peggiori gli altri classificatori, in particolare quelli basati sugli alberi di decisione.
Il secondo test è stato realizzato effettuando una Cross-validazione a 10 Fold
Infine vi presento l’interfaccia utente dell’applicazione sviluppata che si divide in 3 schede, la prima dove è possibile effettuare l’accesso al proprio account facebook, la seconda dove vengono presentate le pagine a cui l’utente è iscritto e sulle quali è possibile estrarre il sentiment, e l’ultima scheda che è dedicata alla presentazione del risultato.
Concludo il mio elaborato sostenendo di aver approfondito le principali tecniche di Sentiment Analysis. La più efficace nel contesto in cui è stata adottata è la regressione logistica bayesiana.
I possibili sviluppi futuri sono l’adozione di tecniche originali basate sull’approccio NLP.