Master Rad Igor Jovin r116 2015 Rev2

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 84

УНИВЕРЗИТЕТ У НОВОМ САДУ

ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА У


НОВОМ САДУ

Игор Јовин

Анализа перформанси алгоритама


машинског учења приликом
аутоматског одређивања сентимента
Твитер порука

МАСТЕР РАД

Нови Сад, 2017


УНИВЕРЗИТЕТ У НОВОМ САДУ ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА
21000 НОВИ САД, Трг Доситеја Обрадови ћа 6

КЉУЧНА ДОКУМЕНТАЦИЈСКА ИНФОРМАЦИЈА

Редни број, РБР:


Идентификациони број, ИБР:
Тип документације, ТД: Монографска публикација
Тип записа, ТЗ: Текстуални штампани
Текстуални штампани документ
документ
Дипломски-мастер рад
Врста рада, ВР: Дипломски-мастер рад
Аутор, АУ: Игор Јовин
Ментор, МН: др. Александар Ковачевић
Наслов рада, НР: Анализа перформанси алгоритама машинског учења приликом
аутоматског одређивања сентимената Твитер порука
Језик публикације, ЈП: Српски (латиница)
Језик извода, ЈИ: Српски (ћирилица)
Земља публиковања, ЗП: Република Србија

Уже географско подручје, УГП: Војводина

Година, ГО: 2017

Издавач, ИЗ: Факултет техничких наука

Место и адреса, МА: Нови Сад, Факултет техничких наука, Трг Доситеја Обрадовића 6

Физички опис рада, ФО: 5/70/54/25/4/1/0


(поглавља/страна/ цитата/табела/слика/графика/прилога)

Научна област, НО: Примењене рачунарске науке и информатика

Научна дисциплина, НД: Системи за истраживање и анализу података


Предметна одредница/Кључне речи, ПО: Системи за инстраживање и анализу података; Класификација текста;,
Твитер сентимент анализа;
УДК
Чува се, ЧУ: Библиотека Факултета техничких наука, Трг Доситеја Обрадовића 6
Важна напомена, ВН:
Извод, ИЗ: У раду је представљено истраживање о перформансама различитих алгоритама
за машинско учење приликом сентимент анализе података на Твитеру. За сваки
алгоритам испитан је утицај техника претпроцесирања, избора скупа атрибута, као
и оптимизације њихових параметара на резултате класификације. Описане су
коришћене технике и наведени алати којима су имплементиране. Извршена је
евалуација свих описаних алгоритама и представљени су добијени резултати и
могући правци даљег истраживања.
Датум прихватања теме, ДП:
Датум одбране, ДО:

Чланови комисије, КО: Председник: доц др. Јелена Сливка, ФТН, Нови Сад

проф. Др. Данијела Боберић Крстићев, ПМФ, Потпис ментора


Члан:
Нови Сад
Члан, ментор: доц др. Александар Ковачевић, ФТН, Нови Сад
UNIVERSITY OF NOVI SADFACULTY OF TECHNICAL SCIENCES
21000 NOVI SAD, Trg Dositeja Obradovića 6

KEY WORDS DOCUMENTATION


Accession number, ANO:
Identification number, INO:
Document type, DT:
Type of record, TR: Textual material
Contents code, CC: MSc thesis
Author, AU: Igor Jovin
Mentor, MN: dr. Aleksandar Kovačević
Title, TI: Performance analysis of machine learning algorithms in automatic detection
of sentiment in Twitter data
Language of text, LT: Serbian (Latin)
Language of abstract, LA: English
Country of publication, CP: Republic of Serbia
Locality of publication, LP: Vojvodina
Publication year, PY: 2017
Publisher, PB: Faculty of Technical Sciences Novi Sad
Publication place, PP: Novi Sad, Faculty of Technical Sciences,
Trg Dositeja Obradovića 6
Physical description, PD: 5/70/54/25/4/1/0
(chapters/pages/ref./tables/pictures/graphs/appendixes)

Scientific field, SF: Computer science


Scientific discipline, SD: Data mining
Subject/Key words, S/KW: Data mining; Text classification; Twitter sentiment analysis;

UC
Holding data, HD: Library of the Faculty of Technical Sciences,
Trg Dositeja Obradovića 6, Novi Sad
Note, N:
Abstract, AB: This paper presents a study about the performance of different machine learning
algorithms in sentiment analysis of Twitter data. The impact of preprocessing
techniques, feature extraction and parameter optimization on classification results
were examined for every algorithm. The techniques and algorithms that were used
were described in detail, as well as the tools for their implementation. Every described
alogithm was evaluated. The obtained results were presented and discussed in detail.
At the end, possible cases of future studies were presented.
Accepted by the Scientific Board on, ASB:

Defended on, DE:


Defended Board, DB: President: Jelena Slivka, doc. PhD, FTN Novi Sad

Member: Danijela Boberić Krstićev. PhD, PMF Novi Sad Menthor's sign
Member, Mentor: Aleksandar Kovačević, doc. PhD, FTN Novi Sad
УНИВЕРЗИТЕТ У НОВОМ САДУ  ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА Број:
21000 НОВИ САД, Трг Доситеја Обрадовића 6
Датум:
ЗАДАТАК ЗА МАСТЕР РАД

(Податке уноси предметни наставник - ментор)

СТУДИЈСКИ Софтверско инжењерство и информационе технологије


ПРОГРАМ:
РУКОВОДИЛАЦ др Бранко Милосављевић
СТУДИЈСКОГ
ПРОГРАМА:

Студент: Игор Јовин Број индекса: R1 16/2015


Област: Системи за истраживање и анализу података

Ментор: др Александар Ковачевић


НА ОСНОВУ ПОДНЕТЕ ПРИЈАВЕ, ПРИЛОЖЕНЕ ДОКУМЕНТАЦИЈЕ И ОДРЕДБИ СТАТУТА
ФАКУЛТЕТА ИЗДАЈЕ СЕ ЗАДАТАК ЗА ДИПЛОМСКИ РАД, СА СЛЕДЕЋИМ ЕЛЕМЕНТИМА:
- проблем – тема рада;
- начин решавања проблема и начин практичне провере резултата рада, ако је таква провера
неопходна;

НАСЛОВ ДИПЛОМСКОГ РАДА:


Анализа перформанси алгоритама машинског учења приликом аутоматског
одређивања сентимента Твитер порука

ТЕКСТ ЗАДАТКА:
Применити технике истраживања и анализе података на решавање проблема
класификације Твитер порука у две класе: позитивну и негативну. Описати скуп
података, који ће бити коришћен приликом анализе. Дефинисати и имплементирати
архитектуру система за класификацију. Дефинисати и применити поступке
претпроцесирања података и начине избора скупа атрибута у комбинацији са
алгоритмима за машинско учење. Дефинисати и имплементирати коришћене
алгоритме за машинско учење. Дефинисати и имплементирати SVM, Naive Bayes и
Random Forest алгоритам. Извршити евалуацију примењених алгоритама.

Руководилац студијског програма: Ментор рада:

Примерак за:  - Студента;  - Ментора


SADRŽAJ

1. UVOD........................................................................................ 1
2. PRETHODNA REŠENJA ............................................................... 3
3. METODOLOGIJA I ALATI ............................................................ 9
3.1. Struktura sistema ....................................................................... 9
3.2. Obučavajući i test skup podataka ...............................................10
3.3. Podsistem za pretprocesiranje tvitova ........................................11
3.4. Podsistem za izbor liste atributa.................................................13
3.4.1. Formiranje bazičnog skupa atributa ........................................ 14
3.4.2. Dodavanje regularnih bigrama ................................................ 14
3.4.3. Dodavanje Parts of Speech (POS) bigrama............................... 14
3.4.4. Dodavanje bigrama negacije .................................................... 16
3.4.5. Predstavljanje tvita pomoću atributa ...................................... 17
3.5. Podsistem za klasifikaciju - algoritmi za mašinsko učenje ............18
3.5.1. SVM (Support Vector Machines).............................................. 18
3.5.2. Naive Bayes .............................................................................. 22
3.5.3. Random Forest ......................................................................... 25
3.6. Implementirani softver ..............................................................26
................................................................................................... 28
4. EKSPERIMENTALNA EVALUACIJA I REZULTATI .......................... 29
4.1. Metodologija evaluacije .............................................................29
4.2. Evaluacija SVM klasifikatora ......................................................32
4.2.1. Evaluacija C-SVC implementacije ............................................. 32
4.2.2. Evaluacija nu-SVC implementacije ........................................... 38
4.2.3. Uporedna analiza SVM implementacija ................................... 43
4.3. Evaluacija Naive Bayes klasifikatora ...........................................43
4.3.1. Evaluacija Bernoulli Naive Bayes varijante............................... 44
4.3.2. Evaluacija Complement Naive Bayes implementacije ............. 46
4.2.3. Uporedna analiza Naive Bayes implementacija ....................... 50
4.4. Evaluacija Random Forest klasifikatora.......................................50
4.3.1. Uporedna analiza Random Forest parametara ........................ 57
4.5. Uporedna analiza rezultata klasifikatora ....................................58
4.6. Diskusija rezultata .....................................................................59
4.6.1. Diskusija rezultata SVM klasifikatora ....................................... 59
4.6.2. Diskusija rezultata Naive Bayes klasifikatora ........................... 60
4.6.3. Diskusija rezultata Random Forest klasifikatora....................... 61
5. ZAKLJUČAK.............................................................................. 63
LITERATURA................................................................................ 65
1

1. UVOD

Informatičko doba stvorilo je takvo društvo u kojem se brzo dolazi


do različitih informacija i razmenjuje znanje. Informacije se dobijaju na
osnovu velike količine podataka, koji nastaju svakodnevno. Na internetu se
u toku jednog dana kreira preko 2,5 kvantiliona podataka. Oblast
istraživanja podataka nastala je iz potrebe da se iz podataka izvuku korisne
informacije, da se podaci kategorišu i grupišu. Velik deo tih podataka
nastaje na društvenim mrežama, na kojima korisnici dele video sadržaje,
slike i tekst. Tviter (Twitter, www.twitter.com) je jedna od najpopularnijih
društvenih mreža današnjice. On omogućava korisnicima da objavljuju i
čitaju kratke poruke koje se nazivaju ,,tvitoviˮ (tweets).
Kako bi se dobile korisne informacije iz velikog broja tvitova,
najčešće se koriste tehnike tekstualne klasifikacije. Tvitovi klasifikovani po
osećanjima koja iskazuju mogu da predstavljaju osnov za ispitivanje
mišljenja ciljne grupe korisnika o određenom događaju, proizvodu, poznatoj
ličnosti, kompaniji, itd. To je motivisalo razvijanje programa
specijalizovanih za automatsku analizu mišljenja (sentiment analizu) Tviter
poruka. Analiza mišljenja Tviter poruka nalazi primenu u različitim
društvenim naukama (sociološke, ekonomske, istorijske, pravne),
novinarstvu i reklamnim kampanjama. Ovakvi programi mogu da koriste
različitim kompanijama za ispitivanje javnog mnjenja, u cilju unapređenja
poslovanja, kao i korisnicima za formiranje mišljenja o proizvodu, ili
usluzi. Naveden način korišćenja sentiment analize omogućuje povećanje
profita firmi i zadovoljstva korisnika. Kompanije kao što su ,,Twitratrˮ
(www.twitratr.com), ,,Tweetfeelˮ (www.tweetfeel.com) i ,,Social Mentionˮ
(www.socialmention.com) nude servise Tviter sentiment analize [51].
Klasifikacija teksta na osnovu mišljenja (ili osećanja) je tema
mnogih naučnih radova i istraživanja. Značajno se razlikuje od klasifikacije
teksta po temama, koja je takođe široko istražena oblast. Većina istraživanja
je bazirana na analizi većih tekstualnih celina poput novinskih članaka,
kritika, ili recenzija filmova, knjiga, pesama i sl., koji predstavljaju
sumarizaciju određenog osećanja o jednoj temi. Tvitovi se značajno
razlikuju od prethodno pomenutih tekstualnih formata. Kraći su - ograničeni
na 140 karaktera, neformalniji i sadrže microblogging1 karakteristike

