View
861
Download
0
Category
Preview:
Citation preview
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e
risorse lessicaliRelatori: Laureando:Chiar.mo Prof. Giovanni Semeraro Luigiantonio IONIODott. Cataldo Musto
Dipartimento di InformaticaCorso di Laurea Magistrale in Informatica
BARI, 22/07/2014
2
Sommario
Introduzione Sentiment Analysis
Approcci lessicali Approccio proposto Risultati Sperimentali Conclusioni Sviluppi futuri
3
La quantità di dati che vengono generati quotidianamente dal Web è superiore rispetto a quella che si è in grado di analizzare e gestire.
Di particolare interesse (sociale ed economico) risultano essere i dati estrapolati dai Social Network (Facebook, Twitter, ecc).
Alcuni dati. Ogni minuto: Pubblicati 100.000 Tweet; Condivisi 684.478 stati su Facebook; Caricati 48h di video YouTube.
Information Overload: problema o opportunità?
4
Information Overload: problema o opportunità?
L’obiettivo è quello di trasformare dati ‘grezzi’ presenti sulla rete in dati aggregati interessanti. Concetto: creare «valore» da dati grezzi.
Tendenza: creazione di sistemi complessi in grado di raccogliere ed elaborare dati in maniera automatica. Piattaforme per l’Opinion Mining Algoritmi di Sentiment Analysis
5
Sentiment Analysis
Strumento di indagine che consente di comprendere opinioni, umori e punti di vista presenti in un testo. Noto anche come Opinion Mining.
L’obiettivo è quello di classificare la polarità di un contenuto (testuale o multimediale) come positivo/negativo/neutro.
Attraverso la Sentiment Analysis è possibile determinare i pareri relativi a un prodotto, un film, un ristorante…
6
Approcci alla Sentiment Analysis Approccio lessicale: utilizzo di un dizionario con
informazioni riguardanti la positività/negatività di parole o frasi. La polarità di un testo viene determinata in base alla polarità dei termini che lo compongono.
Pro: Nessun addestramento richiesto.Contro: Basati sulla coerenza del lessico.
Approccio Machine Learning: partendo da esempi pre-etichettati, si addestra un classificatore in grado di predire la polarità di un testo precedentemente non noto.
Pro: Più performanti rispetto agli approcci lessicali.Contro: Lunghi tempi di addestramento; Necessaria
etichettatura manuale.
7
Obiettivi
Valutare l’accuratezza di approcci lessicali per la Sentiment Analysis. Focus: Sentiment Analysis su microblog posts
(es. Twitter)
Confrontare l’efficacia di diversi lessici presenti in letteratura.
8
Approcci lessicali
La polarità di un testo è ottenuta tramite la combinazione della polarità associata ad ogni termine presente nel testo.
Problema: come associare una polarità a un termine?
Soluzione: utilizzo di lessici a stato dell’arte. SentiWordNet WordNet Affect SenticNet MPQA
9
SentiWordNet[1]
Risorsa lessicale per l’Opinion Mining che assegna ad un synset di WordNet tre punteggi sentimentali.
Composto da 117.659 termini inglesi. La somma dei tre punteggi è sempre pari a 1.
[1] http://sentiwordnet.isti.cnr.it/
10
WordNet Affect[2]
Associa ad ogni synset di WordNet differenti categorie affettive disposte in una struttura gerarchica. Es: good benevolence love …
root
La tassonomia presenta più di 200 concetti.
Lo score di un termine viene determinato individuando la polarità in SentiWordnet della prima categoria emozionale associata ad esso a partire dalla più specifica. Es: good benevolence 0.3394
[2] http://wndomains.fbk.eu/wnaffect.html
11
WordNet Affect
12
SenticNet[3]
Fornisce in formato RDF la semantica associata ad oltre 14.000 concetti di uso comune.
Lo score di termine (dominio: [-1, +1]) è indicato esplicitamente nel campo ‘polarity’ del relativo RDF.
[3] http://sentic.net/
13
SenticNet
14
MPQA[4]
Lessico composto da 8.222 termini (definiti ‘clues’).
Classifica ogni termine come ‘positive’, ‘negative’, ‘both’, ‘neutral’.
Es. good polarity = “positive” +1[4] http://mpqa.cs.pitt.edu/
15
APPROCCIO PROPOSTO
16
Approccio proposto La polarità di un testo è pari alla
combinazione delle polarità delle singole microfrasi che lo compongono.
La suddivisione in microfrasi avviene considerando caratteri di interpunzione, congiunzioni ed avverbi.
I don’t like this food. It’s terrible.
“I don't like this food. It's terrible.”
17
Approccio 1: Base
Determina lo score di un Tweet T sommando gli score associati ad ogni termine e normalizzando per il numero di termini presenti nel testo.
T = {m1, m2, …, mn}
Tweet composto da n microfrasi
score del j-esimo termine nella i-esima microfrase
numero di termini presenti nel lessico
18
Approccio 2: Normalizzato Estensione dell’approccio Base. Score complessivo normalizzato rispetto al
numero di microfrasi presenti nel testo.
T = {m1, m2, …, mn}
numero di termini presenti nel lessico numero di microfrasi
19
Approccio 3: Enfasi Incrementa lo score associato ad aggettivi,
avverbi e verbi rispetto alle altre categorie sintattiche. Valutate diverse percentuali di incremento
T = {m1, m2, …, mn}
peso enfasi
numero di termini presenti nel lessico
20
Approccio 4: Enfasi Normalizzato
Combinazione dell’approccio normalizzato con quello ad enfasi.
T = {m1, m2, …, mn}
numero di termini presenti nel lessico numero di
microfrasi
21
RISULTATI SPERIMENTALI
22
Dataset SemEval-2013 (3 classi: positivo, negativo,
neutro)
Stanford Twitter Sentiment (2 classi: positivo, negativo)
Dataset Istanze Positivi Negativi
Neutri Sparsità
Training 8.180 3.056 (37%)
1.200 (15%)
3.924 (48%)
0.999390
test 3.255 1.325 (41%)
495 (15%)
1.435 (44%)
0.998795
Dataset Istanze Positivi Negativi SparsitàTraining 1.580.182 790.400
(50%)789.782 (50%)
0.99984
test 359 182 (51%)
177 (49%)
0.99331
23
Progettazione Utilizzo del training set per apprendere la soglia
ottimale di classificazione dei Tweet. Valutazione degli approcci sul test set
Metriche: Accuratezza
Quesiti di Ricerca1) Qual è la configurazione ottimale che massimizza
l’accuratezza dell’algoritmo con i diversi lessici?2) Qual è il lessico che permette di ottenere i migliori risultati
in termini di accuratezza?Validazione statistica con test di McNemar
24
Risultati Quesito 1
Sentiwordnet SenticNet WordNet-Affect MPQA454749515355575961
Dataset SemEvalAc
cura
tezz
a
25
Risultati Quesito 1
Sentiwordnet SenticNet WordNet-Affect MPQA454749515355575961
Dataset SemEvalAc
cura
tezz
a
26
Risultati Quesito 1
Sentiwordnet SenticNet WordNet-Affect MPQA5658606264666870727476
Dataset STS
Accu
rate
zza
27
Risultati Quesito 1
Sentiwordnet SenticNet WordNet-Affect MPQA5658606264666870727476
Dataset STS
Accu
rate
zza
28
Risultati Quesito 1 Dataset SemEval:
L’introduzione dell’enfasi (classica e normalizzata) migliora i risultati complessivi in 7 degli 8 confronti con un incremento medio del 0.3%;
L’introduzione della normalizzazione ha portato miglioramenti in 2 casi su 4.
Dataset STS: L’enfasi (classica e normalizzata) ha portato miglioramenti in solo 2
confronti; La normalizzazione ha portato miglioramenti in 3 confronti su 4 con
un miglioramento medio dello 0.6%.
Conclusioni: L’enfasi apporta migliorie nel dataset SemEval; La normalizzazione apporta migliorie nel dataset STS.
29SentiWordNet SenticNet WordNetAffect MPQA45
4749515355575961
Dataset SemEval
Risultati Quesito 2
30
SentiWordNet SenticNet WordNetAffect MPQA5658606264666870727476
Dataset STS
Risultati Quesito 2
31
Analisi dei Risultati
SentiWordNet e MPQA sono i lessici migliori per approcci lessicali alla Sentiment Analysis.
WordNet Affect non efficace: l’idea di basare il task di SA solo sull’utilizzo di attributi emozionali non apporta migliorie.
32
Conclusioni
Indipendente dal dominio
Scarsa presenza di lessici in letteratura
Possibilità di definire un proprio lessico
Vincolato dalla coerenza del lessico
Ambiguità del linguaggio naturale
Non richiede addestramento
Buone performance
33
Sviluppi futuri
Combinare i diversi lessici;
Testare nuovi approcci lessicali;
Sfruttare tutte le informazioni fornite dai lessici per perfezionare la classificazione.
34
GRAZIE PER L’ATTENZIONE
35
SentiWordNet Un termine può essere associato a più synset
e quindi a più score. Ogni termine è denotato come ‘termine#n’
dove n indica l’n-esimo significato del termine. Lo score complessivo di un termine è ottenuto
calcolando la media pesata
36
Varianti
Gestione delle Emoticon: ogni emoticon viene considerata discriminante per la polarità di un testo.
Oggettività: un termine che presenta un punteggio complessivo (inteso come somma tra score positivo e negativo) < 0.5 viene considerato NEUTRO.
Tweet Positivi Tweet Negativi:-) :D :) : ) ;) :P =) :( :-( : ( :’(
37
Soglie ottimali Utilizzando il training set dei due dataset si
possono determinare le soglie ottimali ai fini della classificazione.
Classificazione binaria (positivo/negativo): 1 soglia
Classificazione ternaria (positivo/negativo/neutro): 2 soglie
38
Soglie ottimali ed emoticon
SentiW
ordNet
SenticN
et
WordNetA
ffectMPQ
A0
10203040506070
Soglie 0:Soglie ottimali:Soglie ottimali + emoticon
SentiWordNet SenticNet WordNetAffect MPQA0
10
20
30
40
50
60
70
80
Soglie ott:Soglie ott + emo
Classificazione ternaria:•Le soglie ottimali incrementano i risultati•Le emoticon incrementano i risultati
Classificazione binaria:•Le soglie ottimali corrispondono a 0•Le emoticon incrementano i risultati
39
Senza Oggettività VS Oggettività
SentiW
ordne
t
SenticN
et
WordNet
AffectMPQ
AMPQ
A0
10203040506070
Senza OggettivitàOggettività
Senti-Wordnet
SenticNet WordNet Affect
MPQA0
10
20
30
40
50
60
70
80
Senza OggettivitàOggettività
Classificazione ternaria:•L’introduzione della soggettività non comporta migliorie in termini di accuratezza
Classificazione binaria:•L’introduzione della soggettività non comporta migliorie in termini di accuratezza
Recommended