Professional Documents
Culture Documents
Master Rad Igor Jovin r116 2015 Rev2
Master Rad Igor Jovin r116 2015 Rev2
Master Rad Igor Jovin r116 2015 Rev2
Игор Јовин
МАСТЕР РАД
Место и адреса, МА: Нови Сад, Факултет техничких наука, Трг Доситеја Обрадовића 6
Чланови комисије, КО: Председник: доц др. Јелена Сливка, ФТН, Нови Сад
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:
Member: Danijela Boberić Krstićev. PhD, PMF Novi Sad Menthor's sign
Member, Mentor: Aleksandar Kovačević, doc. PhD, FTN Novi Sad
УНИВЕРЗИТЕТ У НОВОМ САДУ ФАКУЛТЕТ ТЕХНИЧКИХ НАУКА Број:
21000 НОВИ САД, Трг Доситеја Обрадовића 6
Датум:
ЗАДАТАК ЗА МАСТЕР РАД
ТЕКСТ ЗАДАТКА:
Применити технике истраживања и анализе података на решавање проблема
класификације Твитер порука у две класе: позитивну и негативну. Описати скуп
података, који ће бити коришћен приликом анализе. Дефинисати и имплементирати
архитектуру система за класификацију. Дефинисати и применити поступке
претпроцесирања података и начине избора скупа атрибута у комбинацији са
алгоритмима за машинско учење. Дефинисати и имплементирати коришћене
алгоритме за машинско учење. Дефинисати и имплементирати SVM, Naive Bayes и
Random Forest алгоритам. Извршити евалуацију примењених алгоритама.
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
1
eng, postupak kreiranja i postavljanja kratkih, frekventnih poruka na neki
mikroblog (npr. socijalnu mrežu)
(https://en.oxforddictionaries.com/definition/microblogging)
2
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
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
8
NLP (Natural Language Processing) - analiza prirodnog jezika i govora
5
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
3. METODOLOGIJA I ALATI
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
13
eng, formiranje reči uz pomoć korektnih slova u tačnom redosledu
(http://dictionary.cambridge.org/dictionary/english/spelling)
12
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
14
eng, Named Entity Recognition - algoritam, koji u tekstu locira i klasifikuje
imenovane entitete [51]
15
Uniform Resource Locator
13
16
uzastopne sekvence od n reči
14
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
Tag Opis
DT zamenica, predlog, ili veznik
VBZ glagol u trećem licu jednine prezenta
NN imenica, jednina
19
nosioci sentimenta; reči, koje najviše doprinose ispoljavanju pozitivnog, ili
negativnog sentimenta [6][24]
17
Negacija
couldn't
won't
can't
don't
not
20
Lista negacija preuzeta je sa internet stranice:
https://www.grammarly.com/handbook/sentences/negatives/
18
𝑤𝑇𝑥 + 𝑏 = 0 (1)
21
Slika preuzeta iz [22]
20
𝑤 𝑇 𝜙(𝑥) + 𝑏 = 0 (2)
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
24
Socijalna mreža, na kojoj mogu da se pišu statusi slični tvitovima na Tviteru
(http://www.facebook.com)
22
𝑁𝑐𝑖 + 𝛼𝑖
𝜃̂𝑐𝑖 = (5)
𝑁𝑐 + 𝛼
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
𝑁𝑐𝑖
̃ + 𝛼𝑖
𝜃̂𝑐𝑖
̃ = (7)
𝑁𝑐̃ + 𝛼
𝑁𝑐𝑖̃ + 𝛼𝑖
𝑙𝐶𝑁𝐵 (𝑑) = 𝑎𝑟𝑔𝑚𝑎𝑥𝑐 [𝑙𝑜𝑔 𝑝(𝜃⃗𝑐 ) − ∑ 𝑓𝑖 𝑙𝑜𝑔 ] (8)
𝑁𝑐̃ + 𝛼
𝑖
27
razdvajanje čvorova stabla na podstabla [35]
26
4. EKSPERIMENTALNA EVALUACIJA I
REZULTATI
𝑁 = 𝑇𝑃 + 𝐹𝑃 + 𝑇𝑁 + 𝐹𝑁 (9)
𝑇𝑃
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑃𝑂𝑆𝐼𝑇𝐼𝑉𝐸 = (10)
𝑇𝑃 + 𝐹𝑃
31
𝑇𝑁
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑁𝐸𝐺𝐴𝑇𝐼𝑉𝐸 = (11)
𝑇𝑁 + 𝐹𝑁
𝑇𝑃
𝑅𝑒𝑐𝑎𝑙𝑙𝑃𝑂𝑆𝐼𝑇𝐼𝑉𝐸 = (12)
𝑇𝑃 + 𝐹𝑁
𝑇𝑁
𝑅𝑒𝑐𝑎𝑙𝑙𝑁𝐸𝐺𝐴𝑇𝐼𝑉𝐸 = (13)
𝑇𝑁 + 𝐹𝑃
2 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑃𝑂𝑆 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙𝑃𝑂𝑆
𝐹1 (𝑃𝑂𝑆) = (14)
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑃𝑂𝑆 + 𝑅𝑒𝑐𝑎𝑙𝑙𝑃𝑂𝑆
2 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑁𝐸𝐺 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙𝑁𝐸𝐺
𝐹1 (𝑁𝐸𝐺) = (15)
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑁𝐸𝐺 + 𝑅𝑒𝑐𝑎𝑙𝑙𝑁𝐸𝐺
𝑇𝑃 + 𝑇𝑁
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = (16)
𝑁
1 (𝛽 2 + 1)𝑃𝑅 1−𝛼
𝐹 = = gde 𝛽2 = (17)
1 1 𝛽2𝑃 + 𝑅
𝛼 𝑃 + (1 − 𝛼) 𝑅 𝛼
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%
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%
negativnih
negativnih
negativnih
preciznost
preciznost
pozitivnih
pozitivnih
pozitivnih
tačnost
F mera
F mera
odziv
odziv
C
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%
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%
negativnih
negativnih
negativnih
preciznost
preciznost
pozitivnih
pozitivnih
pozitivnih
tačnost
F mera
F mera
odziv
odziv
nu
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%
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%
negativnih
negativnih
negativnih
preciznost
preciznost
pozitivnih
pozitivnih
pozitivnih
tačnost
F mera
F mera
odziv
odziv
S
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%
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%
negativnih
negativnih
negativnih
preciznost
preciznost
pozitivnih
pozitivnih
pozitivnih
tačnost
F mera
F mera
odziv
odziv
D
negativnih
negativnih
negativnih
preciznost
preciznost
pozitivnih
pozitivnih
pozitivnih
tačnost
F mera
F mera
odziv
odziv
A
negativnih
negativnih
negativnih
preciznost
preciznost
pozitivnih
pozitivnih
pozitivnih
tačnost
F mera
F mera
odziv
odziv
I
81
80.5
80
79.5
79
78.5
78
77.5
77
76.5
76
75.5
5. ZAKLJUČAK
LITERATURA