1
eng, postupak kreiranja i postavljanja kratkih, frekventnih poruka na neki
mikroblog (npr. socijalnu mrežu)
(https://en.oxforddictionaries.com/definition/microblogging)
2

(hashtag2-ovi, emotikoni, akronimi).


Većina radova na temu sentiment klasifikacije uključuje podelu
podataka u trening (obučavajući) skup i test skup [1][6][7][15]. Trening
skup je skup, koji sadrži podatke sa unapred poznatim klasama. Ove klase
označava čovek. Trening skup se koristi za obučavanje klasifikatora. Test
skup je skup nad kojim se meri kvalitet klasifikatora. To je skup podataka
čije su klase poznate, ali koji nije korišćen za obučavanje klasifikatora [41].
Zadatak ovog rada je da predstavi i uporedi rezultate klasifikacije
tvitova prema osećanju koje nose (pozitivno, ili negativno), dobijene
korišćenjem različitih algoritama za mašinsko učenje. Algoritmi koji su
korišćeni i predstavljeni u radu su SVM, Naïve Bayes i Random Forest. Oni
su se u dosadašnjim istraživanjima pokazali kao najefikasniji za rešavanje
problema klasifikacije teksta u dve [6][33], ili više klasa [1][16]. Posebna
pažnja je posvećena izboru trening i test skupa, pripremi tvitova za
klasifikaciju, kao i tehnikama za izdvajanje atributa koje koriste
klasifikatori prilikom nadgledanog učenja. Prikazane su tačnosti
klasifikacije, F mera i preciznosti svrstavanja tvitova u pozitivnu, odnosno
negativnu grupu osećanja nad trening skupovima različitog obima, pri
korišćenju različitih skupova atributa, kao i promenom različitih
optimizacionih parametara u klasifikatorima. Zadatak ovog rada je
uočavanje optimalne konfiguracije svakog ispitanog algoritma, kao i
određivanje onog algoritma za klasifikaciju, koji daje najbolje rezultate pri
sentiment analizi i ima optimalne performanse. Na kraju rada će za svaki
razmatrani klasifikator biti prodiskutovano na šta se treba fokusirati, kako
bi rezultati klasifikacije bili optimalni. Biće izloženi doneseni zaključci na
nivou svakog pojedinačnog algoritma o tome da li poboljšanju rezultata
klasifikacije najviše doprinosi izbor tehnike pretprocesiranja, izbor skupa
atributa, ili pak optimizacija parametara.
U nastavku je izložena struktura rada, kao i kratak opis toga šta se
obrađuje u svakom od njegovih poglavlja. Rad sadrži 5 poglavlja. U
sledećem poglavlju biće naveden uporedni prikaz prethodnih rešenja,
rezultata i vladajućih stavova na temu sentiment analize tekstualnih sadržaja
i tvitova. Treće poglavlje posvećeno je definiciji problema, primenjenoj
metodologiji za njegovo rešavanje, kao i prikazu alata koji su korišćeni u
tom procesu. Četvrto poglavlje se bavi eksperimentalnom evaluacijom
dobijenih rezultata, a peto sumarizacijom rada i pravcima budućih
istraživanja.

2
eng, reč, ili fraza, kojoj prethodi znak tarabe ('#'). Koristi se na socijalnim
mrežama, kako bi se identifikovale poruke sa određenom tematikom
(https://en.oxforddictionaries.com/definition/hashtag)
3

2. PRETHODNA REŠENJA

Analiza sentimenata i klasifikacija teksta na različite teme je predmet


mnogobrojnih istraživanja. Naučni radovi ove tematike se razlikuju po
izboru tehnika za preprocesiranje teksta, algoritama za mašinsko učenje,
kao i po domenima sprovođenja analize. Najčešći domeni tekstova koji se
klasifikuju po generalnom osećanju koje nose su filmske i muzičke
recenzije, recenzije različitih proizvoda (elektronika, softver, odeća),
književni radovi, novinski članci, kao i blogovi3 i mikroblogovi4.
U radu [1] istraživane su performanse različitih tehnika mašinskog
učenja nad skupom recenzija filmova. Autori su se odlučili za ovaj domen
zbog široke dostupnosti filmskih recenzija na internetu, kao i zbog toga što
recenzenti uglavnom sumarizuju iskazano osećanje u tekstu određenim
indikatorom (npr. brojem zvezdica), pa trening skup ne mora ručno da se
označava. Podaci su klasifikovani na tri sentimenta (pozitivni, negativni i
neutralni). Skup atributa sačinjavali su unigrami5, bigrami6, njihova
kombinacija, kao i unigrami tagovani POS (Parts of Speech)7 tehnikom.
Najbolje rezultate su postigli koristeći SVM algoritam sa unigramima kao
skupom atributa. Kroz istraživanje je ustanovljeno da je preciznost rezultata
bolja ukoliko se koriste frekventni unigrami, pa je stoga i u ovom radu
primenjen ovaj pristup. Bigrami nisu značajno poboljšali, ni pogoršali
rezultate, dok je POS pristup pogoršao preciznost nekih algoritama. Uprkos
tome, u ovom istraživanju je isproban i pristup zasnovan na POS tehnici,
kao i pristup sa dodavanjem frekventnih bigrama u skup atributa. Autori
rada [1] izgradili su model samo proverom postojanja atributa u dokumentu
(recenziji), jer je u ranijim istraživanjima ustanovljeno da ovaj način
značajno poboljšava preciznost određenih algoritama (naročito SVM) u
odnosu na model izgrađen zapisivanjem frekvencije pojavljivanja atributa u
dokumentu. Stoga je odlučeno da se i u ovom radu primeni ovakav pristup
formiranja modela.
U radu [2] autori Pang et. al. fokusirali su se na klasifikaciju većih
tekstualnih celina (recenzija filmova), koje se sastoje iz više rečenica. Oni

3
blog je internet stranica, koja se redovno ažurira, a na njoj je tekst pisan u
neformalnom stilu (https://en.oxforddictionaries.com/definition/blog)
4
mikroblog je umanjena verzija bloga; najčešće društvena mreža
5
pojedinačne reči, koje se izdvajaju iz trening skupa
6
dve uzastopne reči, koje se izdvajaju iz trening skupa
(https://en.oxforddictionaries.com/definition/bigram)
7
Parts of Speech je tehnika tagovanja reči po njenoj vrsti, ili sintaktičkom značenju
(http://www.dictionary.com/browse/part-of-speech)
4

su cele paragrafe označavali emocijom. Pod pretpostavkom da se samo u


određenim delovima teksta nalaze rečenice značajne za detekciju
sentimenta, postigli su tačnost od 86,15% za SVM i 86,4% za Naive Bayes
klasifikator.
Pored određivanja sentimenta na nivou tekstualne celine, koju
sačinjava više rečenica, postoje i pristupi koji određuju sentiment jedne
rečenice, kao u radu [3] ili jedne fraze, kao u radu [4]. U radu [3] autori su
pošli od zaključka da se veliki tekstovi sastoje iz malog broja rečenica, koje
odslikavaju emociju teksta. Ovakve rečenice označene su kao rečenice
mišljenja (opinion sentences). One su detektovane identifikacijom prideva u
tekstu, korišćenjem NLP8 tehnike, kao i identifikacijom semantičke
orijentacije prideva (pozitivna, ili negativna) uz pomoć velikih online
rečnika.
Postoje i mnogi radovi na temu Tviter sentiment analize, kao posebne
vrste sentiment analize na nivou pojedinačnih rečenica. Tvitovi korisnika se
svrstavaju u microblogging podatke, čija je obrada mnogo teža od obrade
običnog tekstualnog sadržaja, zbog neformalnog stila pisanja i prisustva
šuma u podacima. Većina ovakvih radova je fokusirana na primenu
različitih tehnika mašinskog učenja, metode prikupljanja primera koji
sačinjavaju trening i test skup, označavanje trening i test skupova i tehnike
preprocesiranja tvitova.
Jedan od značajnih radova na temu analize sentimenata iskazanih u
tvitovima je [6]. Autori ovog rada su podatke za trening skup prikupljali
pomoću emotikona. Na Twitter4J API prosleđivali bi upit ':)' za dobijanje
pozitivnih tvitova, a ':(' za dobijanje negativnih. Na ovaj način kreiran je
automatski označen trening skup. Ovakav pristup prikupljanju i
označavanju podataka je primenjen zbog toga što je u radu [7] pokazano da
korišćenje emotikona za označavanje sentimenta dovodi do smanjenja
zavisnosti modela od domena prikupljenih rečenica. Skup tvitova prikupljen
u radu [6] je korišćen i u ovom radu.
Izbor liste atributa je centralna tema mnogih radova. Kod većine se
ona sastoji samo iz unigrama, koji su izdvojeni iz trening skupa različitim
tehnikama. U radu [7] izdvajani su najfrekventiji unigrami iz trening skupa.
Dokumente za koje su radili sentiment klasifikaciju predstavljali su kao
binarne vektore: za svaku reč u dokumentu u vektor su upisivali 1 ako se
ona nalazi u skupu atributa, a 0 ako se ne nalazi. U radu [1] primenjen je
sličan pristup. Utvrđeno je da predstavljanje dokumenata kao binarni vektor
i uvrštavanje samo frekventnih unigrama u skup atributa značajno
poboljšava rezultate klasifikacije kod SVM algoritma. Pojedini radovi

8
NLP (Natural Language Processing) - analiza prirodnog jezika i govora
5

istražili su i uticaj bigrama na rezultate sentiment klasifikacije. U radu [6]


utvrđeno je da dodavanjem bigrama na unigrame u skup atributa poboljšava
rezultate klasifikacije kod SVM algoritma. Autori rada [1] uvrštavali su
najfrekventnije bigrame u skup atributa. Zaključili su da se njihovim
dodavanjem ne menjaju rezultati klasifikacije. Pored unigrama i bigrama, u
velikom broju radova istražen je uticaj negacija na klasifikaciju tvitova na
sentimente. Najčešća tehnika za prepoznavanje negacije i njihovo
uvrštavanje u skup atributa je njena detekcija u neposrednoj okolini reči u
dokumentu. Ukoliko se ona detektuje, polaritet reči, koja ulazi u sastav
skupa atributa se obrne, najčešće dodavanjem taga _NEG, ili _NOT na reč
[25] [8].
Neki od novijih radova koriste saznanja iz NLP-a, kako bi poboljšali
tačnost klasifikatora prilikom sentiment analize. Najveći broj baziran je na
istraživanju različitih načina primene POS pristupa. U radu [10] istraživali
su koje reči u rečenici su nosioci stava (sentimenta) u recenzijama
proizvoda na internetu. Autori rada [11] koriste saznanja iz rada [10] i
baziraju sentiment analizu na atributima, koji sadrže sekvence reči za koje
oni smatraju da su nosioci sentimenta. Ovaj pristup je korišćen i u ovom
radu prilikom izbora POS bigrama - u skup atributa uključivani su samo oni
bigrami, koji su zadovoljili jedan od sledećih šablona: pridev + glagol,
glagol + imenica, pridev + imenica.
Mali broj radova na temu sentiment analize se bavi i istraživanjem
uticaja različitih optimizacionih parametara algoritama na preciznost i F
meru rezultata. U radu [13] autori su se bavili uticajem različitih kernel
funkcija SVM algoritma na klasifikaciju TREC kolekcije dokumenata u
veliki broj kategorija. Zaključili su da radijalna i polinomijalna funkcija
povećavaju tačnost klasifikacije za 1%-5%, kao i da smanjivanje broja
atributa povoljno utiče na SVM algoritam. Iz tog razloga je ovakav pristup
isproban i u okviru ovog rada. Uticaj optimizacionih parametara SVM
algoritma na klasifikaciju istražen je i u radu [14]. Oni su koristili leksikon
u kombinaciji sa ovim algoritmom. Za optimizaciju parametara koristili su
Stochastic Gradient Descent algoritam. Primenom ovog algoritma za
optimizaciju zaključili su da SVM klasifikator daje bolje rezultate
klasifikacije od klasifikatora logističke regresije.
Pored kernel funkcija, kod SVM klasifikatora je moguće optimizovati
i parametar C (konstanta mekane margine, soft margin constant). Autori
rada [15] su isprobali optimizaciju ovog parametra na 3 trening skupa
(polarity movie review, skup tvitova i gold skup recenzija proizvoda sa
internet stranice www.amazon.com). Pronašli su da je optimalna vrednost
prethodno navedenog parametra C=10, uz izbor RBF kernel funkcije.
Preciznost koju su dobili je 78,18% prilikom korišćenja Twitter skupa,
6

73,56% prilikom korišćenja Gold skupa i 74,74% prilikom korišćenja movie


review skupa za treniranje SVM klasifikatora. Zbog toga je u ovom radu
isprobano kako parametar C utiče na preciznost i F meru. U radu [16] autori
su zaključili da je za dobijanje najbolje preciznosti prilikom klasifikacije
tvitova na 3 sentiment kategorije (pozitivnu, negativnu i neutralnu) najbolje
koristiti linear kernel SVM klasifikatora, sa parametrom C podešenim na
vrednost od 0,005. Preciznost koju su oni postigli iznosila je 88,93%. Stoga
je odlučeno da se i ovom master radu istraži uticaj linearnog kernela na
klasifikaciju.
Naive Bayes je algoritam koji obično ne daje toliko dobre rezultate
kao SVM, ali je istražen u mnogim radovima na temu sentiment analize.
Autori rada [24] razmotrili su Naive Bayes, jer je on jednostavan, intuitivan
i njime se može dobiti relativno dobra tačnost klasifikacije. Primenili su dve
metode - binarnu (postoje samo dve sentiment kategorije, pozitivna i
negativna i koristi se eksterni leksikon u kombinaciji sa klasifikatorom) i
baseline (postoji još i neutralna sentiment kategorija i ne koriste se
leksikoni). Najbolju preciznost u klasifikaciji engleskih tvitova (63%)
postigli su sa binarnim Naive Bayes klasifikatorom, korišćenjem skupa
atributa, koji sadrži unigrame, n-grame dobijene POS tehnikom i leksikona,
sa tzv. valence shifterom (obrtanje polariteta u slučaju detekcije negacije).
U radu [25] autori su uz pomoć Naive Bayes klasifikatora postigli
preciznost od 59,26%, uz korišćenje eksternog sentiment leksikona i sa
trening skupom od 8142 tvita.
Pored SVM i Naive Bayes algoritama, u pojedinim radovima na temu
sentiment analize se razmatra i Random Forest algoritam ansambla. On je
robustan na šum i autlajere9 i u teoriji daje dobru preciznost prilikom
klasifikacije. Rad koji je detaljno istražio Random Forest klasifikator i
uticaj optimizacije njegovih parametara na preciznost klasifikacije je [33].
Parametri, koje su autori ovog rada optimizovali su broj stabala, broj
atributa, kao i dubina stabala. Prilikom klasifikacije recenzija filmova,
zaključili su da se preciznost linearno povećava kako raste broj stabala i da
su pri izboru malih vrednosti dubine stabala veće šanse za overfitting10.
Empirijski su odredili da je optimalna vrednost parametra za broj stabala
900, broj atributa 12, a dubina stabala neograničena. Odlučeno je da se u
ovom radu istraži uticaj ovih parametara na rezultate klasifikacije tvitova.
Rezultati postignuti u ovom radu i izbori vrednosti parametara se razlikuju
od rezultata u radu [33], zbog korišćenja različitog trening skupa, kao i
činjenice da su autori rada [33] klasifikovali duže dokumente, dok se u

9
eng. outliers: vrednosti (tačke), koje su mnogo udaljene od drugih vrednosti u
skupu vrednosti (http://www.itl.nist.gov/div898/handbook/prc/section1/prc16.htm)
10
fenomen kada klasifikator ,,slepo“ sledi trening skup pri klasifikaciji [41]
7

ovom radu klasifikuju veoma kratki dokumenti (često pojedinačne


rečenice).
Poslednje inovacije na polju Tviter sentiment analize predstavljene su
u okviru rada [12], koji se bavi uticajem sarkazma na sentiment tvita. Autori
ovog rada su formirali poseban test skup, koji se sastojao iz sarkastičnih
tvitova. Tačnost, koja je postignuta nad ovim test skupom bila je za gotovo
10% niža od tačnosti postignute nad test skupom, koji su sačinjavali tvitovi
bez sarkazma.
8
9

3. METODOLOGIJA I ALATI

Ovo poglavlje posvećeno je prikazu primenjene metodologije za


određivanje sentimenata tvitova, kao i opisu alata koji su korišćeni za njenu
implementaciju. Najpre je izložena struktura sistema, a potom su detaljnije
opisani njegovi delovi (podsistemi). Predstavljena je metodologija
formiranja trening i test skupa, primenjen pristup u procesu pretprocesiranja
tvitova, kao i svaki od 3 korišćena algoritma za mašinsko učenje (SVM,
Naive Bayes i Random Forest). Posebna pažnja posvećena je opisu
optimizacionih parametara ovih algoritama, kao i načinima na koji oni
mogu da utiču na rezultate klasifikacije. Na kraju poglavlja ukratko je
opisan i softver koji je implementiran kako bi se sproveli svi koraci procesa
klasifikacije tvitova.

3.1. Struktura sistema


Sistem za klasifikaciju tvitova preuzet je iz rada [51]11 i sastoji se iz
više većih podsistema: podsistema za pretprocesiranje, podsistema za
generisanje skupa atributa, kao i podsistema za obučavanje (klasifikaciju).
U ovom radu podsistem za klasifikaciju kao poseban korak sadrži
optimizaciju parametara klasifikatora.
Ulaz u sistem predstavljaju upit i trening skup, a izlaz čine rezultujući
sentimenti svakog tvita, koji pripada skupu rezultata upita. Upit može da
sadrži jednu, ili više reči (naziv kompanije, poznate ličnosti, predmet,
apstraktan pojam, događaj, itd.). Ove reči mogu biti povezane operatorima,
koji im određuju ulogu u upitu. Podrazumevani operator je 'AND', koji
govori pretraživaču da u rezultatima vrati tvitove koji sadrže sve reči iz
upita, u proizvoljnom redosledu. Pored ovog, postoje i brojni drugi
operatori, poput 'OR', 'NOT', operatora koji govori pretraživaču da pretraži
frazu, itd. Kompletan spisak dostupnih operatora dat je na linku [43]. U
ovom radu korišćen je isključivo podrazumevani, 'AND' operator. Twitter4J
API12 na prosleđeni upit kao rezultat vraća skup tvitova, koji sadrže termove
iz upita.
Postupak klasifikacije u sistemu istovetan je kao u master radu [51].
Kompletna skica sistema predstavljena je na slici 3.1.1.

11
autor ovog master rada je učestvovao u razvoju referenciranog sistema za
klasifikaciju
12
Application Program Interface - interfejs koji je dostupan inženjerima softvera,
kako bi prikupljali i obrađivali podatke sa nekog servisa, koji su javno dostupni
10

Slika 3.1.1. Šematski prikaz korišćenog sistema za klasifikaciju [51]

3.2. Obučavajući i test skup podataka


Trening (obučavajući) skup podataka je formiran na isti način kao u
radu [51], kao podskup trening skupa iz rada [6]. Sastojao se iz jednakog
broja pozitivnih i negativnih tvitova na engleskom jeziku, koji su
automatski označeni prema tome koji emotikon sadrže. Ukoliko tvit sadrži
emotikon ':)' označen je kao pozitivan, a ukoliko sadrži emotikon ':(',
označen je kao negativan. Emotikoni su nakon formiranja skupa odstranjeni
[51]. Za obučavanje klasifikatora u sistemu, koji je korišćen za izradu ovog
rada upotrebljen je podskup skupa iz rada [6], koji se sastojao od 40000
tvitova (20000 pozitivnih i 20000 negativnih).
Formiran obučavajući skup prosleđivan je u podsistem za
pretprocesiranje. Iz pretprocesiranih tvitova ovog skupa formiran je skup
atributa. Njega čine unigrami u kombinaciji sa frekventnim bigramima,
11

frekventnim bigramima koji sadrže negaciju, ili frekventnim bigramima


dobijenim primenom POS tehnike.
Test skup podataka je takođe preuzet iz rada [6], kao i u radu [51].
Sačinjavalo ga je 359 ručno označenih tvitova (177 negativnih i 182
pozitivnih). Tvitovi iz skupa prikupljani su upućivanjem proizvoljnih upita
Twitter4J API-ju. Upiti su birani tako da odgovaraju različitim domenima.
Autori rada [6] posmatrali su skup rezultata koji je vratio Twitter4J API na
prethodno pomenute upite i ukoliko rezultat (tvit) sadrži sentiment, označili
su ga kao pozitivan, ili negativan. To znači da je test skup formiran
nezavisno od prisustva emotikona u tvitovima [51]. Pregled kategorija
tvitova, uz pomoć kojih je formiran test skup, kao i njihov udeo u celom test
skupu prikazan je u tabeli 3.2.1.

Kategorija Ukupan broj Procenat


Kompanija 119 33.15%
Događaj 8 2.23%
Lokacija 18 5.01%
Ostalo 67 18.66%
Film 19 5.29%
Poznata osoba 65 18.11%
Proizvod 63 17.55%

Tabela 3.2.1. Kategorije upita kojima je formiran test skup [6]

Test skup podataka je, kao i obučavajući skup, prosleđivan u


podsistem za pretprocesiranje, pre vršenja evaluacije sistema.

3.3. Podsistem za pretprocesiranje tvitova


Sadržaj tvitova je značajno drugačiji u odnosu na druge tekstualne
sadržaje poput filmskih, ili muzičkih recenzija i naučnih tekstova. Tvitovi
su veoma kratki tekstovi, koji se uglavnom sastoje iz jedne, ili dve rečenice.
Pišu se brzo, neformalnim jezikom, uglavnom bez puno osvrta na gramatiku
jezika i spelling13. Mogu da ih pišu ljudi različitih nivoa obrazovanja i
pismenosti. Pored ovoga, tvitovi u većini slučajeva imaju i tzv.
microblogging karakteristike, kao što su hashtag-ovi, emotikoni, akronimi i
razne skraćenice. Sve prethodno navedene osobine čine sadržaj tvitova

13
eng, formiranje reči uz pomoć korektnih slova u tačnom redosledu
(http://dictionary.cambridge.org/dictionary/english/spelling)
12

kompleksnim za analizu. Prečišćavanje tvitova, odnosno odbacivanje, ili


zamena određenih delova tvita utiče na preciznost rezultata klasifikatora i
predstavlja osnovu za uspešnu sentiment analizu. Faza pretprocesiranja
istovetna je kao u radu [51] (sa izuzetkom NER14, tehnike koja nije
razmatrana u ovom radu) i se sastoji iz više koraka:

1. Zamena emotikona
2. Pretvaranje u mala slova
3. Zamena akronima i skraćenica
4. Uklanjanje URL15-ova
5. Uklanjanje korisničkih imena
6. Uklanjanje hashtag-ova
7. Zamena ponovljenih karaktera
8. Uklanjanje nepotrebnih praznih mesta
9. Uklanjanje stop reči
10. Uklanjanje interpunkcijskih znakova i specijalnih karaktera
11. Morfološka normalizacija

Navedeni koraci detaljno su opisani u radu [51], te je njihovo


objašnjenje u ovom master radu izostavljeno.
Pokazalo se da izbor tehnike morfološke normalizacije značajno
utiče na rezultate klasifikacije sentimenata, na različit način za svaki
algoritam za mašinsko učenje. Dve ovakve tehnike, čiji je uticaj na
određivanje sentimenata tvitova za svaki klasifikator ispitan u ovom radu su
lematizacija (eng. lemmatization, lemming) i steming (eng. stemming).
Lematizacija podrazumeva ,,pravilnu“ redukciju raznih gramatičkih oblika
reči na njihov osnovni rečnički oblik (lemu) [36][46][47]. Steming
predstavlja grubi heuristički proces, koji odseca krajeve reči (najčešće
sufikse), kako bi se dobio niz znakova zajednički svim oblicima te reči
(stem) [36][46][47]. U prethodnim radovima se lematizacija pokazala kao
tehnika, koja doprinosi poboljšavanju rezultata sentiment analize, naročito
prilikom korišćenja SVM algoritma [14] i Naive Bayes algoritma [1].
Međutim, neki radovi su u okviru pretprocesiranja podataka koristili i
steming i postigli zadovoljavajuće rezultate klasifikacije kod SVM algoritma
[13][15], kao i kod Random Forest algoritma [33]. Stoga je odlučeno da se
u ovom istraživanju za svaki klasifikator zasebno proveri efekat i steminga i
leminga na rezultate klasifikacije tvitova na sentimente.

14
eng, Named Entity Recognition - algoritam, koji u tekstu locira i klasifikuje
imenovane entitete [51]
15
Uniform Resource Locator
13

3.4. Podsistem za izbor liste atributa


Prilikom treniranja klasifikatora u ovom radu korišćena je lista
atributa formirana na istovetan način kao u radu [51], uz pomoć modela
,,vreće sa rečima“ (eng. ,,bag of words“). Ovaj model je jedan od
najjednostavnijih i najefikasnijih jezičkih modela, koji se koriste u NLP. Ne
uzima u obzir redosled reči u dokumentu. Npr. rečenice John is quicker
than Mary i Mary is quicker than John biće prikazane na isti način.
Korišćenjem ovog modela, skup atributa najčešće formiraju unigrami
(pojedinačne reči), koji se preuzmu iz dokumenata, koji ulaze u sastav
obučavajućeg skupa [36][49]. Pored unigrama, moguće je u skup atributa
uključiti i bigrame, ili n-grame16, kako bi se poboljšala preciznost
klasifikatora [51][50][5][6].
U ovom istraživanju u skup liste atributa svrstani su unigrami i
bigrami, koji se iz obučavajućeg skupa biraju uz pomoć različitih tehnika,
koje su navedene u nastavku teksta. U okviru prethodnih istraživanja,
utvrđeno je da se korišćenjem skupa atributa, koji se sastoji isključivo od
unigrama, postiže najbolja preciznost svakog klasifikatora [33][7][6].
Ukoliko se skup atributa sastoji isključivo od bigrama, rezultati klasifikacije
sentimanata se drastično narušavaju, jer je onda prostor atributa veoma
redak [6][1]. Ukoliko se, međutim, skup atributa sastoji iz kombinacije
unigrama i bigrama, preciznost pojedinih klasifikatora, poput Naive Bayes-a
i Maximum Entropy, se povećava, dok se kod drugih smanjuje, kao npr. kod
SVM [6], ili ostaje ista kao kada se koriste isključivo unigrami [1]. Uprkos
lošim rezultatima pojedinih prethodnih radova prilikom svrstavanja bigrama
u skup atributa, odlučeno je da se u okviru ovog rada istraži uticaj
svrstavanja bigrama u skup atributa na preciznost svakog klasifikatora.
Pojedini bigrami mogu da nose drugačije značenje nego unigrami koji ih
sačinjavaju, a time da utiču i na sentiment tvita u kojem se nalaze. Npr.
happy je unigram, koji doprinosi pozitivnosti tvita, dok je not happy
bigram, koji doprinosi negativnosti tvita. Pored ovoga, uočeno je da se
pojedini bigrami javljaju prilično često u tvitovima, pa postoji mogućnost
da će doprineti identifikaciji njihovog sentimenta. Različite tehnike za
izdvajanje bigrama iz obučavajućeg skupa mogu imati različit efekat na
preciznost različitih klasifikatora [17]. Iz ovog razloga se bigrami svrstavaju
u skup atributa u ovom radu.

16
uzastopne sekvence od n reči
14

3.4.1. Formiranje bazičnog skupa atributa


Bazičan skup atributa, koji je korišćen u ovom radu, sastoji se
isključivo iz unigrama. On predstavlja osnovu svih kombinacija skupova
atributa, kojima su trenirani klasifikatori. Pored ovoga, nad obučavajućim
skupom, u kombinaciji sa bazičnim skupom atributa je ispitan uticaj
prethodno opisanih tehnika pretprocesiranja na performanse svakog
pojedinačnog klasifikatora.
Unigrami, koji ulaze u sastav bazičnog skupa atributa, birani su na
osnovu frekvencije pojavljivanja u obučavajućem skupu, na isti način kao
što je opisano u radu [51]. Frekvencija je određena prebrojavanjem. Kako bi
se utvrdilo koji je optimalan broj unigrama, koji će ući u sastav skupa
atributa, vršilo se određivanje tačke zasićenja svakog od obučavajućih
skupova, koji su izvedeni iz originalnog obučavajućeg skupa kreiranog od
strane autora rada [6]. Tačke zasićenja na grafiku frekvencija pojavljivanja
unigrama u obučavajućem skupu predstavljaju iznose frekvencije koje je
potrebno da unigram ima, kako bi bio uvršten u skup atributa i broj
unigrama, koji se odbacuje iz skupa atributa pri tim iznosima frekvencija
[51]. U ranijim radovima se pokazalo da ovakav način izdvajanja unigrama
iz trening skupa po frekvenciji povećava performanse svakog klasifikatora
[13]. Generalno se smanjivanje broja atributa pokazalo kao povoljno po
rezultate klasifikacije sentimenta, naročito za algoritme Random Forest i
SVM [1] [8] [33]. Metod određivanja tačke zasićenja svakog od izvedenih
obučavajućih skupova preuzet je iz rada [51].

3.4.2. Dodavanje regularnih bigrama


Pored unigrama, koji sačinjavaju bazični skup atributa, razmotreno je
i dodavanje regularnih bigrama u skup atributa, kojim se treniraju
klasifikatori. Regularni bigrami su sekvence od dve uzastopne reči, koje se
najčešće pojavljuju u obučavajućem skupu [51]. Za razliku od regularnih
bigrama, postoje i bigrami, koji su iz obučavajućeg skupa birani posebnim
tehnikama, a ne samo po frekvenciji pojavljivanja.
Tačan izbor regularnih bigrama, koji se uvrštavaju u skup atributa
određen je na isti način kao kod izbora unigrama - određivanjem tačke
zasićenja za svaki obučavajući skup, kao što je objašnjeno u radu [51]. Skup
regularnih bigrama preuzet je iz rada [51].

3.4.3. Dodavanje Parts of Speech (POS) bigrama


POS (Parts of Speech) tagovanje je tehnika koja se vrlo često
primenjuje u sentiment analizi teksta. Ona predstavlja postupak
pridruživanja oznake (taga) vrste reči svakoj reči u tekstu. Oznake mogu
15

biti: pridev, imenica, glagol, prilog, predlog, itd [51]. Motivacija za primenu
ovakve tehnike na sentiment analizu leži u činjenici da određene vrste reči
mogu da imaju veći uticaj na determinaciju sentimenta tvita od drugih vrsta
reči. Pridevi imaju veći uticaj, za razliku od imenica i glagola, jer se preko
njih najčešće ispoljava neko osećanje [3][6]. Pored ovoga, reči određene
vrste (nosioci sentimenta, npr. pridevi) kada se kombinuju sa rečima neke
druge vrste (npr. sa glagolima) mogu da značajno utiču na određivanje
sentimenta tvita [6][24]. Ovo je detaljnije objašnjeno u nastavku teksta.
U polju sentiment analize POS tehnika se može primeniti na različite
načine. Autori rada [3] su koristili POS tehniku kako bi označili i izdvojili
iz teksta sve prideve. Pridevima su uz pomoć eksternog rečnika
(SentiWordNet17) određivali semantičku orijentaciju. Suma svih
semantičkih orijentacija prideva davala je uvid u sentiment celog teksta.
Autori rada [16] su koristili broj pojavljivanja POS tagova u svakom tvitu u
kombinaciji sa sentiment leksikonom i SVM algoritmom kako bi odredili
sentiment tvita. U radu [6] su se POS tagovi koristili kao atributi u okviru
skupa atributa u sentiment analizi tvitova. Ovo se nije pokazalo kao dobra
tehnika - smanjila se preciznost SVM i Naive Bayes klasifikatora. Autori
rada [1] su zaključili da dodavanje POS tagova na reči, koje ulaze u sastav
skupa atributa, pogoršava preciznost SVM algoritma. U radovima [24] i [37]
su se uz pomoć POS-a izdvajali n-grami po unapred definisanom šablonu
(imenica + pridev, imenica + imenica, pridev + imenica, pridev + glagol,
imenica + predlog + imenica, glagol + imenica, glagol + predlog +
imenica), kako bi se dobila informacija o tome koje kombinacije najviše
utiču na sentiment analiziranog teksta. Ovakav pristup, u kombinaciji sa
primenom algoritama za mapinsko učenje je dao dobru preciznost
određivanja sentimenata. Dobri rezultati primene POS tehnike na ovaj način
je podstaklo da se na sličan način, uz pomoć pojedinih pomenutih
kombinacija vrsta reči, ona implementira i u ovom master radu i ispita njen
uticaj na svaki klasifikator zasebno. Primena sentiment leksikona, iako je
dala dobre rezultate u nekim prethodno pomenutim radovima, nije uzeta u
obzir u ovom radu.
POS tagovanje u ovom istraživanju je vršeno uz pomoć
StanfordCoreNLP tagger-a18. Primer označavanja teksta ovim tagerom dat
je u nastavku:

17
http://sentiwordnet.isti.cnr.it/
18
http://nlp.stanford.edu/software/tagger.shtml
16

 Ulaz u tager: This is a sample sentence.


 Izlaz iz tagera: This/DT is/VBZ a/DT sample/NN
sentence/NN

U prethodnom primeru korišćene su oznake iz StanfordCoreNLP


tagger-a. Značenja ovih oznaka date su u tabeli 3.4.3.1.

Tag Opis
DT zamenica, predlog, ili veznik
VBZ glagol u trećem licu jednine prezenta
NN imenica, jednina

Tabela 3.4.3.1. Deo korišćenih POS tagova iz StanfordCoreNLP


biblioteke

POS tagovanje je u ovom radu korišćeno kako bi se izdvojili svi


bigrami, koji odgovaraju unapred definisanim šablonima. Način izdvajanja
ovih bigrama iz obučavajućeg skupa preuzet je iz rada [51]. Iz tagovanih
tvitova izdvajali su se samo kombinacije parova reči označeni po
predefinisanim šablonima, koji su navedeni i opisani u radu [51], te u ovom
radu neće biti detaljno objašnjeni.

3.4.4. Dodavanje bigrama negacije


Detekcija reči koje su negirane je problem koji se vrlo često pominje
i istražuje u sentiment analizi teksta. Autori prethodnih radova rešavali su
ga na različite načine.
Najčešći način za detekciju negiranih reči je ispitivanje njene okoline.
U radovima [16] i [25] je primenjen pristup da ukoliko okolina reči sadrži
negaciju, ona se označi tagom _NEG. Uz korišćenje eksternog leksikona u
kombinaciji sa algoritmima za mašinsko učenje, tačnost klasifikacije im se
nakon ovakvog označavanja reči poboljšala. Autori rada [24] primenili su
sličan pristup - tražili su tzv. reči, koje su nosioci polariteta19 iz eksternog
leksikona u okolini posmatrane reči POS tehnikom i, ukoliko ih pronađu,
obrnuli su polaritet te reči. Uvrštavanje ovakvih reči u skup atributa u
kombinaciji sa eksternim leksikonom je poboljšalo tačnost klasifikacije.
Svi prethodni pristupi zasnivaju se na tagovanju unigrama, koji ulazi
u skup atributa, kako bi se on označio kao negativan. Oni su se, u
kombinaciji sa algoritmima za mašinsko učenje, bez korišćenja eksternog

19
nosioci sentimenta; reči, koje najviše doprinose ispoljavanju pozitivnog, ili
negativnog sentimenta [6][24]
17

leksikona, pokazali kao nepovoljni za rezultate klasifikacije. U radovima


[1] i [6] preciznost klasifikacije tvitova kod SVM i Naive Bayes
klasifikatora se smanjila nakon uvrštavanja unigrama tagovanih negacijom
u skup atributa. Stoga je odlučeno da se ovakav pristup ne primenjuje u
ovom radu.
Kako bi se maksimizovali rezultati klasifikacije za svaki klasifikator
pre primene optimizacionih parametara, negacije su uzete u obzir u ovom
radu. To je urađeno kao pokušaj da svaki klasifikator na bolji način
,,razume“ tvitove i uzme u obzir njihov pravi kontekst prilikom
klasifikacije. Odlučeno je da se negacije formiraju kao posebna vrsta POS
bigrama, jer je u prethodnom radu utvrđeno da POS bigrami poboljšavaju
rezultate klasifikacije tvitova [51]. Skup bigrama negacije činili su oni
bigrami, koji se sastoje iz negacije (koja je po vrsti reči predlog, ili glagol) i
reči koju ona negira (koja je po vrsti reči glagol). Deo liste korišćenih
negacija20 prikazan je u tabeli 3.4.4.1 ispod.

Negacija
couldn't
won't
can't
don't
not

Tabela 3.4.4.1. Deo liste korišćenih negacija

Bigrami negacije izdvajani su iz obučavajućeg skupa tako što su se u


skupu pronalazile negacije iz liste negacija i nakon toga iz skupa izdvajao
bigram, koji čini pronađena negacija i njena prva susedna reč. Od tako
formiranog skupa negacionih bigrama se formira konačan skup negacionih
bigrama na isti način kao što je formiran skup regularnih i POS bigrama -
biranjem samo onih koji su najfrekventniji u obučavajućem skupu.

3.4.5. Predstavljanje tvita pomoću atributa


Pre prosleđivanja tvitova podsistemu za klasifikaciju, oni se
prebacuju u pogodnu formu - svaki tvit se predstavlja kao vektor u
vektorskom prostoru atributa. Ovaj vektor je n-dimenzionalan - svaki
atribut koji sačinjava skup atributa je jedna dimenzija vektora (tvita).

20
Lista negacija preuzeta je sa internet stranice:
https://www.grammarly.com/handbook/sentences/negatives/
18

U ovom radu koristi se feature presence model za reprezentaciju


tvita, kao u radu [51]. To znači da se u vektoru, koji predstavlja tvit, za
atribut upisuje broj 1 ako je atribut prisutan u tvitu, ili broj 0 ako nije.
Alternativa ovom pristupu je feature frequency model. U ovom modelu bi
se umesto brojeva 0 i 1 za svaki atribut iz skupa atributa u vektor upisivali
brojevi, koji označavaju broj pojavljivanja ovog atributa u tvitu. Ovakav
pristup nije razmatran u ovom istraživanju, jer je u ranijim radovima
utvrđeno da feature presence pristup daje mnogo bolju preciznost rezultata
klasifikatora, naročito SVM i Naive Bayes [1].

3.5. Podsistem za klasifikaciju - algoritmi za


mašinsko učenje
Centralni deo ovog istraživanja fokusiran je na ispitivanje
performansi različitih algoritama za mašinsko učenje (klasifikatora)
prilikom sentiment klasifikacije tvitova. Analizom prethodnih radova na
sličnu temu, utvrđeno je koji su algoritmi optimalni za sentiment
klasifikaciju i oni su analizirani i u ovom radu. To su algoritmi:

1. SVM (Support Vector Machines)


2. Naive Bayes
3. Random Forest

Na performanse svakog od ovih algoritama utiču tehnike


pretprocesiranja, kao i način formiranja skupa atributa, koji se koristi
prilikom klasifikacije. Upravo zato su svi algoritmi primenjeni na skupu,
koji prolazi kroz isti podsistem za pretprocesiranje i formiranje skupa
atributa. Kako bi se maksimizovali rezultati klasifikacije, za svaki
klasifikator je najpre ispitan uticaj tehnika pretprocesiranja i formiranja
skupa atributa, bez menjanja optimizacionih parametara. Nakon utrđivanja
optimalne kombinacije ovih tehnika za klasifikator, nad njim je vršena
optimizacija parametara. U ovom radu je posebno istražen i uticaj ovih
parametara na rezultate klasifikacije. Svaki od prethodno navedenih
algoritama, kao i njihovi optimizacioni parametri i njihov uticaj na rezultate
klasifikacije, biće opisani u nastavku teksta.

3.5.1. SVM (Support Vector Machines)


Mašine potpornih vektora (Support Vector Machines - SVM) su skup
algoritama za mašinsko učenje, koji se koriste za klasifikaciju i regresiju
[38]. Oni su se u mnogim slučajevima pokazali kao najbolji klasifikatori za
klasifikaciju teksta. Osnovni oblik SVM su linearni klasifikatori, koji
19

automatski nalaze granicu separacije između dve klase. Cilj je pronaći


hiperravan, koja najbolje razdvaja dve klase podataka sa maksimalnom
granicom separacije i da pri tome ovakav klasifikator ima dobru sposobnost
generalizacije [39][41]. Na slici 3.5.1.1 prikazana je hiperravan, koja
razdvaja dve linearno separabilne klase podataka.

Slika 3.5.1.1. Hiperravan kroz dve linearno separabilne klase


podataka21

Jednačina hiperravni separacije je:

𝑤𝑇𝑥 + 𝑏 = 0 (1)

U jednačini (1), parametar w označava normalu na hiperravan, x je


vektor podataka, dok je 𝑏/∥ 𝑤 ∥ ortogonalno rastojanje od hiperravni do
koordinatnog početka. Na slici su sa H1 i H2 označene tačke koje pripadaju
potpornim vektorima (support vectors).
U većini prethodnih istraživanja na temu sentiment analize SVM je
najbolje rezultate klasifikacije, u poređenju sa drugim klasifikatorima [2]
[14] [6] [8]. Najbolja osobina ovog algoritma je da njegova sposobnost za
učenje ne zavisi od veličine skupa atributa [20].

21
Slika preuzeta iz [22]
20

Uticaj kernel funkcija na SVM

Ukoliko ulazni podaci u SVM algoritam nisu linearno separabilni, oni


se mogu transformisati u drugi prostor u kome su linearno separabilni. Ovo
je moguće izvršiti uz pomoć kernel funkcija. Kada se doda kernel funkcija u
jednačinu hiperravni separacije, ona izgleda ovako:

𝑤 𝑇 𝜙(𝑥) + 𝑏 = 0 (2)

Moguće je koristiti više različitih kernel funkcija: linearnu,


polinomijalnu, radijalnu bazisnu (RBF) i sigmoidnu [41]. U velikom broju
prethodnih radova utvrđeno je da se korišćenjem RBF kernel funkcije
dobija optimalna preciznost klasifikacije [13][15]. U pojedinim radovima
najbolji rezultati postignuti su korišćenjem linearne kernel funkcije [16][6],
dok je u samo jednom istraživanju optimalan rezultat dobijen korišćenjem
polinomijalne kernel funkcije, pored RBF funkcije [13]. Stoga je u ovom
master radu istražen uticaj linearne i RBF kernel funkcije na klasifikaciju
tvitova na sentimente.

Optimizacija parametara i LibSVM implementacija

SVM je algoritam koji može da se optimizuje uz pomoć nekoliko


optimizacionih parametara. U ovom radu SVM klasifikator je implementiran
i optimizovan uz pomoć LibSVM22 biblioteke. Ona je deo WEKA23 paketa za
klasifikaciju teksta. Odlučeno je da se koristi ovaj paket zbog toga što
pokriva veliki broj algoritama za mašinsko učenje, sadrži alate za
pretprocesiranje, vizualizaciju, analizu rezultata (kalkulaciju preciznosti,
odziva i F mere), jasan programski interfejs za formiranje skupa atributa,
kao i veoma detaljnu dokumentaciju, koja je dostupna na internetu [42]
[44]. Pored ovoga, vrlo je lako pronaći primere njenog korišćenja na web
pretraživačima, a i mnogi radovi su se bazirali baš na ovoj biblioteci za
sprovođenje svojih istraživanja [33].
LibSVM biblioteka nudi dve implementacije SVM algoritma za
klasifikaciju: C-SVC i nu-SVC.
Kod C-SVC klasifikatora, obučavanje podrazumeva minimizaciju
funkcije greške, date preko formule:

22
https://www.csie.ntu.edu.tw/~cjlin/libsvm/
23
Wakiato Environment for Knowledge Analysis
(http://www.cs.waikato.ac.nz/~ml/weka/)
21
𝑁
1 𝑇
𝑤 𝑤 + 𝐶 ∑ 𝜉𝑖 (3)
2
𝑖=1

U formuli (3), C je konstanta kapaciteta (C > 0), w vektor


koeficijenata, a 𝜉𝑖 skup parametara za rukovanje neseparabilnim ulaznim
podacima (vektori potpore, support vectors). Što je veća konstanta C,
greška se više penalizuje. To znači da se granica separacije između dve
klase više smanjuje. Stoga se ova konstanta bira pažljivo, kako ne bi dovela
do overfitting-a [21]. Ovaj klasifikator je istražen u ovom radu.
Optimizovan je parametar C. U prethodnom radu na temu Tviter sentiment
analize ustanovljeno je da je optimalna vrednost ovog parametra iznosila 10
[15], dok je u radu na temu sentiment analize Facebook24 statusa optimalna
vrednost ovog parametra iznosila 8 [18]. U ovom radu su empirijski
isprobane vrednosti parametra C u opsegu od 10 do 100, kako bi se utvrdilo
koja vrednost najbolje utiče na povećanje preciznosti klasifikacije.
Utvrđeno je da ovaj parametar u kombinaciji sa izborom RBF kao kernel
funkcije u radovima [15] i [18] daje najbolje rezultate klasifikacije, te je
stoga ova kombinacija istražena i u ovom master radu.
Pored C-SVC klasifikatora, postoji i nu-SVC klasifikator. On
predstavlja modifikaciju C-SVC klasifikatora. Parametar C se zamenjuje
parametrom ν (nu) (formula (4)). Prednost nu-SVC klasifikatora u odnosu
na C-SVC je to što ograničava broj vrednosti, koje parametar penalizacije
greške klasifikacije može da ima i time smanjuje potrebu za testiranjem
velikog broja različitih vrednosti ovog parametra [52]. Za razliku od
parametra C, koji vrednost uzima iz skupa (0, ∞], parametar ν uzima
vrednosti iz skupa [0,1]. Parametar ν kontroliše broj potpornih vektora i
granicu greške klasifikacije. On predstavlja gornju granicu udela greške
klasifikacije i donju granicu udela potpornih vektora, u odnosu na ukupan
broj primera iz trening skupa [23][53]. Npr. ukoliko se parametar ν podesi
na vrednost od 0.05, to znači da će najviše 5% primera iz trening skupa biti
pogrešno klasifikovano i da najmanje 5% primera iz trening skupa
predstavlja potporne vektore. Kod nu-SVC klasifikatora, obučavanje
podrazumeva minimizaciju funkcije greške, date preko formule:
𝑁
1 𝑇 1
𝑤 𝑤 − 𝜈𝜌 + ∑ 𝜉𝑖 (4)
2 𝑁
𝑖=1

24
Socijalna mreža, na kojoj mogu da se pišu statusi slični tvitovima na Tviteru
(http://www.facebook.com)
22

U ovoj formuli (4), kao i u formuli za C-SVC, parametar w je vektor


koeficijenata, 𝜉𝑖 skup parametara za rukovanje neseparabilnim ulaznim
podacima (skup vektora potpore), v parametar koji zamenjuje C, a ρ ≥ 0 je
dodatni parametar za optimizaciju. Kako bi se razumela uloga nove
konstante ρ, treba primetiti da kada je 𝜉 = 0, formula (4) nam govori da su
dve klase razdvojene marginom 2𝜌/∥ 𝑤 ∥ [23]. Klasifikator nu-SVC je
takođe istražen u ovom radu. On nije široko korišćen klasifikator pri
rešavanju problema sentiment klasifikacije. U prethodnom radu, koji je
istražio performanse ovog klasifikatora pri određivanju sentimenata kratkih
tekstova je ustanovljeno da on daje optimalne rezultate kada se koristi
linearna kernel funkcija i kada se parametar nu podesi na vrednost od 0.43
[19]. Stoga je i u ovom master radu istražena ovakva kombinacija kernel
funkcije i nu-SVC klasifikatora sa vrednošću parametra nu u opsegu između
0.4 i 0.8. Pored ovoga, testirane su i performanse nu-SVC klasifikatora
korišćenjem linearne, polinomijalne i RBF kernel funkcije.

3.5.2. Naive Bayes


Naive Bayes klasifikator spada u klasu statističkih klasifikatora.
Zasniva se na Bajesovoj teoremi. Međutim, ovaj klasifikator zanemaruje
uslovnu nezavisnost atributa u Bajesovoj teoremi - on podrazumeva da
vrednost jednog atributa u okviru jedne klase ne zavisi od vrednosti ostalih
atributa u toj klasi. Ovo se naziva naivna pretpostavka [26] [41].
Uprkos ovakvim osobinama Naive Bayes-a, on se pokazao kao dobar
klasifikator prilikom sentiment analize teksta. U radu [2] je imao gotovo
istu preciznost klasifikacije filmskih recenzija na sentimente kao SVM. U
radu [6], u kojem se vršila sentiment analiza tvitova, je tačnost Naive Bayes
klasifikatora bila manja od tačnosti SVM za 1.9%. Autori rada [1] su sa
Naive Bayes klasifikatorom čak postigli mnogo bolju preciznost
klasifikacije tekstova na sentimente od SVM. Razlika u tačnosti iznosila je
6%. Ovo je bila motivacija za istraživanje Naive Bayes algoritma u
sentiment analizi tvitova u ovom radu.

WEKA implementacija i tipovi Naive Bayes klasifikatora

U ovom master radu je korišćena implementacija Naive Bayes


klasifikatora u WEKA programskoj biblioteci. U ovoj biblioteci postoje
četiri implementacije Naive Bayes klasifikatora: Bernulijev (BernoulliNB),
multinomijalni (MultinomialNB), komplementarni (ComplementNB) i
gausovski (GaussianNB). Predefinisana (default) implementacija je
Bernulijeva.
23

Bernulijeva implementacija Naive Bayes klasifikatora je ispitana u


ovom radu, jer se pokazalo da ona ima optimalne performanse prilikom
sentiment klasifikacije teksta u pojedinim prethodnim radovima na temu
sentiment analize [25][1][7][8]. Pored ove, u ovom master radu ispitana je i
komplementarna implementacija Naive Bayes klasifikatora, jer se u novijim
istraživanima pokazalo da ona ima mnogo bolje performanse u odnosu na
multinomijalnu i Bernulijevu implementaciju [29]. Multinomijalna
implementacija ovog klasifikatora nije istražena, jer je u ranijim radovima
ustanovljeno da je bolje koristiti feature presence model (u vektor koji
reprezentuje tvit se upisuje samo 1, ili 0, u zavisnosti od toga da li je atribut
prisutan u tvitu, ili ne), ili komplemetarnu implementaciju [1][25][29].
Gausovski Naive Bayes takođe nije ispitan, jer je utvrđeno da on ne daje
dobru preciznost rezultata i F meru [25]. Shodno tome, u nastavku teksta
opisane su ispitane implementacije Naive Bayes klasifikatora: Bernulijeva i
komplementarna.
1. Bernulijev Naive Bayes implementira Naive Bayes algoritam za
podatke koji su distribuirani po multivarijantnoj Bernulijevoj raspodeli25. U
njemu su podaci predstavljeni vektorom, koji se popunjava feature presence
tehnikom (pogledati poglavlje 3.4.5): za svaki atribut iz skupa atributa se u
vektor, koji u ovom radu reprezentuje tvit, upisuje 1 ako je on prisutan u
tvitu, ili 0 ako nije [28]. U formuli (5) ilustrovan je način određivanja
pripadnosti reči (atributa) određenoj klasi:

𝑁𝑐𝑖 + 𝛼𝑖
𝜃̂𝑐𝑖 = (5)
𝑁𝑐 + 𝛼

U formuli (5) 𝑁𝑐𝑖 predstavlja broj pojavljivanja reči i u dokumentima


klase c, 𝑁𝑐 predstavlja ukupan broj pojavljivanja reči u klasi c, dok 𝛼𝑖 i 𝛼
označavaju tzv. smoothing parametre (proizvoljne konstante koje se dodaju
na broj pojavljivanja reči u dokumentu, kako bi se izbegle vrednosti koje su
jednake 0) [29].
2. Komplementarni Naive Bayes predstavlja proširenje
multinomijalne Naive Bayes implementacije. On implementira Naive Bayes
algoritam za multinomijalno distribuirane podatke26 (u našem slučaju
multinomijalno distribuirane atribute iz skupa atributa). U njemu su podaci
tipično predstavljeni vektorom, koji se popunjava feature frequency

25
specijalan slučaj multinomijalno distribuiranih podataka, gde svaka varijabla
može imati dve vrednosti - 0, ili 1 (k=2)
26
sekvenca nezavisnih, identično distribuiranih varijabli, od kojih svaka može imati
k različitih vrednosti [27]
24

tehnikom (pogledati poglavlje 3.4.5): za svaki atribut iz skupa atributa se u


vektor, koji u ovom radu reprezentuje tvit, upisuje njegov broj pojavljivanja
u tvitu [28]. Ustanovljeno je da multinomijalni Naive Bayes algoritam ne
daje dobre rezultate kada jedna klasa ima više primera od druge, jer se
javlja bias: algoritam loše kalkuliše težine i favorizuje klasu, za koju postoji
više primera u obučavajućem skupu. Komplementarna implementacija ovog
algoritma rešava pomenuti problem na taj način što procenjuje verovatnoću
pripadnosti primera jednoj klasi koristeći podatke iz svih drugih klasa, osim
posmatrane. U slučaju ovog rada, estimacija pripadnosti tvita pozitivnoj
klasi vršila bi se ispitivanjem pripadnosti tvita negativnoj klasi [29][30].
Estimacija pripadnosti reči (atributa) drugim klasama se vrši pomoću
formule:

𝑁𝑐𝑖
̃ + 𝛼𝑖
𝜃̂𝑐𝑖
̃ = (7)
𝑁𝑐̃ + 𝛼

U formuli (7) 𝑁𝑐𝑖̃ predstavlja broj pojavljivanja reči i u dokumentima


u klasi koja nije c, 𝑁𝑐̃ predstavlja ukupan broj pojavljivanja reči u klasama
koje nisu c, dok 𝛼𝑖 i 𝛼 označavaju tzv. smoothing parametre (proizvoljne
konstante koje se dodaju na broj pojavljivanja reči u dokumentu, kako bi se
izbegle pripadnosti koje su jednake 0) [29]. Estimacija težine pripadnosti
dokumenta klasi vrši se pomoću formule:

𝑁𝑐𝑖̃ + 𝛼𝑖
𝑙𝐶𝑁𝐵 (𝑑) = 𝑎𝑟𝑔𝑚𝑎𝑥𝑐 [𝑙𝑜𝑔 𝑝(𝜃⃗𝑐 ) − ∑ 𝑓𝑖 𝑙𝑜𝑔 ] (8)
𝑁𝑐̃ + 𝛼
𝑖

U formuli (8) d označava dokument, koji se klasifikuje (u našem


slučaju tvit), 𝑙𝐶𝑁𝐵 (𝑑) predstavlja maximum likelihood dokumenta (težina
pripadnosti klasi c), 𝜃⃗𝑐 predstavlja estimaciju pripadnosti dokumenta klasi
𝑁̃ + 𝛼
c, dok ∑𝑖 𝑓𝑖 𝑙𝑜𝑔 𝑐𝑖 𝑖 predstavlja sumu pripadnosti atributa (reči) svim
𝑁𝑐̃ + 𝛼
drugim klasama [29].
Pored bolje estimacije težina pripadnosti dokumenata klasama,
komplementarni Naive Bayes vrši normalizaciju ovih vektora težina, kako
ne bi klase sa većim težinama bile favorizovane [29].
Osim osnovnog podešavanja ovog klasifikatora, u WEKA biblioteci
postoji i opcija određivanja smoothing konstante S (u formulama (5) i (7)
ova konstanta označena je kao 𝛼 ). Stoga je u ovom radu ispitan i uticaj
različitih vrednosti konstante S na rezultate klasifikacije pomoću
komplementarnog Naive Bayes algoritma.
25

3.5.3. Random Forest


Random Forest klasifikator spada u klasifikatore ansambla: to je
metod specijalno dizajniran za rad sa stablima odlučivanja. Ovaj metod
kreira veliki broj stabala odlučivanja u vreme treniranja, u svrhu
eliminisanja šuma i autlajera. Rezultirajuća klasa prilikom klasifikacije
primera je mod svih klasa, koje su određene pojedinačnim stablima u
ansamblu [41][34][32].
Postoje dva izvora slučajnosti u Random Forest klasifikatoru, koji se
koriste kako bi se dobio niz različitih klasifikatora koji čine ansambl. To su
bagging i bootstrapping. Bagging je tehnika kojom se vrši uniformno
uzorkovanje sa vraćanjem nad originalnim obučavajućim skupom i svako
pojedinačno stablo se trenira uz pomoć tih uzoraka. To znači da se svako
stablo obučava različitim uzorkom originalnog obučavajućeg skupa. U
proseku, svaki deo dobijen uzorkovanjem sadrži oko 63.2% originalnog
obučavajućeg skupa. Bootstrapping je tehnika kojom se uzima predefinisani
broj nasumično odabranih atributa iz celokupnog skupa atributa, koji se
koriste prilikom podele čvora stabla iz ansambla u toku procesa indukcije
stabla27. Broj atributa koji se nasumično bira određuje se pre treniranja [35]
[41].
Random Forest je algoritam koji je vrlo retko zastupljen u
prethodnim radovima na temu sentiment analize. Jedan od radova u kojima
su istraženi rezultati klasifikacije pomoću ovog algoritma je [31]. U ovom
radu autori su ustanovili da prilikom sentiment klasifikacije tvitova na dve
klase Random Forest postiže gotovo istu preciznost i vrednost F mere kao i
Naive Bayes klasifikator, a veću preciznost i vrednost F mere od SVM
klasifikatora. Stoga je odlučeno da se i u ovom master radu istraži Random
Forest klasifikator.

Optimizacija parametara i WEKA implementacija

Random Forest klasifikator je moguće optimizovati podešavanjem 3


parametara. Ti parametri su:
1. broj stabala koji se koristi za formiranje ansambla
2. broj atributa koji se nasumično biraju bootstrapping
tehnikom
3. dubina svakog stabla u ansamblu.
U ovom master radu korišćena je WEKA implementacija Random
Forest klasifikatora. U okviru ove implementacije isproban je rad algoritma
podešavanjem sva tri prethodno pomenuta optimizaciona parametra.

27
razdvajanje čvorova stabla na podstabla [35]
26

U prethodnim istraživanima je utvrđeno da podešavanjem broja


stabala u ansamblu na veće vrednosti linearno raste preciznost rezultata
klasifikacije. Međutim postoji određena vrednost ovog parametra nakon
koje dolazi do zasićenja u preciznosti rezultata [33]. Stoga je odlučeno da se
i u ovom radu provere različite vrednosti parametra broja stabala, poređanih
u rastućem redosledu.
U prethodnim istraživanjima se parametar koji određuje broj
nasumično odabranih atributa iz skupa atributa pokazao kao presudan za
preciznost Random Forest klasifikatora. U radu [35] utvrđeno je da je
optimalna vrednost ovog parametra √𝑀, gde je M broj atributa u skupu
atributa. S druge strane, u radu [33] dobra preciznost rezultata klasifikacije
postignuta je kada se parametar broja nasumično odabranih atributa podesi
na niže vrednosti od kvadratnog korena broja atributa u skupu atributa.
Autori ovog rada su uz vrednosti ovog parametra u iznosu od 11 i 12 (od
ukupno 2275 atributa, kojim su obučavali klasifikator) postigli visoku
preciznost klasifikacije. Zbog ovakvih prethodnih istraživanja odlučeno je
da se u ovom radu provere i niske vrednosti broja nasumično odabranih
atributa, ali i visoke vrednosti, oko kvadratnog korena broja svih atributa u
skupu atributa.
Parametar dubine stabala u ansamblu ima takođe velik uticaj na
klasifikaciju: ukoliko se za njegovu vrednost odaberu mali brojevi, može da
dođe do underfitting-a. U radu [33] ovaj parametar bio je podešen na
beskonačnu vrednost i sa takvom vrednošću su postignuti optimalni
rezultati klasifikacije sentimenta. Zbog hardverskih ograničenja, u ovom
radu ovaj parametar nije bilo moguće podesiti na takvu vrednost. Isproban
je rad Random Forest algoritma sa vrednostima parametra dubine stabala u
rasponu od 50 do 500.

3.6. Implementirani softver


Softver koji reprezentuje prethodno opisan sistem i sadrži sve
njegove podsisteme implementiran je kao klijent-server web aplikacija.
Preuzet je iz rada [51].
Server aplikacija je sadržala klase koje izvršavaju sve prethodno
opisane tehnike pretprocesiranja i klasifikaciju tvitova. Klasifikatori su
implementirani uz pomoć programske biblioteke WEKA.
Klijent aplikacija je imala jednostavan interfejs preko kojeg korisnik
može da unese upit, koji se šalje Twitter4J API-ju, kao i klasifikator koji
želi da koristi prilikom klasifikacije tvitova, koji su rezultat prosleđenog
upita. Ispod zone unosa podataka, korisniku se prikazuju rezultati upita:
tvitovi, koji su obeleženi kao pozitivni, ili negativni [51]. Pošto je softver
27

razvijan i za potrebe istraživanja sprovedenih u ovom radu i radu [51], na


interfejsu su omogućene i opcije obučavanja klasifikatora, kao i evaluacije
rezultata uz pomoć test skupa. Pored ovoga, moguće je odabrati i veličinu
obučavajućeg skupa sa kojim se trenira klasifikator. U slučaju da korisnik
odabere opciju evaluacije rada klasifikatora, u zoni za prikaz podataka će se
prikazati preciznost klasifikatora (ukupna i zasebno za pozitivnu i negativnu
klasu), kao i odziv pozitivnih i negativnih tvitova [51].
Na slici 3.6.2 prikazan je interfejs softvera u slučaju da je korisnik
pokrenuo evaluaciju klasifikatora. Navedeni su komande koje korisnik
izvršava kako bi mu se prikazale metrike klasifikacije tvitova. Na slici 3.6.2
prikazan je interfejs softvera (klijentski deo aplikacije) kada se korisniku
prikazuju rezultati unetog upita. Navedeni su koraci koje korisnik prati kako
bi se izvršila klasifikacija rezultata upita (tvitova, koji su odgovor na zadati
upit). Slike su preuzete iz rada [51] i dodatno modifikovane.

Slika 3.6.1. Interfejs softvera kada se prikazuju rezultati klasifikacije


28

Slika 3.6.2. Interfejs softvera kada se prikazuju rezultati upita


29

4. EKSPERIMENTALNA EVALUACIJA I
REZULTATI

Eksperimentalna evaluacija se vrši radi određivanja performansi


klasifikacije svih algoritama za mašinsko učenje u kombinaciji sa
tehnikama pretprocesiranja i formiranja skupa atributa, koji su navedeni u
prethodnom poglavlju ovog rada.
Postoje različite tehnike evaluacije u sistemima za analizu podataka.
U ovom istraživanju odlučeno je da se performanse klasifikatora evaluiraju
upotrebom test skupa, koji je opisan u prethodnom poglavlju rada.

4.1. Metodologija evaluacije


U ovom radu cilj je bio utvrditi kolika je uspešnost klasifikacije
tvitova u dve grupe sentimenta: pozitivnu i negativnu. Kako bi se proverila
ovakva sposobnost svakog klasifikatora korišćena je ista metodologija kao
u radu [51].
Postupak evaluacije svakog klasifikatora sastojao se iz nekoliko
koraka:
1. Izbor obučavajućeg skupa, skupa atributa, tehnika
pretprocesiranja i optimizacionih parametara
2. Obučavanje klasifikatora
3. Primena klasifikatora na test skup (bez oznaka sentimenta)
4. Poređenje oznaka klasa dobijenih rezultata (oznaka
sentimenata svakog tvita u test skupu) sa ručnim oznakama
sentimenta svakog tvita u test skupu korišćenjem odabranih
metrika evaluacije
5. Analiza dobijenih metrika evaluacije

Za svaku implementaciju 3 korišćena klasifikatora (SVM, Naive


Bayes i Random Forest), koja je opisana u poglavlju 3.5 ovog rada, najpre
je vršena evaluacija uticaja tehnika pretprocesiranja i tehnika formiranja
skupa atributa na rezultate klasifikacije. Ove provere vršene su nad
predefinisanim konfiguracijama ovih klasifikatora u WEKA biblioteci
(korišćene su predefinisane vrednosti njihovih optimizacionih parametara),
kako bi se dobio model, koji daje optimalne rezultate klasifikacije, pre
optimizacije parametara klasifikatora. Kao što je utvrđeno u prethodnim
istraživanjima na temu sentiment analize, uticaj prethodno pomenutih
tehnika razlikuje se kod svake implementacije klasifikatora, te je stoga
30

odlučeno da i one budu zasebno istražene i evaluirane, pre optimizacije


parametara klasifikatora [3][6][7].
Tehnike pretprocesiranja evaluirane su korišćenjem bazičnog skupa
atributa, koji se sastojao samo iz unigrama, kako bi se utvrdio samo uticaj
tih tehnika na rezultate klasifikacije. Nakon utvrđivanja tehnike
pretprocesiranja, koja maksimizuje rezultate klasifikacije, vršena je
evaluacija uticaja skupa atributa različitog sastava na rezultate klasifikacije,
uz korišćenje prethodno izabrane tehnike pretprocesiranja. Parametri
klasifikatora optimizovani su i njihov uticaj je evaluiran nakon izbora
pogodnog skupa atributa (onog koji maksimizuje rezultate klasifikacije
korišćenjem predefinisanih vrednosti parametara).
Metrike evaluacije performansi klasifikatora koje su korišćene u
ovom radu su preciznost (eng. precision), povrat (eng. recall), F mera (eng.
F measure) i tačnost (eng. accuracy) [51]. Preciznost, povrat i F mera su
metrike koje se određuju zasebno za svaku klasu. Tačnost je globalna
metrika za određivanje mere uspešnosti klasifikatora [51].
U nastavku teksta prikazane su formule za određivanje svake od
prethodno navedenih metrika. Formule, kao i njihova objašnjenja preuzeti
su iz [40], [36] i [51]. U ovim formulama koriste se sledeće varijable:
 TP (eng. true positives) - broj tačno klasifikovanih pozitivnih
primera (tvitova) iz test skupa, tj. broj tvitova koji su i ručno i
preko klasifikatora u test skupu označeni kao pozitivni
 FP (eng. false positives) - lažan broj pozitivnih primera
(tvitova) iz test skupa, tj. broj omaški koje je klasifikator
napravio prilikom označavanja tvitova kao pozitivnih
 TN (eng. true negatives) - broj tačno klasifikovanih
negativnih primera (tvitova) iz test skupa, tj. broj tvitova koji
su i ručno i preko klasifikatora u test skupu označeni kao
negativni
 FN (eng. false negatives) - lažan broj negativnih primera
(tvitova) iz test skupa, tj. broj omaški koje je klasifikator
napravio prilikom označavanja tvitova kao negativnih
 N - ukupan broj svih primera (tvitova) u test skupu

𝑁 = 𝑇𝑃 + 𝐹𝑃 + 𝑇𝑁 + 𝐹𝑁 (9)

𝑇𝑃
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑃𝑂𝑆𝐼𝑇𝐼𝑉𝐸 = (10)
𝑇𝑃 + 𝐹𝑃
31

𝑇𝑁
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑁𝐸𝐺𝐴𝑇𝐼𝑉𝐸 = (11)
𝑇𝑁 + 𝐹𝑁

𝑇𝑃
𝑅𝑒𝑐𝑎𝑙𝑙𝑃𝑂𝑆𝐼𝑇𝐼𝑉𝐸 = (12)
𝑇𝑃 + 𝐹𝑁

𝑇𝑁
𝑅𝑒𝑐𝑎𝑙𝑙𝑁𝐸𝐺𝐴𝑇𝐼𝑉𝐸 = (13)
𝑇𝑁 + 𝐹𝑃

2 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑃𝑂𝑆 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙𝑃𝑂𝑆
𝐹1 (𝑃𝑂𝑆) = (14)
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑃𝑂𝑆 + 𝑅𝑒𝑐𝑎𝑙𝑙𝑃𝑂𝑆

2 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑁𝐸𝐺 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙𝑁𝐸𝐺
𝐹1 (𝑁𝐸𝐺) = (15)
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑁𝐸𝐺 + 𝑅𝑒𝑐𝑎𝑙𝑙𝑁𝐸𝐺

𝑇𝑃 + 𝑇𝑁
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = (16)
𝑁

Formule (10) i (11) prikazuju način izračunavanja preciznosti


klasifikacije pozitivnih, odnosno negativnih tvitova, respektivno. Preciznost
klasifikacije pozitivnih tvitova predstavlja udeo tačno klasifikovanih
pozitivnih tvitova u skupu kojeg čine svi tvitovi koje je klasifikator označio
kao pozitivne. Analogno se definiše preciznost klasifikacije negativnih
tvitova.
Formule (12) i (13) prikazuju način izračunavanja odziva
klasifikacije pozitivnih, odnosno negativnih tvitova, respektivno. Odziv
klasifikacije pozitivnih tvitova predstavlja udeo tačno klasifikovanih
pozitivnih tvitova u skupu kojeg čine svi pozitivni tvitovi test skupa.
Analogno se definiše odziv klasifikacije negativnih tvitova.
Formule (14) i (15) prikazuju način izračunavanja F1 mere
klasifikacije pozitivnih, odnosno negativnih tvitova, respektivno. Kako bi
bio objašnjen smisao F1 mere, najpre je potrebno objasniti F meru. F mera
32

omogućava da se meri kompromis između preciznosti i povrata. Formula za


F meru data je u nastavku [36].

1 (𝛽 2 + 1)𝑃𝑅 1−𝛼
𝐹 = = gde 𝛽2 = (17)
1 1 𝛽2𝑃 + 𝑅
𝛼 𝑃 + (1 − 𝛼) 𝑅 𝛼

U formuli (17) P predstavlja preciznost, dok R predstavlja odziv


klasifikacije. U ovom radu korišćena je balansirana F mera (F1 mera), sa
parametrima α = 0.5 i β = 1. Ukoliko se ovi parametri uvrste u formulu,
dobije se harmonijska sredina P i R, izražena formulama (12) i (13).
Formula (16) prikazuje način izračunavanja tačnosti klasifikacije.
Ona se izračunava kao udeo svih tačno klasifikovanih tvitova u celom test
skupu.

4.2. Evaluacija SVM klasifikatora


Prilikom evaluacije SVM klasifikatora testiran je uticaj svih tehnika
pretprocesiranja, kao i svih tehnika formiranja skupa atributa, navedenih u
poglavljima 3.3 i 3.4 ovog rada, respektivno. Pored ovoga, isprobane su
različite vrednosti optimizacionih parametara za ovaj algoritam, opisani u
poglavlju 3.5.1.

4.2.1. Evaluacija C-SVC implementacije


C-SVC implementacija klasifikatora SVM je jedna od ponuđenih
implementacija ovog klasifikatora u WEKA biblioteci LibSVM. Opisan je u
poglavlju 3.5.1. Performanse ovog klasifikatora su veoma visoke, kada se
izabere pogodan skup atributa, pogodne tehnike pretprocesiranja, kao i
optimalna vrednost parametra C.
Predefinisano podešavanje klasifikatora C-SVC u LibSVM biblioteci
podrazumeva korišćenje radijalne (RBF) kernel funkcije, kao i parametar C
= 10. Najpre je nad ovako podešenim klasifikatorom ispitan uticaj
različitih tehnika pretprocesiranja, kao i različitog sastava skupa atributa na
rezultate klasifikacije tvitova na sentimente. Potom je ispitano kako različite
vrednosti parametra C i različite kernel funkcije utiču na rezultate
klasifikacije.
33

Evaluacija tehnika pretprocesiranja

Nad predefinisanom implementacijom klasifikatora C-SVC ispitan je


uticaj steminga i lematizacije na rezultate klasifikacije. Skup atributa se pri
ovom eksperimentu sastojao samo iz unigrama. U tabeli 4.2.1.1 prikazane
su dobijene metrike klasifikacije.

steming lematizacija
tačnost 71.59% 73.26%
preciznost pozitivnih 66.95% 68.07%
preciznost negativnih 80.49% 83.47%
odziv pozitivnih 86.81% 89.01%
odziv negativnih 55.93% 57.06%
F mera pozitivnih 75.6% 77.14%
F mera negativnih 66.0% 67.78%

Tabela 4.2.1.1. Dobijene metrike prilikom korišćenja steminga i


lematizacije kod C-SVC klasifikatora

Korišćenje lematizacije kao tehnike pretprocesiranja dalo je neznatno


bolju tačnost klasifikacije i F meru od korišćenja steminga. Ovo se
podudara sa rezultatima prethodnih istraživanja [14]. Stoga se u sledećim
koracima evaluacije C-SVC klasifikatora koristi lematizacija kao tehnika
pretprocesiranja tvitova.

Evaluacija izbora skupa atributa

Nad predefinisanom implementacijom klasifikatora C-SVC, uz


korišćenje lematizacije kao tehnike pretprocesiranja ispitan je uticaj
različitih skupova atributa na rezultate klasifikacije tvitova na sentimente. U
tabeli 4.2.1.2 prikazane su dobijene metrike klasifikacije.
34

regularni POS bigrami


unigrami bigrami i bigrami i negacije i
unigrami unigrami unigrami
tačnost 73.26% 74.09% 72.98% 73.26%

preciznost pozitivnih 68.07% 90.11% 89.01% 89.01%

preciznost negativnih 83.47% 57.63% 54.68% 57.06%

odziv pozitivnih 89.01% 68.62% 67.78% 68.07%

odziv negativnih 57.06% 85.0% 83.33% 83.47%

F mera pozitivnih 77.14% 77.91% 76.96% 77.14%

F mera negativnih 67.78% 68.69% 67.33% 67.78%

Tabela 4.2.1.2. Dobijene metrike prilikom koišćenja različitih


skupova atributa kod C-SVC klasifikatora

Dodavanje regularnih bigrama u bazični skup atributa za nijansu je


povećalo tačnost. Tačnost je uvećana za 0.83%. F mere su takođe povećane
nakon dodavanja regularnih bigrama u bazični skup atributa. F mera
pozitivnih povećana je za 0.77%, a F mera negativnih za 0.91%. Ovo se ne
podudara sa rezultatima radova [1] i [6]. U tim radovima autori su utvrdili
da dodavanje bigrama u skup atributa smanjuje tačnost klasifikacije, ili
tačnost ostaje ista kao kad se koristi skup atributa, koji se sastoji samo iz
unigrama. Razlog neusaglašenosti može biti korišćenje različite
konfiguracije SVM klasifikatora, ili različite kernel funkcije. Autori radova
[1] i [6] su za SVM klasifikator koristil linearnu kernel funkciju. U ovom
eksperimentu predefinisano podešavanje C-SVC klasifikatora koristi RBF
kernel funkciju. Takođe, autori ovih radova imali su parametar C podešen
na manju vrednost nego u ovom eksperimentu.
Dodavanje POS bigrama u bazični skup atributa neznatno je smanjilo
tačnost klasifikacije i F mere pozitivnih i negativnih tvitova. Razlika je bila
manje od 1%. Ovakvi rezultati podudaraju se sa prethodnim [1][6].
Međutim, autori ovih radova nisu na isti način implementirani POS tehniku
kao u ovom radu. Oni su koristili tagovane reči kao atribute u okviru skupa
atributa, dok su u ovom radu korišćene najfrekventnije kombinacije dve
reči, izdvojene iz skupa POS tehnikom, bez uključivanja tagova kao
atributa.
35

Dodavanje bigrama negacije u bazični skup atributa nije promenilo


tačnost, niti F mere klasifikacije. Ovo se ne podudara sa prethodnim
rezultatima. Razlog ovome je različit način uvrštavanja negacija u skup
atributa. U radovima [1] i [6] negacije su implementirane dodavanjem
_NOT tagova na unigrame. Uvrštavanje ovakvih unigrama u skup atributa
pogoršalo je tačnost.
Korišćenje skupa atributa, koji se sastoji iz kombinacije unigrama i
regularnih bigrama dao je najbolju tačnost klasifikacije i F meru. Stoga se u
nastavku nad ovako podešenim C-SVC klasifikatorom ispituje uticaj
različitih kernel funkcija i različitih vrednosti parametra C na rezultate
klasifikacije.

Evaluacija izbora kernel funkcije

U ovom odeljku prikazani su rezultati uticaja različitih kernel


funkcija na rezultate klasifikacije prilikom korišćenja C-SVC klasifikatora.
Dobijene metrike prikazane su u tabeli 4.2.1.3.

radijalna
linearna
(RBF)
tačnost 74.09% 77.16%
preciznost
90.11% 82.42%
pozitivnih
preciznost
57.63% 71.75%
negativnih
odziv pozitivnih 68.62% 75%

odziv negativnih 85.0% 79.87%

F mera pozitivnih 77.91% 78.54%

F mera negativnih 68.69% 75.59%

Tabela 4.2.1.3. Dobijene metrike prilikom korišćenja različitih kernel


funkcija kod C-SVC klasifikatora

Korišćenjem linearne kernel funkcije tačnost klasifikacije poboljšana


je za 3.07%, F mera pozitivnih za 0.63%, a F mera negativnih 6.9% u
odnosu na tačnost i F mere dobijene korišćenjem predefinisane, radijalne
(RBF), kernel funkcije.
36

Dobijene metrike podudaraju se sa rezultatima dobijenim u nekim od


prethodnih radova [16] [6]. Postoje i radovi, koji su došli do zaključka da
korišćenje RBF kernel funkcije daje bolju tačnost klasifikacije [13] [15].
Razlog zbog kojeg se rezultati ovog master rada i rezultati rada [13] ne
podudaraju mogao bi biti u činjenici da su autori rada [13] koristili steming
kao tehniku pretprocesiranja. Takođe, u radu [13] se vršila sentiment
analiza većih dokumenata, pa je samim tim i obučavajući skup bio veći, kao
i skup atributa. Nepodudaranje sa radom [15] se javlja zbog toga što je u
njemu korišćen i eksterni leksikon, steming kao tehnika pretprocesiranja,
kao i drugačiji način korišćenja POS tehnike.

Evaluacija izbora optimalne vrednosti parametra C

U ovom odeljku ispitan je uticaj različitih vrednosti parametra C na


klasifikaciju tvitova na sentimente, prilikom korišćenja C-SVC
klasifikatora. Vrednosti parametra C ispitane su empirijski - najpre u
opsegu od 1 do 10, a zatim u opsegu od 10 do 100, sa korakom od 10. Kao
tehnika pretprocesiranja korišćena je lematizacija, dok se skup atributa
sastojao iz unigrama i regularnih bigrama. Kernel funkcija koja je korišćena
je radijalna (RBF), zbog hardverskih ograničenja. Korišćenjem ove kernel
funkcije obučavanje je i do 15 puta brže i traje 15 minuta, nego prilikom
korišćenja linearne kernel funkcije, kada obučavanje traje preko 4 sata.
Dobijene metrike prikazane su u tabeli 4.2.1.4.
37

negativnih

negativnih

negativnih
preciznost

preciznost
pozitivnih

pozitivnih

pozitivnih
tačnost

F mera

F mera

odziv

odziv
C

10 74.09% 77.91% 68.67% 68.62% 85.0% 90.11% 57.63%

20 75.77% 78.93% 71.48% 70.56% 85.16% 89.56% 61.58%

30 75.49% 78.64% 71.24% 70.43% 84.5% 89.01% 61.58%

40 76.32% 79.22% 72.49% 71.37% 84.85% 89.01% 63.27%

50 76.88% 79.4% 73.65% 72.39% 84.06% 87.91% 65.54%

60 77.72% 80.0% 74.84% 73.39% 84.4% 87.91% 67.23%

70 77.16% 79.4% 74.38% 73.15% 83.22% 86.81% 67.23%

80 77.44% 79.7% 74.61% 73.27% 83.8% 87.36% 67.23%

90 77.72% 79.8% 75.16% 73.83% 83.45% 86.81% 68.36%

100 76.88% 79.09% 74.14% 73.02% 82.64% 86.26% 67.23%

Tabela 4.2.1.4. Dobijene metrike prilikom korišćenja različitih


vrednosti parametra C kod C-SVC klasifikatora

Dobijene metrike pokazuju da povećanje parametra C u opsegu od 10


do 100 ima uticaj na rezultate klasifikacije. Tačnost klasifikacije se gotovo
linearno povećava sa povećanjem vrednosti parametra C, do vrednosti od
60. Najbolja tačnost, koja iznosi 77.72%, postignuta je kad parametar C ima
vrednost od 60 i 90. Najveća postignuta F mera pozitivnih (80.0%) dobijena
je podešavanjem parametra C na vrednost od 60, dok je najveća postignuta
F mera negativnih (79.8%) dobijena kada parametar C ima vrednost od 90.
Ovakvi rezultati nisu u saglasnosti sa prethodnim istraživanjima na temu
Tviter sentiment analize. Autori rada [15] utvrdili su da C = 10 daje
najbolju tačnost klasifikacije. Međutim, postavka eksperimenta je bila
drugačija u tom radu. Autori su koristili steming kao tehniku
pretprocesiranja, kao i eksterni leksikon. Autori rada [16] dobili su da je
optimalna vrednost parametra C 0.005. Međutim, u tom radu takođe je
korišćen eksterni leksikon i u skup atributa uvrštavani su hashtag-ovi, što
nije bio slučaj u ovom master radu.
38

4.2.2. Evaluacija nu-SVC implementacije


nu-SVC implementacija klasifikatora SVM je jedna od njegovih
podržanih implementacija u WEKA biblioteci LibSVM. Opisana je u
poglavlju 3.5.1 ovog rada. Performanse ovog klasifikatora su veoma visoke
kada se izabere pogodan skup atributa, kao i optimalna vrednost parametra
nu (ν) [19]. U prethodnim istraživanjima na temu Tviter sentiment analize
nije zastupljen nu-SVC algoritam kao odabrani klasifikator.
Predefinisano podešavanje klasifikatora nu-SVC u LibSVM biblioteci
podrazumeva korišćenje radijalne (RBF) kernel funkcije, kao i parametar nu
= 0.5. Najpre je nad ovako podešenim klasifikatorom ispitan uticaj
različitih tehnika pretprocesiranja, kao i različitog sastava skupa atributa na
rezultate klasifikacije tvitova na sentimente. Potom je ispitano kako različite
vrednosti parametra nu i različite kernel funkcije utiču na rezultate
klasifikacije.

Evaluacija tehnika pretprocesiranja

Nad predefinisanom implementacijom klasifikatora nu-SVC ispitan je


uticaj steminga i lematizacije na rezultate klasifikacije. Skup atributa se pri
ovom eksperimentu sastojao samo iz unigrama. U tabeli 4.2.2.1 prikazane
su dobijene metrike klasifikacije.

steming lematizacija
tačnost 71.88% 74.65%
preciznost pozitivnih 69.19% 72.64%
preciznost negativnih 75.68% 77.22%
odziv pozitivnih 80.22% 80.22%
odziv negativnih 63.28% 68.93%
F mera pozitivnih 74.3% 76.24%
F mera negativnih 68.93% 72.84%

Tabela 4.2.2.1. Dobijene metrike prilikom korišćenja steminga i


lematizacije kod nu-SVC klasifikatora

Korišćenje lematizacije kao tehnike pretprocesiranja dalo je bolju


tačnost klasifikacije i F meru od korišćenja steminga. Tačnost postignuta
lematizacijom veća je za 2.77% u odnosu na tačnost postignutu stemingom.
F mera pozitivnih veća je za 1.94%, dok je F mera negativnih veća za
3.91%. Ovo se podudara sa rezultatima dobijenim u prethodnom
39

istraživanju [14]. Stoga se u sledećim koracima evaluacije nu-SVC


klasifikatora koristi lematizacija kao tehnika pretprocesiranja tvitova.

Evaluacija izbora skupa atributa

Nad predefinisanom implementacijom klasifikatora nu-SVC, uz


korišćenje lematizacije kao tehnike pretprocesiranja ispitan je uticaj
različitih skupova atributa na rezultate klasifikacije tvitova na sentimente. U
tabeli 4.2.2.2 prikazane su dobijene metrike klasifikacije.

regularni POS bigrami


unigrami bigrami i bigrami i negacije i
unigrami unigrami unigrami
tačnost 74.65% 75.77% 76.04% 77.44%

preciznost pozitivnih 72.64% 81.87% 73.53% 75.12%

preciznost negativnih 77.22% 69.49% 79.35% 80.37%

odziv pozitivnih 80.22% 73.4% 82.42% 82.97%

odziv negativnih 68.93% 78.85% 69.49% 71.75%

F mera pozitivnih 76.24% 77.4% 77.72% 78.85%

F mera negativnih 72.84% 73.87% 74.09% 75.82%

Tabela 4.2.2.2. Dobijene metrike prilikom koišćenja različitih


skupova atributa kod nu-SVC klasifikatora

Dodavanje regularnih bigrama u bazični skup atributa povećalo je


tačnost klasifikacije za 1.12%. F mera pozitivnih takođe je uvećana - za
1.16%, kao i F mera negativnih - za 1.03%. Ovo se ne podudara sa
rezultatima radova [1] i [6]. Razlog nepodudaranja leži u tome što su autori
ovih radova koristili C-SVC implementaciju SVM algoritma. U radu [19] na
temu Tviter sentiment analize koji je istražio nu-SVC algoritam nije ispitan
uticaj bigrama na rezultate klasifikacije.
Dodavanje POS bigrama u bazični skup atributa povećalo je tačnost
klasifikacije za 1.39%, dok je F meru pozitivnih uvećalo za 1.48%, a F
meru negativnih za 1.25%. Ovi rezultati se ne podudaraju sa rezultatima
prethodnih radova na temu Tviter sentiment analize [1] i [6] Razlog ovome
40

može ležati u tome što je u ovom radu na drugačiji način implementirana


POS tehnika.
Dodavanje bigrama negacije u bazični skup atributa najviše je
povećalo tačnost klasifikacije - za 2.79%. F meru pozitivnih povećalo je za
2.61%, a F meru negativnih za 2.98%. Uvrštavanje negiranih unigrama u
skup atributa je u prethodnim radovima na temu Tviter sentiment analize
dalo lošiju tačnost klasifikacije i F meru [1] [6]. U ovom radu nije takav
slučaj. Razlika u rezultatima nastala je zbog različitog pristupa u
uvrštavanju negacija u skup atributa: u ovom master radu nisu korišćeni
negirani unigrami, nego bigrami, koji sadrže u sebi negaciju. Ova tehnika
uvrštavanja negacija u skup atributa se pokazala kao veoma dobra za
klasifikator nu-SVC prilikom određivanja sentimenata tvitova.

Evaluacija izbora kernel funkcije

U ovom odeljku prikazani su rezultati uticaja različitih kernel


funkcija na rezultate klasifikacije prilikom korišćenja nu-SVC klasifikatora.
Kao tehnika pretprocesiranja korišćena je lematizacija, dok se skup atributa
sastojao iz unigrama i bigrama negacije. Dobijene metrike prikazane su u
tabeli 4.2.2.3.

radijalna
linearna
(RBF)
tačnost 77.44% 77.16%
preciznost
75.12% 74.75%
pozitivnih
preciznost
80.37% 80.25%
negativnih
odziv pozitivnih 82.97% 82.97%

odziv negativnih 71.75% 71.19%

F mera pozitivnih 78.85% 78.65%

F mera negativnih 75.82% 75.45%

Tabela 4.2.2.3. Dobijene metrike prilikom korišćenja različitih kernel


funkcija kod nu-SVC klasifikatora

Korišćenjem linearne kernel funkcije tačnost klasifikacije neznatno je


smanjena, za 0.28%, kao i F mera pozitivnih za 0.2%, a F mera negativnih
41

za 0.27% u odnosu na tačnost i F mere dobijene korišćenjem predefinisane,


radijalne (RBF), kernel funkcije. Korišćenjem polinomijalne kernel funkcije
tačnost je znatno smanjena: za 5.85%. F mera pozitivnih smanjena je za
2.35%, dok je F mera negativnih smanjena za čak 11.74%.
Dobijene metrike ukazuju na to da korišćenje radijalne kernel
funkcije daje za nijansu bolje rezultate klasifikacije tvitova na sentimente.
Ovakav zaključak se podudara sa rezultatima dobijenim u nekim od
prethodnih radova [13][5]. Postoje i radovi, koji su došli do zaključka da
korišćenje linearne kernel funkcije daje bolju tačnost klasifikacije [1] [6].
U narednim koracima se zbog dobijenih rezultata koristi nu-SVC
klasifikator sa radijalnom (RBF) kernel funkcijom.

Evaluacija izbora optimalne vrednosti parametra nu

U ovom odeljku ispitan je uticaj različitih vrednosti parametra nu na


klasifikaciju tvitova na sentimente, prilikom korišćenja nu-SVC
klasifikatora. Vrednosti parametra nu (ν) ispitane su u opsegu od 0.4 do 0.8,
sa korakom od 0.05. Kao tehnika pretprocesiranja korišćena je lematizacija,
dok se skup atributa sastojao iz unigrama i bigrama negacije. Kernel
funkcija koja je korišćena je radijalna (RBF). Dobijene metrike prikazane su
u tabeli 4.2.2.4.
42

negativnih

negativnih

negativnih
preciznost

preciznost
pozitivnih

pozitivnih

pozitivnih
tačnost

F mera

F mera

odziv

odziv
nu

0.40 71.87% 73.9% 69.49% 78.57% 64.97% 69.76% 74.68%

0.45 74.37% 76.65% 71.61% 71.23% 78.91% 82.97% 65.54%

0.50 77.44% 78.85% 75.82% 75.12% 80.37% 82.97% 71.75%

0.55 78.27% 79.8% 76.51% 75.49% 81.94% 84.62% 71.75%

0.60 77.99% 79.59% 76.14% 75.12% 81.82% 84.62% 71.19%

0.65 77.44% 79.07% 75.53% 74.63% 81.17% 84.07% 70.62%

0.70 78.83% 80.81% 76.4% 74.77% 84.83% 87.91% 69.49%

0.75 78.27% 80.69% 75.16% 73.42% 86.13% 89.56% 66.67%

0.80 77.16% 79.9% 73.55% 72.12% 85.71% 89.56% 64.41%

Tabela 4.2.2.4. Dobijene metrike prilikom korišćenja različitih


vrednosti parametra nu kod nu-SVC klasifikatora

Dobijene metrike pokazuju da povećanje parametra nu u opsegu od


0.4 do 0.8 ima uticaj na rezultate klasifikacije. Tačnost klasifikacije najpre
raste sa povećanjem parametra nu, do nu = 0.55. Potom se blago smanjuje
do nu = 0.65. Za vrednost nu od 0.7 tačnost dostiže najvišu vrednost:
78.83%, što je za 1.39% veće od tačnosti dobijene sa početnom vrednosti
nu = 0.5. Najveća postignuta F mera pozitivnih (80.81%) takođe je dobijena
podešavanjem parametra nu na vrednost od 0.7, dok je najveća postignuta F
mera negativnih (76.51%) dobijena kada parametar nu ima vrednost od
0.55. Ovakvi rezultati nisu u saglasnosti sa prethodnim istraživanjima na
temu Tviter sentiment analize. Autori rada [19] utvrdili su da nu = 0.43 daje
najbolju tačnost klasifikacije, dok je u ovom radu utvrđeno da se najbolja
tačnist klasifikacije dobija za nu = 0.7. Međutim, postavka eksperimenta je
bila drugačija u tom radu. Autori su koristili različite tehnike
pretprocesiranja i različitu kernel funkciju.
43

4.2.3. Uporedna analiza SVM implementacija


Najbolja tačnost klasifikacije i najbolje vrednosti F mere SVM
klasifikatora postignute su korišćenjem njegove nu-SVC implementacije. Pri
tome je kao tehnika pretprocesiranja korišćena lematizacija, a skup atributa
se sastojao iz unigrama i bigrama negacije. Kernel funkcija koja je
korišćena je bila RBF (radijalna), dok je optimizacioni parametar nu bio
podešen na vrednost od 0.7. U tabeli 4.2.3.1 date su metrike dobijene za
optimalnu konfiguraciju C-SVC i nu-SVC implementacije SVM
klasifikatora.

C-SVC (C = 60, nu-SVC (nu = 0.7,


RBF, lem) RBF, lem)
tačnost 77.72% 78.83%
preciznost pozitivnih 73.39% 74.77%
preciznost negativnih 84.4% 84.83%
odziv pozitivnih 87.91% 87.91%
odziv negativnih 67.23% 69.49%
F mera pozitivnih 80.0% 80.81%
F mera negativnih 74.84% 76.4%

Tabela 4.2.3.1. Poređenje metrika dobijenih pomoću optimalnih


konfiguracija C-SVC i nu-SVC implementacija SVM klasifikatora

Iz tabele 4.2.3.1 se vidi da korišćenje nu-SVC implementacije SVM


algoritma povećava tačnost za 1.11%, F meru pozitivnih za 0.81%, a F
meru negativnih za 1.56%. Stoga se zaključuje da je nu-SVC
implementacija optimalna implementacija SVM klasifikatora prilikom
sentiment analize tvitova.

4.3. Evaluacija Naive Bayes klasifikatora


Prilikom evaluacije Naive Bayes klasifikatora testiran je uticaj svih
tehnika pretprocesiranja, kao i svih tehnika formiranja skupa atributa,
navedenih u poglavljima 3.3 i 3.4 ovog rada, respektivno. U WEKA
biblioteci postoji više implementacija Naive Bayes algoritma. U ovom radu
ispitan je rad dve vrste Naive Bayes-a: Bernoulli i Complement. Oni su
opisani u poglavlju 3.5.2 ovog rada.
44

4.3.1. Evaluacija Bernoulli Naive Bayes varijante


Bernoulli (Bernulijeva) implementacija klasifikatora Naive Bayes je
jedna od njegovih podržanih implementacija u WEKA biblioteci. U
prethodnim istraživanjima na temu Tviter sentiment analize je pokazano da
su performanse ovog klasifikatora lošije u odnosu na prethodno ispitan
algoritam, SVM.
Najpre je ispitan uticaj tehnika pretprocesiranja na rezultate
klasifikacije tvitova uz pomoć Bernoulli Naive Bayes-a. Potom je ispitan
uticaj različitog sastava skupa atributa.

Evaluacija tehnika pretprocesiranja

Tehnike steminga i lematizacije ispitane su uz korišćenje bazičnog


skupa atributa, koji se sastojao samo od unigrama. U tabeli 4.3.1.1
prikazane su metrike dobijene korišćenjem lematizacije i steminga.

steming lematizacija
tačnost 70.19% 72.14%
preciznost pozitivnih 70.49% 69.34%
preciznost negativnih 69.89% 76.19%
odziv pozitivnih 70.88% 80.77%
odziv negativnih 69.49% 63.28%
F mera pozitivnih 70.68% 74.62%
F mera negativnih 69.69% 69.14%

Tabela 4.3.1.1. Metrike Naive Bayes klasifikatora dobijene


korišćenjem steminga i lematizacije

Dobijene metrike ukazuju na to da je korišćenje lematizacije kao


tehnike pretprocesiranja tvitova prilikom njihove klasifikacije na sentimente
Bernulijevim Naive Bayes klasifikatorom bolje nego korišćenje steminga.
Tačnost prilikom korišćenja lematizacije je za 1.95% veća, dok je F mera
pozitivnih veća za 3.94%. F mera negativnih neznatno je smanjena u
odnosu na F meru dobijenu korišćenjem steminga. U većini prethodnih
radova, prilikom analize Naive Bayes klasifikatora, autori nisu ni koristili
tehnike morfološke normalizacije, poput steminga i lematizacije i to je dalo
dobre rezultate klasifikacije [24] [25]. Rezultati dobijeni u ovom radu
podudaraju se sa rezultatima dobijenim u jednom od prethodnih istraživanja
na temu sentiment analize [1].
45

U daljim koracima ispitivanja performansi Bernoulli Naive Bayes


algoritma kao tehnika morfološke normalizacije korišćena je lematizacija,
zbog toga što je dala bolje rezultate klasifikacije.

Evaluacija izbora skupa atributa

Ispitan je i uticaj različitog sastava skupa atributa na rezultate


klasifikacije tvitova uz pomoć Bernoulli Naive Bayes klasifikatora. Ovo
ispitivanje je vršeno u kombinaciji sa lematizacijom kao tehnikom
pretprocesiranja, jer se ona prethodno pokazala kao povoljnija za rezultate
klasifikacije.
Ispitano je uvođenje regularnih bigrama, POS bigrama i bigrama
negacije u skup atributa pojedinačno. Ovi bigrami opisani su u poglavljima
3.4.2, 3.4.3 i 3.4.4 ovog rada, respektivno. Svaka vrsta bigrama dodata je na
bazični skup atributa, tako da su skup atributa za svako ispitivanje
sačinjavali unigrami i bigrami odabrane vrste. Dobijene metrike prilikom
svakog od eksperimenata prikazane su uporedno u tabeli 4.3.1.2.

regularni POS bigrami


unigrami bigrami i bigrami i negacije i
unigrami unigrami unigrami
tačnost 72.14% 71.87% 72.14% 72.98%

preciznost pozitivnih 69.34% 68.83% 69.34% 70.14%

preciznost negativnih 76.19% 76.39% 76.19% 77.03%

odziv pozitivnih 80.77% 81.32% 80.77% 81.32%

odziv negativnih 63.28% 62.15% 63.28% 64.41%

F mera pozitivnih 74.62% 74.56% 74.62% 75.32%

F mera negativnih 69.14% 68.54% 69.14% 70.16%

Tabela 4.3.1.2. Uporedni prikaz metrika dobijenih korišćenjem skupa


atributa različitog sastava prilikom klasifikacije tvitova Bernoulli
Naive Bayes algoritmom

Iz prethodne tabele može se zaključiti da izbor skupa atributa ne utiče


u velikoj meri na rezultate klasifikacije tvitova Bernoulli Naive Bayes
klasifikatorom. Dodavanjem regularnih bigrama u bazični skup atributa,
46

tačnost se smanjuje za 0.27%, dok se F mera pozitivnih smanjuje za 0.06%,


a F mera negativnih za 0.6%. Slične rezultate dobili su i autori rada [24],
dok su autori rada [6] zaključili da dodavanje bigrama na unigrame u skup
atributa poboljšava tačnost klasifikacije. Razlog neusaglašenosti sa tim
radom leži u činjenici da su oni koristili drugu implementaciju Naive Bayes
algoritma: Multinomial Naive Bayes.
Dodavanjem POS bigrama tačnost i F mere ostaju iste. Autori rada
[6] zaključili su da korišćenje POS tehnike smanjuje tačnost klasifikacije
kod Naive Bayes klasifikatora. Međutim, oni su na drugačiji način primenili
ovu tehniku, a uz to je korišćena i drugačija implementacija Naive Bayes
klasifikatora, kao što je napomenuto u prethodnom pasusu.
Dodavanjem bigrama negacije tačnost se povećava za 0.84%, F mera
pozitivnih za 0.7%, a F mera negativnih za 1.02%. Do zaključka da
uvrštavanje negacija u skup atributa poboljšava tačnost i F meru
klasifikacije kod Naive Bayes klasifikatora došli su i autori rada [24].

4.3.2. Evaluacija Complement Naive Bayes implementacije


Complement implementacija klasifikatora Naive Bayes je jedna od
njegovih podržanih implementacija u WEKA biblioteci. On je u stvari
proširenje Multinomial Naive Bayes klasifikatora. Opisana je u poglavlju
3.5.2 ovog rada. U prethodnim istraživanjima na temu sentiment analize i
tekstualne klasifikacije je pokazano da su performanse ovog klasifikatora
veoma dobre i da su uporedive sa performansama klasifikatora SVM.
U ovom poglavlju je najpre ispitan uticaj tehnika pretprocesiranja na
rezultate klasifikacije tvitova uz pomoć Complement Naive Bayes-a. Potom
je ispitan uticaj različitog sastava skupa atributa. Na kraju je ispitan uticaj
različitih vrednosti smoothing (S) konstante na rezultate klasifikacije.
Predefinisana vrednost ove konstante je 1.

Evaluacija tehnika pretprocesiranja

Tehnike steminga i lematizacije ispitane su uz korišćenje bazičnog


skupa atributa, koji se sastojao samo od unigrama. U tabeli 4.3.2.1
prikazane su metrike dobijene korišćenjem lematizacije i steminga.
47

steming lematizacija
tačnost 76.32% 79.67%
preciznost pozitivnih 73.21% 77.95%
preciznost negativnih 80.67% 81.71%
odziv pozitivnih 84.07% 83.52%
odziv negativnih 68.36% 75.71%
F mera pozitivnih 78.27% 80.64%
F mera negativnih 74.0% 78.6%

Tabela 4.3.2.1. Metrike Complement Naive Bayes klasifikatora


dobijene korišćenjem steminga i lematizacije

Dobijene metrike ukazuju na to da je korišćenje lematizacije kao


tehnike pretprocesiranja tvitova prilikom njihove klasifikacije na sentimente
komplementarnim Naive Bayes klasifikatorom bolje nego korišćenje
steminga. Tačnost prilikom korišćenja lematizacije je za 3.35% veća, dok je
F mera pozitivnih veća za 2.37%. F mera negativnih takođe je povećana u
odnosu na F meru dobijenu korišćenjem steminga, za 4.6%. Kao što je
napomenuto u prethodnom poglavlju, u većini prethodnih radova, prilikom
analize Naive Bayes klasifikatora, autori nisu ni koristili tehnike morfološke
normalizacije i to je dalo dobre rezultate klasifikacije [24] [25]. Rezultati
dobijeni u ovom radu podudaraju se sa rezultatima dobijenim u jednom od
prethodnih istraživanja na temu sentiment analize [1].
U daljim koracima ispitivanja performansi Complement Naive Bayes
algoritma kao tehnika morfološke normalizacije korišćena je lematizacija,
zbog toga što je dala bolje rezultate klasifikacije.

Evaluacija izbora skupa atributa

Ispitan je i uticaj različitog sastava skupa atributa na rezultate


klasifikacije tvitova uz pomoć Complement Naive Bayes klasifikatora. Ovo
ispitivanje je vršeno u kombinaciji sa lematizacijom kao tehnikom
pretprocesiranja, jer se ona prethodno pokazala kao povoljnija za rezultate
klasifikacije.
Ispitano je uvođenje regularnih bigrama, POS bigrama i bigrama
negacije u skup atributa pojedinačno. Ovi bigrami opisani su u poglavljima
3.4.2, 3.4.3 i 3.4.4 ovog rada, respektivno. Svaka vrsta bigrama dodata je na
bazični skup atributa, tako da su skup atributa za svako ispitivanje
sačinjavali unigrami i bigrami odabrane vrste. Dobijene metrike prilikom
svakog od eksperimenata prikazane su uporedno u tabeli 4.3.2.2.
48

regularni POS bigrami


unigrami bigrami i bigrami i negacije i
unigrami unigrami unigrami
tačnost 79.67% 78.83% 79.67% 80.22%

preciznost pozitivnih 77.95% 66.5% 77.95% 77.89%

preciznost negativnih 81.71% 81.76% 81.71% 83.13%

odziv pozitivnih 83.52% 84.07% 83.52% 85.16%

odziv negativnih 75.71% 73.45% 75.71% 75.14%

F mera pozitivnih 80.64% 80.11% 80.64% 81.36%

F mera negativnih 78.6% 77.38% 78.6% 78.93%

Tabela 4.3.2.2. Uporedni prikaz metrika dobijenih korišćenjem skupa


atributa različitog sastava prilikom klasifikacije tvitova
Complement Naive Bayes algoritmom

Iz prethodne tabele može se zaključiti da izbor skupa atributa ne utiče


u velikoj meri na rezultate klasifikacije tvitova Complement Naive Bayes
klasifikatorom, isto kao kod Bernoulli Naive Bayes-a. Dodavanjem
regularnih bigrama u bazični skup atributa, tačnost i F mere se za nijansu
smanjuju. Dodavanjem POS bigrama tačnost i F mere ostaju iste.
Dodavanjem bigrama negacije tačnost se povećava za 0.55%, dok se F
mera pozitivnih povećava za 0.72%, a F mera negativnih za 0.33%. Iste
ovakve zaključke: da dodavanje bigrama negacije na unigrame u skupu
atributa daje najbolje rezultate klasifikacije dobili smo i u prethodnom
poglavlju, kod Bernoulli Naive Bayes implementacije Naive Bayes
klasifikatora. Stoga se u narednom odeljku kao skup atributa koriste
unigrami sa bigramima negacije.

Evaluacija smoothing konstante

U ovom odeljku ispitan je uticaj različitih vrednosti smoothing


konstante na klasifikaciju tvitova na sentimente, prilikom korišćenja
Complement Naive Bayes klasifikatora. Vrednosti ove konstante ispitane su
empirijski, u opsegu od 0.1 do 1, sa korakom od 0.1. Kao tehnika
pretprocesiranja korišćena je lematizacija, dok se skup atributa sastojao iz
49

unigrama i bigrama negacije. Dobijene metrike prikazane su u tabeli


4.3.2.3.

negativnih

negativnih

negativnih
preciznost

preciznost
pozitivnih

pozitivnih

pozitivnih
tačnost

F mera

F mera

odziv

odziv
S

0.1 79.67% 80.74% 78.47% 77.66% 82.1% 84.07% 75.14%

0.2 79.94% 81.06% 78.7% 77.78% 82.61% 84.62% 75.14%

0.3 79.94% 81.06% 78.7% 77.78% 82.61% 84.62% 75.14%

0.4 80.22% 81.36% 78.93% 77.89% 83.13% 85.16% 75.14%

0.5 80.22% 81.36% 78.93% 77.89% 83.13% 85.16% 75.14%

0.6 80.5% 81.58% 79.29% 78.28% 83.23% 85.16% 75.71%

0.7 80.5% 81.58% 79.29% 78.28% 83.23% 85.16% 75.71%

0.8 79.67% 80.74% 78.47% 77.66% 82.1% 84.07% 75.14%

0.9 79.67% 80.74% 78.47% 77.66% 82.1% 84.07% 75.14%

1 80.22% 81.36% 78.93% 77.89% 83.13% 85.16% 75.14%

Tabela 4.3.2.3. Vrednosti metrika za različite vrednosti smoothing


konstante kod Complement Naive Bayes klasifikatora

Iz tabele 4.3.2.3 može se primetiti da smoothing konstanta veoma


malo utiče na rezultate sentiment klasifikacije. Najpre porastom S konstante
od vrednosti 0.1 do vrednosti 0.7 tačnost raste. Najveća postignuta tačnost
od 80.5% postignuta je za vrednost S = 0.6 i S = 0.7. Za ovu vrednost S
tačnost je veća od tačnosti dobijene korišćenjem predefinisane konfiguracije
Complement Naive Bayes klasifikatora (S = 1) za 0.28%. F mera pozitivinih
za S = 0.6 i S = 0.7 veća je za 0.22% u odnosu na predefinisano podešavanje
klasifikatora, dok je F mera negativnih veća za 0.36%. Ova povećanja su
veoma mala. Izvedeni zaključci podudaraju se sa zaključcima dobijenim u
radu [25]. U tom radu optimalna vrednost smoothing konstante je bila 0.4.
50

4.2.3. Uporedna analiza Naive Bayes implementacija


Najbolja tačnost klasifikacije i najbolje vrednosti F mere Naive Bayes
klasifikatora postignute su korišćenjem njegove Complement
implementacije, što se i podudara sa rezultatima prethodnih istraživanja
[29]. Kao tehnika pretprocesiranja korišćena je lematizacija, dok se skup
atributa sastojao iz unigrama i bigrama negacije. Smoothing konstanta za
koju su dobijeni optimalni rezultati imala je vrednost od 0.6, ili 0.7. U tabeli
4.2.3.1 prikazane su metrike dobijene za optimalne konfiguracije
Complement i Bernoulli implementacije Naive Bayes klasifikatora.

Complement
Bernoulli (lem,
(lem, neg +
neg + uni)
uni, S = 0.6)
tačnost 72.98% 80.5%
preciznost pozitivnih 70.14% 78.28%
preciznost negativnih 77.03% 83.23%
odziv pozitivnih 81.32% 85.16%
odziv negativnih 64.41% 75.71%
F mera pozitivnih 75.32% 81.58%
F mera negativnih 70.16% 79.29%

Tabela 4.2.3.1. Poređenje metrika dobijenih pomoću optimalnih


konfiguracija Bernoulli i Complement implementacija Naive Bayes
klasifikatora

U tabeli 4.2.3.1 se može uočiti da korišćenje Complement


implementacije Naive Bayes klasifikatora uvećava tačnost u odnosu na
Bernoulli implementaciju za čak 7.52%, dok se F mera pozitivnih uvećava
za 6.26%, a F mera negativnih za 9.13%. Ova razlika je značajna. Stoga
zaključujemo da je optimalna implementacija Naive Bayes klasifikatora za
klasifikaciju sentimenata tvitova upravo Complement Naive Bayes. Ovakav
zaključak podudara se sa zaključcima izvedenim u prethodnim
istraživanjima [29].

4.4. Evaluacija Random Forest klasifikatora


Prilikom evaluacije Random Forest klasifikatora testiran je uticaj
svih tehnika pretprocesiranja, kao i svih tehnika formiranja skupa atributa,
navedenih u poglavljima 3.3 i 3.4 ovog rada, respektivno. Pored ovoga,
51

isprobane su različite vrednosti optimizacionih parametara za ovaj


algoritam, opisani u poglavlju 3.5.3.
Predefinisano podešavanje klasifikatora Random Forest u WEKA
biblioteci podrazumeva parametar dubine stabala podešen na neograničenu
vrednost. Zbog hardverskih ograničenja, u ovom radu početna vrednost
ovog parametra podešena je na 10. Parametar broja atributa predefinisano je
podešen na vrednost od 0, a parametar broja iteracija podešen na vrednost
od 100. Najpre je nad ovako podešenim klasifikatorom ispitan uticaj
različitih tehnika pretprocesiranja, kao i različitog sastava skupa atributa na
rezultate klasifikacije tvitova na sentimente. Potom je ispitano kako različite
vrednosti optimizacionih parametara utiču na rezultate klasifikacije.

Evaluacija tehnika pretprocesiranja

Nad predefinisanom implementacijom klasifikatora Random Forest


ispitan je uticaj steminga i lematizacije na rezultate klasifikacije. Skup
atributa se pri ovom eksperimentu sastojao samo iz unigrama. U tabeli 4.4.1
prikazane su dobijene metrike klasifikacije.

steming lematizacija
tačnost 75.49% 74.65%
preciznost pozitivnih 71.56% 70.04%
preciznost negativnih 81.56% 84.62%
odziv pozitivnih 85.71% 89.01%
odziv negativnih 64.97% 62.15%
F mera pozitivnih 78.0% 77.56%
F mera negativnih 72.33% 70.13%

Tabela 4.4.1. Dobijene metrike prilikom korišćenja steminga i


lematizacije kod Random Forest klasifikatora

Korišćenje steminga kao tehnike pretprocesiranja dalo je bolju


tačnost klasifikacije i F meru od korišćenja lematizacije. Ovo se podudara
sa rezultatima prethodnih istraživanja [33]. Stoga se u sledećim koracima
evaluacije Random Forest klasifikatora koristi steming kao tehnika
pretprocesiranja tvitova.
52

Evaluacija izbora skupa atributa

Nad predefinisanom implementacijom klasifikatora Random Forest,


uz korišćenje steminga kao tehnike pretprocesiranja ispitan je uticaj
različitih skupova atributa na rezultate klasifikacije tvitova na sentimente. U
tabeli 4.4.2 prikazane su dobijene metrike klasifikacije.

regularni POS bigrami


unigrami bigrami i bigrami i negacije i
unigrami unigrami unigrami
tačnost 75.49% 75.21% 75.77% 74.65%

preciznost pozitivnih 71.56% 70.31% 70.74% 70.74%

preciznost negativnih 81.56% 83.85% 84.62% 84.62%

odziv pozitivnih 85.71% 88.46% 89.01% 89.01%

odziv negativnih 64.97% 61.58% 62.15% 62.15%

F mera pozitivnih 78.0% 78.35% 78.83% 77.75%

F mera negativnih 72.33% 71.0% 71.66% 70.55%

Tabela 4.4.2. Dobijene metrike prilikom koišćenja različitih skupova


atributa kod Random Forest klasifikatora

Dodavanje regularnih bigrama u bazični skup atributa neznatno je


smanjilo tačnost klasifikacije kod Random Forest algoritma. F mera
negativnih smanjena je za 2.33%, dok je F mera pozitivnih povećana za
0.35%. Ovo se podudara sa rezultatom rada [33] na temu sentiment analize:
dodavanje regularnih bigrama u skup atributa smanjuje, ili ne utiče na
rezultate klasifikacije.
Dodavanje POS bigrama u bazični skup atributa neznatno je povećao
tačnost klasifikacije. F mera pozitivnih povećala se za 0.83%, a F mera
negativnih se smanjila za 0.67%.
Dodavanje bigrama negacije u bazični skup atributa neznatno je
smanjilo tačnost klasifikacije. F mera smanjila se za 0.25%, a F mera
negativnih se smanjila za 1.78%.
Korišćenje skupa atributa, koji se sastoji iz unigrama i POS bigrama
dao je najbolju tačnost klasifikacije i F meru, te se zbog toga koristi u
narednim koracima evaluacije Random Forest algoritma.
53

Evaluacija izbora dubine stabala

U ovom odeljku ispitan je uticaj različitih vrednosti parametra dubine


stabala na klasifikaciju tvitova na sentimente, prilikom korišćenja Random
Forest klasifikatora. Vrednosti ovog parametra ispitane su empirijski, u
opsegu od 10 do 100, sa korakom od 10. Kao tehnika pretprocesiranja
korišćena je lematizacija, dok se skup atributa sastojao iz unigrama i POS
bigrama. Dobijene metrike prikazane su u tabeli 4.4.3.

negativnih

negativnih

negativnih
preciznost

preciznost
pozitivnih

pozitivnih

pozitivnih
tačnost

F mera

F mera

odziv

odziv
D

10 75.77% 78.83% 71.66% 70.04% 84.63% 89.01% 62.15%

20 77.44% 79.90% 74.28% 72.85% 84.78% 88.46% 66.1%

30 76.32% 79.22% 72.5% 71.37% 84.85% 89.01% 63.28%

40 75.21% 78.13% 71.38% 70.67% 82.84% 87.36% 62.71%

50 76.6% 79.31% 73.08% 71.88% 84.44% 88.46% 64.41%

60 76.6% 79.1% 73.42% 72.27% 83.45% 87.36% 65.54%

70 76.88% 79.61% 73.31% 72.0% 85.07% 89.01% 64.41%

80 77.72% 80.2% 74.52% 72.97% 85.4% 89.01% 66.1%

90 77.72% 80.3% 74.36% 72.77% 85.93% 89.56% 65.54%

100 77.44% 80.0% 74.12% 72.65% 85.29% 89.01% 65.54%

Tabela 4.4.3. Vrednosti metrika za različite vrednosti parametra


dubine stabala kod Random Forest klasifikatora

Dobijene metrike pokazuju da povećanje parametra dubine stabala u


opsegu od 10 do 100 ima uticaj na rezultate klasifikacije. Tačnost
klasifikacije povećava se za 1.67% već kada se parametar postavi sa
vrednosti 10 na vrednost 20. Rastom vrednosti parametra dubine stabala
nakon 20 tačnost se smanjuje, do vrednosti od 80. Za ovu vrednost
54

parametra tačnost klasifikacije je najveća i iznosi 77.72%. Povećanjem


vrednosti parametra nakon 80, tačnost ostaje gotovo ista. Iste tvrdnje važe i
za F mere: F mera pozitivnih se za vrednost parametra dubine stabala od 20
povećava, a nakon ove vrednosti smanjuje, sve do dubine stabala od 80.
Najveća vrednost F mere pozitivnih postignuta je za vrednost parametra
dubine od 90: 80.3%, a najveća vrednost F mere negativnih postignuta je za
vrednost parametra dubine od 80: 74.52%.

Evaluacija izbora broja atributa

U ovom odeljku ispitan je uticaj različitih vrednosti parametra broja


atributa na klasifikaciju tvitova na sentimente, prilikom korišćenja Random
Forest klasifikatora. Vrednosti ovog parametra ispitane su u opsegu od 0 do
90, sa korakom od 10. Kada je vrednost ovog parametra 0, to znači da se iz
celog skupa atributa uzima atribut na osnovu kojeg će se vršiti razdvajanje
čvorova u stablima u ansamblu, umesto iz podskupa, koji se sastoji od samo
par slučajno odabranih atributa [44][54]. Kao tehnika pretprocesiranja
korišćen je steming, dok se skup atributa sastojao iz unigrama i POS
bigrama. Dobijene metrike prikazane su u tabeli 4.4.4.
55

negativnih

negativnih

negativnih
preciznost

preciznost
pozitivnih

pozitivnih

pozitivnih
tačnost

F mera

F mera

odziv

odziv
A

0 75.77% 78.83% 71.66% 70.74% 84.62% 89.01% 62.15%

10 71.59% 75.24% 66.67% 67.39% 79.07% 85.16% 57.63%

20 75.77% 78.52% 72.2% 71.3% 83.09% 87.36% 63.84%

30 74.65% 77.97% 70.16% 69.7% 83.59% 88.46% 60.45%

40 73.82% 77.62% 68.46% 68.49% 84.3% 89.56% 57.63%

50 74.37% 78.0% 69.33% 69.07% 84.55% 89.56% 58.76%

60 71.87% 76.24% 65.53% 66.67% 82.76% 89.01% 54.24%

70 71.03% 76.04% 63.38% 65.48% 84.11% 90.66% 50.85%

80 70.19% 75.29% 62.45% 64.94% 82.41% 89.56% 50.28%

90 70.75% 76.76% 62.36% 65.98% 85.29% 91.76% 49.15%

Tabela 4.4.4. Vrednosti metrika za različite vrednosti parametra broja


atributa kod Random Forest klasifikatora

Dobijene metrike pokazuju da povećanje broja atributa, koje


algoritam uzima u obzir u opsegu od 0 do 90 ima negativan uticaj na
rezultate klasifikacije. Tačnost klasifikacije smanjuje se za 4.18% kada se
parametar postavi sa podrazumevane vrednosti 0 na vrednost 10. Za
vrednost parametra 20 tačnost se vrati na početnu vrednost od 75.77%.
Rastom broja atributa nakon 20 tačnost se postepeno smanjuje. Za broj
atributa od 80 tačnost ima najmanju vrednost - 70.19%, što je za 5.58% niže
od tačnosti kada je broj atributa 0. F mera pozitivnih varira u maloj meri
promenom broja atributa, a najnižu vrednost dostiže za 10 izabranih atributa
- 75.24%. Najveća vrednost F mere pozitivnih postignuta je za broj atributa
0: 78.83%. F mera negativnih naglo opadne za 4.99% kada se broj atributa
poveća sa podrazumevane vrednosti 0 na vrednost od 10. Za broj atributa
od 20 F mera negativnih se poveća na vrednost od 72.2%, ali rastom broja
atributa nakon 20 ona opada. Za najviši razmatrani broj atributa, 90, F mera
negativnih ima najnižu vrednost: 62.36%.
56

Evaluacija izbora broja iteracija

U ovom odeljku ispitan je uticaj različitih vrednosti parametra broja


iteracija na klasifikaciju tvitova na sentimente, prilikom korišćenja Random
Forest klasifikatora. Vrednosti ovog parametra ispitane su u opsegu od
podrazumevane vrednosti 100 do vrednosti od 200, sa korakom od 10. Kao
tehnika pretprocesiranja korišćen je steming, dok se skup atributa sastojao
iz unigrama i POS bigrama. Dobijene metrike prikazane su u tabeli 4.4.5.

negativnih

negativnih

negativnih
preciznost

preciznost
pozitivnih

pozitivnih

pozitivnih
tačnost

F mera

F mera

odziv

odziv
I

100 75.77% 78.83% 71.66% 70.74% 84.62% 89.01% 62.15%

110 77.16% 80.0% 72.38% 71.93% 86.26% 90.11% 63.84%

120 77.44% 80.2% 73.79% 72.25% 86.36% 90.11% 64.41%

130 76.6% 79.51% 72.73% 71.49% 85.5% 89.56% 63.28%

140 76.88% 79.61% 73.31% 72.0% 85.07% 89.01% 64.41%

150 76.32% 79.12% 72.67% 71.56% 84.33% 88.46% 63.84%

160 76.04% 78.92% 72.26% 71.24% 84.21% 88.46% 63.28%

170 75.77% 78.73% 71.84% 70.93% 84.09% 88.46% 62.71%

180 75.77% 78.62% 72.03% 71.11% 83.58% 87.91% 63.28%

190 75.49% 78.22% 71.97% 71.17% 82.48% 86.81% 63.84%

Tabela 4.4.5. Vrednosti metrika za različite vrednosti parametra broja


iteracija kod Random Forest klasifikatora

Dobijene metrike pokazuju da povećanje broja iteracija Random


Forest algoritma u opsegu od predefinisanih 100 do vrednosti od 190 ima
najpre pozitivan, pa negativan uticaj na rezultate klasifikacije. Tačnost
klasifikacije se do vrednosti parametra od 120 povećava. Za broj iteracija
od 120 tačnost ima najveću vrednost i povećana je za 1.67%. Nakon
vrednosti od 120 tačnost se blago, gotovo linearno, smanjuje. Za broj
57

iteracija od 190 ima najmanju vrednost: 75.49%. F mera pozitivnih ponaša


se na gotovo isti način kao tačnost: raste do vrednosti parametra broja
iteracija od 120,a zatim gotovo linearno veoma blago opada. Za broj
iteracija od 120 ima najvišu vrednost, 80.2% - za 1.37% veću vrednost od
početne. F mera negativnih se takođe slično ponaša kao tačnost i F mera
pozitivnih. Najpre poraste i dostigne najvišu vrednost za broj iteracija od
120: vrednost 2.13% višu od početne. Potom gotovo linearno blago opada.

4.3.1. Uporedna analiza Random Forest parametara


Najbolja tačnost klasifikacije i vrednosti F mere Random Forest
klasifikatora postignute su podešavanjem parametra dubine stabala na D =
80, ili D = 90. Kao tehnika pretprocesiranja korišćen je steming, dok se
skup atributa sastojao iz unigrama i POS bigrama. U tabeli 4.3.1.1 izložene
su metrike dobijene za optimalne vrednosti sva tri parametra Random
Forest klasifikatora.

RF (D = 80) RF (A = 20) RF (I = 120)

tačnost 77.72% 75.77% 77.44%


preciznost pozitivnih 72.97% 71.3% 72.25%
preciznost negativnih 85.4% 83.09% 86.36%
odziv pozitivnih 89.01% 87.36% 90.11%
odziv negativnih 66.1% 63.84% 64.41%
F mera pozitivnih 80.2% 78.52% 80.2%
F mera negativnih 74.52% 72.2% 73.79%

Tabela 4.3.1.1. Poređenje metrika dobijenih pomoću optimalnih


vrednosti parametara Random Forest klasifikatora

Iz tabele 4.3.1.1 može se primetiti da parametar dubine stabala


najviše utiče na poboljšanje rezultata klasifikacije tvitova na sentimente.
Optimalna konfiguracija Random Forest algoritma za problem izložen u
ovom master radu je ona u kojoj je parametar dubine stabala podešen na
vrednost od 80.
58

4.5. Uporedna analiza rezultata klasifikatora


U ovom poglavlju izloženi su zaključci o tome koji klasifikator od
razmatranih je dao optimalne rezultate klasifikacije tvitova na sentimente.
Poređenje rezultata dobijenih pomoću optimalnih konfiguracija
svakog od 3 klasifikatora istraženih u ovom radu predstavljeno je u tabeli
4.5.1 i grafikonu 4.5.1.

Naive Bayes Random


SVM (nu-SVC)
(Complement) Forest
tačnost 78.83% 80.5% 77.72%
preciznost pozitivnih 74.77% 78.28% 72.97%
preciznost negativnih 84.83% 83.23% 85.4%
odziv pozitivnih 87.91% 85.16% 89.01%
odziv negativnih 69.49% 75.71% 66.1%
F mera pozitivnih 80.81% 81.58% 80.2%
F mera negativnih 76.4% 79.29% 74.52%

Tabela 4.5.1. Poređenje metrika optimalnih konfiguracija sva 3


korišćena algoritma

81
80.5
80
79.5
79
78.5
78
77.5
77
76.5
76
75.5

SVM (nu-SVC) Complement Naïve Bayes Random Forest

Grafikon 4.5.1. Poređenje tačnosti postignutih pomoću optimalnih


konfiguracija razmatranih algoritama za mašinsko učenje
59

Iz tabele 4.5.1 i grafikona 4.5.1 vidi se da je optimalan algoritam za


mašinsko učenje za sentiment klasifikaciju tvitova Complement Naive
Bayes. Sa ovim algoritmom postignuta je najviša tačnost klasifikacije u
iznosu od 80.5%, kao i najviša F mera pozitivnih u iznosu od 81.58% i
najviša F mera negativnih u iznosu od 79.29%.
Tačnosti 3 algoritma razlikuju se za male vrednosti: tačnost nu-SVC
(SVM) algoritma je za 1.67% niža od tačnosti Complement Naive Bayes
algoritma, dok je tačnost Random Forest niža za 3.06%. Slične zaključke
dobili su i autori prethodnih radova na temu sentiment analize tvitova.
Autori rada [33] zaključili su da je tačnost Random Forest klasifikatora za
nijansu niža od tačnosti SVM klasifikatora. Ovakav zaključak izveden je i u
ovom master radu. U radovima [6], [7] i [8] SVM se pokazao kao optimalan
algoritam za sentiment klasifikaciju. To se ne podudara sa rezultatima ovog
master rada. Razlog zbog kojeg je u ovom radu Naive Bayes algoritam imao
bolje rezultate najverovatnije leži u tome što je korišćena njegova
Complement implementacija, koja se pokazala kao mnogo bolja za
sentiment klasifikaciju, u odnosu na implementaciju korišćenu u radovima
[6], [7] i [8] (Multinomial).

4.6. Diskusija rezultata


Na osnovu rezultata sprovedenog istraživanja doneseni su zaključci o
tome kako je najbolje izvršiti sentiment analizu podataka za svaki
razmatrani klasifikator na društvenoj mreži Tviter, sa fokusom na dobijenu
tačnost klasifikacije. Izvedeni zaključci izloženi su u ovom poglavlju.

4.6.1. Diskusija rezultata SVM klasifikatora


Prilikom evaluacije različitih implementacija SVM algoritma,
dobijene metrike ukazale su na to da izbor tehnike pretprocesiranja, dok su
optimizacioni parametri algoritma podešeni na podrazumevane vrednosti, u
manjoj meri utiče na rezultate klasifikacije. Lematizacija je u obe
razmatrane implementacije ovog algoritma neznatno povećala tačnost
klasifikacije u odnosu na steming za gotovo jednaku vrednost, u iznosu od
oko 2%.
Izbor skupa atributa, dok su parametri algoritma podešeni na
podrazumevane vrednosti, imao je veći uticaj na nu-SVC implementaciju
klasifikatora, nego na njegovu C-SVC implementaciju. Kod nu-SVC
implementacije tačnost je ubacivanjem bigrama negacija povećana za
gotovo 3% u odnosu na tačnost postignutu korišćenjem bazičnog skupa
atributa, dok je kod C-SVC, ubacivanjem regularnih bigrama, uvećana za
60

manje od 1%. Iz ovoga se može izvesti zaključak da izbor pogodnog skupa


atributa ima veći uticaj na rezultate klasifikacije, nego izbor pogodne
tehnike pretprocesiranja, ali samo ukoliko je pre toga izabrana optimalna
implementacija SVM algoritma i ukoliko se u bazični skup atributa ubace
bigrami negacije.
Izbor pogodne kernel funkcije (linearne) je kod C-SVC
implementacije SVM algoritma povećalo tačnost klasifikacije za preko 3% u
odnosu na tačnost dobijenu korišćenjem druge istražene kernel funkcije,
dok je kod nu-SVC implementacije povećanje tačnosti iznosilo oko 0.5%
(korišćenjem RBF kernel funkcije). Stoga se zaključuje da izbor linearne
kernel funkcije ima za nijansu veći uticaj na rezultate klasifikacije od izbora
skupa atributa, ali samo ako je pre toga odabrana pogodna implementacija
SVM algoritma.
Optimizacija parametra C kod C-SVC algoritma ima velik uticaj na
tačnost klasifikacije: ona se za izbor optimalne vrednosti parametra C (u
ovom radu C = 60, ili C = 90) uvećava i za preko 3.5% u odnosu na tačnost
dobijenu korišćenjem podrazumevane vrednosti tog parametra. Zaključuje
se da je ova implementacija SVM algoritma osetljiva na optimizaciju
parametara. Dobijeno povećanje u tačnosti je značajnije od povećanja
dobijenog izborom pogodne kernel funkcije. Kod nu-SVC implementacije,
optimizacijom parametra nu tačnost se uvećala za malu vrednost od oko
1%, u odnosu na tačnost dobijenu korišćenjem predefinisane vrednosti tog
parametra. To znači da ova implementacija nije toliko osetljiva na
optimizaciju parametara. Stoga se može zaključiti da optimizacija
parametara kod SVM algoritma najviše utiče na rezultate klasifikacije, ali
samo ako se vrši nad pogodnom implementacijom ovog algoritma.
Konačno, zaključuje se da izbor odgovarajuće implementacije SVM
algoritma i zatim optimizovanje parametara i izbor kernel funkcije najviše
utiču na rezultate klasifikacije.

4.6.2. Diskusija rezultata Naive Bayes klasifikatora


Evaluacijom različitih implementacija Naive Bayes algoritma,
dobijene metrike ukazale su na to da izbor pogodne tehnike
pretprocesiranja, uz korišćenje predefinisanih vrednosti optimizacionih
parametara, ima različit nivo uticaja na rezultate klasifikacije, u zavisnosti
od toga koja implementacija se koristi. Korišćenje lematizacije kod
Bernulijeve implementacije algoritma povećava tačnost za oko 2% u
odnosu na korišćenje steminga, dok kod komplementarne implementacije
povećava tačnost za više od 3% u odnosu na korišćenje steminga.
Izbor skupa atributa gotovo i ne utiče na rezultate klasifikacije.
Najveće povećanje tačnosti kod Bernulijeve implementacije algoritma u
61

odnosu na početnu konfiguraciju (korišćenje bazičnog skupa atributa)


iznosilo je manje od 1%, a kod komplementarne implementacije manje od
0.5%.
Optimizacija vrednosti smoothing parametra kod komplementarne
implementacije Naive Bayes algoritma takođe ima mali uticaj na rezultate
klasifikacije: tačnost se za optimalnu vrednost ovog parametra (u ovom
radu S = 0.6, ili S = 0.7) povećava za manje od 1% u odnosu na tačnost
postignutu korišćenjem podrazumevane vrednosti ovog parametra.
Iz prethodno navedenih činjenica zaključuje se da izbor odgovarajuće
implementacije Naive Bayes algoritma, kao i primena pogodne tehnike
pretprocesiranja tvitova (lematizacije) najviše doprinosi poboljšanju
rezultata sentiment klasifikacije tvitova.

4.6.3. Diskusija rezultata Random Forest klasifikatora


Prilikom evaluacije Random Forest algoritma, dobijene metrike
pokazale su da izbor pogodne tehnike pretprocesiranja (u ovom slučaju
steminga), uz korišćenje predefinisanih vrednosti svih njegovih parametara,
povećava tačnost klasifikacije za veoma malu vrednost (manje od 1%) u
odnosu na korišćenje druge razmatrane tehnike pretprocesiranja
(lematizacije).
Izbor skupa atributa praktično ne utiče na rezultate klasifikacije.
Najveće povećanje tačnosti u odnosu na tačnost postignutu korišćenjem
bazičnog skupa atributa, postiže se ubacivanjem POS bigrama u taj skup i
iznosi manje od 0.3%.
Optimizacija parametra dubine stabala povećalo je tačnost u odnosu
na početnu konfiguraciju algoritma (kada ovaj parametar ima
podrazumevanu vrednost) za više od 2%. Optimalna vrednost ovog
parametra u ovom radu bila je D = 80, ili D = 90.Ovaj uticaj je značajniji od
uticaja tehnika pretprocesiranja.
Optimizacija parametra za broj atributa prilikom razdvajanja čvorova
u ansamblu nije povećalo tačnost klasifikacije u odnosu na korišćenje
njegove podrazumevane vrednosti. Tačnost se za bilo koju vrednost ovog
parametra ili smanjivala, ili je ostala ista u odnosu na početnu
konfiguraciju.
Optimizacija trećeg parametra kod Random Forest algoritma,
parametra broja iteracija, uticalo je na tačnost klasifikacije u sličnoj meri
kao i optimizacija parametra dubine stabala. Najveće povećanje tačnosti u
odnosu na početnu konfiguraciju iznosilo je oko 2%, za vrednost parametra
I = 120.
62

Iz prethodnih činjenica izvodi se zaključak da kod Random Forest


algoritma optimizacija parametara za dubinu stabala i za broj iteracija
najviše utiče na poboljšanje rezultata klasifikacije tvitova na sentimente.
63

5. ZAKLJUČAK

Problem koji je rešavan u ovom master radu je analiza performansi


različitih algoritama za mašinsko učenje prilikom klasifikacije tvitova na
dve grupe sentimenata: pozitivnu i negativnu.
U istraživanju ispitan je rad tri algoritma za mašinsko učenje: SVM,
Naive Bayes i Random Forest. Korišćene su implementacije algoritama u
WEKA programskoj biblioteci za mašinsko učenje, napisane u
programskom jeziku Java. Pored osnovnih implementacija algoritama u
WEKA biblioteci, ispitane su i njihove alternativne implementacije u okviru
te biblioteke. Za svaku alternativu algoritma ispitan je uticaj tehnika
pretprocesiranja, kao i različitih skupova atributa na njihove performanse.
Pored ovoga ispitan je i uticaj različitih empirijski odabranih vrednosti
njihovih optimizacionih parametara na rezultate klasifikacije tvitova na
sentimente.
Obučavajući skup koji je korišćen u radu sastojao se iz 40000
označenih tvitova. Preuzet je iz rada [6]. Tvitovi koji su propuštani kroz
klasifikatore najpre su prolazili kroz podsistem za pretprocesiranje. On se
sastojao iz više koraka: zamene emotikona, akronima i skraćenica,
pretvaranja velikih u mala slova, uklanjanja URL-ova, korisničkih imena i
hashtag-ova, zamene ponovljenih karaktera, uklanjanja praznih mesta, stop
reči, znakova interpunkcije i specijalnih karaktera. Potom je nad tvitovima
vršena morfološka normalizacija: steming, ili lematizacija.
Nakon podsistema za pretprocesiranje, vršen je izbor reči, koje ulaze
u sastav skupa atributa, kroz poseban podsistem. Bazični skup atributa
sastojao se samo iz unigrama, čiji izbor je vršen po frekvenciji
pojavljivanja u obučavajućem skupu. Pored unigrama, razmatran je i skup
atributa, u čiji sastav su ulazili i bigrami, izdvajani iz obučavajućeg skupa
različitim tehnikama. Regularni bigrami izdvajani su po frekvenciji
pojavljivanja u obučavajućem skupu, kao i unigrami. POS bigrami
izdvajani su iz trening skupa pomoću POS tehnike: izdvajanje određenih
najfrekventnijih kombinacija dve uzastopne reči, koje su prethodno POS
tagovane. Bigrami negacije izdvajani su iz obučavajućeg skupa tako što su
se pronalazile najfrekventnije kombinacije dve reči, od kojih je jedna bila
negacija.
Nakon podsistema za izbor skupa atributa, vršeno je obučavanje
pomoću 3 različita klasifikatora. Za svaki algoritam vršeno je obučavanje
nad njegovim različitim implementacijama u okviru WEKA programske
biblioteke. Kod SVM algoritma korišćene su nu-SVC i C-SVC
implementacije. Kod Naive Bayes algoritma korišćene su Bernoulli i
64

Complement implementacije. Random Forest algoritam ima samo jednu


implementaciju u okviru WEKA biblioteke. Za svaku implementaciju
algoritma vršen je empirijski izbor različitih vrednosti njegovih
optimizacionih parametara. Kod SVM algoritma, za C-SVC implementaciju
ispitan je uticaj parametra margine greške (C), dok je za nu-SVC
implementaciju ispitan uticaj parametra normalizovane margine greške (nu,
𝜈) na rezultate klasifikacije. Kod Naive Bayes algoritma, za Bernoulli
implementaciju nije ispitan uticaj optimizacionih parametara, dok je za
Complement implementaciju ispitan uticaj smoothing (S) konstante na
rezultate klasifikacije. Kod Random Forest algoritma ispitan je uticaj tri
parametra na ishod klasifikacije: dubina stabala (D), broj atributa za
bootstrapping (A) i broj iteracija (I).
Evaluacija rezultata klasifikacije vršena je nad test skupom,
preuzetim iz rada [6]. Test skup se sastojao iz 359 ručno označenih tvitova.
Za evaluaciju korišćene su sledeće metrike: tačnost, preciznost, odziv i F
mera. Poseban akcenat stavljen je na tačnost i F meru.
Najbolji rezultat u ovom master radu: tačnost u iznosu od 80.5%
postignut je pomoću Complement implementacije Naive Bayes algoritma.
Smoothing konstanta je pri tome imala vrednost 0.6. Kao tehnika
pretprocesiranja korišćena je lematizacija, dok se skup atributa sastojao iz
unigrama i bigrama negacije.
U radu je zaključeno da poboljšanju rezultata sentiment klasifikacije
tvitova kod SVM algoritma najviše doprinosi izbor njegove pogodne
implementacije, kao i izbor pogodne kernel funkcije i optimizacija njegovih
parametara. Kod Naive Bayes algoritma povećanju rezultata klasifikacije u
najvećoj meri doprinosi izbor njegove implementacije, kao i izbor pogodne
tehnike pretprocesiranja. Kod Random Forest algoritma optimizacija
parametara za dubinu stabala i broj iteracija najznačajnije utiču na
poboljšanje rezultata klasifikacije tvitova na sentimente.
Ovaj rad bi mogao dalje da se proširi razmatranjem još algoritama za
mašinsko učenje (poput Maximum Entropy). Pored ovoga mogle bi se
razmotriti i dodatne tehnike pretprocesiranja i izbora reči, koje ulaze u
sastav skupa atributa. Negativan uticaj sarkazma na određivanje sentimenta
tvita mogao bi takođe biti razmotren i istražen.
Dodatna evaluacija performansi u ovom radu mogla bi se kretati u
smeru korišćenja većeg obučavajućeg skupa. Takođe bi se mogla posvetiti
pažnja klasifikaciji tvitova u više grupa (npr. vrlo pozitivni, pozitivni,
neutralni, negativni, vrlo negativni), čime su se pojedini radovi već bavili. S
obzirom da je društvena mreža Tviter podržana u više od 60 jezika, jedan
od pravaca razvoja bi mogao biti i internacionalizacija sentiment analize.
65

LITERATURA

[1] B. Pang, L. Lee, i S. Vaithyanathan, “Thumbs up?: sentiment


classification using machine learning techniques,” EMNLP 2002 - Volume
10, pp. 79–86. Association for Computational Linguistics.K. Elissa, 2002.

[2] B. Pang i L. Lee, “A Sentimental Education: Sentiment Analysis Using


Subjectivity Summarization Based on Minimum Cuts,” 42nd Meeting of the
Association for Computational Linguistics (ACL), pp. 271–278, Jul 2004.

[3] M. Hu i B. Liu, “Mining and Summarizing Customer Reviews,” 10th


ACM SIGKDD International Conference on Knowledge Discovery and
Data Mining (KDD), pp. 168– 177. ACM, 2004.

[4] T. Wilson, J. Wiebe, i P. Hoffmann, “Recognizing Contextual Polarity:


An Exploration of Features for Phrase-level Sentiment Analysis,”
Computational Linguistics, 35(3) pp. 399–433, Septembar 2009.

[5] A. Agarwal, F. Biadsy i K. R. Mckeown, “Contextual Phrase-level


Polarity Analysis Using Lexical Affect Scoring and Syntactic N-grams,”
12th Conference of the European Chapter of the Association for
Computational Linguistics (EACL), pp. 24–32. Association for
Computational Linguistics, 2009.

[6] A. Go, R. Bhayani i L. Huang, “Twitter sentiment classification using


distant supervision,” Technical report, Stanford, 2009.

[7] J. Read, “Using emoticons to reduce dependency in machine learning


techniques for sentiment classification,” ACL-05, 43nd Meeting of the
Association for Computational Linguistics, Association for Computational
Linguistics, 2005.

[8] B. Agarwal i N. Mittal, “Sentiment Classification using RoughSet based


Hybrid Feature Selection,“ WASSA: 4thWorkshop on Computational
Approaches to Subjectivity, Sentiment and Social Media Analysis, 2013.

[9] B. Gokulakrishnan, P. Priyanthan, T. Ragavan, N. Prasath, i A. Perera,


“Opinion mining and sentiment analysis on a Twitter data stream,” IEEE
International Conference on Advances in ICT for Emerging Regions
(ICTer), pp. 182-188, 2012.
66

[10] M. Hu i B. Liu, ”Mining Opinion Features in Customer Reviews”,


American Association for Artificial Intelligence, pp. 755-760, 2004.

[11] N. D. Patel i C. Chand, “Selecting Best Features Using Combined


Approach in POS Tagging for Sentiment Analysis”, IJCSMC, Vol. 3, Issue,
pp. 425 – 430, Department of Computer Science and engineering & Gujarat
Technological University, India, March 2014.

[12] S. Rosenthal, A. Ritter, P. Nakovi, V. Stoyanov, “SemEval-


2014Task9: Sentiment Analysis in Twitter”, In Proceedings of the 8th
International Workshop on Semantic Evaluation (SemEval), pp. 73–80,
Association for Computational Linguistics and Dublin City University,
August 2014.

[13] M. Ageev, B. Dobrov, “Support Vector Machine Parameter


Optimization for Text Categorization Problems”, In ISTA, pp. 165–176,
2003.

[14] K. Al-Mannai, H. Alshikhabobakr, S. Bin Wasi, R. Neyaz, H.


Bouamor, B. Mohit, “CMUQ-Hybrid: Sentiment Classification by Feature
Engineering and Parameter Tuning”, In Procedings of the 8th International
Workshop on Semantic Evalutation (SemEval), pp. 181–185, Association
for Computational Linguistics and Dublin City University, August 2014.

[15] B. Jadav, V. Vaghela, “Sentiment Analysis using Support Vector


Machine based on Feature Selection and Semantic Analysis”, International
Journal of Computer Applications (0975–8887), Volume 146 – No. 13, July
2016.

[16] S. Mohammad, S. Kiritchenko, X. Zhu, “NRC-Canada: Building the


State-of-the-Art in Sentiment Analysis of Tweets”, In Proceedings of the
seventh internatinal workshop on Semantic Evaluation Exercises (SemEval
2013), pp. 321–327, Atlanta, Georgia, June 2013.

[17] S. Wang, C. Manning, “Baseline and Bigrams: Simple, Good


Sentiment and Topic Classification”, Proceedings of the 50th Annual
Meeting of the Association for Computational Linguistics: Short Papers,
Volume 2, July 2012.

[18] A. Shrivatava, B. Pant, “Opinion Extraction and Classification of Real


Time Facebook Status”, Global Journal of Computer Science and
Technology, Volume 12, Issue 8, Version 1.0, April 2012.
67

[19] A. Anisimovich, “Self-Evaluating Workflow for Language-


Independent Sentiment Analysis”, Proceedings of the First Italian
Conference on Computational Linguistics CLiC-it 2014 & of the Fourth
International Workshop EVALITA, pp. 108–111, Pisa University Press,
2014.

[20] J. Khairnar, M. Kinikar, “Sentiment Analysis Based Mining and


Summarizing using SVM-MapReduce”, International Journal of Computer
Science and Information Technology, Volume 5(3), pp. 4081–4085, 2014.

[21] Support Vector Machines (SVM), Statsoft,


http://www.statsoft.com/Textbook/Support-Vector-Machines

[22] T. Fletcher, “Support Vector Machines Explained”, UCL, December


2008.

[23] P. Chen, C. Lin, B. Schölkopf, “A Tutorial on 𝜈-Support Vector


Machines”, National Taiwan University and Max Planck Institute for
Biological Cybernetics, Tübingen, Germany

[24] P. Gamallo, M. Garcia, “Citius: A Naive Bayes Strategy for Sentiment


Analysis on English Tweets”, Proceedings of the 8th International
Workshop on Semantic Evaluation (SemEval 2014), pp. 171–175, Dublin,
Ireland, August 2014.

[25] R. Talbot, C. Acheampong, R. Wicentowski, “SWASH: A Naive


Bayes Classifier for Tweet Sentiment Identifitcation”, Proceedings of the
9th International Workshop on Semantic Evaluation (SemEval 2015), pp.
626–630, Denver, Colorado, June 2015.

[26] K. M. Leung, “Naive Bayesian Classifier”, Polytechnic University,


Department of Computer Science, Finance and Risk Engineering,
November 2007.

[27] The Multinomial Distribution,


http://www.math.uah.edu/stat/bernoulli/Multinomial.html

[28] Naive Bayes, SciKit Learn, http://scikit-


learn.org/stable/modules/naive_bayes.html
68

[29] J. D. M. Rennie, L. Shih, J. Teevan, D. R. Karger, “Tackling the Poor


Assumptions of Naive Bayes Text Classifiers”, Proceedings of the
Twentieth International Conference on Machine Learning (ICML-2003),
Washington DC, 2003.

[30] N. Altrabsheh, M. Cocea, S. Fallahkhair, “Learning Sentiment from


Students' Feedback for Real-time Intervention in Classrooms”, International
Conference on Adaptive and Intelligent Systems - ICAIS'14, At
Bournemouth, Volume: 877, September 2014.

[31] Y. Wan, Q. Gao, “An Ensemble Sentiment Classification System of


Twitter Data for Airline Services Analysis”, IEEE 15th International
Conference on Data Mining Workshops, 2015.

[32] A. Gupte, S. Joshi, P. Gadgul, A. Kadam, “Comparative Study of


Classification Algorithms used in Sentiment Analysis”, (IJCSIT)
International Journal of Computer Science and Information Technologies,
Vol. 5 (5) pp. 6261-6264, 2014.

[33] H. Parmar, S. Bhanderi, G. Shah, “Sentiment Mining of Movie


Reviews using Random Forest with Tuned Hyperparameters”, International
Conference on Information Science, At Kerala, July 2014.

[34] L. Breiman, “Random Forests, Machine Learning”, Vol. 45.


Issue 1, pp. 5-32, 2001.

[35] S. Bernard, L. Heutte, S. Adam, “Influence of Hyperparameters on


Random Forest Accuracy”, Lecture Notes in Computer Science, vol. 5519,
pp.171-180, 2009.

[36] D. Ivanović, B. Milosavljević, “Upravljanje digitalnim dokumentima”,


FTN, Novi Sad

[37] N. D. Patel, C. Chand, “Selecting Best Features Using Combined


Approach in POS Tagging for Sentiment Analysis”, IJCSMC, Vol. 3, pp.
425 – 430, Department of Computer Science and engineering & Gujarat
Technological University, India, March 2014.

[38] “Support Vector Machines”, SciKit, http://scikit-


learn.org/stable/modules/svm.html
69

[39] Tan, Steinbach, Kumar, “Support Vector Machines”, Introduction to


Data Mining, Columbia University, 2004.

[40] C. Ekhan, “Evaluating Classifiers”, January 2012.

[41] A. Kovačević, Predavanja iz predmeta “Sistemi za istraživanje i


analizu podataka”, školska 2015/2016., Fakultet tehnilkih nauka,
Univerzitet u Novom Sadu

[42] E. Frank, M. Hall, and I. H. Witten, “The WEKA Workbench”, Online


Appendix for “Data Mining: Practical Machine Learning Tools and
Techniques”, Morgan Kaufmann, Fourth Edition, 2016.

[43] Twitter operatori, https://twitter.com/search-home#

[44] WEKA dokumentacija, http://weka.sourceforge.net/doc.stable/

[45] A. Taspinar, “Text Classification and Sentiment Analysis”, November


2015.

[46] J. Šnajder, “Postupci morfološke normalizacije u pretraživanju


informacija i klasifikaciji teksta”,
http://www.fer.hr/_download/repository/Snajder_KDI.pdf

[47] “Stemming and Lemmatization”, Cambridge University Press, 2008.

[48] “Reducing Words to their Root Form”, Elastic,


https://www.elastic.co/guide/en/elasticsearch/guide/current/stemming.html

[49] A. Taspinar, “Sentiment Analysis with Bag of Words”, January 2016.

[50] D. Jurafsky, J. Martin, “Speech and Language Processing”, Chapter 4,


September 2014.

[51] D. Petrović, “Pretprocesiranje podataka i generisanje skupa atributa za


sentiment analizu Tviter poruka”, Fakultet tehničkih nauka, Univerzitet u
Novom Sadu, decembar 2016.

[52] H. G. Chew, C. C. Lim, “On Regularisation Parameter


Transformation of Support Vector Machines”, Manuscript submitted to
AIMS' Journals, March 2008.
70

[53] C. C. Chang, C. J. Lin, “Training nu-Support Vector Machines:


Theory and Algorithms”, Neural Computation, Massachusetts Institute of
Technology, 2001.

[54] A. Liaw, M. Wiener, “Classification and Regression by


RandomForest”, R News, Vol 2/3, December 2002.
BIOGRAFIJA

Igor Jovin je rođen 30.12.1992. u Novom Sadu. Osnovnu školu


,,Kosta Trifković“ u Novom Sadu završio je 2007. godine sa diplomom
,,Vuk Karadžić“. Gimnaziju ,,Jovan Jovanović Zmaj“ u Novom Sadu,
prirodno-matematički smer završio je 2011. godine sa diplomom ,,Vuk
Karadžić“. Iste godine upisao je osnovne akademske studije na smeru
Računarstvo i automatiku, Fakulteta tehničkih nauka u Novom Sadu. Uža
specijalnost na osnovnim studijama bila je računarske nauke i informatika.
Zvanje diplomirani inženjer elektrotehnike i računarstva stekao je 2015.
godine, sa prosečnom ocenom 10.00. Iste godine upisao je master
akademske studije na smeru Softversko inženjerstvo i informacione
tehnologije Fakulteta tehničkih nauka u Novom Sadu. Uža specijalnost na
master studijama bila je elektronsko poslovanje. Položio je sve ispite
predviđene planom i programom.

You might also like