Živko Krstić – Diplomski rad

SVEUČILIŠTE U SPLITU
EKONOMSKI FAKULTET SPLIT
DIPLOMSKI RAD
Big Data i semantička analiza: Iskorištavanje vrijednosti
nestrukturiranih podataka u poslovanju
MENTOR:
STUDENT:
Doc. dr. sc. Maja Ćukušić
univ.bacc.oec. Živko Krstić
BROJ INDEKSA:
2120542
Split, Svibanj 2014.
Sadržaj
Sažetak .......................................................................................................................................................... 3
Summary ....................................................................................................................................................... 3
1.
Uvod ...................................................................................................................................................... 4
1.1
Problem istraživanja ..................................................................................................................4
1.2
Predmet istraživanja ..................................................................................................................5
1.3
Istraživačke hipoteze .................................................................................................................6
1.4
Ciljevi istraživanja .......................................................................................................................8
1.5 Metode istraživanja .........................................................................................................................8
1.6 Doprinos istraživanja ......................................................................................................................9
1.7 Sadržaj diplomskog rada............................................................................................................ 10
2. Big Data ................................................................................................................................................. 12
2.1 Uvod u Big Data ........................................................................................................................... 12
2.1.1 Volume .................................................................................................................................... 14
2.1.2 Variety ...................................................................................................................................... 15
2.1.3 Velocity .................................................................................................................................... 16
2.1.4 Veracity .................................................................................................................................... 17
2.1.5 Value ........................................................................................................................................ 18
2.2 Hadoop okruženje ....................................................................................................................... 19
2.2.1. HDFS i MapReduce ............................................................................................................. 19
2.2.2. Ostali projekti u Hadoop okruženju ................................................................................ 22
2.2.3. PANDORA Big Data arhitektura ....................................................................................... 26
2.3 Prednosti i nedostaci Big Data tehnologije ........................................................................... 28
3. Semantička analiza ............................................................................................................................. 31
3.1 Uvod u semantičku analizu ........................................................................................................ 31
3.2 Problemi semantičke analize ..................................................................................................... 33
3.3 Glavne operacije i tehnike semantičke analize ..................................................................... 35
3.3.1 IO............................................................................................................................................... 35
3.3.2 Obogaćivanje........................................................................................................................ 36
1
3.3.3 Obrada teksta ........................................................................................................................ 37
3.3.4 Frekvencije .............................................................................................................................. 38
3.3.6 Vizualizacija ........................................................................................................................... 39
4. Semantička analiza nestrukturiranih podataka poduprta Big Data tehnologijom ............. 40
4.1 Sinergija Big Data tehnologije i semantičke analize ............................................................ 40
4.2 Od tekstualne informacije do numeričke informacije ......................................................... 41
4.2.1. Izazovi velikih podataka ..................................................................................................... 41
4.3 Analiza TripAdvisora .................................................................................................................... 44
4.3.1. Model TripAdvisor po kategorijama ............................................................................... 45
4.4 Analiza Facebooka ....................................................................................................................... 49
4.5 Analiza Twittera ............................................................................................................................ 51
4.6 Iskorištavanje rezultata analize u procesu odlučivanja ....................................................... 52
4.6.1. Prikaz nekih dijelova aplikacije ......................................................................................... 53
5. Istraživanje ............................................................................................................................................ 56
5.1. PANDORA projekt ....................................................................................................................... 56
5.1.1. Kreiranje projekta u PANDORI ......................................................................................... 58
5.1.2. Prikupljanje podataka i vizualizacije podataka ............................................................. 60
5.1.3. Budućnost projekta ............................................................................................................. 61
5.2. Model za semantičku analizu ................................................................................................... 62
5.2.1. Semantički model pomoću rječnika ................................................................................ 63
5.2.2. Semantički model strojnog učenja .................................................................................. 72
5.3 Rezultati istraživanja .................................................................................................................... 74
Zaključak .................................................................................................................................................... 78
Literatura .................................................................................................................................................... 80
Popis slika i tablica................................................................................................................................... 82
Zahvala ....................................................................................................................................................... 83
2
Sažetak
U ovom će se radu prezentirati nekoliko pojmova poput Big Data, Semantička analiza,
nestrukturirani podaci te njihova sinergija na projektu koji je nastao u Hrvatskoj (Zagreb).
Osim teorijskog dijela, u radu su prezentirani i konkretni modeli izrađeni u alatu KNIME-e,
koji se pokazao korisnim za potrebe semantičke analize. Kao rezultat ovakvog modela
dobiveni su kvalitetni i vrijedni podaci (pomoću rječnika ili pomoću strojnog učenja ovisno
o svrsi) koji su ekonomski iskoristivi što se i potvrdilo tokom ovog rada. Na temelju ovakvih
podataka poslovna organizacija može ostvariti konkurentsku prednost prepoznavanjem
novih trendova prije svojih konkurenata ili poboljšanjem svog proizvoda ili usluge pomoću
dobivenih informacija.
Ključne riječi: Big Data, semantička analiza, KNIME, strojno učenje, nestrukturirani podaci
Summary
In this paper concepts such as Big Data, Semantic analysis, unstructured data and their
synergy are presented based on a project that originated from Croatia (Zagreb). In
addition to the theoretical part of this paper concrete models will be presented developed
using the software KNIME-e, which proved to be useful for sentiment analysis. The result
of this model are quality data and valuable data (using a dictionary or using machine
learning depending on purpose) were obatained that are economically exploitable as it
was confirmed during this work. Based on these data business organization can gain a
competitive advantage by identifying new trends before their competitors or improve a
product or a service using the obtained information.
Keywords: Big Data, sentiment analysis, KNIME, machine learning, unstructured data
3
1. Uvod
1.1
Problem istraživanja
U ovom radu spomenut će se nekoliko relativno novih pojmova koji su već počeli mijenjati
današnje poslovanje. Radi se o pojmovima Big Data i semantička analiza. U istraživačkom
radu I , koji je autor napisao zajedno s kolegom1 za potrebe studija na Ekonomskom
fakultetu u Splitu, istražen je potencijal ove teme, a ovim diplomskim radom se proširuju
ova dva pojma te se ukazuje na konkretne primjene u poslovnim organizacijama.
Iako se autori još ne mogu dogovoriti koja je konkretna definicija pojma Big Data, često se
u literaturi spominju tzv. V-ovi u nastojanju da se opiše kompleksnost pojma. Većina
autora, kao i oni koji će se citirati u ovom radu koristi 4 V-a : Volume, Variety, Velocity i
Veracity. Big Data rješenja su idealna za analizu ne samo strukturiranih podataka, koje su
poslovne organizacije navikle analizirati, već i nestrukturiranih i polustrukturiranih podataka
koji često dolaze iz
različitih izvora. U ovom radu obratit će se posebna pažnja na
nestrukturirane podatke. Konkretno će se spominjati tekstualni podaci s društvenih mreža i
popularnih internet stranica. Smatra se da su veliki podaci idealni kada je potrebno
analizirati sve podatke za koje se smatra da su relevantni za bolje shvaćanje klijenata.
Drugi pojam koji se spominje je semantička analiza. Cilj semantičke analize je shvaćanje
značenja određenog lingvističkog inputa. Dakle, podaci se prikupljaju, tekst se pretvara u
broj te se dobiveni rezultati koriste u daljnjoj poslovnoj analizi, što dovodi do povećanja
vrijednosti postojećih analiza i outputa, jer su nam dosad ovi podaci bili nedostupni
(barem malim i srednjim poslovnim organizacijama). Semantika se bavi analizom značenja
te stoji u središtu lingvističke potrage prema razumijevanju prirode jezika i jezične
sposobnosti. Sentiment analysis ili analiza mišljenja je područje znanosti koje analizira
ljudska mišljenja, osjećaje, pohvale, stavove i emocije prema različitim proizvodima,
uslugama, organizacijama, osobama, problemima, događajima i njihovim atributima.
Dakle, u ovom radu će se semantičkom analizom analizirati mišljenja ljudi objavljena na
društvenim mrežama te internetskim stranicama. Oba pojma (Big Data i semantička
1
Hrvoje Gabelica i Živko Krstić (2013) : Primjena Big Data podataka i rudarenja teksta u suvremenom
poslovanju, Hrvatska, Istraživački rad
4
analiza) su otprije poznata i postoje relativno dugo, no zadnjih godina je razvojem Big
Data tehnologije došlo do smanjenja cijene ovakvog tipa analize te iskorištavanja
potencijala nestrukturiranih podataka.
Posebno treba obratiti pažnju na ekonomsku iskoristivost ovakvog tipa nestrukturiranih
podataka (tekstualni podaci) u suvremenom poslovanju. Većina autora se bavi
tehnološkim problemom te tehnološkoj izvedivosti ovakvog tipa analize, dok je ekonomski
aspekt često nepravedno zanemaren.
1.2
Predmet istraživanja
Danas, tvrtke sve više pažnje posvećuju data-driven načinu razmišljanja i poslovanja.
Odnosno, njihove su odluke vođene podacima. Potrebe u pogledu podataka značajno
rastu; tvrtke zahtijevaju sve više što kvalitetnijih i što raznovrsnijih podataka, s ciljem
proširenja svoje analize i stjecanja šireg pogleda na svoje klijente.
Postavlja se pitanje: da li je moguće doći do kvalitetnih podataka koji mogu doprinijeti
donošenju odluka u suvremenom poslovanju? Doprinos će se analizirati kroz prizmu
tehnološkog i ekonomskog pristupa. Analizirat će se mogućnosti Big Data tehnologije koje
podupiru ovakav tipa analize, izrada modela za semantičku analizu i odabir optimalne te
iskoristivost za potrebe poslovnog odlučivanja.
Kako bi se analiziralo stanje ovakvog tipa analize, koristit će se konkretni projekt financiran
od Europske Unije, koji zadovoljava sve navedene kriterije, a ujedno ga izvodi i hrvatska
tvrtka Poslovna Inteligencija d.o.o. Obradit će se cijeli put potreban za semantičku analizu.
Sve od prikupljanja podataka, njihove pohrane, ETL-a, modeliranja, kreiranja outputa, te
iskorištavanja outputa prilikom donošenja odluka. Čest je problem da se prilikom
implementacije dosegne trenutak iskorištavanja outputa prilikom donošenja odluka, pri
čemu često dolazi do odgađanja ili propadanja samog projekta. Izvori ovog problema
također će biti utvrđeni u ovom radu.
5
1.3
Istraživačke hipoteze
Važan dio rada posvećen je postavljanju odgovarajućih istraživačkih hipoteza. Kao što
Belak piše2, hipoteza (grč. hypothesis, pretpostavka) je prihvaćanje pretpostavke na kojoj
se temelji neki zaključak, koja služi napretku istraživanja i objašnjavanja, a da nije dokazana
iz drugih načela te da nije potvrđena (verificirana) iskustvom. Dakle, cilj je postavljane
hipoteze dokazati, odnosno ne odbaciti.
Dolje navedenim istraživačkim hipotezama trebala bi se, temeljem aplikativnog
istraživanja, potvrditi istinitost. Hipoteze su:
Ho: Semantička analiza nestrukturiranih podataka poduprta Big Data tehnologijom je
iskoristiva za potrebe poslovnog odlučivanja
H1: Semantička analiza nestrukturiranih podataka poduprta Big Data tehnologijom nije
iskoristiva za potrebe poslovnog odlučivanja
Da bi utvrdili da li je semantička analiza nestrukturiranih podataka poduprta Big Data
iskoristiva za potrebe poslovnog odlučivanja potrebno je utvrditi da li model koji se dobije
semantičkom analizom ima dovoljno kvalitetan output, koji se može iskoristiti za potrebe
poslovnog odlučivanja.
Dakle, u ovom radu će se ispitivati i ove podhipoteze:
Ho: Podaci dobiveni semantičkom analizom nestrukturiranih podataka poduprtom Big
Data tehnologijom su kvalitetni.
H1: Podaci dobiveni semantičkom analizom nestrukturiranih podataka poduprtom Big
Data tehnologijom nisu kvalitetni.
Kvaliteta
podataka
dobivenih
semantičkom
analizom
nestrukturiranih
poduprtom Big Data tehnologijom će se utvrditi :
2
Belak, S. (2005). Uvod u znanosti. Šibenik: Visoka škola za turistiĉki menadţment u Šibeniku
6
podataka

vremenom koje je potrebno od početka analize do kreiranja outputa na temelju
analize,

količinom resursa koji su potrebni za ovaj vid analize

pomoću točnosti modela.
Navedene hipoteze će se analizirati, odnosno prihvatiti ili odbaciti temeljem podataka koji
će biti prikupljeni aplikativnim istraživanjem (znanstveno istraživanje). Znanstveno
aplikativno istraživanje je teorijski ili eksperimentalni rad koji se poduzima radi stjecanja
novih znanja, a koji je usmjeren na rješavanje nekog praktičnog zadatka. Poduzima se ili
radi ispitivanja moguće primjene rezultata temeljnih istraživanja ili utvrđivanja novih
metoda ili postupaka za postizanje određenog cilja.
Navedeno će biti implementirano pri analizi PANDORA projekta poslovne organizacije
Poslovna Inteligencija d.o.o.. Mogućnosti Big data tehnologija bit će prikazane metodom
studije slučaja, u kojoj će biti obrađeni korišteni resursi te će biti ispitano da li studija
podržava semantičku analizu tj. sve ono što je za nju potrebno. Nestrukturirani podaci će
biti prezentirani kroz primjer tekstualnih podataka. Ovi podaci se prikupljaju s internetskih
stranica te društvenih mreža. Dakle prikazat će se semantička analiza nestrukturiranih
podataka poduprta Big Data tehnologijom na primjeru studije slučaja. Koristit će se
primjeri streamova sa TripAdvisora, Twitter i Facebooka. Konkretno radi se o komentarima
s TripAdvisora i Facebooka te tvitovima s Twittera3. Radi se o idealnom primjeru
nestrukturiranih podataka iz realnog svijeta. Semantička analiza će biti prikazana kroz
konkretan model u open-source softverskom alatu KNIME. Iskoristivost za potrebe
poslovnog odlučivanja će ovisiti o kvaliteti informacija koje će biti dobivene semantičkom
analizom i točnosti modela koji je izrađen u KNIME-u. Kvaliteta podrazumijeva vrijeme,
resurse i točnost modela.
3
Ana Mihanović, Hrvoje Gabelica, Živko Krstić (2014) : Big Data and Sentiment Analysis: Online Reviews vs.
Social Media, Hrvatska, MIPRO konferencija
7
1.4
Ciljevi istraživanja
Cilj istraživanja je potvrditi ranije navedenu hipotezu i podhipotezu. Interpretiranjem
hipoteza ciljevi se svode na dolaženje do zaključka da je semantička analiza
nestrukturiranih podataka poduprta Big Data tehnologijom iskoristiva za potrebe
poslovnog odlučivanja.
Ostvarenje ciljeva bit će postignuto primjenom metodološkog okvira koji je detaljnije
pojašnjen u sljedećem poglavlju. Okosnica istraživanja biti će provođenje aplikativnog
istraživanja na konkretnom primjeru projekta tvrtke Poslovna Inteligencija d.o.o. te
vrednovanja dobivenih rezultata. Dobiveni rezultati trebali bi poslužiti u svrhu što bolje
preciznijeg konstatiranja zrelosti Big Data tehnologije i semantičke analize tekstualnih
podataka za isporuku kvalitetnih podataka za potrebe poslovnog odlučivanja na primjeru
projekta ove tvrtke.
1.5 Metode istraživanja
Teorijski dio rada temelji se na pregledavanju stručne i znanstvene literature. Radi se o
literaturi koja predstavlja sekundarne podatke tj. postojeće podatke iz raznih izvora.
Znanstvena metoda je skup različitih postupaka kojima se znanost koristi u znanstvenom
istraživačkom radu da bi istražila i izložila rezultate znanstvenog istraživanja te sa tako
naziva svaki način znanstvenog istraživanja koje osigurava sigurno, sređeno, sustavno i
točno znanje, a u okviru izrade teorijskog i praktičnog dijela rada koristiti će se slijedeće
metode znanstveno – istraživačkog rada, prilagođene prema teorijskom okviru:
 Induktivno – deduktivna metoda koja uključuje način zaključivanja iz općih postavki
do konkretnih pojedinačnih zaključaka te zaključivanje o općim sudovima temeljem
pojedinačnih ili posebnih činjenica.
 Metode analize i sinteze koje uključuju raščlanjivanje složenih pojmova, sudova i
zaključaka na jednostavnije sastavne dijelove te izučavanje svakog dijela za sebe, ali
i u odnosu na druge dijelove, osim predstavlja postupak znanstvenog istraživanja
putem spajanja dijelova ili elemenata u cjelinu, odnosno sastavljanja jednostavnih
misaonih elemenata u složene, a složenih u još složenije.
8
 Metoda apstrakcije i konkretizacije je misaoni postupak (apstrakcija) kojim se
namjerno odvajaju nebitni, a ističu bitni elementi i osobine. Zajedno sa
apstrakcijom, najčešće se provodi i metoda konkretizacije – suprotno apstrakciji.
 Metoda dokazivanja i opovrgavanja koje za svrhu ima utvrditi istinitost pojedinih
spoznaja inkorporiranjem gotovo svih metoda, ali i suprotno.
 Metoda deskripcije odnosno postupak jednostavnog opisa ili očitavanja činjenica,
te empirijsko potvrđivanje njihovih veza i odnosa.
 Metoda komparacije koja predstavlja postupak kojim se uočava i uspoređuje
sličnost i zajednička obilježja dvaju ili više događaja, pojava ili objekata. Uspoređivat
će se modeli tvrtke Poslovna Inteligencija s modelima najbolje prakse (u KNIME
alatu).
 Metoda modeliranja - izgrađuje se neki stvarni ili idealni znakovni sustav (model)
