Sentiment Analysis & Opinion Mining

ChiaraColombo8 698 views 26 slides Feb 28, 2017
Slide 1
Slide 1 of 26
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26

About This Presentation

Sentiment Analysis & Opinion Mining: un'introduzione ai problemi collegati all'elaborazione automatica del linguaggio.


Slide Content

SENTIMENTANALYSIS&
OPINIONMINING:
UN’INTRODUZIONE
I Social Media incontrano la Linguistica Computazionale

Campi di applicazione
•Brand reputation
•Campagne pubblicitarie ed eventi
•Opinioni sui prodotti
Le aziende possono monitorare (per sé e i concorrenti):
•Opinioni dei votanti e previsioni elettorali
•Opinioni dei politici
•Opinioni dei cittadini
In politica:
•Felicità: cfr. iHappydi Voices from the Blogs, anche su Twittere sulla pagina Felicità
Metriche sociali:
•Film, libri
•Viaggi, hotel, ristoranti
Analisi di basi dati opinion oriented(recensioni):
26/04/2016 2

Una questione di termini legati dalla soggettività
Sentimento
Facoltà e capacità di sentire, in quanto
presuppone una valutazione, un
discernimento (nella sfera etica o
estetica)
Più vicino al sign. di concetto, stima,
opinione
Ogni forma di affetto, di impulso
dell’animo, di movimento psichico, di
emozione
La sfera dei sentimenti, l’affettività
(spesso in contrapp. all’attività
intellettuale, alla ragione)
Opinione
Concetto che una o più persone si
formano riguardo a particolari fatti,
fenomeni, manifestazioni, quando,
mancando un criterio di certezza assoluta
per giudicare della loro natura (o delle loro
cause, delle loro qualità, ecc.), si propone
un’interpretazione personale che si ritiene
esatta e a cui si dà perciò il proprio
assenso
≈avviso, convincimento, convinzione,
giudizio, idea, modo di vedere, parere,
pensiero, posizione, punto di vista, veduta.
↔(dato di) fatto, realtà
Confrontiamo il MerriamWebster
26/04/2016 3

Prima di Facebooke Twitter
1994:
in ambiente linguistico computazionale, nasce l’interesse per il linguaggio della
soggettivitànei testi narrativi.
2001:
per la prima volta, il market sentimentviene analizzato attraverso i messaggi dei bulletin
boardfinanziari. Esiste una relazione statistica reciproca tra le opinioni dei piccoli
investitori e l’andamento del mercato azionario.
L’attenzione è rivolta a identificare la polaritàdel sentimento (positivo,negativo, ev.
neutroovvero assente).
2003:
nasce il termine opinion mining: «[…] the ideal opinion-mining tool would “process a set
of search results for a given item, generating a list of product attributes (quality, features,
etc.) and aggregating opinions about each of them (poor, mixed, good)”».
Il termine si riferisce quindi in particolare all’individuazione delle opinioniespresse circa
diversi aspetti di un prodotto. I testi analizzati sono recensioni online(film, ristoranti,
destinazioni di viaggio, automobili, banche, Epinions), perché si rendono disponibili vasti
corpora facilmente accessibili.
26/04/2016 4

Soggettività e oggettività
Dati e fatti Opinioni personali
Forni a microonde su AmazonForni a microonde su AltroConsumo
26/04/2016 5

SentimentAnalysis e Opinion Mining:
oggetto e sue definizioni
Sentimento(componente di affettività) /Opinione(componente di razionalità)
L’opinione è rappresentata da una quintupla:
1.L’oggettodi cui si parla
2.La caratteristica(attributo, aspetto, feature) dell’oggetto, cui si riferisce l’opinione
3.La polarità(positiva, negativa, neutra o mista) dell’opinione espressa
4.L’opinion holderche esprime l’opinione
5.La datadell’opinione.
Valutazione personaleriguardo a un’entità(oggetto) o un aspetto(feature,
caratteristica) di essa da parte di una fonte (opinion holder).
L’entitàpuò essere un prodotto, una persona, un evento, un’organizzazione
o un argomento (topic).
26/04/2016 6
Liu, Bing. «Sentimentanalysisand opinion
mining». Synthesislectureson human
languagetechnologies5, n. 1 (2012): 1–
167.

