Page 20 - 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. 20
ela 1: Oznaˇcevanje emotikonov talna vrednost.
Simbol Doloˇcen sentiment Vrednost Za iskanje smo uporabili regularne izraze (angl. regular
expresion). Najprej smo uredili emotikone tako, da smo
xS >.> :# Negativno -1 najprej imeli najdaljˇse, nato pa jih zaporedno dodajali v
regularni izraz. S tem smo zagotovili, da se v primeru, da
:’( :@ :[ Negativno -1,5 se zaˇcnejo na enako ˇcrko, najdejo tudi krajˇsi. Najdene emo-
tikone smo omejili tudi glede na predhodni znak. Veliko
l8ˆO >:-) >//< Pozitivno 1 emotikonov je namreˇc sestavljenih tako, da se lahko zame-
nja tudi del normalne besede kot emotikon. To smo reˇsili
:-) n n :D Pozitivno 1,5 tako, da smo za pogoj postavili, da mora biti emotikon na
zaˇcetku vrstice, ali mora biti predhodni znak del drugega
<:3( ) >—ˆ-*< Neznano (odstranjeno) / emotikona, ali pa mora biti predhodni znak neˇcrkovni.
2. SORODNA DELA ”((: DD)|(: D)|(: \))|(: S))”
Primer regularnega izraza za iskanje emotikonov.
V ˇclanku [6] je predstavljen model, ki zdruˇzuje roˇcno ozna-
ˇcene podatke s ˇsumnimi podatki o emotikonih. Uporabili so Za ocenjevanje sentimenta emotikonov v sporoˇcilu, smo poi-
model uˇcen na roˇcno oznaˇcenih podatkih, za glajenje pa so skali njihove ocene sentimenta v bazi, ter nato seˇsteli njihove
bili uporabljeni ˇsumni podatki. vrednosti. To nam je omogoˇcilo natanˇcnejˇsi izraˇcun verje-
tnosti sentimentalne vrednosti in prav tako izloˇciti sporoˇcila
V [4] so sentiment izaˇcunavali iz tweetov in forum sporoˇcil, z enakomernim pozitivnim in negativnim sentimentom oz.,
kjer so imeli slovar besed z oznaˇcenimi sentimenti ter tudi odstraniti nevtralna sporoˇcila.
roˇcno oznaˇcene doloˇcene emotikone. Sentiment so doloˇcali
glede na odstavke, kjer so sentiment uteˇzili s prisotnimi emo- Za namene sentimentalne analize smo pripravili korpus, kjer
tikoni tako, da je sentiment emotikona prevladal nad senti- so bili vsi emotikoni odstranjeni, da smo se izognili napakam
mentom besedila (pozitivno ali negativno glede na razliko pri lematizaciji oz. doloˇcevanju sentimenta besedila.
med sentimentom besedila in sentimentom emotikonov).
3.2 Pridobivanje tweetov
3. POSTOPEK ANALIZE
Sama sporoˇcila druˇzabnega omreˇzja Twitter smo pridobivali
V tem poglavju opisujemo naˇs algoritem za analizo senti- s pomoˇcjo programskega vmesnika (angl. API), ki je na-
menta. Najprej bomo opisali obdelavo emotikonov, saj smo menjen za razvijalce. Vmesnik deluje po arhitekturi REST
le te uporabili v koraku pridobivanja besedil s Twitterja. (angl. Representational State Transfer) preko spletnega pro-
Nato sledi opis algoritma za predobdelavo in analizo senti- tokola HTTP (angl. Hypertext Transfer Protocol) kjer se
menta. Na koncu podajamo ˇse uporabljen naˇcin zdruˇzevanja podatki prenaˇsajo v formatu JSON. Za to komunikacijo smo
sentimentalnih analiz v skupno oceno. uporabili programsko knjiˇznico CoreTweet [10]. Zaradi ome-
jitev obstojeˇcih orodij za analizo slovenskega jezika smo se
3.1 Izgradnja baze sentimentalno oznacˇenih omejili samo na tweete angleˇskega jezika.
emotikonov
Izbrali smo 150 tweeter uporabnikov, ki dokaj pogosto upo-
V namen izboljˇsane analize sentimenta smo ustvarili bazo rabljajo emotikone in od vsakega pridobili 200 najnovejˇsih
emotikonov, ki imajo oznaˇcen sentiment. Naˇsli smo 6 ob- sporoˇcil (omejitev API-ja). Vsa pridobljena sporoˇcila smo
stojeˇcih baz, ki se nahajajo na spletu [3, 7, 8, 9, 11, 12]. zdruˇzili v en korpus in dobili 30.000 razliˇcnih sporoˇcil, te
Uporabili smo format XML, zaradi potrebe po ˇcim laˇzji smo s pomoˇcjo postopka opisanega v prejˇsnjem poglavju fil-
prenosljivosti. Zdruˇzili smo vseh ˇsest baz, pri ˇcemer smo trirali tako, da smo obdrˇzali le tista, ki so dejansko vsebo-
podvojene emotikone odstranili. Vse baze niso imele ozna- vala emotikone z nezanemarljivimi sentimentalnimi uteˇzmi.
ˇcenih sentimentalnih vrednosti, zato smo vse emotikone v Dobili smo 3.041 sporoˇcil, ki so vsebovala emotikone. Sen-
bazi tudi roˇcno oznaˇci, pri ˇcemer smo uporabili za negativni timent teh sporoˇcil so loˇceno ocenili 4 ljudje, avtorji tega
sentiment naslednje vrednosti: -1,5 in -1,0, za emotikone, ˇclanka, ˇstudenti na magistrskem ˇstudiju raˇcunalniˇstva. Te
ki se ne morejo pojavit v kontekstu s pozitivnim sentimen- vrednosti smo nato zdruˇzili v eno referenˇcno oceno.
tom -1,5 in za emotikone s pozitivnim sentimentom, 1,5 in
1,0. Primer oznaˇcenih emotikonov je naveden v tabeli 1. 3.3 Lematizacija besedila
Iz obstojeˇcih baz smo dobili 1411 emotikonov, katere smo Enoliˇcna doloˇcitev sentimentalne ocene besedila je le moˇzna,
roˇcno oznaˇcili. Iz te baze smo odstranili 465 emotikonov, ki ˇce lahko veˇcini posameznih besed znotraj besedila doloˇcimo
ne nosijo sentimentalne vrednosti. Odstraniti smo ˇse emo- sentimentalno oceno ne glede na sklanjatev. Postopku spre-
tikone, katerih se ne da uporabit v korpusih od Twitterja. minjanja besede nazaj v osnovno obliko imenujemo lemati-
Problem namreˇc nastane pri emotikonih, ki se priˇcnejo z zacija oz. krnjenje in besede, ki jih dobimo leme oz. krni.
znakom ”@”, saj se tako oznaˇcujejo osebe, na katere se pisec
sklicuje v tweetu, s ˇcimer smo odstranili nadaljnjih 31 emo- Ker smo ˇzeleli biti neodvisni od spletne povezave smo se od-
tikonov. V konˇcni bazi smo tako dobili 919 emotikonov, ki loˇcili za programsko knjiˇznico za opravljanje tega postopka
so bili primerni za korpuse iz Twitterja in so nosili roˇcno po imenu LemmaGen [5]. Knjiˇznica tudi v doloˇcenih prime-
oznaˇcen sentiment.
V okviru tega dela smo se osredotoˇcili le na sporoˇcila, ki vse-
bujejo emotikone. V vseh sporoˇcilih smo iskali emotikone in
odstranili tista sporoˇcila, ki niso vsebovala emotikonov, ali
so vsebovala emotikone katerim se ni dala doloˇciti sentimen-
StuCoSReC Proceedings of the 2015 2nd Student Computer Science Research Conference 20
Ljubljana, Slovenia, 6 October
Simbol Doloˇcen sentiment Vrednost Za iskanje smo uporabili regularne izraze (angl. regular
expresion). Najprej smo uredili emotikone tako, da smo
xS >.> :# Negativno -1 najprej imeli najdaljˇse, nato pa jih zaporedno dodajali v
regularni izraz. S tem smo zagotovili, da se v primeru, da
:’( :@ :[ Negativno -1,5 se zaˇcnejo na enako ˇcrko, najdejo tudi krajˇsi. Najdene emo-
tikone smo omejili tudi glede na predhodni znak. Veliko
l8ˆO >:-) >//< Pozitivno 1 emotikonov je namreˇc sestavljenih tako, da se lahko zame-
nja tudi del normalne besede kot emotikon. To smo reˇsili
:-) n n :D Pozitivno 1,5 tako, da smo za pogoj postavili, da mora biti emotikon na
zaˇcetku vrstice, ali mora biti predhodni znak del drugega
<:3( ) >—ˆ-*< Neznano (odstranjeno) / emotikona, ali pa mora biti predhodni znak neˇcrkovni.
2. SORODNA DELA ”((: DD)|(: D)|(: \))|(: S))”
Primer regularnega izraza za iskanje emotikonov.
V ˇclanku [6] je predstavljen model, ki zdruˇzuje roˇcno ozna-
ˇcene podatke s ˇsumnimi podatki o emotikonih. Uporabili so Za ocenjevanje sentimenta emotikonov v sporoˇcilu, smo poi-
model uˇcen na roˇcno oznaˇcenih podatkih, za glajenje pa so skali njihove ocene sentimenta v bazi, ter nato seˇsteli njihove
bili uporabljeni ˇsumni podatki. vrednosti. To nam je omogoˇcilo natanˇcnejˇsi izraˇcun verje-
tnosti sentimentalne vrednosti in prav tako izloˇciti sporoˇcila
V [4] so sentiment izaˇcunavali iz tweetov in forum sporoˇcil, z enakomernim pozitivnim in negativnim sentimentom oz.,
kjer so imeli slovar besed z oznaˇcenimi sentimenti ter tudi odstraniti nevtralna sporoˇcila.
roˇcno oznaˇcene doloˇcene emotikone. Sentiment so doloˇcali
glede na odstavke, kjer so sentiment uteˇzili s prisotnimi emo- Za namene sentimentalne analize smo pripravili korpus, kjer
tikoni tako, da je sentiment emotikona prevladal nad senti- so bili vsi emotikoni odstranjeni, da smo se izognili napakam
mentom besedila (pozitivno ali negativno glede na razliko pri lematizaciji oz. doloˇcevanju sentimenta besedila.
med sentimentom besedila in sentimentom emotikonov).
3.2 Pridobivanje tweetov
3. POSTOPEK ANALIZE
Sama sporoˇcila druˇzabnega omreˇzja Twitter smo pridobivali
V tem poglavju opisujemo naˇs algoritem za analizo senti- s pomoˇcjo programskega vmesnika (angl. API), ki je na-
menta. Najprej bomo opisali obdelavo emotikonov, saj smo menjen za razvijalce. Vmesnik deluje po arhitekturi REST
le te uporabili v koraku pridobivanja besedil s Twitterja. (angl. Representational State Transfer) preko spletnega pro-
Nato sledi opis algoritma za predobdelavo in analizo senti- tokola HTTP (angl. Hypertext Transfer Protocol) kjer se
menta. Na koncu podajamo ˇse uporabljen naˇcin zdruˇzevanja podatki prenaˇsajo v formatu JSON. Za to komunikacijo smo
sentimentalnih analiz v skupno oceno. uporabili programsko knjiˇznico CoreTweet [10]. Zaradi ome-
jitev obstojeˇcih orodij za analizo slovenskega jezika smo se
3.1 Izgradnja baze sentimentalno oznacˇenih omejili samo na tweete angleˇskega jezika.
emotikonov
Izbrali smo 150 tweeter uporabnikov, ki dokaj pogosto upo-
V namen izboljˇsane analize sentimenta smo ustvarili bazo rabljajo emotikone in od vsakega pridobili 200 najnovejˇsih
emotikonov, ki imajo oznaˇcen sentiment. Naˇsli smo 6 ob- sporoˇcil (omejitev API-ja). Vsa pridobljena sporoˇcila smo
stojeˇcih baz, ki se nahajajo na spletu [3, 7, 8, 9, 11, 12]. zdruˇzili v en korpus in dobili 30.000 razliˇcnih sporoˇcil, te
Uporabili smo format XML, zaradi potrebe po ˇcim laˇzji smo s pomoˇcjo postopka opisanega v prejˇsnjem poglavju fil-
prenosljivosti. Zdruˇzili smo vseh ˇsest baz, pri ˇcemer smo trirali tako, da smo obdrˇzali le tista, ki so dejansko vsebo-
podvojene emotikone odstranili. Vse baze niso imele ozna- vala emotikone z nezanemarljivimi sentimentalnimi uteˇzmi.
ˇcenih sentimentalnih vrednosti, zato smo vse emotikone v Dobili smo 3.041 sporoˇcil, ki so vsebovala emotikone. Sen-
bazi tudi roˇcno oznaˇci, pri ˇcemer smo uporabili za negativni timent teh sporoˇcil so loˇceno ocenili 4 ljudje, avtorji tega
sentiment naslednje vrednosti: -1,5 in -1,0, za emotikone, ˇclanka, ˇstudenti na magistrskem ˇstudiju raˇcunalniˇstva. Te
ki se ne morejo pojavit v kontekstu s pozitivnim sentimen- vrednosti smo nato zdruˇzili v eno referenˇcno oceno.
tom -1,5 in za emotikone s pozitivnim sentimentom, 1,5 in
1,0. Primer oznaˇcenih emotikonov je naveden v tabeli 1. 3.3 Lematizacija besedila
Iz obstojeˇcih baz smo dobili 1411 emotikonov, katere smo Enoliˇcna doloˇcitev sentimentalne ocene besedila je le moˇzna,
roˇcno oznaˇcili. Iz te baze smo odstranili 465 emotikonov, ki ˇce lahko veˇcini posameznih besed znotraj besedila doloˇcimo
ne nosijo sentimentalne vrednosti. Odstraniti smo ˇse emo- sentimentalno oceno ne glede na sklanjatev. Postopku spre-
tikone, katerih se ne da uporabit v korpusih od Twitterja. minjanja besede nazaj v osnovno obliko imenujemo lemati-
Problem namreˇc nastane pri emotikonih, ki se priˇcnejo z zacija oz. krnjenje in besede, ki jih dobimo leme oz. krni.
znakom ”@”, saj se tako oznaˇcujejo osebe, na katere se pisec
sklicuje v tweetu, s ˇcimer smo odstranili nadaljnjih 31 emo- Ker smo ˇzeleli biti neodvisni od spletne povezave smo se od-
tikonov. V konˇcni bazi smo tako dobili 919 emotikonov, ki loˇcili za programsko knjiˇznico za opravljanje tega postopka
so bili primerni za korpuse iz Twitterja in so nosili roˇcno po imenu LemmaGen [5]. Knjiˇznica tudi v doloˇcenih prime-
oznaˇcen sentiment.
V okviru tega dela smo se osredotoˇcili le na sporoˇcila, ki vse-
bujejo emotikone. V vseh sporoˇcilih smo iskali emotikone in
odstranili tista sporoˇcila, ki niso vsebovala emotikonov, ali
so vsebovala emotikone katerim se ni dala doloˇciti sentimen-
StuCoSReC Proceedings of the 2015 2nd Student Computer Science Research Conference 20
Ljubljana, Slovenia, 6 October