koji može zamijeniti predmet koji se istražuje i dati određenu informaciju o njemu.
Modelirat će se stream za Twitter, Facebook i TripAdvisor. Dakle, kod TripAdvisora
će se analizirati komentari, kod Twittera tvitovi s ključnim riječima za određena
područja (hoteli, kozmetika...), te komentari sa javnih stranica preuzetih s
Facebooka.
1.6 Doprinos istraživanja
Doprinos ovog istraživanja se ostvaruje utvrđivanjem iskoristivosti semantičke analize
nestrukturiranih podataka poduprtih Big Data tehnologijom za potrebe poslovnog
odlučivanja. Pri tome će se koristiti primjer iz Hrvatske, a koji je primjenjiv i na ostale
poslovne organizacije, koje se susreću sa sličnim problemima.
Većina poslovnih organizacija je upoznata s poslovnom analitikom i njenom moći prilikom
donošenja odluka, a mnoge od njih žele svoju poslovnu analizu proširiti i na viši nivo,
nazovimo ga evolucijski nivo, informacijske skale. U prijelazu im može pomoći semantička
analiza nestrukturiranih podataka i Big Data tehnologija. Big Data tehnologija pohranom i
upravljanjem velikim količinama nestrukturiranih podataka, a semantička analiza
shvaćanjem značenja određenih riječi i njihovog utjecaja na kvalitetu analize značenja
9
riječi, rečenica, konkretno u ovom slučaju komentara na internetskim stranicama, tvitova s
Twittera i komentarima s Facebooka.
Mnoge poslovne organizacije, što će se pokazati i u radu, imaju strah prema novim
tehnologijama. Nadalje, određeni broj istih, pa čak i velikih organizacija, ne sudjeluju u Big
Data projektima. Postoji mogućnost da takvim organizacijama rezultati ovog rada budu
poticaj za ulazak u ovo područje ili možda za upravo suprotno - za shvaćanje ekonomske
neiskoristivosti ovakvih informacija u ovom trenutku, što vodi ka uštedi truda, vremena te
naposljetku i novca.
Također, cilj je pokazati da Hrvatska prati svjetske trendove u ovom području, no s
obzirom da se radi o relativno mladom polju ima i dosta prostora za napredak, što je
promatrano i kao pozitivna činjenica.
1.7 Sadržaj diplomskog rada
U okviru prvog poglavlja nalazi se uvodni dio diplomskog rada. On se sastoji od temeljnih
odrednica rada, poput problema, predmeta i ciljeva istraživanja, korištenih metoda i
ostvarenog doprinosa navedene tematike. Osim toga, u ovom se dijelu nalazi i struktura
odnosno sadržaj diplomskog rada.
U slijedećem poglavlju se razrađuje pojam Big Data. Prije svega, objasnit će se značenje
samog pojma, V-ovi u Big Data, kratka povijest razvoja Big Data tehnologije. Nakon toga
detaljno se prikazuje Hadoop okruženje koje je okosnica kako Big Data projekata tako i
predmeta istraživanja ovog rada. To poglavlje je podijeljeno u dva dijela: HDFS i
MapReduce. Radi se o dva ključna pojma za razumijevanje Big Data i principa rada te
razlike u odnosu na dosadašnje sustave. Za kraj ovog poglavlja ostavljaju se prednosti i
nedostaci Big Data tehnologije.
U trećem se poglavlju obrađuje semantička analiza. Za početak se govori o osnovnim
pojmovima semantičke analize te nakon toga slijede problemi koji su specifični za ovaj vid
analize. Zatim slijede glavne operacije nad tekstom i tehnike semantičke analize. Zadnji dio
su područja primjene semantičke analize. Ovaj dio rada važan je kako bi se dobila šira slika
primjene semantičke analize.
10
U četvrtom poglavlju se govori o sinergiji dva pojma: Big Data i semantička analiza. Zatim
se ulazi u detalje kako teče proces pretvorbe tekstualnih informacija u numeričke
informacije. Za kraj ovog poglavlja se ostavlja pogled na dosadašnji razvoj ove analize,
gdje se nalazi sada te što se može očekivati u budućnosti. Ovdje se radi o teorijskim
pretpostavkama, a u sljedećem poglavlju dolaze studije slučaja, gdje će se vidjeti kako to
sve konkretno izgleda u alatu KNIME.
Studije slučaja se nalaze u petom poglavlju i obuhvaćaju dio u kojem se objašnjava
konkretan projekt pod nazivom „PANDORA“. Zatim se prezentiraju modeli korišteni za
semantičku analizu u svrhu tog projekta. Studije slučaja su podijeljene redom: Analiza
TripAdvisora, analiza Facebooka te analiza Twittera. Modeli su izrađeni u alatu KNIME. Te
za kraj se ostavlja testiranje početnih hipoteza te prezentacija rezultata istraživanja.
Konačno, u sedmom poglavlju nalazi se zaključak diplomskog rada, nakon koje slijedi
korištena literatura, popis slika, tablica i prilozi. Kako bi cjelina bila zaokružena na samom
početku rada nalazi se sažetak na hrvatskom i engleskom jeziku.
11
2. Big Data
Big Data vrlo je važan termin rada te projekta koji će se objasniti tokom cijelog teksta.
Semantička analiza može se provoditi i bez Big Data, no u ovom radu će se utvrditi njen
značaj. Semantička analiza, koja je ipak ključni pojam će se objasniti u kasnijim dijelovima
rada, a ovdje će biti prikazan temelj kako bi se analiza mogla izvesti u obliku koji je
odrađen na PANDORA projektu.
Big Data4 nije pojam nastao zadnjih godina i nešto što se dosada nije koristilo, no Big Data
je nešto što je već sada dovelo do promjena u načinu poslovanja i razmišljanja, a o čemu
se konkretno radi, saznat će se u narednim potpoglavljima.
2.1 Uvod u Big Data
Big Data tehnologije nikako se ne razmatraju bez osvrta na V-ove. Različiti autori
preferiraju različite V-ove, ali zajednički elementi su ovih 5 V: Volume, Variety, Velocity,
Veracity, Value, koji su korišteni i u okviru istraživanja obrađenog u ovom radu.
Objašnjenje navedenih termina u ovom dijelu dovest će do lakšeg prepoznavanja u
kasnijem dijelu rada. Iako se semantička analiza može provesti i bez Big Data tehnologije,
za svrhe ovog projekta je ipak potrebna Big Data tehnologija.
Prije svega, ovakav tip tehnologije služi kako bi određena aplikacija ili model upravljali
velikim količinama podataka, dakle prvi V – Volume. Prije pojašnjenja svakog od V-ova
bitno je istaknuti nekoliko točaka koje su karakteristične za Big Data.
Kad se govori o Big Data ili velikim podacima nužno je na početku istaknuti nekoliko točki
koji ga opisuju :

Big Data se smatra pogodnim za analizu nestrukturiranih podataka što je i tema
ovog rada. U projektu PANDORA govori se o nestrukturiranim podacima s
društvenih mreža (Twitter, Facebook, Pinetrest) ili s web stranica (TripAdvisor,
booking.com, hotels.com itd.). Dakle, gledajući PANDORA projekt radi se o velikim
4
Chris Eaton et al. (2013) : Understanding Big Data, Analytics for Enterprise Class Hadoop and Streaming Data,
USA, McGrawHill
12
količinama podataka kojima korisnik putem aplikacije može pristupiti, čime Volume
dobiva na važnosti već na samom početku.

Kao što je napomenuto u prvoj točki, Big Data pomaže kod upravljanja
nestrukturiranim podacima, dakle njihovom strukturom, a ne samo veličinom. Kao
što će biti govora kasnije, radi se o tekstualnim podacima proizašlih s Web-a i radi
se o tekstualnim podacima.

Big Data tehnologija pomaže u situacijama u kojima tradicionalni načini to nisu u
stanju. Ukoliko raste količina nestrukturiranih podataka koje treba analizirati i
ukoliko se analiza želi obaviti u realnom vremenu, zasigurno se dolazi do područja
u kojem je jedino rješenje Big Data tehnologija.

Sinergija tradicionalnih načina analize te „Big Data“ analize. Dakle, radi se o
outputu koji je generiran pomoću Big Data tehnologije, a koji se kasnije može
iskoristiti u tradicionalnim skladištima podataka te koji može pomoći da se dobije
potpunija slika. Ukoliko se proces odradi na kvalitetan način s jasnom vizijom što se
želi ispitati (npr. analiza mišljenja o našoj usluzi). Može se doći do izbjegavanja
nepotrebnih troškova, povećavanja zadovoljstva kupaca no o ovome će se nešto
više govoriti u kasnijem dijelu teksta kada se bude prezentirao točan output
generiran od strane PANDORA.

Zaključak prethodnih točki je efikasna, brza i jednostavna analiza za krajnjeg
korisnika, prilikom koje se više ne analizira samo jedan mali uzorak (nekoliko tisuća
dokumenata) cjelokupne populacije već je moguće analizirati gotovo sva mišljenja
kupaca o usluzi jedne poslovne organizacije na društvenim mrežama i web
stranicama.
13
2.1.1 Volume
O Big Data i V-ovima sam nešto više pisao zajedno s kolegom u radu koji je objavljen na
skladistenje.com (naziv: Big Data Istraživački rad). Tada je također spomenuta važnost
svakog od V-ova te je detaljno objašnjen svaki do njih no više s apstraktnije razine. Ovdje
se već spomenula važnost Voluma5- količine podataka koja pristiže.
Na primjer, Twitter se u 2013. godini nalazio među top deset najposjećenijih web stranica
prema wikipedii, a u 2014.godini je imao Alexa traffic rank (kombinira jedinstvene
posjetitelje i preglede stranica) 12, te Google Display Network AD Planner (jedinstvenih
posjetitelja prema Google-u) 15. Facebook je imao rang 2 i prema wikipedii i prema Alexa
rangu, dok je prema Googleu bio 1. Osim ovih podataka gdje se može vidjeti važnost
svake od ovih stranica, dovoljno govori i podatak da Twitter prema podacima iz
2014.godine6 imao oko 645 milijuna korisnika, oko 58 milijuna tvitova dnevno (prosjek), a
u sekundi se generira 9 100 tvitova.
Prema istom istraživanju, Facebook je imao oko 1,3 milijarde korisnika koji su aktivni na
mjesečnoj bazi te je imao porast od 22% što se tiče broja korisnika gledajući razdoblje iz
2012.godine i 2013.godine. Facebook, također ima oko 54 milijuna stranica (Facebook
Pages), dok se svako 20 minuta pošalje 3 milijuna poruka.
Sve navedeno jasno dokazuje što je projekt PANDORA mogao očekivati od svojih izvora
te da je nužno sustavno i pravovremeno razmišljanje o upravljanju tako velikim količinama
podataka. Kao rješenje je izabrana Big Data tehnologija od kojih će se neke objasniti u
dijelu Hadoop okruženja.
Korisnika možda zanima samo 5000 ili 10 000 tvitova, no u skladu sa željama korisnika
koje ponekad mogu biti raznolike i zahtjevne, nužno je napraviti cijeli sustav koji bi bio u
stanju prihvatiti toliku količinu podataka da bi se kasnije mogla provesti analiza nad njima.
5
Michael Manoochehri (2014) : Data just right, Introduction to Large-Scale Data & Analytics, USA, Pearson
Education
6
www.statisticbrain.com
14
2.1.2 Variety
U ovom se dijelu govori o raznolikosti pristiglih podataka, a tu se prije svega misli na
nestrukturirane podatke.
Podaci
Nestrukturirani
podaci
Tekstualni
podaci
Strukturirani
podaci
Netekstualni
podaci
Slika 1. Prikaz vrste podataka
Na slici iznad se može vidjeti konceptualna podjela podataka s tim da je u ovom slučaju,
za potrebe ovog rada, zanimljiva grana nestrukturiranih podataka i to tekstualnih
podataka (to je ono čime će se ovaj rad baviti). Osim tekstualnih može se vidjeti da
postoje netekstualni nestrukturirani podaci, a oni predstavljaju grafike i slike (fotografije,
ilustracije, X-zrake, MRI...).
Ono što se može očekivati od PANDORA projekta je mogućnost analize podataka iz
različitih izvora u nestrukturiranom obliku te u različitim formatima nad kojima je potrebno
provesti parsiranje u svrhu dobivanja željenih podataka.
Ono što je također bitno naglasiti je pojam nestrukturiranih podataka, koji može navesti
čitatelja na zaključak da se radi o podacima koji nemaju strukturu, no podaci zaista imaju
strukturu, ali njihove komponente nemaju (komentari, slike ...).
15
2.1.3 Velocity
Treće V je Velocity tj. brzina. Radi se o brzini pristizanja podataka. Kao što se može
primijetiti tokom pisanja teksta, dolazi do ispreplitanja V-ova te su zapravo u ovom slučaju
povezani. Analizom društvenih mreža javlja se i problem pod nazivima 5 V – volume,
variety, velocity, veracity, value. Što se brzine tiče, već je navedena kratka statistika u dijelu
Volume koje opisuje dnevna i godišnja kretanja brojeva društvenih mreža. Tako primjerice
Twitter ima 9 100 tvitova u sekundi. Radi se uistinu o velikom broju tvitova kojeg treba
analizirati. Naravno, korisnika neće zanimati svih 9 100 tvitova iz te sekunde, već dosta
manji broj, ali treba prilikom izrade aplikacije to imati na umu. Nastavno na to i jesu
razvijani budući planovi projekta PANDORA, ali je takav trend u svijetu7, promatranje
tehnologija koje pomažu pri dobivanju real-time analiza. Navedenim se kompleksnost
modela može povećati.
Neki od načina kako postići iznad navedeno su Storm, koji je razvijen od strane Twittera ili
možda Spark. Na slici ispod prikazana je mogućnost hvatanja u koštac s brzinom pomoću
tehnologije. Radi se o grani koja predstavlja Speed sloj (Storm), a druga grana koja se već
spominjala bi bila Batch sloj (Hadoop). Lambda arhitektura8 pruža uvid u razlike između
ova dva sloja. Dakle, ovdje se radi o hibridnoj arhitekturi. Batch sloj pruža konstantan uvid
u prikupljene podatke, koji su uvijek nešto „stariji“, dok speed sloj pruža uvid u podatke
gotovo uživo (near real-time). Vrši se upit nad oba sloja te se rezultati spajaju čime se
dobiva near real-time pogled na kompletne podatke. Hadoop i Storm se mogu zamijeniti i
nekim drugim tehnologijama no ovdje su izabrani oni, jer su cilj PANDORA projekta.
Slika 2. Lambda arhitektura
7
Ralph Kimball : Newly Emerging Best Practices for Big Data, White paper, Kimball Group
Nathan Marz and James Warren (2014): Big Data - Principles and best practices of scalable realtime data
systems, USA, Manning
8
16
2.1.4 Veracity
Prema Zikopoulosu9 trećina rukovodećih ljudi koji u poslovanju donose odluke ne vjeruje
svojim informacijama. Ova činjenica govori da bi se trebala obratiti pažnja na kvalitetu i
podataka i informacija koji se dobivaju. Prije svega se pritom misli na nesigurne podatke
koji pristižu, podatke koji su nedosljedni, nejasni, dakle koliko su istiniti ti podaci koje
dobivamo. Također, ono što je veoma bitno je činjenica koliko se može vjerovati
semantičkim modelima da dobro rade svoj dio zadatka.
Stoga je nužno konstantno pratiti kako model, ali i cijeli sustav funkcionira te stalno biti u
potrazi za nelogičnostima koje bi sustav mogao generirati. Što se semantičkog modela
tiče, bilo da se odabere metodu rječnikom ili strojnim učenjem, optimizacija je nešto čemu
treba težiti. Pogotovo kad se govori o strojnom učenju10. Najmanja promjena u modelu
može dovesti do pada ili rasta točnosti modela, zatim je nužno utvrditi kako se naučeni
model ponaša na novim podacima, kako različiti algoritmi rade te koliko njihova
sposobnost prepoznavanja polariteta varira što vrijeme odmiče, koji je najbolji algoritam
za date podatke itd.
Ono što također predstavlja problem su prazne vrijednosti, nečistoće koje se pojavljuju u
podacima, izazov filtracije određenih jezika na kojima su dokumenti napisani. Nepravedno
se premalo pažnje pridaje upravo ovom V-u. Potrebno je konstantno raditi na
unaprijeđenju kvalitete podataka i modela te veliku pažnju obratiti na nečistoće u
podacima. Korisnici bi osim sumarne statistike koliko imaju pozitivnih, a koliko negativnih ili
možda neutralnih dokumenata, htjeli znati i kako model točno radi. Je li moguće pratiti
izračune polariteta te konkretno na veoma detaljnoj razini, kako je koji dokument
klasificiran – sve su to pitanja na koja treba odgovoriti.
9
Paul Zikopoulos et al. (2013) : Harness the Power of Big Data, The IBM Big Data Platform, USA, McGrawHill
Haralambos Marmanis and Dimitry Babenko (2009) : Algorithms of the Intelligent Web, USA, Manning
10
17
2.1.5 Value
Većina autora spomene navedena četiri V-a, ali zaborave gotovo i najvažnije „V“
(ekonomski gledano), a to je Value. S obzirom da je cilj ovog rada potvrditi ili osporiti
hipotezu da li je semantička analiza potpomognuta Big Data tehnologijama ekonomski
iskoristiva, Value ili vrijednost se čini kao logičan izbor petog slova V.
Pod terminom „vrijednost“ smatra se poslovna vrijednost te oportunitetni trošak ili trošak
propuštene prilike. Koji je poslovni trošak korištenja Big Data tehnologije koja ima
sposobnost upravljanja nestrukturiranim podacima, koji je poslovni trošak nekorištenja
jedne takve tehnologije te koji je potencijalni dobitak ukoliko ta tehnologija urodi plodom i
pruži izvrsne rezultate? Odgovori na ova pitanja nastoje se pronaći kroz ovaj rad i to kroz
prikazivanje mogućnosti Big Data tehnologije te semantičke analize, ispitivanje ekonomske
isplativosti informacija koje se generiraju kroz ovakvu sinergiju tehnologija i metoda.
Moguće je napraviti najbolji sustav s tehnološke strane ili najbolji sustav koji prati Lambda
arhitekturu, koji koristi najbolje prakse u izradi semantičkog modela, ali ako taj sustav
pruža korisniku informacije koje mu ne trebaju onda mu je i vrijednost mala, baš kao i trud
i usklađivanje sustava da se bavi s problemima V-ova.
Ono što je svakako put budućnosti poslovnih organizacija je snažnija fokusiranost na svoje
korisnike/kupce, a jedan od načina ostvarenja ovog puta i cilja je iskorištavanje današnje
tehnologije u pronalasku vrijednosti u podacima koji se već nalaze na webu i koji su
generirani od strane samih korisnika. Uistinu se radi o potencijalno vrijednoj kolekciji
mišljenja koja postoji na webu i koja je spremna za analizu te iskorištavanje kako bi se
dobila prevaga u odnosu na konkurenciju.
18
2.2 Hadoop okruženje
Obično kad se govori o Big Data tehnologijama govorimo uglavnom o Hadoopu11.
Hadoop je Apache projekt, pisan u Javi te se smatra računalnim okruženjem ili
ekosustavom koji je baziran na HDFS-u i MapReduceu. Ova dva pojma su sama srž
Hadoopa, no osim njih u okruženje spadaju i mnogi drugi te se upravo zbog toga ovaj
sustav i zove Hadoop okruženje.
2.2.1. HDFS i MapReduce
HDFS ili Hadoop Distributed File System dijeli podatke u blokove te ih kopira i pohranjuje
na servere u Hadoop klasteru. Navedeno bi značilo da jedan individualni podatak može
biti podijeljen i u nekoliko manjih blokova koji se repliciraju na više servera unutar tog
cijelog Hadoop klastera. Zadana veličina tih blokova je 64 MB (default) i to je veličina koja
se koristi za potrebe projekta PANDORA, no ta veličina može biti i veća.
64 MB je relativno velika veličina blokova, no s obzirom da su tema veliki podaci (Big
Data), veličina je očekivana. Pohrana se odvija tako da se poveća sigurnost i pouzdanost, a
cijela logika navedenog smještanja podataka se odvija zahvaljujući NameNode-u (on se
brine gdje će se podaci smjestiti umjesto nas). S obzirom da je on „single point of failure“
bitno je raditi backup metapodataka klastera. Dakle, NameNode služi kao tragač tj.
Hadoop ga kontaktira s ciljem pronalaska određenih podataka, s obzirom da on zna
lokaciju pohrane, to i uradi te ih šalje aplikaciji koja ih pokreće lokalno na tim nodovima.
HDFS zadužen je za svoj dio posla, a MapReduce12 se bavi skalabilnošću. MapReduce se
sastoji od dva elementa, a dvije se riječi ujedno i nalaze u njegovom nazivu: Map - uzima
određeni set podataka i konvertira ih u neki drugi set podataka, prilikom čega od
individualnih podataka dobijemo tuples (key/value parove); Reduce – uzima output od
map-a kao input i kombinira te tuples u manji set tuples. Više o ovome će biti prikazano
grafički na primjeru tekstualnih podataka.
11
12
Tom White (2012): Hadoop - The Definitive Guide, USA, O'Reilly
Srinath Perera & Thilina Gunarathne (2013) : Hadoop MapReduce Cookbook, UK, Packt Publishing
19
Slika 3. Mapiranje riječi u rečenici
Dakle, u ovom ilustrativnom primjeru postoje dva tvita koja se žele analizirati. Dakako da
se radi o jednostavnijem primjeru, jer se želi prikazati samo način Map-a i Reduca, jer je u
stvarnoj situaciju broj tih tvitova je dakako veći. Primjerice, cilj je prebrojati sve riječi u
tvitovima koji su se prikupile (u ovom slučaju samo dva tvita). Da bi to postigli cijeli zadatak
(brojanja riječi u tvitovima) dijeli se na dva dijela. Gornja slika prikazuje prvi dio u kojem se
uzimaju tvitovi te se mapira broj riječi koja se nalaze u tvitovima (bez stop words –
najčešće riječi u engleskom jeziku, više o ovome u kasnijim dijelovima rada).
Slika 4. Reduce naše dvije rečenice
Drugi korak je da se u jedan map kombiniraju mapovi proizašli iz promatranih tvitova.
Ovaj dio se zove Reduce. Reduce izgleda kao na slici iznad. Dakle, cijeli proces je
distribuiran na manje zadatke koji poboljšavanju brzinu obavljanja zadatka. Također, ako
se u cijelu priču ubaci i HDFS, tada se dobije slika ispod.
20
13
Slika 5. MapReduce & HDFS
S obzirom da HDFS ima više podatkovnih nodova na kojima se vrši podjela i pohrana
podataka na blokove, moguće je iskoristiti računalnu snagu svakog od tih nodova te
provesti zadatke na njima. Dakle, svaki nod može provesti map ili reduce zadatke, a s
obzirom da svaki podatkovni node sadrži više podataka moguće je i očekivati izvršavanje
više zadataka u isto vrijeme za različite podatkovne blokove.
Osim njih, bitnu ulogu imaju i još dva pojma, a to su :

