Page 21 - Fister jr., Iztok, and Andrej Brodnik (eds.). StuCoSReC. Proceedings of the 2015 2nd Student Computer Science Research Conference. Koper: University of Primorska Press, 2015
P. 21
Tabela 2: Lematizacija z LemmaGen. Tabela 3: Tipiˇcni primeri kako uporabimo emoti-
Izvorna beseda Lematizirano Brez opozoril kone za prikaz sentimenta.
don’t do+not do not Poved Emotikon Sentiment
Don’t Do+not Do not I love my work :-D Okrepitev pozitiven
they’re theybe they be The movie was bad :-D Negacija pozitiven
:-D I got a promotion Samo sentiment pozitiven
- - I love my work Negacija negativen
rih opozori na besede oz. besedne zveze na katere moramo The movie was bad - - Okrepitev negativen
paziti s opozorilnim znakom +. S tem ˇzeli povedati, da je
bila to samo ena beseda oz. besedna zveza pred lematizacijo. I got a promotion - - Samo sentiment negativen
To informacijo uporabimo za bolj uspeˇsno oceno sentimenta.
Nekateri primeri teh besednih zvez so navedeni v tabeli 2. Tabela 4: Pravilnost sentimenta.
3.4 Opravljanje sentimentalne analize besedila Priˇcakovan Ocenjen Pravilnost
Sentimentalno analizo besedila smo opravili s pomoˇcjo dveh > 0,5 > 0,5 Pravilen
orodij za analizo besedila. Prvo izmed takˇsnih orodij, je
OpenNLP [1]. To orodje smo uporabili za doloˇcanje tipa < -0,5 < -0,5 Pravilen
besed, uporabljenih v tweetih (angl. Part-of-Speech taging).
Drugo orodje, s katerim smo si pomagali pri opravljanju sen- > 0,5 < 0,5 Nepravilen
timentalne analize besedila, je SentiWordNet (SWN) [2].
Sentimentalno analizo smo tako opravili, da smo s pomo- < -0,5 > 0,5 Nepravilen
ˇcjo OpenNLP doloˇcili tip besede (npr. pridevnik, glagol...),
ker pa OpenNLP omogoˇca veˇc moˇznosti klasifikacije, kot pa > -0,5 in < 0,5 / Neupoˇstevan
SWN smo morali klasifikacije OpenNLP zdruˇziti v skupine,
ki so se ujemale s tipi besed, ki jih SWN pozna. 3.4.1 Združevanje sentimenta besedila in emotiko-
V tem koraku smo imeli na voljo posamezne besede in tip nov
posamezne besede. S pomoˇcjo teh podatkov je SWN vr-
nil vektor pozitivnega in negativnega sentimenta iskane be- Zdruˇzevanje obeh vrednosti sentimenta smo opravili kot je
sede. Ker pa enaˇcba vektorja SWN dovoljuje tudi izraˇcun opisano v [4]. Za zdruˇzevanje smo predpostavili 6 tipiˇcnih
objektivnega sentimenta (angl. objective), smo lahko dolo- situacij, kot prikazuje tabela 3.
ˇcili tudi objektivnost posameznih besed, kot prikazuje na-
slednja enaˇcba: Kot je prikazano v tabeli 3 smo zdruˇzili vrednosti sentimenta
emotikona in besedila glede na ustrezno situacijo. Situacijo
1 = pozi + negi + obji. (1) smo doloˇcili glede na doloˇceno vrednost sentimenta besedila,
ter emotikona. V kolikor sta oceni besedila in emotikonov
V tej enaˇcbi pozi pomeni pozitivni sentiment i -te besede, enako predznaˇceni, vrednost sentimenta okrepimo. V ko-
negi negativni sentiment i -te besede, ter obji prikazuje likor sta razliˇcno predznaˇceni, vrednost analize sentimenta
objektivni sentiment i -te besede. Na te vrednosti se bomo besedila negiramo. V primeru, da analiza besedila ne poda
v nadaljevanju sklicevali kot na 3-dimenzionalni vektor. vrednosti sentimenta, pa vzmamemo samo vrednost analize
emotikonov. Kot dodatno izboljˇsavo smo tudi tukaj uvedli
Sentiment posameznega tweeta smo doloˇcili s povpreˇcnimi prag minimalne vrednosti sentimenta za posamezno klasifi-
vrednostmi vektorjev besed, ki so se pojavile v tweetu. Kot kacijo.
izboljˇsavo smo doloˇcili prag izrazitosti sentimenta, ki je po-
treben da smo besedo vkljuˇcili v izraˇcun vrednosti pozitiv- 4. REZULTATI EKSPERIMENTA
nega in negativnega sentimenta tweeta. Prag sentimenta
smo izraˇcunali z opazovanjem absolutne razdalje med pozi Najprej smo roˇcno oznaˇcili sentimentalne vrednosti vseh twe-
in negi i -te besede. V kolikor vrednost ni prekoraˇcila praga, etov. Uˇcinkovitost smo ocenili s primerjavo ocenjenega sen-
smo upoˇstevali le njeno objektivno vrednost. timenta ter izraˇcunanega. V primerjavi ustreznosti smo
ignorirali zaokroˇzitveno napako, ob roˇcno doloˇcitvi smo se
Pridobljeni vektor smo nato normalizirali s pomoˇcjo ˇstevila omejili na 5 razliˇcnih vrednosti: {-1,5; -1; 0; 1; 1,5} med-
besed, ki so bile uporabljene pri izraˇcunu posamezne vredno- tem ko so se izraˇcunane vrednosti lahko pojavijo kjerkoli
sti sentimenta. Konˇcni sentiment besedila smo nato dobili v tem intervalu. Iz tega razloga smo preverjali ujemanje
tako, da smo od vrednosti pozitivnega sentimenta odˇsteli sentimenta v predznaku (pozitiven/negativen). Rezutati so
vrednost negativnega sentimenta. Ker pa se ta vrednost prikazali 97,28% uspeˇsnost po metriki F1. Ob pregledu,
nahaja na intervalu med [-1, 1] medtem, ko se vrednosti smo opazili, da uporabniki uporabljajo besedne zveze s ka-
za emotikone nahajajo na intervalu [-1,5, 1,5] smo morali terimi svoj sentiment bolj izrazito izraˇzajo. Iz staliˇsˇca stroja
konˇcno vrednost skalirati z 1,5. Tako smo dobili interval, te besede kot tudi njihove kombinacije ne nosijo velikega po-
kjer vrednosti veˇcje od 0, pomenijo pozitiven sentiment, vre- mena, vendar iz staliˇsˇca uporabnika pa prikazujejo visok na-
dnosti niˇzje od 0 pa pomenijo negativen sentiment. bor informacij. Izbrali smo 43 tovrstnih besednih zvez, ki so
se pojavljale v naˇsem naboru tweetov. Tem besednim zve-
zam smo doloˇcili sentimentalno vrednost, katero smo dodali
predhodno izraˇcunani vrednosti. Po ponovnem pregledu so
rezultati prikazali 98,63% uspeˇsnost s ˇcimer smo ˇstevilo ne-
pravilno razvrˇsˇcenih tweetov zmanjˇsali skoraj za polovico.
StuCoSReC Proceedings of the 2015 2nd Student Computer Science Research Conference 21
Ljubljana, Slovenia, 6 October
Izvorna beseda Lematizirano Brez opozoril kone za prikaz sentimenta.
don’t do+not do not Poved Emotikon Sentiment
Don’t Do+not Do not I love my work :-D Okrepitev pozitiven
they’re theybe they be The movie was bad :-D Negacija pozitiven
:-D I got a promotion Samo sentiment pozitiven
- - I love my work Negacija negativen
rih opozori na besede oz. besedne zveze na katere moramo The movie was bad - - Okrepitev negativen
paziti s opozorilnim znakom +. S tem ˇzeli povedati, da je
bila to samo ena beseda oz. besedna zveza pred lematizacijo. I got a promotion - - Samo sentiment negativen
To informacijo uporabimo za bolj uspeˇsno oceno sentimenta.
Nekateri primeri teh besednih zvez so navedeni v tabeli 2. Tabela 4: Pravilnost sentimenta.
3.4 Opravljanje sentimentalne analize besedila Priˇcakovan Ocenjen Pravilnost
Sentimentalno analizo besedila smo opravili s pomoˇcjo dveh > 0,5 > 0,5 Pravilen
orodij za analizo besedila. Prvo izmed takˇsnih orodij, je
OpenNLP [1]. To orodje smo uporabili za doloˇcanje tipa < -0,5 < -0,5 Pravilen
besed, uporabljenih v tweetih (angl. Part-of-Speech taging).
Drugo orodje, s katerim smo si pomagali pri opravljanju sen- > 0,5 < 0,5 Nepravilen
timentalne analize besedila, je SentiWordNet (SWN) [2].
Sentimentalno analizo smo tako opravili, da smo s pomo- < -0,5 > 0,5 Nepravilen
ˇcjo OpenNLP doloˇcili tip besede (npr. pridevnik, glagol...),
ker pa OpenNLP omogoˇca veˇc moˇznosti klasifikacije, kot pa > -0,5 in < 0,5 / Neupoˇstevan
SWN smo morali klasifikacije OpenNLP zdruˇziti v skupine,
ki so se ujemale s tipi besed, ki jih SWN pozna. 3.4.1 Združevanje sentimenta besedila in emotiko-
V tem koraku smo imeli na voljo posamezne besede in tip nov
posamezne besede. S pomoˇcjo teh podatkov je SWN vr-
nil vektor pozitivnega in negativnega sentimenta iskane be- Zdruˇzevanje obeh vrednosti sentimenta smo opravili kot je
sede. Ker pa enaˇcba vektorja SWN dovoljuje tudi izraˇcun opisano v [4]. Za zdruˇzevanje smo predpostavili 6 tipiˇcnih
objektivnega sentimenta (angl. objective), smo lahko dolo- situacij, kot prikazuje tabela 3.
ˇcili tudi objektivnost posameznih besed, kot prikazuje na-
slednja enaˇcba: Kot je prikazano v tabeli 3 smo zdruˇzili vrednosti sentimenta
emotikona in besedila glede na ustrezno situacijo. Situacijo
1 = pozi + negi + obji. (1) smo doloˇcili glede na doloˇceno vrednost sentimenta besedila,
ter emotikona. V kolikor sta oceni besedila in emotikonov
V tej enaˇcbi pozi pomeni pozitivni sentiment i -te besede, enako predznaˇceni, vrednost sentimenta okrepimo. V ko-
negi negativni sentiment i -te besede, ter obji prikazuje likor sta razliˇcno predznaˇceni, vrednost analize sentimenta
objektivni sentiment i -te besede. Na te vrednosti se bomo besedila negiramo. V primeru, da analiza besedila ne poda
v nadaljevanju sklicevali kot na 3-dimenzionalni vektor. vrednosti sentimenta, pa vzmamemo samo vrednost analize
emotikonov. Kot dodatno izboljˇsavo smo tudi tukaj uvedli
Sentiment posameznega tweeta smo doloˇcili s povpreˇcnimi prag minimalne vrednosti sentimenta za posamezno klasifi-
vrednostmi vektorjev besed, ki so se pojavile v tweetu. Kot kacijo.
izboljˇsavo smo doloˇcili prag izrazitosti sentimenta, ki je po-
treben da smo besedo vkljuˇcili v izraˇcun vrednosti pozitiv- 4. REZULTATI EKSPERIMENTA
nega in negativnega sentimenta tweeta. Prag sentimenta
smo izraˇcunali z opazovanjem absolutne razdalje med pozi Najprej smo roˇcno oznaˇcili sentimentalne vrednosti vseh twe-
in negi i -te besede. V kolikor vrednost ni prekoraˇcila praga, etov. Uˇcinkovitost smo ocenili s primerjavo ocenjenega sen-
smo upoˇstevali le njeno objektivno vrednost. timenta ter izraˇcunanega. V primerjavi ustreznosti smo
ignorirali zaokroˇzitveno napako, ob roˇcno doloˇcitvi smo se
Pridobljeni vektor smo nato normalizirali s pomoˇcjo ˇstevila omejili na 5 razliˇcnih vrednosti: {-1,5; -1; 0; 1; 1,5} med-
besed, ki so bile uporabljene pri izraˇcunu posamezne vredno- tem ko so se izraˇcunane vrednosti lahko pojavijo kjerkoli
sti sentimenta. Konˇcni sentiment besedila smo nato dobili v tem intervalu. Iz tega razloga smo preverjali ujemanje
tako, da smo od vrednosti pozitivnega sentimenta odˇsteli sentimenta v predznaku (pozitiven/negativen). Rezutati so
vrednost negativnega sentimenta. Ker pa se ta vrednost prikazali 97,28% uspeˇsnost po metriki F1. Ob pregledu,
nahaja na intervalu med [-1, 1] medtem, ko se vrednosti smo opazili, da uporabniki uporabljajo besedne zveze s ka-
za emotikone nahajajo na intervalu [-1,5, 1,5] smo morali terimi svoj sentiment bolj izrazito izraˇzajo. Iz staliˇsˇca stroja
konˇcno vrednost skalirati z 1,5. Tako smo dobili interval, te besede kot tudi njihove kombinacije ne nosijo velikega po-
kjer vrednosti veˇcje od 0, pomenijo pozitiven sentiment, vre- mena, vendar iz staliˇsˇca uporabnika pa prikazujejo visok na-
dnosti niˇzje od 0 pa pomenijo negativen sentiment. bor informacij. Izbrali smo 43 tovrstnih besednih zvez, ki so
se pojavljale v naˇsem naboru tweetov. Tem besednim zve-
zam smo doloˇcili sentimentalno vrednost, katero smo dodali
predhodno izraˇcunani vrednosti. Po ponovnem pregledu so
rezultati prikazali 98,63% uspeˇsnost s ˇcimer smo ˇstevilo ne-
pravilno razvrˇsˇcenih tweetov zmanjˇsali skoraj za polovico.
StuCoSReC Proceedings of the 2015 2nd Student Computer Science Research Conference 21
Ljubljana, Slovenia, 6 October