Funzioni SA/OM
•P.es. libro = romanzo = testo = racconto = vicenda
Estrazione degli oggetti, ovvero entità, e
associazione delle espressioni alle categorie (=
namedentityrecognition(NER) in information
extraction)
•Espressioni esplicite: sintagmi nominali (Il prezzo è ottimo).
•Espressioni implicite: possono essere ricondotte a sintagmi
nominali (La lavatrice è cara = il prezzo è alto).
Estrazione degli aspetti, ovvero featureo
caratteristiche, e associazione delle
espressioni alle categorie
•ONU = Nazioni Unite = UNO
Estrazione degli opinion holdere loro
categorizzazione
•positivo, negativo, neutro o misto; numerico
Classificazione del sentimento
relativamente alle varie caratteristiche
dell’oggetto
•Riconoscimento dei sinonimi; esplicitazione degli aspetti;
problema della coreferenza (anafora, catafora, deissi);
interpretazione delle negazioni e dell’ironia
Operazioni linguistiche
26/04/2016 7

Tipologia delle opinioni
•Dirette: affermazione che si riferisce direttamente all’oggetto o a un suo aspetto
(Moment è rapidamente efficace).
•Indirette: affermazione da cui è possibile ricavare un’opinione sull’oggetto attraverso
la descrizione dei suoi effetti (Dopo aver preso una pastiglia, il mal di testa è
scomparso in 5 minuti = aspetto implicito di rapidità/efficacia).
Opinioni regolari
•esprimono un confronto di valoretra due oggetti o una preferenza dell’opinion holder
in base a una caratteristica comune agli oggetti. Si esprimono utilizzando il
comparativo o superlativodegli aggettivi o avverbi: Nutella è più buona della
cioccolata; Nutella è il massimo; preferisco l’Oransoda alla Fanta.
Opinioni
comparative
•affermazioni soggettiveche esprimono un’opinione regolare o comparativa (La
Nutella ha un gusto indimenticabile; meglio mangiare l’insalata piuttosto che le
patate).
Opinioni esplicite
•affermazioni oggettiveche implicano un’opinione (Ho la Candy da 10 anni e non si è
mai rotta = aspetto implicito di durata; le Candy a freddo lavano meglio delle Indesit
= aspetto implicito di efficacia e risparmio).
Opinioni implicite
26/04/2016 8

Soggettività, opinioni, emozioni…
•La soggettivitànon implica
sempre l’espressione di un
sentimento(Pensavo che
avrei preso un voto migliore)
•Affermazioni oggettive
possono sottintendere
un’opinione personale
implicita(Gli auricolari non
durano mai più di un mese)
Proposizione oggettiva: dati
o fatti circa un’entità
Proposizione soggettiva:
parere o convinzione
personale
•6 emozioni primarie:
amore, gioia, sorpresa,
rabbia, tristezza e paura
Emozioni sentimenti e
pensieri soggettivi
•l’intensitàdelle prime
influisce sulla forzadei
secondi.
Emozionie
sentimentisono
correlati
26/04/2016 9

… convergono nei giudizi
SAvaluta la soggettività in termini di sentimento positivo o negativo, di cui la componente emotiva
definisce l’intensità.
OMidentifica le valutazioni personali circa oggetti e loro aspetti che possono essere tradotte in
sentimento positivo/negativo di intensità variabile.
Le nostre valutazioni sono fondate su principi razionali e/o emozionali
Valutazione razionale: basata su considerazioni
pratiche, utilitarie, fattuali (La risoluzione dello
schermo è ottima; quest’auto sembra fatta per me).
Valutazione emozionale: basata su reazioni provocate
dalla nostra relazione con noi stessi e col mondo
(Questo profumo mi rilassa; adoro il mio iPhone).
Emozioni, sentimenti e opinioni sono interdipendenti. Le opinioni prese in considerazione per SA/OM
sono di tipo valutativo(esplicito o implicito).
26/04/2016 10

Obiettivi SA/OM
Valutare le opinioni su un argomento di interesse utilizzando tecniche automatiche di Machine Learning, in
particolare:
1.determining the SO-polarityof a text, as in deciding whether a given text has a factual nature(i.e. describes a
given situation or event, without expressing a positive or a negative opinion on it) or expresses an opinionon its
subject matter. This amounts to performing binary text categorization under categories Subjective and Objective;
2.determining the PN-polarityof a text, as in deciding if a given Subjective text expresses a Positive or a
Negative opinionon its subject matter;
3.determining the strength of the PN-polarity of a text, as in deciding e.g., whether the Positive opinion expressed
by a text on its subject matter is Weakly Positive, Mildly Positive, or Strongly Positive;
4.extracting opinions from a text, as in determining whether a given linguistic expression within a text conveys an
opinion or not, and (if positive) determining who holds this opinion, who or what is the object of this opinion, and
what type of opinionit is.
26/04/2016 11
Esuli, Andrea, e Fabrizio Sebastiani. «SentiWordNet: A high-coveragelexical
resourcefor opinion mining». Technical Report 2007-TR-02. Pisa: Istituto di
Scienza e Tecnologie dell’Informazione, Consiglio Nazionale delle Ricerche, 2007.