JobTracker – komunicira s NameNodeom kako bi dodijelio MapReduce zadatke
(task) određenom nodu unutar klastera, prilikom čega bi idealno bilo da se taj
zadatak dodijeli nodovima koji imaju potrebne podatke ili se bar nalaze u istom
racku.

TaskTracker – pokreće i prati odvijanje MapReduce zadataka u klasteru. Također,
kontaktira JobTrackera u vezi dodijeljenih zadataka i ako određeni zadatak ne
uspije, njegov status se šalje JobTrackeru, koji zatim taj isti zadatak dodjeljuje
nekom novom nodu unutar klastera.
13
www.techspot.co.in
21
2.2.2. Ostali projekti u Hadoop okruženju14
U ovom dijelu će se objasniti ostali, no ne manje bitni, projekti koji se nalaze u Hadoop
okruženju. Prije toga bitno je naglasiti da se za svrhe projekta PANDORA koristi Big Data
platforma Cloudera. Prema Talend15 istraživanju (n=95) na pitanje: Koju od Big Data
tehnologija planirate koristiti ili već koristite, za Clouderu je odgovorilo 12% ljudi što se ne
čini mnogo no ispred nje su jedino Apache Hadoop kao samostalna instalacija s 28% te
Amazon Web Services sa 13 %.
Pig je platforma koja služi za analizu velikih setova podataka te se radi o višem jeziku
kojem je svrha upravo takva analiza podataka, no potrebna mu je i infrastruktura koja mu
pomaže u procesu. Paralerizacija je temelj Pig-a te mu pomaže u ophođenju s velikim
podacima. Pig-ov kompajler proizvodi Map-Reduce zadatke koji su već bili spominjani.
Njegov jezik zvan Pig Latin koji se sastoji od :

Jednostavnost – Bilo da se govori o jednostavnijim ili nešto složenijim zadacima koji
se pretvaraju u „data flow sequences“, dobivamo jednostavnost pisanja,
razumijevanja te održavanja.

Optimizacija – Načinom na koji se zadaci rade dopušta se sustavu da automatski
optimizira izvršenje te se tako pruža korisnicima veći fokus na semantiku umjesto
na efikasnost.

Proširivost – Korisnik može kreirati svoje funkcije koje imaju posebnu namjenu.
Nekoliko puta je spomenut njegov cilj, a to je pojednostavljivanje procesa i izvršavanja
Map i Reduce zadataka. Dakle, za Pig su bitni PigLatin (njegov jezik) te okruženje koje mu
omogućava izvršavanja.
Neki koraci koji mu omogućuju navedeno su : LOAD (Učitava podatke), TRANSFORM
(manipulacija podacima), DUMP (prikaži rezultat na ekranu) TE STORE (spremi rezultat za
daljnju analizu).
14
15
Apache Foundation web stranica - http://apache.org/
Talend Survey Results (2012) : How big is Big Data adoptation?, USA
22
Hive Ovaj dio Apache obitelji omogućava postavljanje upita nad velikim količinama
distribuiranih podataka koji su se smjestili u Hadoopu. Radi se o upitima koji su veoma
slični SQL-u, dapače gotovo su identični, no ipak postoje određene razlike kao i
ograničenja ovog jezika. Radi se o HiveQL-u (Hive Query Language - HQL), te je osmišljen
kako bi olakšao posao ljudima koji se već godinama bave SQL-om, kako bi se lakše snašli
u ovoj Big Data okolini.
Hive je veoma koristan i najčešće korišten za Batch obradu te ne pruža real-time upite i
nije dizajniran za OLTP. Radi se o veoma skalabilnom dijelu Hadoop-a (iskorištava Hadoop
klaster), proširivom (MapReduce dio te tzv. UDF(custom scalar functions), UDAF
(agregations), UDTF(table functions)).
Radi se o vrijednom dijelu Hadoopa, koji je uvelike olakšao posao na PANDORA projektu
zajedno sa svojim Hcatalogom. Hcatalog je upravljački sloj za Hadoop koji pruža korisniku
da s raznim alatima (MAPReduce, Pig) lakše čita, ali i piše podatke. Ukoliko korisniku ne
trebaju veoma brzi odgovori (response) na upite onda je Hive idealan, u suprotnom može
predstavljati probleme.
HBase je Hadoopova distribuirana, skalabilna baza podataka. Pokreće se nad HDFS-om te
je veoma koristan za parsirane podatke, a u slučaju PANDORE se radilo o parsiranim
tekstualnim podacima s web stranica i društvenih mreža. Zbog različitih izvora podataka
koji su parsirani te pohranjeni u različite HBase tablice, napravljen je i in-house node za
KNIME koji ima mogućnost učitavanja tih podataka u KNIME te je posebno dizajniran
ovisno o tablici koju bi trebao učitati.
Pod pojmom „baza podataka“ obično se podrazumijevaju najpoznatije relacijske baze
podataka, no ovdje ipak nije riječ o njima. HBase sadrži maser node koji upravlja klasterom
te region server koji pohranjuje dijelove tablica i vrši operacije nad podacima. Još je bitno
naglasiti da u odnosu na tradicionalne načine pohrane podataka, ima mogućnost
pohranjivanja obitelji stupaca zajedno (column family), a kod tradicionalnih sustava se
23
stupci određenog retka pohranjuju zajedno. Shema Hbasea je veoma fleksibilna i
podložna promjenama te je column family moguće veoma lako izmijeniti.
Kad se gleda šira slika, HBase se koristi kad je potreban slučajan (random), realtime pristup
velikim podacima za čitanje ili pisanje, a njegov cilj je okupljanje velikih tablica s milijunima
redaka i milijunima stupaca. Neke od karakteristika su mu skalabilnost, konzistentnost,
dostupnost (više nodova i kontinuirani pristup podacima), sigurnost, SQL pristup pomoću
Impale ili Hive-a, itd.
Impala služi za vršenje SQL upita i pokreće se zajedno s Apache Hadoopom. S obzirom da
Poslovna Inteligencija koristi Clouderu, bila im je potrebna i Impala zbog nekih od svojih
prednosti za vršenje SQL upita. Radi se o MPP (massively parallel processing) SQL sustavu
za vršenje upita na podacima pohranjenim na Hadoopu.
Neke od karakteristika Impale su MPP, mogućnost vršenja interaktivne analize na
podacima pohranjenim na HDFS-u i Hbaseu (pogotovo korisno za PANDORA projekt),
sigurnost, SQL sintaksa itd. Impala je integrirana s Hadoopom kao i ostali te koristi iste
podatke i podatkovne formate, metapodatke, sigurnost i resurse koje koriste i ostali iz
Apache Hadoop obitelji.
Ono što se isticala kao prednost Impale prilikom reklamiranja jest njena korisnost da pruži
analitičaru ili znanstveniku podataka bolju analizu nad podacima koji su pohranjeni u
Hadoopu i to pomoću SQL-a i alata poslovnog izvještavanja. Prednost Impale su
zasigurno SQL upiti te mogućnost izvršavanja obrade i interaktivnih upita nad velikim
podacima i to koristeći se istim sustavom, istim podacima i istim metapodacima bez
potrebe za migracijom podataka u posebne sustave dizajnirane samo za to.
ZooKeeper služi za upravljanje ovim velikim sustavom i baš kao što mu ime kaže, on je
čuvar „životinja“ (Pig, Hive, Impala ...) u zoološkom vrtu (Hadoop). Kao što se može
pretpostaviti, radi se o centralizaciji upravljanja informacijama, centralizacija imenovanja i
sinkronizaciji različitih dijelova. Radi se opet o uslugama koje koriste distribuirane
aplikacije.
24
U Big Data okruženju različiti programi se pokreću na različitim računalima te je
koordinacija svih tih programa koji se odvijaju na različitim računalima u ovlasti
ZooKeepera. Iako je moguće napraviti distribuirani sustav bez Zookeepera (što je i bio
slučaj), ZooKeeper olakšava razvojnim inženjerima da se više koncentriraju na logiku same
aplikacije umjesto na koncept distribuiranog sustava ili koordinaciju među različitim
aplikacijama.
ZooKeeper je razvijen od strane Yahoo organizacije zajedno s Pigom te s obzirom da je,
kao što možete primijetiti, ekipa (Pig, Hive) u Hadoop okruženju nazvana po životinjama
bilo logično očekivati ovakav naziv, iako se neki od prijedloga bili CatHerder, jer se u
ranijim istraživanjima upravljanje distribuiranim procesima usporedilo kao s čuvanjem
mački, ali s obzirom da su gore imali i Pig te ostale, ZooKeeper je finalni izbor. ZooKeeper
je nekada bio podprojekt Hadoopa, a sad je na najvišoj razini projektne hijerarhije.
25
2.2.3. PANDORA Big Data arhitektura
Nakon obrade glavnih komponenti Big Data ekosustava, vrijeme je za prikaz PANDORA
arhitekture16 te navedenih termina u okviru iste.
Slika 6. PANDORA Big Data arhitektura
Kao što se može primijetiti iz slike 6., na dnu se nalaze termini u dijelu (TIER 1 - Storage).
Dakle, navedeno Hadoop okruženje je, kao što je i očekivano, temelj ovog projekta, na koji
se grade ostali slojevi. S lijeve strane se mogu vidjeti neki od izvora podataka koji su
podijeljeni na dva dijela: Web sadržaj (TripAdvisor te ostale web stranice) te društvene
16
Big Data Analytics as a Service Solution – PANDORA Flyer (objavljeno na web stranici PANDORE)
26
mreže (Facebook, Twitter te Pinterest- on se neće detaljno objašnjavati, ali analiza je
gotovo identična Facebook-ovoj).
Ovisno o kojim se podacima govori, u drugom sloju postoji crawling (ako se radi o web
sadržaju) te streaming (ako se radi o društvenim mrežama). Zatim, u istom sloju pod
nazivom (TIER 2 - Engine) slijede transformacije i redukcije (filtriranje, parsiranje, mapiranje,
agregiranje) i ovaj dio se uglavnom radi u Pentaho programu. Nakon toga slijedi
semantička analiza koja se izvodi u KNIME-u, a koja će detaljno biti objašnjena u dijelu
istraživanja. Na kraju dolazi organizacija i prezentacija podataka.
U sloju tri (TIER 3 - Access) postoje tri stvari, a to su operativno upravljanje i nadzor
(administracija i konfiguracija, upravljanje korisnicima i pravima, automatizacija procesa i
nadzora), konfiguracija sadržaja i mapiranje (postavljanje izvora sadržaja, mapiranje i
parsiranje sadržaja, upravljanje semantičkim slojem) i pristup podacima, analizi i
vizualizaciji (pristup sirovim podacima. Izvještavanje, analiza i vizualizacija te nadzor
rezultata). Više o navedenim dijelovima bit će izneseno u istraživačkom dijelu rada.
Ono što je također zacrtani cilj je mogućnost pristupa PANDORA aplikaciji preko računala,
mobitela, tableta te ostalih uređaja i iz više preglednika bez ikakvih problema. Kao što se
može vidjeti iz arhitekture, logično je da se krenulo prvo s Big Data tehnologijama, jer one
predstavljaju stup semantičke analize na ovaj način i ovog projekta.
U sljedećem podpoglavlju Big Data tehnologija će se raspravljati o prednostima i
nedostacima te tehnologije, a nakon toga će se govoriti o semantičkoj analizi, sinergiji
semantičke analize i Big Data tehnologije te će se na kraju prezentirati kako to sve izgleda
i u zadnjem sloju.
27
2.3 Prednosti i nedostaci Big Data tehnologije
U ovom dijelu će se obraditi neke od prednosti i nedostataka Big Data tehnologije, ali i
infrastrukture i ljudi koji su potrebni za njenu uspješnu implementaciju. Prema TWDI
istraživanju17 na pitanje koje su potencijalne barijere u implementaciji Big Data tehnologije
(n=325), kao razlog broj jedan naveden je nedostatak vještina i osoblja potrebnog za Big
Data analitiku. Navedeno je često komentirano u brojnim člancima kao uistinu razlog broj
jedan za neuspjeh ili uopće neodlazak u implementaciju Big Data tehnologije.
S obzirom da se radi o relativno novoj tehnologiji tj. tehnologijama, veliki je i nedostatak
za kadrom koji je osposobljen za rad s Big Data te su s toga tvrtke natjerane na
improvizaciju, prekvalifikaciju već postojećih radnika, dodatno obrazovanje, dodatni
troškovi kako bi imali eventualne dobitke u budućnosti. Uslijed navedenog, troškovi rastu.
Iako se radi o open-source projektima i dalje postoje troškovi koji mogu biti dosta veliki.
Govori se i o troškovima osoblja te njihove edukacije te oportunitetnom trošku, a ne samo
o trošku hardwarea.
Kao još neki od razloga18 ističu se nedostatak podrške od strane upravitelja, nedostatak
poslovnih slučajeva te ponovno poslovni troškovi. Na kraju se postavlja sljedeće pitanje: Da
li je Big Data svojevrsni problem za jednu organizaciju? 30% ispitanika je na ovo
odgovorilo da Big Data smatraju problemom, a kao jedan od ključnih razloga ističe se
Volume. No, s druge strane čak 70% ispitanika vidi priliku u Big Data tehnologijama.
Slika 7. TWDI istraživanje
17
18
Philip Russom (2011) : TWDI Best Practices Report - Big Data Analytics
Philip Russom (2011) : TWDI Best Practices Report – Managing Big Data
28
Graf na Slici 7 prikazuje veoma zanimljive rezultate. Naime, 40% ispitanika prakticira neke
od oblika napredne analitike, ali ne pomoću Big Data tehnologije, 34% to radi pomoću
nje, a 23% uopće ne posjeduje nikakav oblik napredne analitike, a ni ne koriste Big Data.
Slika 8. Vještine analitičara i količina podataka
U drugoj knjizi19 se spominju određene vještine koje razlikuju analitičare, a koje su
potrebne da tvrtka iskoristi informacije koje želi dobiti. Neki smatraju da se radi o previše
vještina koje se zahtijevaju od jedne osobe te da se potrebno koncentrirati na jedno
područje, a ostala poznavati, dok drugi govore da se radi o više ljudi koji moraju imati sve
ove vještine kako bi tvorili jedan znanstveni tim koji bi bio specijaliziran samo za podatke.
Razlog zašto se ovo pitanje spominje je što navedneo može riješiti put za potragom
kvalificiranog kadra što je, jasno, značajan problem te ujedno i govori koliko se tvrtke
zapravo bave velikim podacima. Tako se vidi da se petabajtima rijetko tko bavi, pa čak i da
19
Harlan Harris et al. (2013) : Analyzing the Analyzers, An Introspective Survey of Data Scientists and Their
Work, USA, O'Reilly
29
to vrijedi za terabajte. No, ovo ne znači da Big Data problem ne postoji već da poslovne
organizacije čeka mnogo truda i rada da krenu na pravi Big Data put.
Drugi izvještaj od European Communications, koji je specijaliziran za telekomunikacijsku
industriju, govori da raste razumijevanje Big Data tehnologije, ali i dalje izostaje
implementacija. Tako prema njihovoj anketi 91% ispitanika (140 senior telekomunikacijskih
upravitelja ) smatra da bi Big Data trebao biti strateški prioritet u telekomunikacijskoj
industriji, ali opet ih je samo 54% izjavilo da je Big Data uistinu strateški cilj njihove
organizacije. U ovom izvještaju kao barijere se spominje i osoblje, no u znatno manjem
postotku nego u prošlom izvještaju (3%), a više kao barijere vide nerazumijevanje
potencijala, nedostatak kvalitetnih podataka, ponovno troškovi itd. Kada im se postavilo
pitanje da li imate dovoljno kvalitetnih ljudi za iskorištavanje podataka koje posjedujete,
njih 63% ih je reklo da ne posjeduju, što ponovno ističe koliko su ljudi zapravo važni.
Na kraju koliko god bilo nedostatak, prednosti Big Data tehnologije se više ističu.
Nedostaci su premostivi, a koristi od Big Data tehnologije su višestruki. Ono što se očekuje
od poslovne organizacije da u budućnosti urade kako bi iskoristili Big Data jest obuka ljudi,
kontrola troškova, ali najbitnije je prepoznavanje važnosti Big Data tehnologije te njenih
mogućnosti u pogledu napretka organizacije. Također, vrlo je važno pitanje što takva
tehnologija može uraditi ako je mi ne iskoristimo, a konkurentska tvrtka to učini.
30
3. Semantička analiza
Nakon što je obrađen dio Big Data tehnologije, naglasak je na dijelu fokusiranom na
semantičku analizu. Iako će detaljan model biti prezentiran u dijelu istraživanja, ovdje će se
prikazati neki osnovni koncepti semantičke analize, analize mišljenja koji će nam pomoći
da boje razumijemo sam model u KNIME-u. Obradit će se i osnovni pojmovi, problemi koji
se vežu uz semantičku analizu te načini rješavanja istih, neke operacije koje su
karakteristične za nju, tehnike te kako je to izgledalo u prošlosti, kako izgleda danas te što
nas očekuje u budućnosti.
3.1 Uvod u semantičku analizu
Semantička analiza20 ili analiza mišljenja je računalna znanost koja se bavi proučavanjem
ljudskih
mišljenja,
stavova,
emocija
prema
određenim
entitetima,
individuama,
događajima, temama. Radi se o tehnički zahtjevnom zadatku, ali praktički gledano, veoma
korisnom zadatku. Gledajući s ekonomske strane, ako se uzme u obzir da je većina
poslovnih organizacija prihvatila paradigmu da je kupac u centru pozornosti i da se
trebaju shvatiti potrebe kupca kako bi ih mogli zadovoljiti, to nam ukazuje na važnost
analize mišljenja koja će se u ovom radu prezentirati. Potencijalni kupci žele znati 21 i
mišljenja ostalih kupaca prije nego što odu u neku državu te posjete određeni hotel. Ovo
će se vidjeti i na primjeru TripAdvisora.
Ovdje se kao alternativa ističu prednosti Big Data tehnologije opisane u prethodnom dijelu
te napredak u semantičkoj analizi koje upućuju na mogućnost iskorištavanja informacija
koje „stoje“ na webu i čekaju analizu. Treba se postaviti pitanje koliko se na ovom mjestu
nalazi vrijednih informacija o uslugama, proizvodima, reklamacijama, o osoblju te koliko se
nalazi potencijalnog prostora za napredak.
Ono što je zanimljivo jest činjenica da prilikom ljudskog pretraživanja tog sadržaja (npr.
čitamo tuđa mišljenja o određenom odmorištu), ljudi često budu pristrani tj. obraćaju više
pažnje onim mišljenjima koja im odgovaraju.
20
21
Charu C. Aggarwal and ChengXiang Zhai (2012) : Mining Text Data, USA, Springer
Charu C. Aggarwal (2011): Social Network Data Analytics, USA, Springer
31
Ljudi, također imaju ograničenja kojih najčešće nisu svjesni, a koja dolaze do izražaja kod
velike količine informacija. Sve navedneo dovodi do toga da je veoma bitno razviti
kvalitetan, automatiziran sustav koji radi sumu svih mišljenja koja nas zanimaju i koji
prevladava probleme pristranosti i ograničenja koja imaju ljudi prilikom rada na istom
ovom problemu.
Kao što je bilo govora, osim web stranica, obrađivat će se i društvene mreže koje su same
po sebi dosta kompleksne te se mogu svrstati u nekoliko kategorija.
Tablica 1. Vrste društvenih mreža
Category
Representative Sites
Wiki
Wikipedia, Scholarpedia
Blogging
Blogger, LiveJournal, WordPress
Social News
Digg, Mixx, Slashdot
Micro Blogging
Twitter, Google Buzz
Opinion & Reviews
ePinions, Yelp
Question Answering
Yahoo! Answers, Baidu Zhidao
Media Sharing
Flickr ,Youtube
Social Bookmarking
Delicious, CiteULike
Social Networking
Facebook, LinkedIn, MySpace
PANDORA se bavi Facebookom, Twitterom i Pinterestom, ali u ovom radu će se objasniti
detaljno Facebook i Twitter. Društvene mreže znaju biti dosta teška za analizu zbog
korištenja slenga, zbog 140 slova na Twitteru te ostalih ograničenja. No, informacije koje
se mogu dobiti od društvenih mreža mogu biti itekako vrijedne za jednu tvrtku,
organizaciju pa i državu. Zanimljivo bi bilo da se indeks nacionalne sreće mjeri pomoću na
primjer semantičke analize.
32
3.2 Problemi semantičke analize
Postoji nekoliko načina semantičke analize, a u ovom dijelu navest će se oni koji su
korišteni za potrebe PANDORE. Osnovna podjela koja će se koristiti u ovom radu je
podjela prikazana na slici ispod.
Semantička
analiza
Analiza strojnim
učenjem
Analiza
rječnikom
Nadzirano
učenje
Nenadzirano
učenje
Slika 9. Podjela semantičke analize
Dakle, semantičku analizu/analizu mišljenja je moguće provesti na dva načina. Prvi je
analiza strojnim učenjem, koja se dijeli na nadzirano (supervised) i nenadzirano
(unsupervised) učenje. Razlika je u tome što se prilikom strojnog učenja u nadziranom
algoritmu daju točni dokumenti koji su pozitivni, a koji su negativni (gledajući u kontekstu
naše studije slučaja) te algoritam na temelju toga uči i raspoznaje razliku. U slučaju
nenadziranog algoritam sam mora pronaći određenu strukturu u tim dokumentima i
podijeliti dokumente na recimo dva klastera (na temelju te strukture i razlike između
dokumenata). Nenadzirano učenje je teže evaluirati, dok za nadzirano postoje oznake
koje se mogu uspoređivati ( ono što je algoritam naučio i kakvo je stvarno stanje).
Navedeno se radi particioniranjem (podjela na train i test set), gdje jedan dio podataka
služi za učenje, a drugi za validaciju naučenog. Također, moguće je koristiti i crossvalidation o kojoj će konkretno biti govora u dijelu istraživanja.
33
Inače, strojno učenje je grana umjetne inteligencije, a bavi se izradom i proučavanjem
sustava koji uče iz podataka zahvaljujući određenim algoritmima. Najčešće se dijeli na dva
dijela koja su navedena gore, no uz njih se koriste i kombinacije oba te se kriju pod
nazivom semi-supervised learning. Također je veoma popularno i tzv. reinforcement
learning (pokušava se shvatiti kako okolina reagira na određene akcije te se pomoću
prikupljenog znanja pokušava maksimizirati kumulativna nagrada).
Drugi dio semantičke analize je analiza rječnikom22. Analiza rječnikom koristi ručno
izgrađen rječnik u kojem uz svaku riječ stoji njen polaritet23 (pozitivna, negativna). Dalje, u
analizi se koristi taj rječnik te se kombinira s frekvencijama za izračun SentimentScore-a što
će se također konkretno vidjeti u dijelu istraživanja. U pogledu ove grane postoje tri
podjele: ručni pristup, pristup baziran rječnikom i pristup baziran na corpus (skup svih
dokumenata). Pristup baziran rječnikom iterativno uzima određeni uzorak riječi koje se
ručno označavaju (stavljaju im se polariteti) te se tim riječima traže sinonimi i antonimi u
WordNet-u čime se povećava inicijalni rječnik. Dakle, radi se o kombinaciji malog uzorka
riječi i online rječnika. No, na primjer riječ tiho može u kontekstu zvučnika i automobila
imati različito značenje i to se pokušava riješiti pristupom baziranim na corpusu. Ovaj
pristup uzima pridjeve za koje zna da imaju određeni polaritet (beautiful - pozitivan) i
povezuje ih sa susjednim pridjevima te i za njih pretpostavlja da imaju isti polaritet. Ovo
ide na pretpostavku da ljudi koriste pridjeve istog polariteta u jednom mišljenju te se
rijetko događa npr. ”This car is beautiful and difficult to drive”. Ručni pristup se najčešće
koristi s automatiziranim metodama, jer uzima previše vremena te su se više objasnila ta
dva pojma.
22
Stefano Baccianella, Andrea Esuli, and Fabrizio Sebastiani (2010) : SENTIWORDNET 3.0: An Enhanced Lexical
Resource for Sentiment Analysis and Opinion Mining, Italia, Istituto di Scienza e Tecnologie dell’Informazione
Consiglio Nazionale delle Ricerche Via Giuseppe Moruzzi 1
23
Namrata Godbole, Manjunath Srinivasaiah & Steven Skiena (2007) : LargeScale Sentiment Analysis for News
and Blogs, USA, Proceedings of the International Conference on Weblogs and Social Media ICWSM
34
3.3 Glavne operacije i tehnike semantičke analize
U ovom potpoglavlju će se obraditi neke od glavnih operacija i tehnika koje se koriste za
semantičku analizu te će biti usklađene sa terminologijom iz KNIME-a kako bi se lakše u
dijelu istraživanje pronašli dogovarajući dijelovi koji će biti spomenuti ovdje. Kako bi se
postigla jedna smislena analiza potrebno nam je nekoliko koraka, a ti koraci su:

