84
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.

Živko Krstić – Diplomski rad

  • Upload
    dangdan

  • View
    262

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Ž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.

Page 2: Živko Krstić – Diplomski rad

1

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

Page 3: Živko Krstić – Diplomski rad

2

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

Page 4: Živko Krstić – Diplomski rad

3

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

Page 5: Živko Krstić – Diplomski rad

4

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

Page 6: Živko Krstić – Diplomski rad

5

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.

Page 7: Živko Krstić – Diplomski rad

6

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 podataka

poduprtom Big Data tehnologijom će se utvrditi :

2 Belak, S. (2005). Uvod u znanosti. Šibenik: Visoka škola za turistiĉki menadţment u Šibeniku

Page 8: Živko Krstić – Diplomski rad

7

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

Page 9: Živko Krstić – Diplomski rad

8

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.

Page 10: Živko Krstić – Diplomski rad

9

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

Page 11: Živko Krstić – Diplomski rad

10

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.

Page 12: Živko Krstić – Diplomski rad

11

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.

Page 13: Živko Krstić – Diplomski rad

12

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

Page 14: Živko Krstić – Diplomski rad

13

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.

Page 15: Živko Krstić – Diplomski rad

14

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

Page 16: Živko Krstić – Diplomski rad

15

2.1.2 Variety

U ovom se dijelu govori o raznolikosti pristiglih podataka, a tu se prije svega misli na

nestrukturirane podatke.

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 ...).

Podaci

Nestrukturirani podaci

Tekstualni podaci

Netekstualni podaci

Strukturirani podaci

Page 17: Živko Krstić – Diplomski rad

16

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 8 Nathan Marz and James Warren (2014): Big Data - Principles and best practices of scalable realtime data systems, USA, Manning

Page 18: Živko Krstić – Diplomski rad

17

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 10 Haralambos Marmanis and Dimitry Babenko (2009) : Algorithms of the Intelligent Web, USA, Manning

Page 19: Živko Krstić – Diplomski rad

18

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.

Page 20: Živko Krstić – Diplomski rad

19

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 Tom White (2012): Hadoop - The Definitive Guide, USA, O'Reilly 12 Srinath Perera & Thilina Gunarathne (2013) : Hadoop MapReduce Cookbook, UK, Packt Publishing

Page 21: Živko Krstić – Diplomski rad

20

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.

Page 22: Živko Krstić – Diplomski rad

21

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

Page 23: Živko Krstić – Diplomski rad

22

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 Apache Foundation web stranica - http://apache.org/ 15 Talend Survey Results (2012) : How big is Big Data adoptation?, USA

Page 24: Živko Krstić – Diplomski rad

23

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

Page 25: Živko Krstić – Diplomski rad

24

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.

Page 26: Živko Krstić – Diplomski rad

25

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.

Page 27: Živko Krstić – Diplomski rad

26

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)

Page 28: Živko Krstić – Diplomski rad

27

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.

Page 29: Živko Krstić – Diplomski rad

28

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 Philip Russom (2011) : TWDI Best Practices Report - Big Data Analytics 18 Philip Russom (2011) : TWDI Best Practices Report – Managing Big Data

Page 30: Živko Krstić – Diplomski rad

29

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

Page 31: Živko Krstić – Diplomski rad

30

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.

Page 32: Živko Krstić – Diplomski rad

31

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 znati21 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 Charu C. Aggarwal and ChengXiang Zhai (2012) : Mining Text Data, USA, Springer 21 Charu C. Aggarwal (2011): Social Network Data Analytics, USA, Springer

Page 33: Živko Krstić – Diplomski rad

32

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.

Page 34: Živko Krstić – Diplomski rad

33

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.

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 cross-

validation o kojoj će konkretno biti govora u dijelu istraživanja.

Semantička analiza

Analiza strojnim učenjem

Nadzirano učenje

Nenadzirano učenje

Analiza rječnikom

Page 35: Živko Krstić – Diplomski rad

34

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

Page 36: Živko Krstić – Diplomski rad

35

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.

Page 37: Živko Krstić – Diplomski rad

36

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.

Page 38: Živko Krstić – Diplomski rad

37

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,

Page 39: Živko Krstić – Diplomski rad

38

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

Page 40: Živko Krstić – Diplomski rad

39

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.

Page 41: Živko Krstić – Diplomski rad