Riassumendo
26/04/2016 12
TestoOggettività Soggettività
Opinioni implicite Opinioni esplicite
OpinionMining
SentimentAnalysis
AffettivitàRazionalità
Aspetti
Opinion
Holder
Entità
Polarità
Positiva
Neutra
Negativa
Mista
Sintagma
Periodo
Documento

Discipline coinvolte
•Information Extraction(IE)
•Information Retrieval(IR)
•Text Clustering/Classification(TC)
•Text Summarization(TS)
Text Mining
•Analisi testuale
•Annotazione linguistica
•Lessicografia computazionale
•Statistica linguistica
Linguistica
Computazionale/TAL
26/04/2016 13

Processo di elaborazione
Tokenizzazione
Stemming
POS Tagging
Chunking
Objective
Subjective
Positive
Negative
Neutral
Mixed
26/04/2016 14
Rambocas, Meena, e JoãoGama. «The Role of Sentiment
Analysis». FEP Working Papers, n. 489 (aprile2013).

Granularità dell’analisi
•individua se un documento è soggettivo e se l’opinione globale espressa è positiva,
negativa o mista (neutra).Documento
•valuta se ogni singolo periodo di un documento è soggettivo e quale sia la sua
polarità.Periodo
•valuta l’orientamento delle opinioni considerando sintagmi ovvero n-grammi.Sintagma
•in questo caso si considera la singola caratteristica dell’oggetto, indipendentemente
dal livello sintattico. Un sistema per estrarre automaticamente gli aspetti è di
considerare come tali i sintagmi nominali di alta frequenza.
Aspetto
•si considera la polarità delle parole a priori, ovvero fuori da qualsiasi contesto, per
creare risorse lessicali semanticamente orientate.Parola
•si considera la polarità di ciascuna accezione di un termine.Polisemia
26/04/2016 15

Featurelinguistiche applicate a SA/OM
•IR/TC: frequenzae densità(indice tf-idf) servono a determinare entità e
aspetti.
•La presenza(hapax legomena) identifica le espressioni sentimentoriented.
•La posizione(marcata, a inizio/fine periodo) è indice di soggettività.
Presenza/frequenza
•N-grammifavoriscono il riconoscimento di collocati, ovvero cooccorrenze
di parole con frequenza superiore alla media delle probabilità (freddo
polare, non antartico o siberiano; prezzo equo, non adeguato o
equilibrato).
Sintagmi
•Disambiguare gli omografi(amare v./amare agg.)
•Riconoscere sintagmi maggiormente portatori di soggettività (aggettivie
avverbip.es.) e identificare sequenze sintattiche(n-grammi), quali p.es.
A+N, ADV+A, N+A
POS (part-of-speech tagging
= annotazione morfologica)
•Parsingsintattico: utile per riconoscere la funzione dei polarityreverser
ovvero sentimentshifterquali negazioni, intensificatori, modificatori.
Sintassi
•Vocabolari del sentimento: aggettivie avverbi; anche sostantivi(orrore,
spazzatura, strazio) e verbi (amare, odiare); espressioni idiomatiche
(costare un occhio, non valere una cicca)
Lessico
26/04/2016 16

Alcuni esempi
POS Tagging
Open Xerox LinguisticTools
Analisi testuale
VoyantTools 2.0
NLP APIs and Python NLTK Demos
26/04/2016 17

Principali metodi SA/OM
Apprendimento automatico
supervisionato
Sistema di Machine Learningcon classificazione
Training setannotato (featureslide 16) e classificato
spesso manualmente (etichette: positivo, negativo,
neutro)
Test set solamente annotato
Classificatoreaddestrato sul training set/test set viene
applicato a testi nuovi annotati
Naive Bayes Classifier: sistema probabilistico di inferenza
Macchine a vettori di supporto SVM: applica un modello
probabilistico a nuovi input
Apprendimento automatico non
supervisionato
Tecniche di orientamento semantico con clusterizzazione
Vocabolari binari: termini con etichetta positivo/negativo
Vocabolari fuzzy: le etichette hanno anche un indice di
intensità
Vocabolari manuali
Vocabolari automatici a partire da seedwords
positivi/negativi e loro cooccorrenze(cong.
coordinanti/avversative, negazioni, polarityreverser)
WordNet/ SentiWordNet
26/04/2016 18

Riassumendo
26/04/2016
JesusSerrano-Guerreroet al., «Sentiment
analysis: A reviewand comparative analysis
of web services», Information Sciences311
(agosto 1, 2015): 18–38.
Dizionari manuali o automatici
Cooccorrenzacon seedwords
Training set classificato