IO

Enrichment -obogaćivanje

Preprocessing - obrada

Frequencies – izračunavanje frekvencija

Transformation - transformacije

Visualization – vizualizacije
3.3.1 IO
Prvi na popisu je IO i njegov zadatak je parsiranje dokumenata. Tekst te njegova struktura
ukoliko je dostupna se moraju izvući i prikazati u obliku podatkovne strukture koju KNIME
može obraditi. Dakle, prilikom parsiranja određeni node u KNIME-u učitava tekst
određenog formate te kreira Dokument (DocumentCell- poseban zapis teksta koji KNIME
prepoznaje kao format da nad njime može vršiti obradu i rudarenje teksta) za svaki od tih
dokumenata.
Mogu se parsirati formati DML, SDML, PubMed (XML format), PDF, Word (Microsoft), te
flat podaci. Za svaki od ovih može se pronaći odgovarajući node u KNIME-u.
35
Slika 10. Izgled tablice nakon pretvorbe HBase podataka u Document
Kao što se vidi iz slike iznad, svaki parsirani dokument je jedan redak unutar stupca
Document (KNIME-u čitljiv format). Ovaj Document zapis kasnije može u sljedećim fazama
proći proces obogaćivanja, transformacije, obrade tj. sve ono što je potrebno da od njega
dobijemo kvalitetan output semantičke analize.
Sljedeći bitan node je „Strings to Documents“ koji omogućava da se neki csv file, xls ili xlsx
(Microsoft Excel) file može učitati te pretvoriti u dokument. Način, na koji ovo radi je tako
da se uzme svaki stupac jednog redka te se to sve spoji u jedan dokument, a kasnije
pomoću drugog noda „Document Data Extractor“ se može neke od tih atributa ponovno
vratiti. Ovo je veoma korisno ukoliko se uzme u obzir da se može na primjer vratiti
riječima iz nekog mišljenja njen polaritet (pozitivno, negativno) te se ovaj način i koristi u
analizi mišljenja pomoću KNIME-a.
„Strings to Documents“ se koristi i prilikom učitavanja podataka pomoću HBase readera u
projektu PANDORA, jer se svi podaci kao što se spomenulo dohvaćaju, parsiraju te
spremaju u HBase te se učitavaju pomoću ovog noda u KNIME, a zatim se pomoću noda
„Strings to Documents“ pretvaraju u dokument čime počinje prvi korak, koji je ujedno i
temelj za daljnju analizu.
3.3.2 Obogaćivanje
Obogaćivanje podrazumijeva dodavanje semantičke informacije dokumentu. Semantička
informacija može biti produkt named entity recognition i tagging. Dakle, radi se o
nodovima koji dodjeljuju POS tagove ili prepoznaju standardne entitete u dokumentima.
36
Znači, radi se o entitetima poput imena osoba, organizacija, lokacije, miomedicinski nazivi
(nazivi gena ili proteina) i kemijskih struktura. Ulaz za potrebe ovakve analize je format
podatke Document, a izlaz je također Document, ali je ovaj put obogaćen za oznaku i to
na onoj riječi koja je prepoznata kao jedan od entiteta.
To je što se tiče entiteta, a što se tiče POS označavanja, on stavlja Part of Speech oznake
(imenica, glagol, pridjev ...). Svi ovi tagovi se kasnije mogu izvući iz dokumenta ili se corpus
(kolekcija dokumenata) može filtrirati po recimo POS tageru, gdje se traži da se samo
prikažu imenice.
Označivači u KNIME-u su :

Abner tagger – koristi se za biomedicinsko označavanje (geni, proteini).

Dictionary tagger – označava ono što pronađe u rječniku koji sami kreiramo ili koji
preuzmemo s interneta

OpenNLP NE tagger – označava osobe i organizacije

Oscar tagger – koristi se za označavanje kemijskih entiteta

POS tagger – Part of Speech označavanje (glagoli, imenice...)

Stanford tagger – POS oznake za Francuski, Njemački i Engleski jezik

WildCard tagger – označava određene regularne ekspresije ili wildcard
Ukoliko se pronađu određene riječi koje sadrže neku oznaku, za njih se može postaviti da
su nepromjenjivi tj. da se na njih u kasnijim fazama obrade teksta ne mogu vršiti nikakve
izmjene (posebno potrebno u biomedicini).
Također, moguće je ukloniti konflikte između oznaka pa tako ako smo pomoću Abner
označivača označili riječ kao „inetrleukin 7“, a pomoću rječnika kao samo „interleukin“.
Rješavanjem konflikta će ostati samo „interleukin“.
3.3.3 Obrada teksta
U ovom dijelu semantičke analize se obrađuje tekst na način da se filtriraju ili manipuliraju
one riječi za koje se smatra da ne pomažu u semantičkoj analizi. Govorimo o filterima
poput filtriranja „stop words“-a, brojeva, interpunkcija ili veoma malih riječi. Također,
37
moguće je svest riječi na njihov korijen pomoću stemming, no o njemu nešto više u
ostalim dijelovima. Ova obrada teksta se izvodi nad riječima proizašlim iz BoW noda. BoW
dakle izvlači sve riječi iz dokumenta (Bag of Words) te pomoću njega dobijemo dva stupca
(prvi s term – riječ i drugi s Document (tvit, mišljenje itd.)).
U fazi obrade tekst u KNIME-u je moguće koristiti širok spektar filtere i nodova za
manipulaciju, ali će se spomenuti samo neki najbitniji za potrebe ovog rada.

Case converter

N Chars Filter

Number Filter

POS Filter

Porter Stemmer

Punctuation Erasure

RegEx Filter

Stop Word Filter
O većini ovih filter će biti govora u dijelu istraživanja, jedino je možda bitno spomenuti da
je RegEx Filter također veoma koristan, a nije toliko korišten za potrebe PANDORE. RegEx
nam pomaže da filtriramo pomoću nekih regular expressionsa (izraza).
Neki od izraza koje je nužno spomenuti u ovom dijelu su Deep preprocessing (služi za
obradu oba stupca BoW-a, u suprotnom se samo obrađuje term- riječ), Apending (čuva
originalni dokument prije nego što je vršena obrada za kasniju usporedbu) i unmodifiable
policy (ignorira prethodno označene nepromijenjene oznake).
3.3.4 Frekvencije
Nakon obrade teksta slijedi proces izračuna frekvencija. Najpoznatije su :

TF – Term frequency

IDF - inverse document frequency

ICF - inverse category frequency

Chi-squared keyword extractor
38

Keygraph keyword extractor
Ovo će se detaljno prikazati u dijelu istraživanja, no ICF se ne koristi za potrebe PANDORE,
a pruža izračunavanje frekvencija na razini kategorija, te Chi-squared keyword extractor se
nije koristio, a izračunava Chi-square za potrebe saznavanje važnosti riječi, kao što je i
očekivano.
3.3.5 Transformacija
Transformacija se može kretati od početka modela pa sve do kraja, ali kad bi se spomenuli
neki najvažniji nodovi i pojmovi u ovoj grupaciji nodova to bi bili :

BoW creator (Bag of Words) – izvlači riječi iz dokumenata

Document Data Extractor – veoma koristan, a koristi se za izvlačenje informacija iz
dokumenata koje ostaju skrivena, a u kasnijim dijelovima modela ih trebamo (u
našem slučaju se radi o polaritetu riječi)

Term vector ili Document vector – kreiraju se vektori od dokumenata ili od term
podataka (riječi), veoma korisno prilikom primjene algoritama za strojno učenje

Term to string – pretvorba term (riječi) u format string ili imamo obrnuto string to
term

Strings to Document – veoma vrijedno za potrebe analize pretvara npr. tvitove ili
mišljenja u document format
3.3.6 Vizualizacija
Što se vizualizacije tiče moguće ju je odraditi u KNIMEu, ali s obzirom da je PANDORA
projekt koja koristi web sučelje za prezentacijski sloj tj. vizualizacije, KNIME tu ne pomaže.
No, postoje nodovi za vizualizacije pomoću oblaka (tag cloud), Document Viewer za
jednostavnu vizualizaciju dokumenata. Također, alat koji se pokazao korisnim (na projektu
PANDORA) za ovakve oblike vizualizacija je Tableau, no nakon uspješno odrađene
semantičke analize, vizualizacija dođe kao zadnji korak. To ne znači da joj ne treba
pridavati malo pažnje, dapače, no ukoliko imamo lošu analizu tada nam ni najljepši način
vizualizacije ne može pomoći.
39
4. Semantička analiza nestrukturiranih podataka poduprta Big Data
tehnologijom
U ovom dijelu će se spojiti dva prethodna poglavlja te će se dobiti uvid zbog čega su
korisni za ovaj rad. Konkretno će se objasniti proces pretvorbe24 „sirovih“ tekstualnih
podataka u iskoristive informacije. Te informacije mogu biti numerička ili kvalitativne, a u
ovom slučaju će se prikazati obje.
4.1 Sinergija Big Data tehnologije i semantičke analize
U drugom dijelu se prikazala Big Data tehnologija. Big Data nije nov pojam, ali je došlo do
pojave kompletnih rješenja (iako još dosta bugovitih) koji omogućuju i malim te srednjim
organizacijama da se bave onim što je dosada bilo dostupno jedino velikim
organizacijama. Imao sam priliku upoznati nekoliko poslovnih organizacija koje koriste
neke od Big Data tehnologija u Republici Hrvatskoj i te tehnologije im uistinu pomažu da
ostvare nešto što do sada nisu imali priliku, a to je upravljati sve većim količinama
podataka. Također, u ovom radu će se prezentirati projekt poslovne organizacije Poslovna
Inteligencija. Jedan od razloga izostanka Big Data tehnologije u Hrvatskoj je nedostatak
kadra, što je i opisano u ovom radu kao jedan od ključnih razloga neulaska u Big Data
projekte.
S obzirom da se govori o nestrukturiranim podacima25 u ovom radu te će se još prikazati i
primjeri s web stranica i društvenih mreža. S obzirom da imaju veliku bazu svojih korisnika
te se na dnevnoj bazi generiraju velike količine podataka logično je očekivati da nam je za
njihovu analizu potrebna određena vrsta tehnologije koja može to analizirati i pohraniti.
Dakle, govorimo o Big Data tehnologiji.
Više o ovoj sinergije će se prikazati u samom procesu pretvorbe „sirovih“ podataka u
korisne informacije u sljedećem poglavlju.
24
Steven Bird, Ewan Klein & Edward Loper (2009): Natural Language Processing with Python, USA, O'Reilly
Ronen Feldman, and James Sanger (2007) : Text Mining Handbook: Advanced Approaches in Analyzing
Unstructured Data, UK, Cambridge University Press
25
40
4.2 Od tekstualne informacije do numeričke informacije
Možda bi prikladiniji naziv za ovo poglavlje: od „sirovih“ podataka do korisnih informacija,
ali cilj je prikazati fundamentalnu pretvorbu dohvaćenog teksta u broj koji ima smisleno
značenje (informacija)26 te koji se može iskoristiti za svrhe poslovanja na razne načine.
4.2.1. Izazovi velikih podataka
Nakon što ustanovimo da imamo previše podataka za izbor i da je potrebno da se
odgovori na nekoliko pitanja ukoliko se želi proizvesti kvalitetna analiza. Neka od tih
pitanja su:

Kako pohraniti podatke ?
Dakle, ovdje se govori o fizičkoj pohrani pristigli podataka. Također, bitno je
osigurati podjelu tih podataka na skalabilan i ekonomičan način. U sljedećim
poglavljima ovog rada će se vidjeti da je Poslovna Inteligencija odabrala upravo Big
Data tehnologije da se bave ovim pitanjima, a konkretno za ovaj pomaže HBase.

Koji format podataka izabrati
Sljedeće na što se treba obratiti pažnja, je odabir formata. Želi li se osigurati veliki
raspon različitih formata ili se želi koncentrirati na manji broj. Žele li se formati koji
će biti razumljivi i prosječnim korisnicima ili se želi da budu razumljivi samo
razvojnim inženjerima, programerima. Konkretno, u PANDORA projektu se koriste
XML, JSON, CSV te drugi, ali prikazat će se razlika između ova tri:
26
Fern Halper (2013) : TWDI Checklist Report – How to gain insight from text
41
Slika 11. Prikaz razlike između formata

Kako prezentirati podatke
Treće pitanje na koje se treba dati odgovor je kako će korisnici pristupiti podacima.
U slučaju PANDORE pitanje je bilo kako će korisnici pristupati rezultatima analize,
hoće li imati uvid u podatke, što će sve moći raditi s tim podacima. Korisnici ovog
projekta imaju mogućnost dohvaćanja podataka, pohranjivanja i analiza. Znači,
mogu birati što da dohvate te s kojih stranica da dohvate podatke. Ti podaci se
pohranjuju u HBase te korisnik može uz nekoliko klikova napraviti analizu mišljenja.
Svi podaci su prikazani u tabličnom obliku tako da su shvatljivi i krajnjem korisniku.
Ključno je znati i razumjeti što se želi postići s proizvodima koji se žele napraviti ili s
informacijom koja se proizvela. Ukoliko se zna što se želi da krajnji korisnik dobije od
informacije ili ukoliko se zna što se može korisno napraviti s tom informacijom, ostvaren je
prvi korak prema uspješnom završetku projekta. Tvrtke, pogotovo tehnološke, ulaze u Big
Data projekte samo da su u skladu s trendovima. Dakle, koncentrirani su više na
tehnologiju, nego na krajnjeg korisnika takve analize.
Nakon što su dohvaćeni podaci pohranjeni u obliku koji se želi, potrebno je te podatke (u
našem slučaju) obraditi tj. pripremiti za potrebe analize. U žargonu semantičke analize radi
se o pojmu „preprocessinga“. Osim obrade podataka nužno je i „obogatiti podatke“ bilo
određenom oznakom (označavaju se riječi s oznakom- pozitivna, negativna ili označavaju
42
se riječi PartOfSpeech tagom koji označava u dokumentima imenice, glagole, pridjeve tj.
sve što mi označimo da pronađe).
Kad se govori o obradi podataka tj. konkretno o zasebnim riječima iz dokumenata, onda
se govori o uklanjanju svega onoga što se ne želi da bude input semantičke analize ili ono
za što se smatra da će uštedjeti i vrijeme i prostor, a neće bitno ugroziti točnost našeg
modela.
Nakon tih faza u praksi semantičke analize se koristi izračunavanje frekvencija od kojih su
najpoznatije term frequencies (TF) te inverse document frequencies (IDF), no postoje i
ostale. U daljnjem tekstu koristiti se TF-IDF frekvencija za potrebe naše semantičke analize.
Ukoliko se za potrebe analize mišljenja odabere strojno učenje27 imamo i dodatne korake
odabira algoritma koji najbolje rade na danim podacima. Ovim korakom se stvari
kompliciraju, jer se mora paziti na još više faktora. Na kraju krajeva najviše vremena se
potroši na optimizaciju modela strojnog učenja tj. pronalazak odgovarajućih parametara,
te obraća se pažnja na mogući „overfitting“. No, i ovdje je znanost pokazala da
najjednostavniji modeli pokazuju veoma dobre rezultate. Pretežno se u ovom slučaju misli
na Naive Bayes. Veoma jednostavan algoritam, ali se u praksi, te u ovom projektu pokazao
kao veoma dobar reprezentant mišljenja korisnika.
Ovi koraci su spomenuti u ranijem dijelu teksta, te će se i kasnije na primjerima modela u
KNIME-u prikazati, no nužno je da se dobije tijek podataka na jednom mjestu. Za kraj,
preostaje nam odabir načina korištenja proizvedenih informacija bilo da se govori o onim
pomoću rječnika ili pomoću strojnog učenja ili čak pomoću oba pristupa. Vizualizacija tih
podataka predstavlja finalnu komunikaciju s korisnicima i ona treba biti što jednostavnija, a
opet što informativnija.
Ono što je bitno za primijetiti da se cijeli ovaj dugotrajan proces izrade radi kako bi se
praktički u slučaju PANDORE dobio jedan stupac u HBase-u koji može poprimiti samo tri
27
Willi Richert and Luis Pedro Coelho (2013) : Building Machine Learning Systems with Python, UK,
PacktPublishing
43
vrijednosti (Pozitivan, Negativan, Neutralan). Također, cijeli ovaj kompleksni sustav stoji
skriven od krajnjeg korisnika te u nekoliko klikova korisnik možete doći do rezultata
analize, a da i ne zna što se nalazi u pozadini.
To i treba biti cilj svake današnje analize. Jednostavnost, brzina, te vrijednost za korisnika.
4.3 Analiza TripAdvisora
TripAdvisor je najveća stranica za putovanja na svijetu28 koja omogućava putnicima da
planiraju svoja putovanja. Osim planiranja pružaju korisnicima uvid u komentare ostalih
putnika o lokacijama, restoranima, hotelima itd. Tako korisnik može vidjeti sve o svojoj
potencijalnoj destinaciji na jednom mjestu te na temelju tih informacija donijeti odluku.
TripAdvisor ima prema podacima (njihova web stranica) iz 2013. godine 260 milijuna
korisnika, te više od 150 milijuna komentara o 3.7 milijuna smještaja, restorana ili raznih
ostalih atrakcija. U svim ovim brojkama lako je prepoznati da se stvari mogu zakomplicirati
ako ovom problemu pristupite na tradicionalan način, ali rješenje koej se nudi je Big Data
tehnologija. Ako se uzme u obzir da se ovim podacima u PANDORI mogu pridodati i
društvene mreže sve postaje još kompleksnije i Big Data se pruža kao izbor za potrebe
semantičke analize.
Ono što je karakteristično za TripAdvisor (iz PANDORA perspektive) je činjenica što
korisnik sam može birati koji hotel želi te koje podatke o tom hotelu želi. Također, u
sklopu PANDORE, ali na samim počecima je napravljen i model posebno za TripAdvisor29
koji pruža i kategorizaciju komentara po određenim kategorijama. Taj model će se
prikazati u ovom dijelu, jer je u sljedećem poglavlju prikazan dio koji je više generalan,
dakle radi klasifikaciju na pozitivan, negativan, neutralan.
28
Prema : comScore Media Metrix for TripAdvisor Sites, Worldwide, December 2013
Lada Banić, Ana Mihanović i Marko Brakus (2013) : Sentiment Analysis in Product Evaluation, Hrvatska,
MIPRO konferencija
29
44
4.3.1. Model TripAdvisor po kategorijama
U ovom modelu će se prikazati sustav koji prikuplja mišljenja ljudi o određenim hotelima s
web-a, evaluira ih, agregira te pruža jednostavne i kumulativne informacije o tim
mišljenjima krajnjim korisnicima. Ove informacije mogu biti korisne onim korisnicima koji
žele odabrati najbolji hotel za svoj smještaj, te žele pročitati i tuđa mišljenja, ali nemaju
vremena za čitanje svakog pojedinog. Ovaj sustav im pruža sumarnu statistiku outputa
semantičkog modela te korisnik dalje ukoliko želi može svako ocjenjeno mišljenje
pregledati. Dakle, pruža mu se kako sumaran tako i detaljan uvid.
Bitno je napomenuti da se ovaj model koristi i za druge web stranice osim TripAdvisora
(poput hotel.com, laterrooms.com, booking.com).
Slika 12. Sustav za evaluaciju mišljenja
Prvi korak je dohvaćanje podataka sa weba tj. u ovom slučaju s TripAdvisora korištenjem
sitemap.org formata te RSS feedova. Najefikasnije rješenje je dohvaćanje sitemaps.org tj.
XML formata, koji je spomenut nešto ranije. Kao što se može vidjeti iz slike, Poslovna
Inteligencija je koristila Apache Nutch za potreba dohvaćanja tj. crawlinga. Sljedeći koraci
su kao što se može vidjeti ekstrakcija mišljenja iz podataka, detekcija eventualnih duplikate
te detekcija jezika. Nakon toga sve (mišljenja) se puni u HBase tablice.
45
Što se tiče podataka u TripAdvisoru je najčešće prikazano 5 mišljenja na jednoj stranici.
Prilikom ekstrakcije mišljenja treba proći kroz nekoliko koraka:
1. Za svako dohvaćeno mišljenje kreira se jedinstveni identifikator prije unosa u HBase
2. Dohvaćaju se sljedeći podaci o hotelima:

Naziv hotela

Država

Grad

Ulica
3. Mišljenja o hotelima također uključuju:

Tekst mišljenja

Datum kad je objavljeno mišljenje o hotelu

Jezik na kojem je pisano mišljenje
Odabran je ovakav pristup s razlogom da prilikom agregacije mišljenja po hotelima ne
dođe do krivih rezultata, gdje bi potencijalno hoteli istog naziva spadali u istu grupu.
Detekcija jezika služi i da se prilikom analize mišljenja zna koji rječnika treba koristiti.
Kraj ovog sustav predstavlja KNIME, gdje je izrađen cjelokupni semantički model zasnovan
na rječniku. Izgled modela je prikazan na slici ispod.
Slika 13. TripAdvisor model u KNIME-u
46
KNIME je jednostavan i ono bitnije open-source proizvod koji ima više od 1000 nodova
(modula), a za nas je bitna ekstenzija koja omogućuje analizu teksta unutar KNIME-a.
Analiza mišljena u KNIME-u se sastoji od 3 koraka, u ovom slučaju:

Čitanje podataka iz HBase-a
Učitavaju se samo oni podaci koji imaju oznaku da nisu do sada evaluirani te je
moguće učitati koliko se god redaka želi, ali najčešće se radi o brojci od 10 000- 30
000 radi optimiziranje performansi KNIME-a.

Razvoj rječnika i implementacija
Ovo je veoma bitan korak, jer kvaliteta rječnika utječe na kvalitetu analize mišljenja.
Rječnik se radi na riječima preuzetim iz mišljenja koji su dohvaćeni samo za
potrebe izrade rječnika. Naravno, radi se o veoma vremenski intenzivnom procesu.
Svaka riječ je dobila ocjenu od 1 do 5 za svaku od četiri kategorije (urednost,
usluga, ugođaj i općenita).
o Urednost- misli se na urednost sobe, kupaonice, hotela
o Usluga- misli se na uslugu osoblja
o Ugođaj – Misli se na lokaciju hotela, količinu buke te slične karakteristike
o Općenita – Svi ostali termini koji ne spadaju u ostale kategorije

