Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

39
Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali Relatori: Laureando: Chiar.mo Prof. Giovanni Semeraro Luigiantonio IONIO Dott. Cataldo Musto Dipartimento di Informatica Corso di Laurea Magistrale in Informatica BARI, 22/07/2014

Transcript of Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

Page 1: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 2: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

2

Sommario

Introduzione Sentiment Analysis

Approcci lessicali Approccio proposto Risultati Sperimentali Conclusioni Sviluppi futuri

Page 3: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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à?

Page 4: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 5: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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…

Page 6: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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.

Page 7: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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.

Page 8: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 9: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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/

Page 10: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 11: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

11

WordNet Affect

Page 12: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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/

Page 13: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

13

SenticNet

Page 14: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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/

Page 15: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

15

APPROCCIO PROPOSTO

Page 16: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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.”

Page 17: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 18: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 19: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 20: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 21: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

21

RISULTATI SPERIMENTALI

Page 22: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 23: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 24: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

24

Risultati Quesito 1

Sentiwordnet SenticNet WordNet-Affect MPQA454749515355575961

Dataset SemEvalAc

cura

tezz

a

Page 25: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

25

Risultati Quesito 1

Sentiwordnet SenticNet WordNet-Affect MPQA454749515355575961

Dataset SemEvalAc

cura

tezz

a

Page 26: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

26

Risultati Quesito 1

Sentiwordnet SenticNet WordNet-Affect MPQA5658606264666870727476

Dataset STS

Accu

rate

zza

Page 27: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

27

Risultati Quesito 1

Sentiwordnet SenticNet WordNet-Affect MPQA5658606264666870727476

Dataset STS

Accu

rate

zza

Page 28: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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.

Page 29: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

29SentiWordNet SenticNet WordNetAffect MPQA45

4749515355575961

Dataset SemEval

Risultati Quesito 2

Page 30: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

30

SentiWordNet SenticNet WordNetAffect MPQA5658606264666870727476

Dataset STS

Risultati Quesito 2

Page 31: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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.

Page 32: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 33: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

33

Sviluppi futuri

Combinare i diversi lessici;

Testare nuovi approcci lessicali;

Sfruttare tutte le informazioni fornite dai lessici per perfezionare la classificazione.

Page 34: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

34

GRAZIE PER L’ATTENZIONE

Page 35: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 36: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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 =) :( :-( : ( :’(

Page 37: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 38: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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

Page 39: Un modello di Semantic Sentiment Analysis basato su tecniche di NLP e risorse lessicali

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