Sinergia sintattico-semantica
Sistema non supervisionato applicato alle
recensioni sul sito Epinions
•Fase 1: POS-taggingdel testo
•Fase 2: estrazione di bigrammiin base a modelli sintattici. Sost. e v. definiscono il contesto
semantico per valutare la polarità in base agli agg. e avv. (freni imprevedibili trama imprevedibile).
•Fase 3: l’orientamento semantico dei bigrammiviene valutato in base alla loro associazione con i
termini di riferimentoexcellent(= 5 stelle) e poor(= 1 stella), applicando un algoritmo (PMI-IR) che
calcola la dipendenza statistica tra 2 termini. I valori PMI dei singoli bigrammivengono ottenuti in
base alla frequenza delle loro cooccorrenzecoi termini di riferimentoricavata da una ricerca su
Altavistautilizzando l’operatore NEAR.
•Fase 4: la media dei valori di orientamento semantico dei bigrammipresenti nelle singole recensioni
indica la loro polarità anche in termini di gradazione positivae negativa.
26/04/2016 20
Turney, Peter D. «Thumbs up or thumbs down?: semantic orientation
applied to unsupervised classification of reviews». In Proceedings of the
40th annual meeting on association for computational linguistics, 417–24.
Association for Computational Linguistics, 2002.

WordNet
WordNetè consultabile alla pagina
WordNetSearch-3.1
DataBaselessicalerealizzato dall’Università di Princetona partire dagli anni
’80
Comprende sostantivi, verbi, aggettivie avverbi.
Sono organizzati in 117.000 synsets, ovvero insiemi di sinonimi cognitivi.
Ciascun synsetesprime un concetto distinto: ciascuna accezione di un
termine è associato a un synsetindividuale.
I synsetsono collegati da una rete di relazioni semantico-concettuali e
lessicali.
Le principali relazioni sono: iperonimia, iponimia, meronimia.
Gli aggettivisono organizzati in coppie di antinomi; i termini polari a loro
volta sono legati ai loro sinonimi (antonimi indirettidel termine polare).
Aggettivi relazionali (pertainyms) puntano ai sostantivida cui derivano
(criminal-crime).
26/04/2016 21

SentiWordNet
Spin off di
WordNet,
sviluppato nel
2006presso l’ISTI-
CNRdi Pisa, ormai
alla versione 3.1
Aggiunge ai synset
un indice di
sentimentobasato
su una tripla di
valori:
positivo, negativo,
oggettivo, la cui
sommaè sempre
pari a 1.
Procedimento
•Set base manuale: 6
termini positivi{1,0,0};
6 termini negativi
{0,1,0}
•Attraverso i link
semantici dei termini
base, altri termini
vengono indicizzati
sulla base delle loro
relazioni semantico-
concettuali.
SentiWordNet
contiene 28.428
synset/ 39.066
termini individuali
•10.263 aggettivi
•2.455 avverbi
•13.150 sostantivi
•2.560 verbi
26/04/2016 22
Esuli, Andrea, e Fabrizio Sebastiani. «SentiWordNet: A high-coveragelexical
resourcefor opinion mining». Technical Report 2007-TR-02. Pisa: Istituto di
Scienza e Tecnologie dell’Informazione, Consiglio Nazionale delle Ricerche,
2007.

Spieghiamo meglio
Termini seminali
Esempio di tripla
posSent=1virtuous,upright,decent,fortunate,nice,good
negSent=1badness,denigrating,hapless,libellous,pathetic,negative
Synonymlist PositiveratingNegativeratingObjectiverating
Casual,everyday posSent=0.375negSent=0.125 obj=0.5
Heartsick,heartbrokenposSent=0.0 negSent=0.625 obj=0.375
26/04/2016 23

Distribuzione delle triple
26/04/2016 24

Un indice per ciascuna accezione
26/04/2016 25

Un esempio concreto
Considering the sentence The film, however, is all good. that is stemmed,
stop words are removed. The resulting string is ‘film good’. These two
words are searched in SentiWordNet for corresponding synsets.
Input term ‘film’: synsets with positivity = 0, negativity = 0, objectivity = 1.
Input term ‘good’: 33 synset entries. After summing up the different scores
and dividing the sum by the number of synsets, the resulting values are:
positivity = 0.57, negativity = 0.03, objectivity = 0.4.
The sentence score tripleresults from summing up the score triple of each
term and dividing each score by the number of considered terms. The
resulting triple for this sentence is: positivity = 0.285, negativity = 0.015,
objectivity = 0.7.
The mentioned procedure results in a triple of {positivity, negativity,
objectivity}-values for each sentence. To determine a score-triple for a
document, the sentence score triples are added and normalized by the
number of sentences.
26/04/2016 26
Denecke, Kerstin. «Using SentiWordNetfor multilingual sentiment
analysis», 507–12. IEEE, 2008.