Bodovanje mišljenja
Prilikom učitavanja mišljenja u KNIME svako mišljenje se tretira kao zaseban
dokument. O ovome će biti više u daljnjem tekstu ovog rada, točnije u sljedećem
poglavlju. Svaka riječ koja je pronađena u mišljenjima te u rječniku dobiva svoju
kategoriju te ocjenu ovisno o tome kako je navedeno upravo u rječniku. Ukoliko se
pronađe nekoliko riječi iz rječnika unutar jednog dokumenta uzima se prosječna
ocjena. Ta prosječna ocjena se zatim upisuje ponovno u HBase. Dakle, output ove
analize je evaluirano mišljenje koje sadrži prosječnu ocjenu za svaku kategoriju te
su mišljenja agregirana po hotelima. Ovakva evaluacija se provodi periodički.
47
Dakle, ovdje se radi o analizi mišljenja pomoću rječnika, ali su riječi ocjenjene za sve četiri
kategorije. U dijelu istraživanja će se prikazati modeli koje je moguće primijeniti i na
TripAdvisor jedino što će u tom slučaju svako mišljenje dobiti tri vrijednosti: pozitivno,
negativno i neutralno.
Tablica 2. Prikaz TripAdvisor podataka
Key
PID
Date
Review
Lang
Grade
x
x
x
Review1
en
5
x
x
x
Review2
en
4
x
x
x
Review3
sk
1.5
x
x
x
Review4
pl
2
Ovo je izgled tablice nakon što se podaci učitaju iz Hbasea te prva tri stupca nam ne
pomažu u određivanju mišljenja korisnika, ali nam pomažu kasnije. Stupac review je stupca
u kojem se nalazi pripadajući tekst tj. mišljenje objavljeno na TripAdvisoru. Zatim ide
stupac u kojem se nalazi jezik, te stupac u kojem se nalazi ocjena.
Slika 14. Primjer stvarnih mišljenja na TripAdvisoru po kategorijama
48
4.4 Analiza Facebooka
Facebook30 je jedna od najpopularnijih društvenih mreža sa svojih preko 1,2 milijarde
korisnika. Facebook, zajedno sa svojim Instagramom je ujedno i najpopularnije mjesto za
objavljivanje fotografija te se prema zadnjim podacima doda oko 14 milijuna fotografija
dnevno. Ovdje se mogu prepoznati svi Big Data problemi kao i kod TripAdvisora, samo
što se ovdje situacija još više komplicira uslijed ubrzanog rasta objavljenih statusa,
komentara, fotografija.
Tablica 3. Prikaz tablice nakon učitavanja podataka s Facebook-a
Key
Text
PageID
PageName
PostID
Time
Type
UserID
Likes
x
Liked and shared
x
BestHotels
x
x
Comment
x
0
x
Thanks love you
x
BestTrips
x
x
Comment
x
5
x
Just voted
x
ExploreCroatia
x
x
Comment
x
1
x
Great colors
x
BeautifulCroatia
x
x
Comment
x
0
Nas konkretno zanima tekstualni dio te evaluacija mišljenja osoba na Facebooku. Korisnik
dakle može unijeti u aplikaciju PageID ili naziv stranice s koje želi dohvatiti podatke te
napraviti semantičku analizu nad tim podacima. Više o samom modelu i njegovom radu u
dijelu istraživanja.
Iz tablice se može vidjeti da se na početku nalazi jedinstveni identifikator koji je prethodno
spomenut, a pomaže prilikom razlikovanja mišljenja. Najbitniji dio je stupac text, što
zapravo predstavlja tekstualni sadržaj s Facebooka. Ovaj sadržaj može biti komentar, post
ili nešto drugo te je njegov tip naveden u stupcu type. Ono što je korisno je stupac
PageName koji govori s koje se stranice povlače podaci te kao dodana vrijednost analizi je
i broj „likova“ u zadnjem stupcu. Osim ovih vrijednosti tu su i PageID, PostID, UserID koji
pomaže prilikom detektiranja osoba koje su komentirale, gdje su komentirale te
zahvaljujući stupcu time i kad su komentirale.
30
Matthew A.Russell (2014) : Mining the Social Web, Data mining Facebook, Twitter, LinkedIn, Google+,
Github, and more, USA, O'Reilly
49
Tablica iznad predstavlja primjer koji je kreiran za ovo potrebe kako bi se razumjeli podaci
koji se nalaze u Hbasu te kako bi se upoznali s podacima koji se korsite za potrebe analize.
Dakle, ne radi se o realnim brojkama i vrijednostima, ali su nazivi stupac realni.
Facebook pruža mogućnost analize nebrojene količine podataka, ali uz te velike
mogućnosti dolaze i velika odgovornost. Prije svega što se tiče privatnosti korisnika s
Facebookove strane.
Slika 15. Model za Facebook
Model izgleda kao na slici iznad. Koraci su gotovo identični u ovom modelu i u modelu za
analizu Twittera. Naravno, kad se detaljnije pogleda u model, onda se mogu uočiti neke
razlike. No, tih razlika nema previše, jer se radi o tekstu, a manje je bitno da li on dolazi sa
Facebooka, Twittera ili možda TripAdvisora.
Na samom početku se nalazi node koji se zove HBase Facebook Reader i to je node koji je
izrađen od strane Poslovne Inteligencije. Prilikom učitavanja podataka iz tog noda podaci
izgledaju kao u tablici koja je prikazana na početku ovog potpoglavlja.
U dijelu tagging dolazi do spajanja s rječnikom napravljenim za svako domensko područje
(uređaje, hotele, kozmetiku itd.).
Nešto više i detaljnije o ovom modelu će biti govora u dijelu istraživanja.
50
4.5 Analiza Twittera
Twitter31 je također društvena mreža te ujedno i usluga koja pruža mikroblogging što
cijeloj priči o analizi mišljenja daje jedan novi kontekst. Ono što je karakteristično za
Twitter32 je njegovo pravilo od 140 znakova, gdje svaki tvit ne smije imati više od 140
znakova. Ovo komplicira analizu, jer ljudi koriste skraćenice, žargone i traže sve moguće
načine kako da u što manje znakova stave svoju poruku. Ukoliko se uračunaju i linkovi koji
se nalaze unutar tvita, stvar se dodatno komplicira. Zato postoje i pristupi u znanosti koji
uzimaju i smajliće kako bi odredili kontekst tvita. Taj pristup nije predmet ovog rada, ali
pruža još jednu opciju prilikom analize.
Jedino razlika je što kod Facebooka (kad gledamo Hbase reader) imamo PageName filter,
a kod Twittera se filtracija vrši po ključnim riječima. Ključna riječ možete biti bilo koja riječ
koja se nalazi u tvitu.
Dakle, u odnosu na Facebook, model je gotovo identičan, jedina razlika je inicijalni node
koji služi za učitavanje tvitova tj. Reader koji je napravljen za ovo svrhe. Također, razlika je i
u rječnicima koji se stavljaju, a ovise o domenskom području, jer je za svako područje
izgrađen zaseban rječnik.
Što se tiče Twitter tablice, ona izgleda poput tablice ispod:
Tablica 4. Izgled tablice nakon učitavanja podataka iz HBase Twitter Readera
Key
UserScreenName
Date
Text
Keyword
x
Mich
x
This is best gift ever ... iPhone
iPhone
x
John
x
Lumia looks really cool
Lumia
x
Mary
x
I have new Lumia <3
Lumia
x
Lucy85
x
I started crying to my mom... I whant iPhone :/
iPhone
31
Matthew A.Russell (2014) : Mining the Social Web, Data mining Facebook, Twitter, LinkedIn, Google+,
Github, and more, USA, O'Reilly
32
Alexander Pak, Patrick Paroubek (2010) : Twitter as a Corpus for Sentiment Analysis and Opinion Mining,
France, Universit´e de Paris-Sud
51
Dakle, ponovno se na početku nalazi key, te datum. Ovdje se korisnik zove
UserScreenName, a razlike su i u tome što se koriste ključne riječi (keyword) pomoću kojih
se pronašao taj tvit umjesto PageName kao u Facebooka. Tvit je ponovno u stupcu text.
Dakle, ovdje su se pretraživali tvitovi koji sadrže riječi iPhone i Lumia (ujedno i ključne
riječi). Ponovno, radi se o primjernim podacima koji nisu stvarni, ali izgled stupaca i tablice
je realan.
4.6 Iskorištavanje rezultata analize u procesu odlučivanja
Ovo je može se reći jedan od bitnijih dijelova analize. Ovo jekorak koji se događa nakon
analize. Odgovara se na pitanje kako korisnici informacija proizašlih iz semantičkog
modela iskorištavaju te informacije i reagiraju na njih. Tvrtke žele znati što više o svojim
kupcima, klijentima, korisnicima te pokušavaju pronaći što više kvalitetnijih podataka kako
bi im u tome pomogli.
Kad se kaže kvalitetnijih, prvenstveno se misli na one podatke koji pomažu da se shvati
ponašanje kupaca te da onda na temelju tih obrazaca ponašanja može pravodobno
reagirati. Bilo da se reagiranje odnosi na pravovremeni odgovor na ukazane nedostatke
na određenom proizvodu, da se dobiju mišljenja ljudi na beta verzije proizvoda i prije
nego što se izbaci na tržište ili jednostavno da se može ponuditi određeni popust tim
kupcima na temelju onoga što se saznalo iz tih podataka.
Ovakav tip informacija pomaže i kao što se već spominjalo, potencijalnim turistima
(korisnicima) da donesu odluku koje je idealno mjesto za njihov budući odmor. Dok, hoteli
u drugu ruku mogu vidjeti svoj rang te se uspoređivati s konkurencijom te dobiti uvid u
točno one podatke kojih ih zanimaju. Na primjer, određeni hotel želi znati što kupci
komentiraju po pitanju čistoće u hotelu ili žele vidjeti koliko negativnih tvitova je
generirano o njihovo hotelu i u kojem razdoblju.
Kad imate kvalitetne podatke iz više izvora i kad imate dobar semantički model
mogućnosti su raznolike. Kasnije, će se vidjeti kako izgleda output jednog semantičkog
modela te koliko je taj output kvalitetan i ekonomski iskoristiv.
52
4.6.1. Prikaz nekih dijelova aplikacije
Ovdje će se prikazati neki dijelovi aplikacije koji pomažu korisnicima da odaberu što ih
zanima, te vide rezultate svoje semantičke analize na temelju kojih kasnije mogu donositi
neke odluke.
Također, prikazat će se neke i od vizualizacija te će se u ovom dijelu prikazati zbog čega je
sve ovo prethodno bilo rađeno.
Slika 16. Primjer izgleda završne vizualizacije koju vidi krajnji korisnik (Maybelline vs Nivea)
Na ovoj slici može se vidjeti sumarna statistika te usporedba dvije ključne riječi za
određene tvitove koji su izabrani za potrebe testiranja aplikacije. Ne radi se o velikoj
količini podataka, ali je korisno da se prikaže izgled finalne vizualizacija. Dakle, s lijeva se
nalazi ukupni broj pozitivnih, negativnih te neutralnih tvitova za ključnu riječ Maybelline, a
na desnoj strani isto to za ključnu riječ Nivea. Linija predstavlja prosječnu ocjenu koja se
izračunava na temelju omjera polariteta tvitova za svaku ključnu riječ, a u kutu se nalazi i
prikaz strukturnog kruga.
53
Slika 17. Druga vizualizacija podataka
Na ovoj vizualizaciji može se vidjeti prikaz ocjena po nešto više kategorija za dva hotela.
Također na vrhu se nalazi izbor vremenskog razdoblja za koje se želi obaviti usporedba.
Ovakav oblik vizualizacije pomaže da se uoče oni hoteli koji odskaču tj. da se utvrde
razlike između hotela za svaku pojedinu kategoriju u jednom veoma jednostavnom
prikazu.
Slika 18. Opcije prilikom dohvaćanja podataka
54
Ovdje se može vidjeti kako izgledaju mogućnosti za dohvaćanje podataka (crawling).
Veoma je interesantna vremenska dimenzija. Sljedeći korak PANDORA projekta je realtime analiza pomoću STORM-a.
Već na temelju ovakvih analiza moguće je vidjeti da su podaci koje proizvodi ova
semantička analiza ekonomski korisni za poslovne organizacije te im mogu pomoći u
kreiranju budućih planova, ali im mogu pomoći i da reagiraju na vrijeme ukoliko uoče
neke nagle promjene u zadovoljstvu svojih korisnika. Ono što se dalje postavlja kao pitanje
je : Koliko je kvalitetna semantička analiza tj. koliko je kvalitetan dobiveni output, a kako bi
se otkrio odgovor na to pitanje potrebno je detaljnije razraditi izradu semantičke analize, a
o tome više u dijelu istraživanja.
Pandora je projekt koji je predstavljen tržištu 2014.godine. Radi se o finalnom rješenju
kojem je cilj omogućiti svojim korisnicima informacije o njihovim proizvodima i uslugama
te analizu onog što ostali korisnici govore o njima. Za potrebe PANDORA projekta
korištene su tehnologije navedene u drugom poglavlju Big Data, operacije i tehnike
objašnjene u trećem poglavlju Semantička analiza, te modeli i metode korišteni u ovom
poglavlju. Prethodna poglavlja zajedno sa svojim metodama, i resursima će se prikazati u
dijelu istraživanja, gdje će se moći vidjeti točna primjena svakog od njih. Radi se uglavnom
o open-source softwareima, no hardware korišten za potrebe PANDORE te ljudi, su bili
veliki dio troškova izrade. Ono što je karakteristika PANDORE je činjenica da će Poslovna
Inteligencija nuditi svoje rješenje kao uslugu ostalim korisnicima čime olakšavaju
prikupljanje kvalitetnih informacija te koncentraciju na on najvažnije pitanja na koje se želi
dobiti odgovor.
55
5. Istraživanje
5.1. PANDORA projekt
Projekt PANDORA33 je projekt koji je u trenutku pisanja ovog rada i dalje u fazi izrade, no
projekt sam kao takav je do sada već pomaknuo granice poslovne analize u RH, ali i šire. U
ovom dijelu rada će se detaljno predstaviti neki dijelovi ovog projekta koji su zanimljivi za
ovaj rad. Prije svega prikazat će se Big Data tehnologije i semantički modeli, te će se
prikazati sinergija ta dva pojma u jednom praktičnom primjeru. Ovaj projekt je u 2014.
godini ponuđen tržištu (verzija 2 u izradi), te će se prikazati dosadašnja postignuća ovog
projekta.
Sam PANDORA projekt je osmišljen kao proizvod koji nudi potencijalnom korisniku brojne
mogućnosti te pruža vrijedne informacije, koje su im do sada bile nedostupne. Proizvod je
osmišljen tj. podijeljen u tri faze: Crawling (dohvat podataka), Extraction (punjenje baza
podataka dohvaćenim podacima), Analysis (semantička analiza). Dakle, korisniku se nudi
sloboda izbora na kojim podacima (pristiglih s raznih stranica) će se odraditi semantička
analiza. Ovo je sve moguće zahvaljujući templateima, koji su unaprijed pripremljeni kako
bi korisnik uz par klikova mogao doći do svog cilja.
Slika 19. Faze PANDORE
33
PANDORA – web stranica (www.pandora-insight.com)
56
Prije detaljnijeg ulaska u svaku od ovih faza, prikazat će se sve ono što prethodi ovim
procesima.
Prije svega za početak je nužno prikazati logičku arhitekturu PANDORE 34. Na slici 20.
postoje dva ključna početna koraka, a to su crawling i streaming. Crawling se vrši
zahvaljujući Apache Nutch i templateima koji su izrađeni za svaku interesnu stranicu
(TripAdvisore i slične). Streaming se odnosi u slučaju Poslovne Inteligencije na društvene
mreže, dakle dohvaćanje podataka s Facebooka, Twittera te Pinteresta. Hadoop, Hbase te
ostale Big Data tehnologije tj. Hadoop ekosustav predstavljaju drugu točku arhitekture.
Iako se Big Data tehnologija upleće u cjelokupnu arhitekturu u ovoj točki predstavlja ključ
uspjeha za daljnji tijek analize.
Treća točka je semantička analiza podataka koji se nalaze u Hadoopu, zahvaljujući
modelima izrađenim u KNIME-u. Osim KNIME-a testirali su se statistički jezik R, programski
jezik Python, te zadnja inovacija H20. Svaki od ovih ima svoje prednosti te mane. Za
potrebe ovog rada je izabran KNIME, jer predstavlja zasad finalno rješenje Poslovne
Inteligencije te zbog toga što je grafički alat koji je pogodan za prikaz svih koraka
semantičke analize.
Sljedeći je korak agregacija bilo po rewievima ili streamovima, što zapravo ovisi o izboru
korisnika na samom početku tj. u prvoj točki arhitekture. Te na kraju dolazi prezentacijski
sloj, koji sadrži paletu grafičkih prikaza semantičke analize izrađene nad dohvaćenim
podacima u prethodnim koracima. Za sada je izrađen portal na koji korisnik pristupa
svojim login podacima te ima pristup prezentacijskom sloju gdje mu se pružaju
mogućnosti izbora crawlinga različitih stranica i streaminga (društvenih mreža).
34
Detailed Technical Specifications FAIR – ( INTERNO )
57
PI Big Data - Arhitektura
Internet
Facebook
Twitter
1
Streaming
Crawling
6
Smartphone Portal
Filtering
2
3
Hadoop
Sentiment
Analysis
4
Aggregation
5
Presentation
layer
Slika 20. Logička arhitektura PANDORE
5.1.1. Kreiranje projekta u PANDORI
Ovdje se govori o kreiranju projekta od strane korisnika i odvija se u tri koraka 35:
Imenovanje projekta, dodavanje sadržaja i revidiranje te izrada projekta.
Sadržaj podrazumijeva podatke koji će se crawlati ili streamati. Sadržaj dohvaćenih
stranica (crawling) se sastoji od XML dokumenata s Xpath ekpresijama podataka (služe za
navigaciju kroz elemente i atribute dohvaćenih XML dokumenata) koji će se ekstraktirati iz
webstranica, sadrži naziv sadržaja te dostupnost (javna ili privatna). Sadržaj streamanih
dokumenata se sastoji od ključnih riječi te korisničkih imena za određeno streamanje.
Slika 21. Prvi korak izrade projekta
35
Description of Pandora demo application – basic functionality and scenarios ( INTERNO )
58
Gornja slika je važna, jer je svaki sadržaj vezan uz određeni proizvod (kozmetika, hoteli ...).
Ovo se radi zbog toga što se za svaku opciju primjenjuje drugi semantički model. Također,
svi proizvodi imaju različite atribute prilikom mapiranja (hoteli imaju gradove i države, dok
uređaji imaju naziv brenda i veličinu ekrana).
Mapiranje (mapping) je bitno jer se zapravo radi o strukturi metapodataka koja govori
aplikaciji kako da ekstraktira podatke s određenih web stranica. Proizvod sadrži već
izrađene template (predloške) koji su napravljeni od strane administratora te su označeni
kao javni. Ako korisnik želi kreirati vlastite predloške to se obavlja u nekoliko koraka: odabir
URL-a, odabir elemenata web stranica te se označavaju kao atributi (Naziv hotela, grad ...),
odabir sličnih linkova za druge proizvode (ubrzavaju proces), odabir dostupnosti (javno ili
privatno) te imenovanje mapiranja.
Slika 22. Mapiranje hotela
59
5.1.2. Prikupljanje podataka i vizualizacije podataka
Prikupljanje se odvija ukoliko su prethodni koraci odrađeni te se može obaviti ad hoc.
Također se pruža opcija izrade rasporeda obavljanja dohvata podataka (dnevno, tjedno,
mjesečno). U slučaju ad hoc prikupljanja, Pandora (aplikacija) dohvaća informacije o
sadržaju (mapiranje u slučaju web stranica, a ključne riječi i parametre u slučaju
streaminga) te započinje proces crawlinga ili streaminga ovisno o izboru korisnika.
Slika 23. Primjer dnevnog i tjednog dohvata podataka
Nakon dohvata podataka, ekstrakcije korisnih podataka i analize, zadnji korak je
vizualizacija rezultata analize. Struktura te procesi potrebni kako bi došli do tih
jednostavnih vizualizacija je veoma kompleksna. Trenutno aplikacija podržava nekoliko
načina vizualizacije podataka, no prikazat će se samo način vizualizacije koji se trenutno
nalaze u produkciji. Ovo možete vidjeti na slici ispod. Ovdje se radi o vizualizaciji tvitova
(dakle streaming podataka) za proizvode kategorizirane pod „kozmetika“. Konkretno, za
potrebe ovog rada prikazana je usporedba brandova Maybelline i Nivea (ključne riječi) na
testnim podacima koji su dohvaćeni 06. veljače 2014. godine zahvaljujući Twitter API.
Na temelju grafa se vidi da su pozitivni tvitovi prevladavajući kod oba branda, no nivea
ima nešto veći broj negativnih tvitova. Bitno je također naglasiti da je ovo analiza rađena
zahvaljujući semantičkom modelu koji je baziran na rječniku. Naravno, radi se o rječniku
koji je izrađen posebno za kozmetičke proizvode, jednako kao što i ostali proizvodi imaju
svoj rječnik. Ovo se radi kako bi se što bolje obuhvatio kontekst te specifičnosti pojedinog
proizvoda. Dolje možete vidjeti i primjere tvitova koji se prikazuju odmah ispod grafa, a
glavna vijest taj dan je bilo novo zaštitno lice branda Maybelline. Također, na grafu se
60
mogu vidjeti i prosječne vrijednosti (izračunava se prosječna ocjena na temelju broja
pozitivnih, negativnih i neutralnih tvitova.)
Slika 24. Izgled vizualizacije za Twitter - usporedba Maybelline i Nivea
5.1.3. Budućnost projekta
Sve ovo što se opisivalo se odnosi na tzv. batch obradu, no tvrtka Poslovna Inteligencija je
odlučila u 2. verziju ubaciti „speed layer“ tj. STORM koji je već spomenut u prethodnim
dijelovima teksta. Dakle, testno je implementiran STORM, besplatan i open source sustav
koji omogućava distribuiranu i „realtime“ (uživo) analizu. Ukoliko ova poslovna organizacija
uspije integrirati Storm u 2. verziju PANDORE, doći će do porasta vrijednosti njihovih
informacija, jer što je informacija starija to joj vrijednost pada. U ovom slučaju korisnik će
imati mogućnost uživo pročitati mišljenje svojih kupaca što se može iskoristiti u daljnjem
poslovanju.
Dosadašnje analize su bile uskraćene za ovaj tip informacija, a pomoću ovakve analize
korisnici će moći vidjeti veoma kvalitetne informacije o svojim proizvodima, mišljenja ljudi
te pravodobno reagirati. Sama vrijednost ovakvih informacija za svrhe poslovanja je jasna,
61
no sljedeći koraci su podizanje kvalitete semantičkih modela. Ovdje se prije svega misli na
izradu optimalnog rječnika, koji može prepoznati polaritet (pozitivno, negativno ili
neutralno) tekstualnog dokumenta proizašlog s neke web stranice ili društvenih mreža. S
druge strane također, pronalazak optimalnog algoritma (strojno učenje), koje neće dovesti
do overfittinga ili čak underfittinga (iako je ovo rjeđe).
5.2. Model za semantičku analizu
U ovom dijelu će se prikazati glavni semantički model poslovne organizacije Poslovna
Inteligencija, koji je baziran na analizi pomoću rječnika. Osim glavnog modela, prikazat će
se i usporedba sa modelom baziranom na strojnom učenju. Kao što je ranije bilo
spomenuto, model je izrađen u KNIME-u. KNIME se pokazao kao veoma dobar izbor za
analizu teksta zbog svojih funkcionalnosti koji čine ovakav oblik analize jednostavnijim.
KNIME Labs je ekstenzija napravljena kao odgovor na potrebe nešto naprednijih korisnika
KNIME-a. Tako u sklopu KNIME Labsa se nalaze neki Ensemble algoritmi (stabla),
funkcionalnosti za analizu društvenih mreža, funkcionalnosti vizualizacija podataka na
kartama (Open street map), optimizacijske funkcionalnosti, paralelna obrada, integracija sa
Pythonom i R-om te funkcionalnosti potrebne za tekstualnu obradu pod nazivom „Text
processing“.
KNIME Textprocessing mogućnost pruža učitavanje, obradu, rudarenje i vizualizaciju
tekstualnih podataka na veoma jednostavan način. Pružaju se funkcionalnosti iz područja:

Obrada prirodnog jezika (NLP- Natural Language Processing)

Rudarenja teksta