40

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 25 Ronen Feldman, and James Sanger (2007) : Text Mining Handbook: Advanced Approaches in Analyzing Unstructured Data, UK, Cambridge University Press

Page 42: Živko Krstić – Diplomski rad

41

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

Page 43: Živko Krstić – Diplomski rad

42

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

Page 44: Živko Krstić – Diplomski rad

43

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

Page 45: Živko Krstić – Diplomski rad

44

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 29 Lada Banić, Ana Mihanović i Marko Brakus (2013) : Sentiment Analysis in Product Evaluation, Hrvatska, MIPRO konferencija

Page 46: Živko Krstić – Diplomski rad

45

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.

Page 47: Živko Krstić – Diplomski rad

46

Š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

Page 48: Živko Krstić – Diplomski rad

47

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.

Page 49: Živko Krstić – Diplomski rad

48

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

Page 50: Živko Krstić – Diplomski rad

49

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

Page 51: Živko Krstić – Diplomski rad

50

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.

Page 52: Živko Krstić – Diplomski rad

51

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

Page 53: Živko Krstić – Diplomski rad

52

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.

Page 54: Živko Krstić – Diplomski rad

53

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.

Page 55: Živko Krstić – Diplomski rad

54

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

Page 56: Živko Krstić – Diplomski rad

55

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 real-

time 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.

Page 57: Živko Krstić – Diplomski rad

56

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)

Page 58: Živko Krstić – Diplomski rad

57

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 PANDORE34. 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 )

Page 59: Živko Krstić – Diplomski rad

58

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 koraka35:

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 )

PI Big Data - Arhitektura

Internet

1

2

Facebook Twitter

Hadoop

3

Crawling Streaming

Filtering

AggregationSentiment

Analysis

Presentation layer

Smartphone Portal

6

45

Page 60: Živko Krstić – Diplomski rad

59

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

Page 61: Živko Krstić – Diplomski rad

60

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

Page 62: Živko Krstić – Diplomski rad

61

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,

Page 63: Živko Krstić – Diplomski rad

62

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)

Page 64: Živko Krstić – Diplomski rad

63

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

Page 65: Živko Krstić – Diplomski rad

64

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ćica-

retrieve 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.

Page 66: Živko Krstić – Diplomski rad

65

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.

Page 67: Živko Krstić – Diplomski rad

66

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.

Page 68: Živko Krstić – Diplomski rad

67

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će37, 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

Page 69: Živko Krstić – Diplomski rad

68

Tablica 6. Lista čestih riječi - Stop word Filter

and

but

if

or

because

as

until

while

of

at

by

through

during

before

after

above

below

to

from

up

down

in

for

with

into

about

against

between

out

on

off

over

under

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

Recruter –> recrut

Practical -> practic

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.

Page 70: Živko Krstić – Diplomski rad

69

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.

Page 71: Živko Krstić – Diplomski rad

70

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) = 1

8= 0.125 ili 12.5 %

II. KORAK

IDF = log (Ukupan broj tvitova

Ukupan broj tvitova s određenom riječi)

IDF (riječ → beautiful) = log (50 000

500) = 2

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:

Page 72: Živko Krstić – Diplomski rad

71

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

IDF = 2

TF · IDF = 0.25

TF = 0.125

IDF = 2.39794

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

riječ

SentimentScore

(artimetička sredina)

„Hotels with free breakfast makes me happy“ Hotels 2.661

„These Sochi hotels are outrageously disappointing“ Hotels -3.549

Page 73: Živko Krstić – Diplomski rad

72

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

Page 74: Živko Krstić – Diplomski rad

73

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.

Page 75: Živko Krstić – Diplomski rad

74

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,

količinom resursa koji su potrebni za ovaj vid analize

38 Jacob Perkins (2010) : Python Text Processing with NLTK 2.0 Cookbook, UK, Packt Publishing

Page 76: Živko Krstić – Diplomski rad

75

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

Page 77: Živko Krstić – Diplomski rad

76

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.

Page 78: Živko Krstić – Diplomski rad

77

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.

Page 79: Živko Krstić – Diplomski rad

78

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

Page 80: Živko Krstić – Diplomski rad

79

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.

Page 81: Živko Krstić – Diplomski rad

80

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

Page 82: Živko Krstić – Diplomski rad

81

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

Page 83: Živko Krstić – Diplomski rad

82

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

Page 84: Živko Krstić – Diplomski rad

83

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.