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

Post on 15-Jan-2017

859 views 0 download

Transcript of 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

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