Pretraživanja/dohvat informacija (information retrieval)
62
Obrada teksta i analiza se odvijaju u KNIME-u u 6 koraka (dotakli smo ih se već u
prethodnim poglavljima):
I.
IO – učitavanje i parsiranje podataka
II.
Enrichment (obogaćivanje) – podrazumijeva označavanje riječi iz rječnika
(Dictionary tagger), označavanje imenica, glagola, pridjeva u dokumentima (POS
tagger – ne uključuje hrvatski)
III.
Preprocessing – filtracija i manipulacija (uklanjanje točki, zareza, riječi manjih od X
slova, stemming, ili čak filtracija po POS tagu – npr. filtracija samo glagola i
pridjeva)
IV.
Frequencies – ekstrakcija ključnih riječi, izračunavanje TF-a, IDF-a
V.
Transformation – BoW (Bag of Words), izrada vektora
VI.
Visualization – tag cloud/word cloud (prikaz oblaka s riječima te ih je moguće
obojati po polaritetu)
5.2.1. Semantički model pomoću rječnika
Slika 25. Glavni model u KNIME-u
U ovom dijelu rada će se predstaviti konkretan modelu u KNIME-u. Pratit će se po
koracima koji su navedeni ranije, kako bi što jasnije dobili dojam što to model točno radi.
Prije svega bitno je uočiti na donjoj slici da Poslovna Inteligencija ne koristi parsere koji su
uključeni u KNIME-u (IO faza) već je izrađen (in-house) početni „node“ koji učitava
podatke iz HBase-a. Taj početni „node“, uključujući rječnike za svaki proizvod posebno36,
je jedina razlika između analize podaka s TripAdvisora, Twittera ili Facebook-a. O
36
Bruno Ohana & Brendan Tierney (2009) : Sentiment Classification of Reviews Using SentiWordNet, Ireland,
Dublin Institute of Technology, 9th. IT & T Conference
63
rječnicima će se nešto detaljnije u narednom dijelu rada, a sada će se prikazati kako se
dohvaćaju podaci iz Hbase-a.
Slika 26. HBase Twitter Reader
Kao što se može vidjeti iz slike, potrebno je unijeti nekoliko parametara, koji su veoma
intuitivni. Za početak se bira koliko se tvitova želi analizirati (Max rows to retrieve). Zove se
maksimalno redaka, jer je moguće povući i manje od željenog broja ukoliko u HBase
nema željena brojka tvitova (npr. želimo 100 000, a zapravo ih u HBasu imamo 80 000 ). S
obzirom da se analizirani podaci ponovno upisuju u HBase postoji parametar (kućicaretrieve only nonevaluated rows) koji nam pomaže da povućemo samo one tvitove koje
dosada nismo ocijenili. Sljedeće je mogućnost povlačenja samo engleskih tvitova što
obično uvijek stoji označeno, jer se koraci u obradi teksta odnose samo na engleski jezik.
Pored naziva tablice, Zookeeper IP-a i Porta, možda najbitniji parametar je keywords filter.
U našem primjeru je stavljena ključna riječ hotels, no to može biti bilo koja druga riječ ili
riječi (npr. iPhone, Nokia). Ključna riječ može biti bilo koja riječ koja se pojavljuje u tvitu.
Nakon što se unesu svi ključni parametri prelazi se na korak kreiranja Dokumenata
(poseban oblik tekstualnog podatka (string) koji sadrži neke dodatne atribute). Dodatni
atributi mogu biti: naslov, autor, izvor, kategorija (koristi se najčešće za označavanja
polariteta tvita u nekim drugim analizama, a ovdje se njime označava ključna riječ), datum.
64
Slika 27. Pretvorba String - Document
Ovi atributi su skriveni kad se gleda output, no moguće ih je u kasnijim fazama
ekstraktirati, što će se i prikazati u daljnjem tekstu. Također, eliminirani su sve eventualne
prazne vrijednosti u koraku prije. Prije nego što se krene u obogaćivanje teksta (II. faza),
izbačeni su svi stupci tj. atributi koji nam ne trebaju.
Zatim se dolazi do prvog metanoda pod nazivom „Tagging“ i to je zapravo faza
obogaćivanja u kojem se označavaju riječi koje su pozitivne i negativne na temelju
rječnika. Na slici ispod se može vidjeti da se prvo učitava rječnik (kao što je napomenuto,
različit je za sve proizvode). Nakon učitavanja dolazi do grananja na dvije strane. Jedna
strana sadrži samo pozitivne riječi, a druga samo negativne riječi. Zatim slijedi node koji
ostavlja samo stupac s riječima, a sve drugo se eliminira (u ovom slučaju eliminira se
stupca koji sadrži polaritet). Nakon toga spajaju se tvitovi prvo s pozitivni riječima, a zatim
s negativnim riječima i svaka riječ koja se nalazi u rječniku i u tvitu dobiva oznaku ovisno o
tome koju je oznaku imala u rječniku (pozitivno ili negativno). Pozitivne riječi dobivaju
oznaku PERSON, a negativne riječi oznaku TIME. Nazivi ovih oznaka mogu biti i drukčiji,
no ovdje su izabrani ovi.
65
Slika 28. Označavanje riječi na temelju rječnika
Nakon faze obogaćivanja slijedi faza transformacije, a u ovom slučaju se radi samo o nodu
BoW (Bag of Words), koji rastavlja tvitove na riječi te se tako točno zna koje se riječi nalaze
u kojim tvitovima.
Tablica 5. Primjer autora
Riječ
Tvit
Very
Very beautiful hotel !!!
beautiful
Very beautiful hotel !!!
hotel
Very beautiful hotel !!!
!!!
Very beautiful hotel !!!
I
I hate this 
hate
I hate this 
this
I hate this 

I hate this 
Ovo je veoma jednostavan pristup no pokazao se veoma dobrim prilikom analize
mišljenja, a kod strojnog učenja se i algoritam Naive Bayes koji je također jednostavan
pokazao dobrim, što još jednom potvrđuje da je u ovim slučajevima bolje ciljati
jednostavnost bez nepotrebne komplikacije.
66
Slika 29. Faza obrade teksta
BoW nam služi kao početni korak za fazu obrade teksta (preprocessing). Kao što se može
vidjeti iz gornje tablice mogu se pojaviti točke, zarezi, smajlići, brojevi kao riječi i u fazi
obrade teksta uklanjamo sve te znaove, riječi za koje se ne želi da se pojave u daljnoj
analizi. Dosta radova je napisano na temu analize mišljenja koja koristi smajliće 37, no u
ovoj metodologiji se oni brišu prilikom uklanjanja točki, zareza (punctuation erasure).
Također, brišu se brojevi, sve riječi koje sadrže manje od 3 slova (N Chars filter), zatim se
sve riječi konvertiraju u mala slova kako bi se uklonile riječi koje imaju isto značenje, ali ih
računalo nije prepoznalo zbog razlike u ispisivanju riječi (Hotel i hotel – isto značenje, ali ih
BoW tretira kao dvije riječi).
Slijedeće je filter pod nazivom Stop word Filter. Njegova svrha je da eliminira one riječi
koje su veoma česte u engleskom jeziku i ne doprinose prilikom tekstualne analize.
Njihovom eliminacijom ubrzavamo proces analize, jer se ne gubi vrijeme na njih prilikom
analize.
37
Efthymios Kouloumpis, TheresaWilson & Johanna Moore (2011) :Twitter Sentiment Analysis: The Good the
Bad and the OMG!, ICWSM, The AAAI Press
67
Tablica 6. Lista čestih riječi - Stop word Filter
and
of
below
about
but
at
to
against
if
by
from
between
or
through
up
out
because
during
down
on
as
before
in
off
until
after
for
over
while
above
with
under
into
again
Nakon eliminacije najčešćih riječi model se ponovno grana na dvije grane: jedna koja radi
stemming, a druga koja pronalazi tzv. intensifiers and downtoners. Za stemming se koristi
Porterov Stemmer. Stemmeri svode riječi na njihov korijen te se time smanjuje broj riječi.
Ovo znači pretvorbu kao u ovom primjeru:
Tablica 7. Primjer Porterovog stemminga
Optional -> option
Practical -> practic
Recruter –> recrut
Resources -> resourc
Hotels -> hotel
Druga grana traži riječi koje dovode do porasta ili pada važnosti nekih riječi. Dakle,
pomoću lag Column traži se riječ (riječ s popisa intensifiera ili downtonera) koja prethodi
nekoj riječi (npr. very prethodi good) te se u slučaju pojave ovih riječi (u ovom primjeru je
riječ o intensifieru) pomoću rule enginea povećava/smanjuje ocjena pod nazivom
ChangePolarity. Inače sve riječi imaju ovu ocjenu 1, ali one riječi kojima prethode
intensifier ili downtoner riječi, dobiju promjenu te ocjene ovisno o kojem tipu riječi se radi
(itensifier ili downtoner). Ovaj način nije bez mana, ali pomaže da se pronađu neke
najočitije kombinacije poput: excellent hotel, not good.
68
Primjer promjene ocjene ChangePolarity na temelju modela Poslovne Inteligencije:
Tablica 8. Lista riječi koje mijenjaju polaritet
Riječ
Promjena
not
-1
very
2
never
-1
bad
-2
best
2
Zadnji node u fazi obrade teksta je Joiner koji spaja ove dvije grane po row ID-u (inner
join). Sljedeća faza što nam dolazi je faza izračunavanja frekvencija. Ovo je ključna faza u
analizi mišljenja i ovom prikazanom semantičkom modelu.
Slika 30. Izračunavanje frekvencija
Prvi korak je svim riječima izračunati TF (term frequencies), zatim IDF (Inverse Document
frequencies). Nakon toga se svim riječima izvlači tag u zaseban stupac. Tako, pozitivne
riječi (s tagom PERSON) u tom stupcu (pod nazivom attitude) imaju vrijednost 1, negativne
riječi (tag TIME) -1, a sve riječi kojima nije pronađen tag imaju vrijednost 0. Zadnja karika u
ovom lancu je izrada formule za izračun tzv.
69
SentimentScorea koja glasi :
𝑆𝑒𝑛𝑡𝑖𝑚𝑒𝑛𝑡𝑆𝑐𝑜𝑟𝑒 = 𝑎𝑡𝑡𝑖𝑡𝑢𝑑𝑒 ∙ 𝐶ℎ𝑎𝑛𝑔𝑒𝑃𝑜𝑙𝑎𝑟𝑖𝑡𝑦 ∙ ( 𝑇𝐹 ∙ 𝐼𝐷𝐹)
Ovaj SentimentScore je ono što određuje polaritet našeg tvita. No, prije nego što vidimo
sam kraj modela, prije toga je nužno objasniti kako točno izgleda izračunavanje TF i IDF
na ovom primjeru.
Izračunavanje TF · IDF će se prikazati u tri koraka:
I.
KORAK
TF =
Broj pojavljivanje određene riječi u određenom tvitu
Broj riječi u tom određenom tvitu
TF (riječ → Beautiful) =
II.
1
= 0.125 ili 12.5 %
8
KORAK
Ukupan broj tvitova
IDF = log (
)
Ukupan broj tvitova s određenom riječi
50 000
IDF (riječ → beautiful) = log (
)=2
500
III.
KORAK
U zadnjem koraku izračunavamo umnožak TF i IDF i ta vrijednost nam služi dalje za
izračunavanje SentimentScorea kao što je navedeno ranije u tekstu.
Bitno je primijetiti da što broj spominjanja riječi beautiful u određenim tvitovima pada, tf x
idf raste. Riječ hotel neće pomoći iako se puno puta pojavljuje, no neka druga rijetka riječ
vezana uz određenu oznaku (pozitivna ili negativna) pomaže prilikom određivanja
SentimentScorea. Nama za potrebe analize trebaju one riječi koje su važne za određivanje
sentimenta i zato nam tf x idf itekako pomaže. Ako uzmete isti primjer i riječ „Beautiful“ te
samo promijenite u IDF-u da se ta riječ pojavljuje u 200 tvitova, dobit ćete sljedeće
rezultate:
70
Tablica 9. Usporedba 2 različita scenarija za riječ "Beautiful"
Ukupan broj tvitova s riječi „Beautiful“ = 500
Ukupan broj tvitova s riječi „Beautiful“ = 200
TF = 0.125
TF = 0.125
IDF = 2
IDF = 2.39794
TF · IDF = 0.25
TF · IDF = 0.2997425 ≈ 0.3
Ovo je primjer kada se računa TF · IDF za jedan tvit. Riječ „Beautiful“ u svakom tvitu može
imati različiti TF, jer se izračunava na razini tog tvita, dok mu je IDF predodređen od strane
cijelog korpusa nad kojim se vrši analiza mišljenja. Ako se učita 100 000 tvitova u KNIME
onda to čini corpus tvitova, a u slučaju da se učita 500 000 onda je to corpus.
Za kraj modela ostaje izvlačenje ključnih riječi za svaki tvit, grupiranje označavanje
polariteta te dodjeljivanje boja svakom tvitu na temelju polariteta i time ovaj semantički
model završava svoju analizu. Kao što je ranije spomenuto, tvitovi su zapravo u obliku
dokumenta što je odmah na početku prebačeno/transformirano. Taj dokument sadrži
neke atribute koji su mu u tom početnom koraku dodani te u se ovom koraku konkretno
izvlači atribut kategorija tj. u našem slučaju je to ključna riječ. Prilikom učitavanja tvitova
mogu se učitati tvitove na temelju više ključnih riječi te je zato ovaj korak veoma bitan
kako bi razlikovali koji tvit pripada kojoj ključnoj riječi.
Prilikom grupiranja tvitova ostavlja se samo stupac sa tvitom (originalni dokument s
početka), stupac koji sadrži ključnu riječ te treći stupac u kojem se nalazi SentimentScore i
to središnja vrijednost za svaki pojedini tvit.
Tablica 10. Prikaz semantičke analize za ključnu riječ "hotels"
Tvit
Ključna
SentimentScore
riječ
(artimetička sredina)
„Hotels with free breakfast makes me happy“
Hotels
2.661
„These Sochi hotels are outrageously disappointing“
Hotels
-3.549
71
Za kraj ostaje Numeric Binner koji svim vrijednostima (za SentimentScore) koje su manje
od 0 dodjeljuje naziv „Negative“, onima koje su veće od 0 „Positive“, a vrijednostima čija je
vrijednost jednaka 0 Neutral. U zadnjem koraku na temelju tih oznaka Positive, Negative i
Neutral u novokreiranom stupcu Sentiment se svakom od njih dodjeljuje boja radi lakšeg
raspoznavanja.
Ovdje završava dio semantičke analize pomoću rječnika. U sljedećem potpoglavlju će se
prikazati semantički model koji koristi strojno učenje za potrebe analize.
5.2.2. Semantički model strojnog učenja
Slika 31. Model strojnog učenja
Nakon odrađenog semantičkog modela pomoću rječnika dolazi model pomoću
algoritama za strojno učenje. Većina koraka je dosta slična no oni koraci koji nisu čine
glavnu razliku i predstavljaju nešto drukčiju logiku, u odnosu na prethodni model, koja je
veoma bitna da se cijelom problemu analize mišljenja pristupi kao problemu klasifikacije.
Početni korak je učitavanje tvitova ( ili mišljenja s TripAdvisora) koji su već unaprijed
klasificirani kao pozitivni ili negativni. U ovom slučaju se na gornjoj strani nalazi excel file u
kojem se u prvom stupcu nalaze tvitovi, a u drugom polaritet (pozitivno), a na drugoj
grani se nalazi isto osim što je u stupcu polaritet vrijednost „negativan“. Ovi podaci mogu
biti učitani i iz csv ili pomoću file readera no u ovom slučaju se radi o Excelu. Nakon toga
slijedi pretvorba u Documente te spajanje dvije grane pomoću Concatenate. Nakon što su
spojeni slijedi faza prerocessinga koja je identična prethodnom modelu. Dakle, nodovi idu
72
ovim redosljedom : BoW creator, Punctuation Erasure, N Chars Filter, Number Filter, Case
converter, Stop Word Filter, Porter Stemmer i Term Grouper.
Nakon toga slijedi izračunavanje frekvencija pomoću Keygraph keyword extractora. Zatim,
slijedi ključni dio koji kreira Document vector koji je temelj za primjenu daljnjih algoritama
strojnog učenja. Document vector gradi matricu gdje imamo vrijednosti 0 ili 1. Nula se
javlja ako se riječ u tom stupcu ne pojavljuje u dokumentu (koji se nalazi u redku), a jedan
u slučaju da se pojavljuje. Na temelju toga se kasnije lakše koristite algoritmi za učenje.
Node category to class izvlači kategoriju koja je sakrivena odmah na početku modela
unutar dokumenta, prilikom kreiranja. Kategorija je zapravo samo oznaka – pozitivno ili
negativno ovisno koji je dokument. U filteru stupaca miče se samo taj dokument da ne
smeta u daljnjoj analizi te se nakon toga može krenuti na algoritme strojnog učenja.
Slika 32. Strojno učenje – algoritam Naive Bayes
Prva grana dijeli data set na dva dijela – train i test, gdje 70% originalnog data seta postaje
train, a 30% postaje test set. Ova podjela nije vršena slučjnim odabirom već prema
polaritetu, tako da u svakom setu (train i test) bude zastupljen jednak broj i pozitivnih i
negativnih. Nakon toga se primjenjuje algoritam Naive Bayes nad train setu, te se naučeno
primjenjuje pomoću predictora na test setu. Scorer služi da se vidi koliko puta je došlo do
pogreške u klasifikaciji pa se tako dobije informacija u kojem je smjeru potrebno ići da se
unaprijedi model.
73
Ono što se također koristilo, ali u ovom radu se neće puno govoriti je cross-validation (10
fold). Radi se o nešto drukčijem načinu testiranja kvalitete klasifikacije. Radi
pojednostavljivanja uzet će se cross-validation s 4 folda. Dakle, originalni set se dijeli na 4
dijela ili folda. Jedan fold se odredi da služi za testing, a ostala 3 za training te se dalje radi
sve kao što je rađeno i u prvoj grani, no razlika je ta što svaki fold dobiva priliku da bude
testing fold. Dakle, nakon što algoritam nauči na 2., 3. i 4. foldu, rezultate testira na 1.
foldu, kada završi s tim krugom, 2.fold postaje testing, a 1., 3. i 4. foldovi postaju train
foldovi i algoritam (Naive Bayes) ponovno uči, te tako sve dok svaki fold ne dobije priliku
biti testni. Nakon toga se može vidjeti prosječna greška za 4 folda, tj. za svaki fold (testni)
se računa greška te se na kraju zna kolika je bila greška u svakom od njih.
U literaturi se osim Naive Bayesa veoma često spominje i Max Entropy38, no za potrebe
ovog rada je odabran Naive Bayes.
5.3 Rezultati istraživanja
Za kraj dolazi potvrda ili odbijanje početne hipoteze koje je postavljena na samom
početku, ali i kroz cijeli ovaj rad se pokušavaju prikazati različiti aspekti ovakvog tipa
analize kako bi se uvidio njihov utjecaj na hipoteze. Prije svega potrebno je vidjeti kako se
cijeli rad odražava na postavljene podhipoteze:
Ho: Podaci dobiveni semantičkom analizom nestrukturiranih podataka poduprtom Big
Data tehnologijom su kvalitetni
H1: Podaci dobiveni semantičkom analizom nestrukturiranih podataka poduprtom Big
Data tehnologijom nisu kvalitetni
Ova kvaliteta podataka dobivenih semantičkom analizom nestrukturiranih podataka
poduprtom Big Data tehnologijom će se utvrditi :

vremenom koje je potrebno od početka analize do kreiranja outputa na temelju
analize,

38
količinom resursa koji su potrebni za ovaj vid analize
Jacob Perkins (2010) : Python Text Processing with NLTK 2.0 Cookbook, UK, Packt Publishing
74

pomoću točnosti modela.
PANDORA je već dokazala da je moguće napraviti sustav koji pruža korisniku semantičku
analizu područja koje ga zanima u nekoliko klikova, dakle veoma brzo i jednostavno. U
daljnjim koracima ukoliko dođe do integracije Storma i Lambda arhitekture ovo će još više
doći do izražaja iako su i dosada postignuti rezultati dobri.
S korisničke strane (krajnji korisnik) radi se o plaćanju usluge te korisnik ne treba razmišljati
o resursima. S druge strane Poslovna Inteligencija zahvaljujući Big Data tehnologiji ima
veoma skalabilno rješenje te infrastrukturu koja joj pruža da izvodi ovakve tipove analize.
Takva infrastruktura zna biti skupa, ali ukoliko se uzme eventualna dobit proizašla od
jednog takvog sustava tj. infrastrukture onda je ekonomija na strani Big Data.
Točnosti modela variraju od odabira metode (rječnik ili strojno učenje), odabira načina
obrade teksta (filteri, stemmeri), odabira frekvencija (TF ili TF-IDF ili Keygraph keyword
extractor). U slučaju Poslovne Inteligencije radi se uglavnom od 75% točnosti modela
prema naviše. Ovisno o problemu koji se želi analizirati, odabiru se odgovarajuće metode
te načini optimizacije modela.
Na kraju se može utvrditi da su dobivene vrijedne informacije i za potrebe ove hipoteze
kvalitetne i što se tiče vremena, resursa te njihove točnosti te se s toga može potvrditi
hipoteza (H0) da su podaci dobiveni semantičkom analizom nestrukturiranih podataka
poduprtom Big Data tehnologijom kvalitetni.
Nakon potvrđivanje ove podhipoteze dolazi na red potvrditi ili odbaciti hipotezu koja glasi:
Ho: Semantička analiza nestrukturiranih podataka poduprta Big Data tehnologijom je
iskoristiva za potrebe poslovnog odlučivanja
H1: Semantička analiza nestrukturiranih podataka poduprta Big Data tehnologijom nije
iskoristiva za potrebe poslovnog odlučivanja
Kao što se moglo vidjeti i tokom rade te potvrđivanjem podhipoteze da su dobiveni
podaci kvalitetni, možemo razaznati da se i ovdje radi o potvrđivanju hipoteze da je
75
semantička analiza nestrukturiranih podataka poduprta Big Data tehnologijom iskoristiva
za potrebe poslovnog odlučivanja. Razloga za ovo ima više.
Prije svega da se na samom početku postavilo pitanje da li su vam zanimljive informacije
koje vam reprezentiraju mišljenje kupaca, klijenata većina bi odgovorila potvrdno.
Gledajući s ekonomskog aspekta ovakve informacije su korisne za poslovođe, upravitelje
te mogu dovesti do konkurentske prednosti ukoliko se iskoriste na pravi način. Ako pri
tome još imamo jednostavan i brz proces nabavke takvih informacija time je njihova
vrijednost još veća. Ukoliko još i mogućnost pregleda takvih tipova informacija bude
moguća uživo (real-time) njena ekonomska vrijednost raste. Sve ovo pruža kvalitetan uvid
u mišljenje naših kupaca te pruža pravovremeno reagiranje na eksterne signale o
proizvodu ili usluzi.
Semantička analize je primamljiva s ekonomske strane, jer pruža informacije koje su do
sada uglavnom bile dostupne velikim organizacijama. Pojavom Big Data tehnologije,
oblaka (cloud tehnologije) došlo je do mogućnosti da krajnji korisnik dobije uvid u
informacije tako da jednostavno plati tu uslugu koja je personalizirana za njegove potrebe
te da mu pruža slobodu kreiranja i postavljanja pitanja koja ga zanimaju.
Ovakve informacije su sigurno ekonomski iskoristive i pružaju konkurentsku prednost, no
pojavom sve više i više ovakvih usluga bitno je pronaći ono što će diferencirati jednu
organizaciju od ostalih. Budućnost semantičke analize je ulazak u sferu odlučivanja, a nove
tehnologije to i potvrđuju.
76
Na kraju ovog diplomskog rada napravit će se rezime istraživačkog dijela. U istraživačkom
dijelu se prezentirao PANDORA projekt koji je interni projekt tvrtke Poslovna Inteligencija
iz Zagreba, a korišten je kao Case Study ili studija slučaja za temu ovog diplomskog rada.
Kao rezultate ovog istraživanja predstavljeni su konkretni modeli u KNIME-u te je i s tim
razlogom terminologija vezana uz semantičku analizu bila pisana tako da se lakše prate
modeli u KNIME-u. Od model predstavljeni su model semantičke analize pomoću rječnika
te model semantičke analize pomoću strojnog učenja. Oba modela su se pokazali
dobrima, a svaki ima svoj dio doprinosa u ovom radu. Model strojnog učenja se pokazao
manje pristranim u odnosu na model s rječnikom. Naime, prilikom izrade rječnika „ručna“
ljudska klasifikacije se vrši na razini riječi, dok se kod strojnog učenja vrši na razini rečenice
te s toga i dolazi do manje pogreške tj. do boljeg kasnijeg infereciranja i generalizacije.
No, koji je god model odabran krajnji rezultat su kvalitetni podaci tj. klasifikacijski output
(pozitivno ili negativno). Ovi podaci kao što je i objašnjeno mogu dovesti do povećanja
konkurentske prednosti jedne poslovne organizacije, praćenja trendova, signala iz okoline
te pravodobno reagiranje na njih.
Ove hipoteze i podhipoteze su potvrđene i od strane korisnika samog sustava. Radilo se o
korisnicima iz Hrvatske i ostalih zemalja Europske Unije (Engleska, Švedska) koji su testirali
sustav u fazi testiranje, te prilikom objavljivanja prve javne verzije PANDORE:
Neki od sljedećih koraka koji bi bili zanimljivi su definitivno integracija STORM-a u cijelu
arhitekturu o čemu je bilo govora u ovom radu čime bi se dobio uvid u real-time podatke
čime bi vrijednost podataka tj. ekonomska iskoristivost narasla. Osim toga bilo bi dobro
vidjeti usporedbe između različitih algoritama strojnog učenja ili između različitih pristupa
(rječnik, strojno učenje) ili pokušaj implementiranja nekih od drugih pristupa koji nisu
prezentirani u ovom radu, a o čemu se piše u akademskoj zajednici već duže vremena.
77
Zaključak
Semantička analiza, analiza mišljenja, rudarenje teksta, NLP te ostali povezani pojmovi u
ovom radu nisu objašnjavani zasebno te se više posvetilo njihovoj sinergiji u rješavanju
određenog konkretnog problema (analiza mišljenja s web stranica i društvenih mreža).
Ovo nisu novi pojmovi već postoje odavno, no u prošlosti je bilo teže raditi zanimljive
analize koje je danas moguće zahvaljujući napretku tehnologije. Primjer tome
je
definitivno IBM-ovo računalo Watson i njegov nastup na popularnoj američkoj televiziji,
gdje je zahvaljujući upravo navedenim pojmovima te napretku tehnologije ostvario
impresivne rezultate.
Danas, zahvaljujući Big Data tehnologijama, i ostale tvrtke osim IBM-a te ostalih mogu
raditi zanimljive analize, koje su do sada bile uglavnom rezervirane samo za velike tvrtke.
Te informacije ukoliko se na pravi način iskoriste u poslovanju mogu dovesti do stvaranja
dodatne vrijednost te jačanja konkurentske prednosti. Ono što se u budućnosti očekuje je
sve veća popularizacija ovakvih metoda te uz podršku nove tehnologije možemo očekivati
sve veće korištenje nestrukturiranih podataka u poslovanju, ali i u donošenju
općedruštvenih odluka. Ovo područje predstavlja veoma zanimljiv dio znanosti koji tek
treba otkriti sve svoje potencijale u budućnosti.
U ovom radu su se prezentirale Big Data tehnologije, pojmovi i problemi semantičke
analize, sinergija ova dva pojma – Big Data i semantička analize te se uz praktičnu studiju
slučaja nastojala dokazati ili opovrgnuti postavljena hipoteza na početku ovog rada.
Prikazane su neke od najčešćih tehnologija Big Data okruženja te prakse semantičke
analize. Usporedile su se dvije grane semantičke analize, ona pomoću rječnik i ona
pomoću strojnog učenja. Zahvaljujući projektu PANDORA teorijski dijelovi ovog rada su
dobili i svoju reprezentaciju kroz modele u KNIME-u te pomoću web aplikacije izrađene za
78
potrebe projekta PANDORA. Na kraju za najoptimalnije rješenje za ovakav tip podataka
pokazala se analiza mišljenja pomoću strojnog učenja.
Nakon što su prikazane razne varijante analize nestrukturiranih podataka te kako je to
rješeno pomoću projekta PANDORA utvrdila se kvaliteta dobivenih podataka tj. činjenica
da je moguće da se dobiju kvalitetni podaci i informacije na ovaj način. Ovime je
potvrđena podhipoteza o kvaliteti podataka te uslijed toga se moglo i krenuti u
potvrđivanje hipoteze o ekonomskoj iskoristivosti ovih podataka. Poslovne organizacije su
uglavnom orjentirane na tehnološku izvedivost s tim da se ne obraća pažnja na
ekonomsku stranu ovakvih inforamcija i na njihovu potencijalnu vrijednost. Ono što se
može primijetiti da sve više dolazi do iskorištavanja onih podataka koji do sada nisu bili
analizirani, a mogu pomoći razumijevanju kupaca.
Ono što sigurno ostaje poslovnim organizacijama na radu je činjenica da iako je moguće
dobiti kvalitetnu informaciju koja je ekonomski iskoristiva, tu informaciju i dalje treba
pretvoriti u znanje te kao vrhunac u mudrost. Ovo ne smije biti završni korak već nešto što
će postati integrirano u kulturu jedne poslovne organizacije, a sve u cilju dostizanja tržišne
mudrosti. Prema tom putu će im prije svega trebati kontrola troškova koji znaju biti veliki
iako se uglavnom radi o open-source projektima. Također, kvalitetni ljudi tj. tim, kao što se
moglo vidjeti i u ovom radu.
79
Literatura
Knjige
 Charu C. Aggarwal and ChengXiang Zhai (2012) : Mining Text Data, USA, Springer
 Charu C. Aggarwal (2011): Social Network Data Analytics, USA, Springer
 Haralambos Marmanis and Dimitry Babenko (2009) : Algorithms of the Intelligent Web, USA,
Manning
 Willi Richert and Luis Pedro Coelho (2013) : Building Machine Learning Systems with Python, UK,
PacktPublishing
 Jacob Perkins (2010) : Python Text Processing with NLTK 2.0 Cookbook, UK, Packt Publishing
 Michael Manoochehri (2014) : Data just right, Introduction to Large-Scale Data & Analytics, USA,
Pearson Education
 Matthew A.Russell (2014) : Mining the Social Web, Data mining Facebook, Twitter, LinkedIn,
Google+, Github, and more, USA, O'Reilly
 Steven Bird, Ewan Klein & Edward Loper (2009): Natural Language Processing with Python, USA,
O'Reilly
 Nathan Marz and James Warren (2014): Big Data - Principles and best practices of scalable realtime
data systems, USA, Manning
 Paul Zikopoulos et al. (2013) : Harness the Power of Big Data, The IBM Big Data Platform, USA,
McGrawHill
 Harlan Harris et al. (2013) : Analyzing the Analyzers, An Introspective Survey of Data Scientists and
Their Work, USA, O'Reilly
 Chris Eaton et al. (2013) : Understanding Big Data, Analytics for Enterprise Class Hadoop and
Streaming Data, USA, McGrawHill
 Ronen Feldman, and James Sanger (2007) : Text Mining Handbook: Advanced Approaches in
Analyzing Unstructured Data, UK, Cambridge University Press
 Tom White (2012): Hadoop - The Definitive Guide, USA, O'Reilly
 Srinath Perera & Thilina Gunarathne (2013) : Hadoop MapReduce Cookbook, UK, Packt Publishing
 Belak, S. (2005). Uvod u znanosti. Šibenik: Visoka škola za turistiĉki menadţment u Šibeniku
Znanstveni radovi
 Lada Banić, Ana Mihanović i Marko Brakus (2013) : Sentiment Analysis in Product Evaluation,
Hrvatska, MIPRO konferencija
 Ana Mihanović, Hrvoje Gabelica, Živko Krstić (2014) : Big Data and Sentiment Analysis: Online
Reviews vs. Social Media, Hrvatska, MIPRO konferencija
 Hrvoje Gabelica i Živko Krstić (2013) : Primjena Big Data podataka i rudarenja teksta u suvremenom
poslovanju, Hrvatska, Istraživački rad
 Alexander Pak, Patrick Paroubek (2010) : Twitter as a Corpus for Sentiment Analysis and Opinion
Mining, France, Universit´e de Paris-Sud
 Stefano Baccianella, Andrea Esuli, and Fabrizio Sebastiani (2010) : SENTIWORDNET 3.0: An
Enhanced Lexical Resource for Sentiment Analysis and Opinion Mining, Italia, Istituto di Scienza e
Tecnologie dell’Informazione Consiglio Nazionale delle Ricerche Via Giuseppe Moruzzi 1
 Efthymios Kouloumpis, TheresaWilson & Johanna Moore (2011) :Twitter Sentiment Analysis: The
Good the Bad and the OMG!, ICWSM, The AAAI Press
80
 Bruno Ohana & Brendan Tierney (2009) : Sentiment Classification of Reviews Using SentiWordNet,
Ireland, Dublin Institute of Technology, 9th. IT & T Conference
 Namrata Godbole, Manjunath Srinivasaiah & Steven Skiena (2007) : LargeScale Sentiment Analysis
for News and Blogs, USA, Proceedings of the International Conference on Weblogs and Social
Media ICWSM
Ostale reference














Description of Pandora demo application – basic functionality and scenarios ( INTERNO )
Detailed Technical Specifications FAIR – ( INTERNO )
Big Data Analytics as a Service Solution – PANDORA Flyer (objavljeno na web stranici PANDORE)
PANDORA – web stranica
Apache Foundation web stranica - http://apache.org/
comScore Media Metrix for TripAdvisor Sites (2013), Worldwide
www.statisticbrain.com
www.techspot.co.in
Wikipedia
Talend Survey Results (2012) : How big is Big Data adoptation?, USA
Philip Russom (2011) : TWDI Best Practices Report - Big Data Analytics
Philip Russom (2011) : TWDI Best Practices Report – Managing Big Data
Fern Halper (2013) : TWDI Checklist Report – How to gain insight from text
Ralph Kimball : Newly Emerging Best Practices for Big Data, White paper, Kimball Group
81
Popis slika i tablica
Slika 1. Prikaz vrste podataka................................................................................................................................................................................................. 15
Slika 2. Lambda arhitektura .................................................................................................................................................................................................... 16
Slika 3. Mapiranje riječi u rečenici ......................................................................................................................................................................................... 20
Slika 4. Reduce naše dvije rečenice ...................................................................................................................................................................................... 20
Slika 5. MapReduce & HDFS .................................................................................................................................................................................................. 21
Slika 6. PANDORA Big Data arhitektura .............................................................................................................................................................................. 26
Slika 7. TWDI istraživanje ........................................................................................................................................................................................................ 28
Slika 8. Vještine analitičara i količina podataka .................................................................................................................................................................. 29
Slika 9. Podjela semantičke analize....................................................................................................................................................................................... 33
Slika 10. Izgled tablice nakon pretvorbe HBase podataka u Document ...................................................................................................................... 36
Slika 11. Prikaz razlike između formata ............................................................................................................................................................................... 42
Slika 12. Sustav za evaluaciju mišljenja ................................................................................................................................................................................ 45
Slika 13. TripAdvisor model u KNIME-u............................................................................................................................................................................... 46
Slika 14. Primjer stvarnih mišljenja na TripAdvisoru po kategorijama .......................................................................................................................... 48
Slika 15. Model za Facebook ................................................................................................................................................................................................. 50
Slika 16. Primjer izgleda završne vizualizacije koju vidi krajnji korisnik (Maybelline vs Nivea) ................................................................................ 53
Slika 17. Druga vizualizacija podataka ................................................................................................................................................................................. 54
Slika 18. Opcije prilikom dohvaćanja podataka ................................................................................................................................................................. 54
Slika 19. Faze PANDORE ......................................................................................................................................................................................................... 56
Slika 20. Logička arhitektura PANDORE .............................................................................................................................................................................. 58
Slika 21. Prvi korak izrade projekta ....................................................................................................................................................................................... 58
Slika 22. Mapiranje hotela....................................................................................................................................................................................................... 59
Slika 23. Primjer dnevnog i tjednog dohvata podataka................................................................................................................................................... 60
Slika 24. Izgled vizualizacije za Twitter - usporedba Maybelline i Nivea ..................................................................................................................... 61
Slika 25. Glavni model u KNIME-u ........................................................................................................................................................................................ 63
Slika 26. HBase Twitter Reader .............................................................................................................................................................................................. 64
Slika 27. Pretvorba String - Document ................................................................................................................................................................................ 65
Slika 28. Označavanje riječi na temelju rječnika ................................................................................................................................................................ 66
Slika 29. Faza obrade teksta ................................................................................................................................................................................................... 67
Slika 30. Izračunavanje frekvencija ........................................................................................................................................................................................ 69
Slika 31. Model strojnog učenja ............................................................................................................................................................................................ 72
Slika 32. Strojno učenje – algoritam Naive Bayes ............................................................................................................................................................. 73
Tablica 1. Vrste društvenih mreža......................................................................................................................................................................................... 32
Tablica 2. Prikaz TripAdvisor podataka................................................................................................................................................................................ 48
Tablica 3. Prikaz tablice nakon učitavanja podataka s Facebook-a .............................................................................................................................. 49
Tablica 4. Izgled tablice nakon učitavanja podataka iz HBase Twitter Readera ......................................................................................................... 51
Tablica 5. Primjer autora ......................................................................................................................................................................................................... 66
Tablica 6. Lista čestih riječi - Stop word Filter .................................................................................................................................................................... 68
Tablica 7. Primjer Porterovog stemminga .......................................................................................................................................................................... 68
Tablica 8. Lista riječi koje mijenjaju polaritet....................................................................................................................................................................... 69
Tablica 9. Usporedba 2 različita scenarija za riječ "Beautiful" ......................................................................................................................................... 71
Tablica 10. Prikaz semantičke analize za ključnu riječ "hotels"....................................................................................................................................... 71
82
Zahvala
Za kraj ostaju zahvale. Želio bih se zahvaliti za uspješno završeno službeno školovanje :

Svojim roditeljima i bližnjima na svoj ovoj podršci koju sam dobio od njih tokom
svih ovih godina i bez kojih ovo ne bi bilo moguće

Mentorici dr.sc. Maji Ćukušić s Ekonomskog fakulteta u Splitu, koja mi je još od
prvih dana od kada sam upisao smjer Informatički menadžment pomogla odrediti
daljnji tijek moje karijere i motivirala za ovo područje. Osim toga hvala joj za svu
podršku pruženu za vrijeme dok sam bio u Udruzi IMEF Split.
Za sudjelovanje na uspješno završenom prvom dijelu projekta PANDORA i iskustvu te
znanju koje sam stekao želio bih se zahvaliti :

Tvrtki Poslovna Inteligencija iz Zagreba, njenoj upravi, članovima svog odjela
„Inovacije i razvoj“, voditelju projekta i svim svojim kolegama na povjerenju i
pruženoj prilici za rad na ovom veoma zanimljivom projektu. Posebno hvala
Predsjedniku uprave Draženu Oreščaninu na ukazanom povjerenju.

Također, zahvaljujem se znanstveniku podataka Krešimiru Sluganu za ogromnu
podršku tokom pisanja ovog rada.
83