34
Univerzitet u Ni ˇ su Prirodno matemati ˇ cki Fakultet Departman za ra ˇ cunarske nauke cenje vektorske reprezentacije reˇ ci govornog jezika primenom dubokih neuronskih mreˇ za Master rad Mentor: Prof. dr Branimir Todorovi´ c Student: Nenad ˇ Zivi´ c Niˇ s, Oktobar 2015.

U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Univerzitet u Nisu

Prirodno matematicki Fakultet

Departman za racunarske nauke

Ucenje vektorske reprezentacije recigovornog jezika primenom dubokih

neuronskih mrezaMaster rad

Mentor:

Prof. dr Branimir Todorovic

Student:

Nenad Zivic

Nis, Oktobar 2015.

Page 2: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Predgovor

Ovaj rad nastao je kao plod visegodisnjeg izucavanja masinskog ucenja, procesiranjagovornog jezika i tehnologija paralelnog programiranja na grafickim procesorima. Temaovog rada veoma lepo spaja moja navedena interesovanja, te sam uzivao pisuci ga.

Zahvaljujem se svom mentoru, prof. dr Branimiru Todorovicu, koji me je uveo u sferumasinskog ucenja, tamo me zadrzao i usmerio u daljem individualnom napredovanju. Velikomu hvala ne samo kao profesoru, vec i kao istinskom mentoru koji me je naucio mnogo viseod samog masinskog ucenja i procesiranja govornog jezika.

Takode se zahvaljujem i prof. dr Marku Petkovicu, dugogodisnjem nastavniku, profesorui saradniku, na svemu sto me je naucio o naucnom radu, kao i na tome sto je kvalitenim izanimljivim casovima u srednjoj skoli direktno uticao na moju odluku da upisem Informatikuna Prirodno-matematickom fakultetu.

Dugujem veliku zahvalnost i svim ostalim profesorima na Departmanu za Racunarskenauke Prirodno-matematickog fakulteta u Nisu, zato sto su uvek nesebicno i prijateljskidelili svoje znanje sa mnom, kao i svojoj porodici, prijateljima, i devojci Jeleni, koji su miuvek pruzali neizmernu podrsku.

1

Page 3: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Sadrzaj

1 Uvod 4

2 Osnovni koncepti dubokih neuronskih mreza 62.1 Viseslojni perceptron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Konvolucione duboke neuronske mreze . . . . . . . . . . . . . . . . . . . . . 9

2.2.1 Konvolucija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.2 Mape osobina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.3 Udruzivanje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.4 Arhitektura i treniranje duboke konvolucione mreze . . . . . . . . . . 11

2.3 Dodatne ideje dubokog ucenja . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3.1 Sloj izbacivanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3.2 Sloj ugradivanja u latentni vektorski prostor . . . . . . . . . . . . . . 13

3 Procesiranje govornog jezika 153.1 Zadaci procesiranja govornog jezika . . . . . . . . . . . . . . . . . . . . . . . 153.2 Reprezentacija reci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.1 1-hot vektor reprezentacija . . . . . . . . . . . . . . . . . . . . . . . . 163.2.2 Reprezentacija pomocu klasterovanja . . . . . . . . . . . . . . . . . . 173.2.3 Reprezentacija u latentnom prostoru . . . . . . . . . . . . . . . . . . 17

3.3 Metode redukcije dimenzionalnosti reprezentacije reci . . . . . . . . . . . . . 183.3.1 Latentna semanticka analiza . . . . . . . . . . . . . . . . . . . . . . . 183.3.2 Slucajno indeksiranje . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.3.3 Reprezentacija reci pomocu dubokih neuronskih mreza . . . . . . . . 21

4 Implementacija i rezultati 224.1 Arhitektura mreze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.2 Korpusi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.3 Pregled alata dubokog ucenja . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.3.1 Python biblioteka Keras . . . . . . . . . . . . . . . . . . . . . . . . . 244.4 Rezultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.4.1 Brzina konvergencije . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4.2 Optimalna velicina mreze . . . . . . . . . . . . . . . . . . . . . . . . 254.4.3 Uticaj sloja izbacivanja . . . . . . . . . . . . . . . . . . . . . . . . . . 264.4.4 Ugradivanje reci za razlicite dimenzionalnosti . . . . . . . . . . . . . 27

5 Zakljucak 30

Literatura 31

2

Page 4: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

SADRZAJ 3

Biografija 33

Page 5: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Glava 1

Uvod

Procesiranje govornog jezika (eng. natural language processing) je jedna od najvaznijihi trenutno najaktivnijih oblasti vestacke inteligencije ali i informatike uopste. Ova grananauke bavi se interakcijom racunara i coveka, a kao krajnji cilj ima da omoguci racunarimada u potpunosti razumeju znacenje govornog jezika. Ovo, naravno, nije nimalo jednostavanzadatak, te se na putu do gore navedenog konacnog cilja rodio veliki broj podzadataka kojisu toliko kompleksni da se vec sada mogu smatrati naukama za sebe. Neki od najpoznatijihprimera su automatska sumarizacija teksta (eng. text summarization), masinski prevod,prepoznavanje entiteta (eng. named entity recognition - NER), automatsko generisanjeteksta, odredivanje vrste reci u recenici (eng. part of speech - POS tagging), i mnogi drugi.Nesto detaljnija diskusija o ovim zadacima nalazi se u trecem poglavlju ovog rada.

Jedan od problema procesiranja govornog jezika je odredivanje semanticki slicnih reci.Istorijski, jedna od vecih prepreka u razvoju softvera koji je u stanju da razume govornijezik je bila cinjenica da racunar moze da razume samo da su dve reci u tekstu u potpunostiiste, ili u potpunosti razlicite. Tako se javila potreba za algoritmima koji bi na neki nacinmerili semanticku slicnost reci, a te podatke kasnije koristili kao akumulirano znanje za daljuobradu teksta i time znacajno popravili kvalitet resenja finalnog zadatka. Naucnici iz oblastiprocesiranja govornog jezika su za ovakve zadatke koristili statisticke metode kao sto suSlucajno indeksiranje [13], Braunovo klasterovanje [9], [8] ili standardne metode redukcijedimenzionalnosti predstave reci kao sto je SVD (Singular Value Decomposition). Ovi metodisu nazalost ili previse jednostavni (Slucajno indeksiranje), grubi (Braunovo klasterovanje)ili racunski zahtevni (SVD).

Za to vreme, naucnici su se bavili neuronskim mrezama koje su se cinile kao jako dobraideja, ali u svoje vreme su se suocile sa nedovoljno jakim racunarima da bi bile naucenedovoljno dobro za razumno vreme. Kraj prve decenije dvadeset prvog veka obelezavaju tzv.duboke neuronske mreze, koje su u stanju da nauce razlicite nivoe apstrakcije. Neke odprimena su klasifikacija teksta, slika i videa. Treniranje dubokih neuronskih mreza postaloje izvodljivo u realnom vremenu zahvaljujuci tehnologiji njihovog treniranja na grafickimprocesorima, veoma pogodnim za matricna izracunavanja, koja cine najveci deo posla utreniranju neuronskih mreza. To je otvorilo mogucnost za primenu dubokih neuronskihmreza cak i u problemima procesiranja govornog jezika, koji su narocito problematicni zbogskupova velike kardinalnosti.

Cilj ovog rada je paralelna implementacija duboke neuronske mreze na grafickom pro-cesoru i njena primena na odredivanje semantickih slicnosti reci, i to predstavljanjem reciu visokodimenzionom vektorskom prostoru. U anglosaksonskoj literaturi, ovaj problem se

4

Page 6: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Uvod 5

moze naci pod imenom word embedding. Ovo predstavljanje se, na veliku srecu, postize kaousputni proizvod treniranja problema klasifikacije na neanotiranom korpusu teksta, te nijepotreban dodatni napor (vremenski a samim tim i finansijski) za ljudsku anotaciju teksta.Drugim recima, predstavljanje reci u vektorskom prostoru je reprezentacija koju neuronskamreza sama nauci kako bi sebi olaksala problem odredivanja da li odredeni kontekst imasmisla u govornom jeziku ili ne.

Rad je struktuiran na sledeci nacin. U drugom poglavlju su najpre predstavljeni os-novni koncepti dubokih neuronskih mreza. Najpre se uvodi definicija modela neurona, slojaneurona, pa napokon i cele neuronske mreze. Nakon toga navedeni su neki od osnovnih kon-cepata dubokih neuronskih mreza, kao sto su konvolucija, mape osobina i udruzivanje, svekroz primer duboke konvolucione mreze. Na kraju, navedene su jos neke od ideja dubokogucenja koje su od narocitog znacaja za problem ugradivanja reci u latentni vektorski prostor.To su sloj izbacivanja i sloj ugradivanja u latentni vektorski prostor.

Trece poglavlje daje kratak pregled aktuelnih problema procesiranja govornog jezika. Uovom poglavlju se najpre ukratko upoznajemo sa tim zadacima. Zatim pokazujemo razlicitenacine reprezentacije reci u algoritmima masinskog ucenja. Nakon toga, dat je uvid u nekeod metoda redukcije dimenzionalnosti reprezentacija reci, od kojih je jedan ugradivanje ulatentni vektorski prostor pomocu duboke neuronske mreze, a koji je glavna tema ovog rada.

Cetvrto poglavlje govori detaljnije o konkretnoj arhitekturi mreze koriscene u ovom raduza reprezentaciju reci. Pored arhitekture, tu je i kratak pregled koriscenih korpusa teksta,kao i opis alata u kojima je neuronska mreza isprogramirana. Na kraju ovog poglavljapredstavljeni su rezultati ovakve arhitekture mreze kroz nekoliko eksperimenata i primeraugradivanja reci.

Zakljucak sumira dobijene rezultate i predlaze moguce pravce za dalje unapredenje repreze-ntacija reci koriscenjem dubokih neuronskih mreza.

Page 7: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Glava 2

Osnovni koncepti dubokih neuronskihmreza

Postoji veliki broj razlicitih arhitektura dubokih neuronskih mreza. U daljem tekstu bicenavedene neke od njih, i kroz njih objasnjeni neki od osnovnih koncepata dubokog ucenja,kao sto su razliciti nivoi apstrakcije, slucajna eliminacija cvorova (eng. dropout), udruzivanje(eng. pooling) itd.

2.1 Viseslojni perceptron

Posmatrajmo problem nadgledanog (eng. supervised) ucenja u kome imamo oznaceni(eng. labeled) korpus D = (xi, yi)Ni=1. Neuronska mreza je sposobna da nauci kompleksnu,nelinearnu, hipotezu hW,b(x) koja u dobroj meri odgovara podacima iz korpusa D. Kakobismo opisali nacin funkcionisanja neuronske mreze, krenucemo od najjednostavnije moguceneuronske mreze - jednog jedinog neurona (slika 2.1).

Slika 2.1: Prikaz jednog neurona sa svojim ulaznim i izlaznim sinapsama.

Neuron na slici je nista drugo do jedinica za izracunavanje (eng. computational unit)koja uzima ulazne vrednosti x1, x2 i x3, kao i konstantni clan, a na izlazu daje

hW,b(x) = f(W Tx) = f(3∑

i=1

Wixi + b), (2.1)

gde je f tzv. aktivaciona funkcija koja se moze definisati na nekoliko nacina. U daljemtekstu bice navedena tri cesto koriscena primera aktivacionih funkcija.

6

Page 8: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Osnovni koncepti dubokih neuronskih mreza 7

Prvi je tzv. sigmoidalna aktivaciona funkcija, ili skraceno sigmoid, koja ima sledeci oblik:

f(z) =1

1 + e−z. (2.2)

Druga koriscena opcija za aktivacionu funkciju je hiperbolicki tangens, sledeceg oblika:

f(z) =ez − e−z

ez + e−z. (2.3)

Istrazivanja su pokazala da u neuronskim mrezama veoma dobro radi treca opcija, zglobnaaktivacija:

f(z) = max(0, z). (2.4)

Na grafiku 2.2 prikazano je poredenje ove tri najzastupljenije aktivacione funkcije.

Slika 2.2: Poredbeni prikaz tri najcesce koriscene aktivacione funkcije neurona.

U daljem radu bice korisno znati koji su izvodi ovih funkcija. Zapravo, njihovi izvodi sui uzrok njihove popularnosti. Izvod sigmoidalne aktivacione funkcije je

f ′(z) = f(z)(1− f(z)), (2.5)

a izvod zglobne aktivacione funkcije je takode veoma jednostavan i ima sledeci oblik

f ′(z) =

1 z > 0

0 z < 0. (2.6)

U nuli je ovaj gradijent nedefinisan, ali to ne predstavlja problem u prakticnoj primeni,posto se gradijent usrednjava po vise primera tokom ucenja. Postoje i aktivacione funkcije

Page 9: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Osnovni koncepti dubokih neuronskih mreza 8

koje imaju takav oblik da vrlo malo odstupaju od zglobne aktivacione funkcije, ali su difer-encijabilne u svim tackama. Neke od njih mogu se naci u radovima [26] i [27].

Sloj neuronske mreze dobija se kada se paralelno postavi odredeni broj neurona. Vrlo suceste mreze sa arhitekturom u kojima postoje veze samo izmedu susednih slojeva, a signal sepropagira samo unapred, i u ovom radu cemo uglavnom takve mreze i razmatrati. Ovakvemreze zovu se neuronske mreze sa direktnim propagiranjem signala (eng. feedforward neuralnetwork). Na slici 2.3 je prikazana takva mreza sa jednim ulaznim, jednim skrivenim i nakraju, izlaznim slojem.

Slika 2.3: Neuronska mreza sa direktnim propagiranjem signala i jednim skrivenim slojem.

U sledecim odeljcima uvodimo notaciju neophodnu za razumevanje izvodenja i formulavezanih za neuronske mreze. Neka L predstavlja broj slojeva u mrezi. W (i) predstavljacematricu tezina sinapsi izmedu slojeva l i l+ 1, a indeksira se tako da W

(l)ij predstavlja tezinu

sinapse izmedu neurona i u sloju l i neurona j u sloju l + 1.

Sa a(l)i obelezavacemo aktivaciju neurona i u sloju l. U specijalnom slucaju sloja 1, tj.

ulaznog sloja, oznacavacemo a(1)i = xi. Signal se propagira na sledeci nacin: aktivacija

neurona i u sloju l + 1 racuna se kao:

a(l+1)i = f(

sl∑j=1

W(l)ji a

lj). (2.7)

Kao sto se moze primetiti, radi se o mnozenju matrice i vektora. Ove operacije su veomapogodne za masovnu paralelizaciju, te zakljucujemo da je propagiranje signala kroz mrezuveoma pogodna operacija za racunanje na grafickom procesoru. Vise o tome u narednompoglavlju. Ova operacija propagiranja signala se, dakle, moze predstaviti na sledeci nacin:

a(l+1) = f(W (l)a(l)). (2.8)

Na ovaj nacin mozemo naslagati proizvoljan broj slojeva i graditi proizvoljne arhitekture.Arhitekture u kojima nema ciklusa ili petlji (mreze sa direktnim propagiranjem signala) sunarocito koriscene i pogodne za brza izracunavanja na grafickom procesoru te ce oni biti

Page 10: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Osnovni koncepti dubokih neuronskih mreza 9

glavna tema istrazivanja. Primer dublje arhitekture mreze dat je na slici 2.4. Ovakva mrezase popularno zove viseslojni perceptron (eng. multi-layered perceptron).

Slika 2.4: Arhitektura viseslojnog perceptrona.

2.2 Konvolucione duboke neuronske mreze

Gore opisana arhitektura neuronskih mreza podrazumeva veze izmedu svakog neuronasloja l sa svakim neuronom sloja l + 1. Ova osobina nosi sa sobom dva problema. Prvije taj sto realne, bioloske, neuronske mreze ne funkcionisu na takav nacin, vec su lokalnopovezane. Ovo je medu prvima primeceno i objavljeno u [22]. Drugi, daleko prakticnijirazlog, je taj sto ovo ume biti veoma racunarski zahtevno jer broj konekcija raste kvadratnosa brojem neurona u slojevima. Ova opservacija vodi nas do podele neuronskih mreza napotpuno povezane (eng. fully connected) i lokalno povezane (eng. locally connected).

2.2.1 Konvolucija

Ideja lokalno povezanih mreza potice iz zadataka klasifikacije slika. U ovom domenu,takozvana konvolucija je prirodan izbor. Konvolucija je tehnika povezivanja slojeva u kojojna cvor i u sloju l + 1 uticu (povezani su) samo cvorovi i − k, i − k + 1, ..., i + k − 1, i + kiz sloja l, gde je k parametar koji predstavlja velicinu polja konvolucije i veoma zavisi oddomena. Veoma popularan primer je MNIST set podataka, koji sadrzi rukom pisane cifreprevedene u oblik bit mape. U ovom setu podataka nalaze se slike rezolucije 28× 28, pa senajcesce uzima sirina konvolucije k = 2. Za slike vece rezolucije uzimalo bi se vece k. Skicakonvolucije u dve dimenzije prikazana je na slici 2.5. Kernel je filter koji mnozi odgovarajuceveze odgovarajucim tezinama.

2.2.2 Mape osobina

U prethodnom potpoglavlju opisali smo kako se iz jednog sloja duboke konvolucionemreze dobijaju aktivacije u narednom sloju upotrebom kernela konvolucije. Ovaj kernelse uci postupkom optimizacionog algoritma koristeci propagiranje greske unazad. Ovako

Page 11: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Osnovni koncepti dubokih neuronskih mreza 10

Slika 2.5: Konvolucija u 2D. Vrednosti u matrici kernela mnoze odgovarajuce vrednosti usloju l i ta vrednost se dodaje odgovarajucem neuronu u sloju l + 1.

naucen kernel predstavlja znanje o nekom nivou apstrakcije. Kako ovakvih osobina mozebiti mnogo (u konkretnom primeru slike to mogu biti razliciti oblici, ivice, teksture itd),moramo imati veci broj razlicitih kernela u svakom konvolucionom sloju. To znaci da se npr.iz ulaznog sloja, pomocu k kernela, podaci slikaju u k razlicitih slojeva mreze istog nivoaapstrakcije. Svaki od tih k slojeva zove se mapa osobina (eng. feature map). Svaka od ovihmapa cuva informaciju o nekoj osobini dela slike definisanog sirinom konvolucije. Slikanjeulaznog sloja u vise mapa osobina prikazano je na slici 2.6.

Slika 2.6: Kompletna konvoluciona neuronska mreza koja pokazuje najpre proces konvolucije,zatim slikanja u vise mapa osobina, potom udruzivanje, i na kraju spajanje sa potpunopovezanim viseslojnim perceptronom.

2.2.3 Udruzivanje

Nakon sto smo dobili nove vrednosti u sledecem sloju (eng. features), treba ih nekakopropagirati i upotrebiti za klasifikaciju. U teoriji, mozemo iskoristiti sve osobine iz svihmapa osobina koje smo dobili konvolucijom. Medutim, ovaj broj ume da naraste do redovavelicine miliona, iz jednostavnog razloga sto u prakticnim primenama, broj mapa osobinaje reda velicine stotina. Iz tog razloga se koristi tehnika udruzivanja (eng. pooling). Ova

Page 12: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Osnovni koncepti dubokih neuronskih mreza 11

tehnika podrazumeva da se p susednih neurona udruze na neki nacin i time formiraju ulazsa sledeci sloj. Ovo je prikazano na slici 2.6. Vrednost p opet jako zavisi od primene. Ugore navedenom primeru MNIST slika pisanih cifara, ima smisla birati p = 2 i p = 3 jer suslike male rezolucije. Najcesci vid udruzivanja su srednja vrednost aktivacija svih neuronau oblasti koja se udruzuje (eng. mean-pooling) i maksimalna vrednost tih aktivacija (eng.max-pooling).

2.2.4 Arhitektura i treniranje duboke konvolucione mreze

Konvoluciona neuronska mreza (eng. Convolutional Neural Network - CNN) je sastavl-jena od jednog ili vise konvolucionih slojeva, na koje se nestavlja jedan ili vise potpunopovezanih slojeva na isti nacin kao u standardnom viseslojnom perceptronu. Arhitekturakonvolucione mreze je dizajnirana tako da iskoristi 2D strukturu slike, medutim ideja kon-volucije se koristi i sa 1D podacima u vidu teksta, a u skorije vreme i sa 3D podacima u viduvidea [15]. Prednosti CNN arhitekture su u iskoriscenju razlicitih nivoa apstrakcije, kao iu brzini treniranja, posto CNN mreza ima za red velicine manje sinapsi od MLP mreze saistim brojem neurona.

Sada cemo malo detaljnije opisati arhitekturu konvolucione mreze na primeru. Ukoliko jeulaz konvolucionoj mrezi slika dimenzije m×m, sa r kanala, najpre se vrsi q konvolucija redak (matricom kernela 2k+ 1× 2k+ 1), gde je q broj mapa osobina a k broj susednih neuronaiz ulaznog sloja koji utice na vrednost neurona u prvom skrivenom sloju. Tako smo dobili qparalelnih slojeva, svaki dimenzije m− 2k + 1×m− 2k + 1. Ovi slojevi se potom udruzujukoristeci udruzivanje reda p, tako da naredni sloj ima dimenzije (m−2k+1)/p×(m−2k+1)/p.Onda se proces konvolucije ponavlja sve dok ukupan broj neurona ne postane pogodan zapovezivanje za potpuno povezanim ostatkom mreze.

Ovakva mreza trenira se gradijentnim spustom, ili bilo kojim naprednijim algoritmomoptimizacije kriterijumske funkcije (npr. Nesterovljev metod momenta [24]) i propagiranjemsignala greske unazad. Formalno, algoritam treniranja neuronske mreze na korpusu D =(Xi, yi)

Ni=1 je zapravo optimizacioni problem:

(W, b) = argminW,bJ(W, b; (Xi, yi)Ni=1), (2.9)

gde je J kriterijumska funkcija, odnosno funkcija koja odreduje meru kaznjavanja greske uklasifikaciji. Sada cemo ukratko pokazati formule za propagiranje greske unazad.

Neka je δ(l+1) vektor greske u sloju l + 1 u mrezi u kojoj je kriterijumska funkcijaJ(W, b;x, y), gde su (W, b) parametri a (x, y) trening podaci. Ako je sloj l gusto (potpuno)povezan sa slojem l + 1, onda je greska u l-tom sloju:

δ(l) = ((W (l))T δ(l+1)) · f ′(z(l)), (2.10)

a gradijenti su:

∇W (l)J(W, b;x, y) = δ(l+1)(a(l))T , (2.11)

∇b(l)J(W, b;x, y) = δ(l+1). (2.12)

U slucaju propagiranja greske ka slojevima udruzivanja i konvolucije, treba voditi do-datnog racuna. Kod propagiranja ka sloju udruzivanja, greska u l+ 1-om sloju se uniformno

Page 13: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Osnovni koncepti dubokih neuronskih mreza 12

rasporedi po svim udruzenim ciniocima u l-tom sloju. Kod konvolucije, radi se slicna stvar,samo sto se greska tezinski rasporeduje na osnovu vrednosti u matrici kernela.

Primetimo da je i propagiranje greske unazad matricna operacija te je i nju moguceizuzetno brzo izvesti na grafickom procesoru. Zakljucujemo da je ceo trening neuronskemreze veoma pogodan za masovno paralelno izracunavanje, pa ce to i biti nacin na koji cese trening vrsiti.

Za kraj ovog poglavlja valja napomenuti sledece. Iako ideja konvolucije ima najprirodnijuprimenu u obradi slika, ona je nasla primenu i u obradi teksta. Par uspesnih pokusaja moguse naci u [1] i [14]. Najveci problem u primeni konvolucionih mreza u obradi teksta je tajsto nije najjasnije kako iskoristiti lokalni uticaj reci i sto je broj kanala umesto 3 (RGB)reda velicine nekoliko desetina hiljada (kardinalnost recnika). Odgovor na ove probleme josuvek nije definitivno naden, te konvolucione mreze jos uvek nisu napravile pravi proboj uinteligentnoj obradi teksta.

2.3 Dodatne ideje dubokog ucenja

U ovom kratkom poglavlju opisacemo dve ideje dubokog ucenja koje ce biti od sustinskogznacaja kada budemo kreirali duboku neuronsku mrezu koja ce resavajuci problem klasi-fikacije modela jezika vrsiti reprezentaciju reci u latentnom vektorskom prostoru. Ove dveideje zapravo su dve vrste slojeva koje su otkrivene veoma skoro, u 21. veku. To su:

• Sloj izbacivanja (eng. dropout layer)

• Sloj ugradivanja (eng. embedding layer)

2.3.1 Sloj izbacivanja

Duboke neuronske mreze sa velikim brojem parametara su veoma mocan alat masinskogucenja. Medutim, zbog ogromnog broja parametara, pretreniravanje (eng. overfitting) jeozbiljan problem u ovakvim mrezama. Posto su duboke mreze relativno spore, kako zatreniranje, tako i u testiranju, nisu pogodne ni za statisticko usrednjavanje naucenih modela(eng. ensemble averaging), koje je poznata tehnika za adresiranje pretreniravanja. Izbaci-vanje (eng. dropout) je tehnika koja na adekvatan i prirodan nacin adresira ovaj problem.Naime, ideja je da se neuroni nasumicno izbacuju iz neuronske mreze u toku treniranja. Ovosprecava koadaptaciju neurona i poboljsava generalizaciju. U toku treniranja se zapravodesava uzorkovanje (eng. sampling) podmreza iz eksponencijalnog (po broju neurona) brojapodmreza.

U toku testiranja, vrsi se usrednjavanje svih ovih mreza na jednostavan nacin - jednos-tavno se kao izlaz racuna izlaz cele, neuzorkovane mreze. Ovakva tehnika znacajno smanjujepretreniravanje i daje bolje rezultate od vecine drugih metoda regularizacije. U [16] suprikazana poboljsanja u nekoliko najcescih primena dubokih mreza, medu kojima su zadaciracunarskog vida (eng. computer vision), prepoznavanja govora (eng. speech recognition),klasifikacije dokumenata itd. Rezultati predstavljeni u [16] su u velikom broju zadatakastate-of-the-art.

Na slici 2.7 graficki je prikazano izbacivanje. Najcesce se vrednost parametra izbacivanja(verovatnoca da svaki neuron ostane u mrezi) uzima iz intervala [0.2, 0.8].

Page 14: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Osnovni koncepti dubokih neuronskih mreza 13

Slika 2.7: Model izbacivanja u neuronskoj mrezi. Levo je standardna neuronska mreza sadva skrivena sloja. Desno je primer uzorkovane mreze dobijene nakon primene izbacivanjaneurona na levu mrezu.

Razlika u propagiranju signala unapred u mrezi sa izbacivanjem neurona u odnosu sastandardnu neuronsku mrezu se postize uzorkovanjem vektora iz Bernulijeve raspodele

r(l)j = B(1, p), (2.13)

gde p predstavlja verovatnocu da svaki neuron ostane u mrezi za naredni trening podatak (uslucaju stohastickog gradijentnog spusta) ili grupu trening podataka (u slucaju gradijentnogspusta sa malim grupama (eng. mini-batch gradient descent)). Dalje se signal propagiraunapred na sledeci nacin, slicno kao u mrezi bez izbacivanja neurona:

ˆy(l) = y(l) • r(l), (2.14)

z(l+1)i = W

(l+1)i

ˆy(l) + b(l+1)i , (2.15)

y(l+1)i = f(z

(l+1)i ), (2.16)

gde • predstavlja operaciju poelementnog mnozenja vektora.

2.3.2 Sloj ugradivanja u latentni vektorski prostor

Slojevi neuronske mreze mogu se interpretirati na sledeci nacin - svaki sloj nakon ulaznog,a pre izlaznog, zapravo predstavlja preslikavanje u novi prostor karakteristika koje neuronskamreza sama nauci u procesu optimizacije, kako bi sto efikasnije resila problem klasifikacijelogistickom regresijom u zadnjem, tzv. softmax sloju. U zavisnosti od ulaza, tj. domena,ova osobina moze se iskoristiti kako bi se uporedivale reprezentacije ulaznih podataka kojeneuronska mreza generise. Sto je reprezentacija u skrivenom sloju slicnija, pretpostavka jeda je slicniji i ulaz, jer ih mreza kodira na slican nacin.

Ovu ideju koristi tzv. sloj ugradivanja (eng. embedding) neuronske mreze. Sloj ugradivanjamoze se shvatiti na vise nacina. Razmotrimo primer reci govornog jezika. Recimo da svakarec ima svoj vektor duzine d kao svoju reprezentaciju. Ukoliko te vektore stavimo na ulaz

Page 15: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Osnovni koncepti dubokih neuronskih mreza 14

neuronske mreze i resavamo npr. problem modela jezika standardnim treniranjem neuronskemreze, resicemo dati problem samo ako su pocetne reprezentacije dobre i na dobar nacinoslikavaju odnose medu recima. Posto to ne mozemo da garantujemo (ili cak zelimo dasaznamo), mozemo da propagiranje greske unazad produzimo do ulaznog sloja i time dopus-timo mrezi da sama koriguje ulazne reprezentacije. Drugacije gledano, mozemo za ulazni slojproglasiti 1-hot reprezentaciju reci, pa bi ugradivanje reci u latentni prostor bilo kodirano utezinama drugog (prvog skrivenog) sloja.

U praksi se sloj ugradivanja implementira matricom dimenzija V × d, gde je V broj ra-zlicitih reci u vokabularu, a d dimenzija latentnog prostora u koji se reci ugraduju. Ta matricase koristi kao enkoder na taj nacin sto vrednosti na ulaznom sloju indeksiraju odgovarajucired matrice ugradivanja. Ovaj proces je opisan u [1].

Sloj ugradivanja ima veoma zanimljivu primenu jer mozemo saznati medusobne odnoseizmedu odredenih entiteta implicitno, resavajuci drugi problem, ili cak skup vise problema(u multitask ucenju). Ovaj sloj bice okosnica odredivanja reprezentacija reci u latentnomprostoru u nastavku ovog rada.

Page 16: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Glava 3

Procesiranje govornog jezika

3.1 Zadaci procesiranja govornog jezika

Kako je procesiranje govornog jezika veoma siroka oblast istrazivanja, tesko je dati pre-cizniji opis od onog koji je dat u uvodu - to su svi algoritmi koji za svoj cilj imaju neki stepenrazumevanja govornog jezika, bilo u pisanoj ili zvucnoj formi. Ovako definisana, ova klasaproblema obuhvata probleme od najjednostavnijih poput korigovanja gresaka u kucanju pasve do najzahtevnijih kao sto je oznacavanje semantickih uloga u recenici (eng. semantic rolelabelling ili shallow text parsing). U ovom odeljku pokusacemo da navedemo najreprezen-tativnije primere NLP-a. Problemi koje cemo navesti se takode nalaze i u radu [1], gde senaveden veoma zanimljiv rezultat neuronske arhitekture koja je u stanju da nauci da resavavise zadataka procesiranja govornog jezika odjednom (eng. multitask learning).

Odredivanje sintaksne uloge reci (eng. Part-Of-Speech (POS) Tagging) ima za zadatak dasvakoj reci u recenici dodeli njenu sintaksnu ulogu, odnosno klasu. Primera radi, u receniciMacka sedi na otiracu, zadatak algoritma je da vrati sledece: Macka - imenica, sedi - glagol,na - predlog, otiracu - imenica.

POS Tagging se smatra jednim od jednostavnijih problema procesiranja govornog jezika,posto vecina reci ima samo jednu mogucu ulogu u recenici, te algoritmi koji rade na principunajverovatnije sintaksne uloge mogu da dostignu preciznost od 90% na realnim korpusima[2]. Druge, nesto naprednije metode, kao sto su skriveni Markovljevi modeli (eng. HiddenMarkov Models - HMM) i algoritmi dinamickog programiranja mogu da dostignu pristo-jnih 95% preciznosti ([3], [4]). U primeni su takode i pristupi koji podrazumevaju masinskoucenje, kao sto su princip k najblizih suseda (eng. k Nearest Neighbors - kNN), klasifikatorsa maksimalnom marginom (eng. support vector machine - SVM), klasifikatori koji mak-simizuju entropiju itd. Svi ovi algoritmi uspevaju da premase granicu od 95%.

Prepoznavanje entiteta (eng. Named Entity Recognition - NER) predstavlja problemprepoznavanja pocetka i kraja, kao i klasifikaciju atomicnih elemenata u recenici, kao sto su”OSOBA”, ”KOMPANIJA”, ”LOKACIJA”, ”STRUCNA SPREMA” i sl. Ovo je, u sustini,problem klasifikacije i spada u relativno dobro resene probleme procesiranja govornog jezika,ali se nikako ne moze smatrati definitivno resenim.

Generalno, postoje dva pristupa: ekspertski, na principu gramatickih pravila, koji je cestozametan i podrazumeva veliki broj rucno kodiranih pravilnosti i pristup masinskim ucenjemkoji je daleko elegantniji. Tipicno, prvi pristup vodi do bolje preciznosti (eng. precision) alilosijeg odaziva (eng. recall).

15

Page 17: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Procesiranje govornog jezika 16

Trenutno najnapredniji algoritmi (eng. state-of-the-art) su na vecini cesto koriscenihkorpusa nekoliko procenata losiji od ljudskog anotatora (97.60% naspram 93.39%, sto semoze videti u [5]).

Odredivanje semanticke uloge (eng. Semantic Role Labeling - SRL) za cilj ima da svakojreci u tekstu dodeli semanticko znacenje, odnosno ulogu reci u recenici. Postoje razlicitiformalizmi kada je u pitanju SRL. Jedan od njih se moze naci u tzv. PropBank [6], gde serecima dodeljuju sledece uloge: ARG0-5 su reci koje predstavljaju argumente predikatima urecenici (subjekti i objekti), REL predstavljaju predikate, odnosno reci koje odreduju relacijeizmedu argumenata, kao i ARGM koje predstavljaju modifikatore argumenata, kao sto sulokacija, vreme i sl.

Odredivanje semanticke uloge smatra se jednim od najkompleksnijih zadataka procesir-anja govornog jezika, sto ne cudi, s obzirom da ukoliko se uradi savrseno, vodi do gotovopotpunog razumevanja smisla recenice. Iz tog razloga se SRL koristi kao glavni test (eng.benchmark) u mnogim radovima koji se bave primenom dubokih neuronskih mreza na NLP[1].

Modeli jezika (eng. Language Models) imaju nekoliko definicija. Istorijski se najcescekoristila ona koja podrazumeva odredivanje koja rec je sledeca, uzimajuci u obzir prozor odnekoliko reci (tzv. n-gram). U ovom radu cemo modelom jezika podrazumevati klasifikacioniproblem kome je zadatak da uzimajuci kontekst sirine k odredi da li taj kontekst ima smislau govornom jeziku ili ne. Ovakva formulacija problema je veoma pogodna za treniranjeneuronske mreze na korpusu skinutom sa globalne mreze (www) bez dodatne anotacije, jerje lako slucajno generisati kontekste koji nemaju smisla u govornom jeziku. Ova ideja semoze naci u [7], radu koji za model jezika koristi plitki klasifikator. Valja napomenuti dase ovde ipak radi o nadgledanom ucenju, iako nije potrebna dodatna anotacija, posto jeanotaciju zapravo indirektno izvrsio autor teksta iz korpusa pisuci ga smisleno.

Odredivanje semanticki povezanih reci (sinonima) je jedan od ciljeva ovog rada. General-nije, ovaj zadatak moze da podrazumeva algoritam masinskog ucenja koji odreduje slicnostiizmedu svake dve reci, ili da podrazumeva klasterovanje reci. Klasterovanje reci moze dabude planarno [8] ili hijerarhijsko [9].

Ovako odredene slicnosti medu recima mogu da u velikoj meri poprave performansedrugih algoritama procesiranja govornog jezika, te se vrlo cesto koriste kao deo preprocesir-anja u procesu resavanja nekog drugog problema.

3.2 Reprezentacija reci

Kao sto je vec u nekoliko navrata pomenuto, jedan od problema u procesiranju govornogjezika su veliki recnici. Primera radi, korpusi koji sadrze govor ljudi preko telefona imajurecnike od oko 20000 reci, sto je prihvatljiv broj. Medutim, u primenama na korpuse saglobalne mreze srecemo se sa cak i za dva reda velicine vecim korpusima. Razlog ovome jeveliki broj datuma, mejl adresa, skracenica, izraza specificnih domena, gresaka u kucanju,itd. Ovakvi korpusi mogu da dostignu i kardinalnost recnika od oko 1000000 reci.

3.2.1 1-hot vektor reprezentacija

Najjednostavniji nacin predstavljanja reci u metodama masinskog ucenja (eng. featurevector) je vektor sa jednom jedinicom, tzv. 1-hot vektor. 1-hot vektor se gradi na sledeci

Page 18: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Procesiranje govornog jezika 17

nacin: ukoliko je rec macka na i-tom mestu u vokabularu koji ima V elemenata, 1-hotvektor je vektor duzine V koji na i-toj poziciji ima vrednost 1 a na svim ostalim mestimaima vrednost 0. Jasno je da ukoliko ulaznom sloju neuronske mreze dajemo kontekst sirinek, koristeci 1-hot vektorsku reprezentaciju reci u kontekstu, taj ulazni sloj mora imati kVneurona. Ukoliko prvi skriveni sloj neuronske mreze ima h1 neurona, dobijamo da samoizmedu ulaznog i prvog skrivenog sloja ima kV h1 konekcija.

Razmotrimo tipicne vrednosti za k, V i h1 i analizirajmo kompleksnost dela mreze izmeduula znog i prvog skrivenog sloja. Jedna od najcescih sirina konteksta u NLP-u je dve reci pre iposle posmatrane reci, te imamo da k = 5. Ukoliko se bavimo realnim korpusom skinutim saweba, cak i nakon blagog preprocesiranja koje podrazumeva detekciju mejl adresa, datumai sl, dolazimo do realnih V = 100000. Na kraju, u realnim problemima se vrlo cesto koristeskriveni slojevi od h1 = 1000 neurona. Dakle, izmedu ulaznog i prvog skrivenog sloja imamoci→1 = kV h1 = 500000000 konekcija. Ovo je ogroman broj, cak i za danasnji hardver.

Jos jedan problem sa 1-hot predstavljanjem reci je taj sto u tom slucaju algoritam nemanikakvo znanje o eventualnoj slicnosti izmedju reci. Ovo za posledicu ima to da je ulaznitekst veoma redak (eng. sparse). Drugim recima, u korpusu se veoma retko ponavljajuodredeni n-grami bas iz razloga sto odbacujemo znanje o sinonimiji. Ukoliko bismo ukljucilito znanje, u velikoj meri bismo poboljsali generalizaciju, jer bi se algoritam cesce susretaosa poznatim kontekstima.

3.2.2 Reprezentacija pomocu klasterovanja

Jedan od nacina kako se mogu resiti problemi koje nosi 1-hot reprezentacija reci je jed-nostavno da V bude mnogo manje. Ovo se moze postici time sto se slicne reci stavljaju uisti klaster, pa se dalje tretiraju kao potpuno ista rec. Tada indeks reci i zapravo postajeindeks klastera ic i gubi se bilo kakva razlicitost reci unutar klastera.

Gubitak individualnosti se moze resiti hijerarhijskim klasterovanjem [9], gledanjem pri-padnosti klasteru na razlicitim dubinama hijerarhije. Problem sa hijerarhijskim klasterovan-jem u praksi je taj sto su algoritmi formiranja klastera jako kompleksni i vrlo cesto umejuda zaglave u besmislenom lokalnom minimumu [25]. Algoritmi hijerarhijskog klasterovanjase mogu podeliti u dve klase: odozgo-nadole (eng. top-down) i odozdo-nagore (eng. bottom-up).

Planarni algoritmi [8] su, pak, jako brzi i generisu klastere veoma izbalansiranih velicina,i u praksi, iz iskustva autora, su se pokazali kao pravi pristup redukcije dimenzionalnostireprezentacije reci klasterovanjem. Nedostatak hijerarhije mogu nadomestiti sa vise instanciplanarnog klasterovanja sa eksponencijalno razlicitim brojem klastera, i cak i tako su brziod svojih hijerarhijskih konkurenata.

3.2.3 Reprezentacija u latentnom prostoru

Treci pristup predstavljanja reci u algoritmima masinskog ucenja je takozvana reprezentacijau latentnom prostoru (eng. word embedding). Ona podrazumeva redukciju dimenzionalnosti1-hot predstave u vektorski prostor cije koordinate nemaju direktno jasnog smisla coveku(stoga i naziv latentni vektorski prostor). Dimenzionalnost tog vektorskog prostora zavisiod dalje primene, ali krece se od nekoliko desetina do nekoliko hiljada.

Kljucna razlika ove reprezentacije u odnosu na prethodne dve je sto je ona gusta (eng.dense), a prethodne dve su retke (eng. sparse). Retke reprezentacije imaju svojih prednosti

Page 19: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Procesiranje govornog jezika 18

kada je u pitanju vremenska kompleksnost nekih algoritama, prvenstveno onih u kojima imaoperacija sa retkim vektorima i matricama. S obzirom na prirodu i arhitekturu neuronskihmreza, a samim tim i dubokih neuronskih mreza koje su glavni predmet istrazivanja ovograda, ova prednost ne postoji - neuronskim mrezama pogodna je gusta predstava, odnosnogusti vektori osobina reci.

Gusti vektori osobina reci u ovom slucaju znace i da skalarni proizvod (mera slicnosti)izmedu dve reci ne uzima binarne vrednosti iz skupa 0, 1, vec uzima vrednosti iz intervala[0, 1], sto, kao sto je vec ranije pomenuto, u velikoj meri eliminise problem retkog korpusa ikoristi pojavu sinonimije ili pak semanticki slicnog znacenja reci.

Postoje razlicite statisticke i metode masinskog ucenja za predstavljanje reci u latentnomprostoru. U narednom poglavlju cemo se baviti sa tri sustinski razlicite metode:

• Latentna semanticka analiza (eng. Latent Semantic Analysis - LSA)

• Slucajno indeksiranje (eng. Random Indexing - RI)

• Reprezentacija reci pomocu duboke neuronske mreze

3.3 Metode redukcije dimenzionalnosti reprezentacije

reci

3.3.1 Latentna semanticka analiza

Matrica rec-dokument (eng. Term-Document Matrix) je jedan od nacina predstavljanjarecnika jednog korpusa teksta. Naime, to je matrica u kojoj svaka kolona predstavlja jedandokument, a svaki red predstavlja jednu rec. Svaka celija predstavlja neku meru pojavljivanjareci u dokumentu. Postoji nekoliko takvih mera:

Slika 3.1: Prikaz matrice rec-dokument. Kolona predstavlja bag-of-words predstavu doku-menta, a red predstavlja vektor osobina reci.

Page 20: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Procesiranje govornog jezika 19

• Binarno predstavljanje gde vrednost 1 oznacava da se rec nalazi makar jednom u doku-mentu a vrednost 0 znaci da se rec ne pojavljuje u dokumentu.

• Broj pojavljivanja, gde matrica rec-dokument u svakoj celiji cuva broj pojavljivanjaodgovarajuce reci u odgovarajucem dokumentu.

• Tf-idf, ili bilo koja druga tezinska mera koja na inteligentniji nacin broji pojavljivanjareci u dokumentu. Ovakvi pristupi smanjuju dominantnost cestih reci (eng. stop-words), kao sto su ”i”, ”ili”, ”da” itd.

Treba napomenuti da pojam dokumenta koji je koriscen u prethodnim pasusima ne morada predstavlja dokument u bukvalnom smislu. Dokument moze biti recenica, kontekst, pasus,ili kako god je to pogodno za konkretnu primenu.

Gorepomenuta matrica je najcesce jako velika, narocito ukoliko se radi sa velikim recnicimai velikim korpusima. Ovu matricu je moguce dekomponovati na proizvod tri matrice. Timese bavi latentna semanticka analiza.

Naime, latentna semanticka analiza (LSA) je tehnika u procesiranju govornog jezika,konkretno u odredivanju semanticke slicnosti, koja analizira odnose izmedu reci i dokumenatau kojima se one nalaze. Glavna pretpostavka ove tehnike je da se slicne reci nalaze uslicnim dokumentima. Latentna semanticka analiza generise set koncepata (svaki konceptje jedna dimenzija u latentnom prostoru u kome se reprezentuju reci) koji je izveden izpomenutih relacija. LSA koristi matematicku tehniku matricne dekompozicije, konkretnodekompoziciju singularne vrednosti (eng. Singular Value Decomposition - SVD) kako biogromnu matricu rec-dokument dekomponovala na tri matrice i time generisala latentniprostor za reprezentaciju reci. Pomenute tri matrice su daleko manje od inicijalne - dve sujako uske i dugacke, a jedna je veoma mala kvadratna matrica.

Neka je X matrica rec-dokument. Tada je mozemo predstaviti kao:

X = UΣV T . (3.1)

Slika 3.2: Prikaz dekompozicije matrice rec-dokument. Matrice U i V su duge i uske amatrica Σ je kvadratna malih dimenzija.

Ukoliko je broj reci V a broj dokumenata D, tada su dimenzije matrica sledece: UV×d,Σd×d i Vd×D. Vrednosti σ1, ..., σd na dijagonali matrice Σ zovemo singularne vrednosti avektore u1, ..., ud i v1, ..., vd zovemo levi i desni singularni vektori. Mozemo primetiti da, akoje ti i-ti red u matrici X i predstavlja vektor reci i, jedini deo matrice U koji doprinostitom vektoru je zapravo takode i-ti red matrice U . Nazovimo ovaj red ti. Analogno, jedinakolona u matrici V koja doprinosi vektoru dokumenta dj je zapravo j-ta kolona te matrice.

Nazovimo ovu kolonu dj.

Page 21: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Procesiranje govornog jezika 20

Kod dekompozicije jedinicnih vrednosti vazi jedno veoma zanimljivo pravilo - ukolikoizaberemo k najvecih jedinicnih vrednosti (bez gubitka opstosti neka su to σ1, ..., σk), dobi-jamo aproksimaciju matrice X k-tog reda sa najmanjom greskom po Frobeniusovoj normi.Ono sto je jos zanimljivije je da vektor ti mapira rec i u vektorski prostor koncepata dimen-zionalnosti k. Isto to vazi i za kolonu dj i dokument j. Mozemo da dobijemo i aproksimacijuk-tog reda cele matrice X, na sledeci nacin

Xk = UkΣkVTk (3.2)

Nakon ove dekompozicije, slicnost medu recima se dobija kao njihov skalarni proizvod unovom prostoru koncepata:

similarity(xi, xj) = 〈xi, xj〉 = ti · tj. (3.3)

Ovako dobijene slicnosti veoma dobro odreduju semanticki povezane reci. Medutim, ovametoda ima dva velika nedostatka. Prvo, sama dekompozicija je jako racunarski zahtevna,posto je njena kompleksnost kubna po dimenzijama ulazne matrice. Drugo, podjednakovazno, je to sto je ovo algoritam koji radi iskljucivo sa celim korpusom (eng. batch) inije u mogucnosti da inkrementalno popravlja naucene semanticke slicnosti medu recima.Zbog toga se ovaj, inace jako dobar algoritam sa stanovista konacnog rezultata, najcesce neprimenjuje u praksi. Naredne dve klase algoritama su daleko prakticnije i cesto se koriste urealnim primenama.

3.3.2 Slucajno indeksiranje

Slucajno indeksiranje (eng. Random Indexing - RI) nastalo je kao alternativa metodamalatentne semanticke analize. Ova tehnika adresira najveci problem latentne semanticke anal-ize - batch procesiranje. RI je inkrementalna tehnika predstavljena u radovima [10] i [13].

Osnovna ideja je kreiranje i odrzavanje vektora konteksta baziranih na pojavljivanju reciu kontekstima. Ova tehnika moze se koristiti sa bilo kojom vrstom konteksta (okolina reci,recenica, pasus ili dokument) i po svojoj prirodi je inkrementalna, sto je u dobu dramaticnograsta kolicine podataka velika prednost u odnosu na druge metode. Algoritam slucajnogindeksiranja moze se podeliti u dve faze:

• Korak 1: Svakoj reci se dodeljuje jedinstvena, slucajno generisana (iz uniformne raspodele)vektorska reprezentacija koju zovemo indeksni vektor (eng. index vector). Ovi vektorisu visokodimenzioni (dimenzije u stotinama ili hiljadama), u kojima je vecina eleme-nata jednaka nuli, a jako mali broj elemenata uzima vrednosti +1 i −1.

• Korak 2: Kreiraju se kontekstni vektori iduci kroz tekst, tako sto svaki put kada se recpojavi u kontekstu, kontekstnom vektoru date reci dodaju se indeksni vektori reci izkonteksta.

Valja napomenuti da je tehnika slucajnog indeksiranja bazirana na pretpostavci da jerec odredena kontekstima u kojima se pojavljuje. To povecava znacajnost odluke o sirinikonteksta. Takode, time sto su indeksni vektori veoma retki, postize se skoro-ortogonalnostmedu indeksnim vektorima. Motivacija za ovu odluku lezi u primedbi iz [11], gde je pokazanoda u visokodimenzionim prostorima ima mnogo vise skoro-ortogonalnih nego ortogonalnihpravaca. To znaci da mozemo aproksimirati ortogonalnost biranjem slucajnih pravaca u

Page 22: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Procesiranje govornog jezika 21

visokodimenzionom prostoru. Slicna ideja koristi se u tehnikama Slucajnog Projektovanja(eng. Random Projection) i Slucajnog Mapiranja (eng. Random Mapping). Ove metodesu potkrepljene istom idejom - Dzonson-Lindenstrausovom lemom [12], koja tvrdi da akoprojektujemo tacke vektorskog prostora na slucajno odabran potprostor dovoljno velike di-menzionalnosti, rastojanja izmedu tacaka se skoro ocuvavaju.

Glavne prednosti slucajnog indeksiranja su njegova inkrementalnost kao i mogucnostkoriscenja bilo kakvog konteksta - bila to okolina reci, recenica, pasus ili ceo dokument.

3.3.3 Reprezentacija reci pomocu dubokih neuronskih mreza

Ugradivanje reci u latentni vektorski prostor (u daljem tekstu ugradivanje) pomocudubokih neuronskih mreza je trenutno jedan od najaktuelnijih problema u procesiranju gov-ornog jezika. Ova ideja je stara oko deceniju, i predstavljena je u [17].

Ugradivanje W : Ω → Rn je funkcija koja preslikava skup reci nekog govornog jezika uvisokodimenzioni vektorski prostor. Visokodimenzioni u prakticnim primenama moze znacitibilo sta od nekoliko desetina do nekoliko hiljada, u zavisnosti od kompleksnosti jezika ivelicine ulaznog vokabulara, kao i dalje primene ugradenih reci.

Najcesce je ova funkcija realizovana matricom u kojoj je svaki red zapravo vektor reprezentacijereci:

WΘ(wn) = Θn.

Jako je vazno inicijalizovati W na slucajne vrednosti (najbolje iz uniformne raspodele).

Mreza se trenira tako da resava sledeci problem klasifikacije: da li je data sekvenca (kon-tekst, n-gram) sirine 2k+ 1 validna u datom jeziku ili ne. Vrlo lako moze se dobiti ogroman,naizgled neanotiran korpus sa web-a (recimo sa wikipedia-e). Zatim se sve sekvence iz togkorpusa proglase validnim. Pogresni konteksti mogu se dobiti na veoma jednostavan nacin,menjajuci rec u sredini konteksta nasumicno biranom recju iz vokabulara jezika. Ovakose najverovatnije dobija besmislena sekvenca koja se moze koristiti kao negativan primermodela jezika. Navescemo jedan primer:

R(W (”pas”),W (”sedi”),W (”na”),W (”limenom”),W (”krovu”)) = 1, (3.4)

R(W (”pas”),W (”sedi”),W (”ugradivanje”),W (”limenom”),W (”krovu”)) = 0. (3.5)

Prva sekvenca se koristi kao pozitivan primer modela jezika, a druga kao negativan.Funkcija R : R2k+1 → 0, 1 modeluje izlaz neuronske mreze utrenirane za pomenuti modeljezika. Kako bi ovaj zadatak dobro resavala, neuronska mreza mora da usput nauci i dobrereprezentacije reci korigujuci W . Zapravo, najveci deo znacajnosti ovakve mreze je u usput-nom zadatku ucenja reprezentacija reci, posto primarni zadatak nije narocito interesantan(moze eventualno da posluzi kao korekcija gramatike ili detekcija prevare/robota).

Page 23: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Glava 4

Implementacija i rezultati

4.1 Arhitektura mreze

U ovom poglavlju cemo opisati arhitekturu duboke neuronske mreze koja je koriscenau ovom radu za resavanje problema modela jezika i ugradivanje reci. Postoje razliciti pris-tupi resavanju ovog problema. Mogu se koristiti viseslojni perceptroni, konvolucione mreze,rekurentne mreze itd. U ovom radu bice obradena arhitektura viseslojnog perceptrona(MLP) sa slojem ugradivanja izmedu ulaznog sloja i prvog skrivenog sloja, kao i slojevimaizbacivanja nakon svakog skrivenog sloja.

Konkretno, koristicemo arhitekturu sa dva skrivena sloja. Dakle, iduci redom, mreza cesadrzati:

1. Ulazni sloj. Ovaj sloj ima 2k+ 1 neurona, a vrednost svakog je zapravo indeks reci urecniku. k je sirina konteksta pre i posle centralne reci. U eksperimentima u sledecempotpoglavlju uzimacemo k = 2.

2. Sloj ugradivanja, koji predstavlja nista drugo do matricu ugradnje koju indeksirajuvrednosti iz ulaznog sloja. Pri svakom trening primeru, citaju se odgovarajuci redovi izove matrice, propagira signal unapred, izracuna i propagira greska unazad i koriguju sevrednosti u odgovarajucem redu matrice. Red matrice je transponovani vektor kojimje predstavljena rec u vektorskom prostoru.

3. Prvi skriveni sloj, sa nekoliko stotina skrivenih neurona. O uticaju broja neuronana uspesnost klasifikacije bice reci kasnije u ovom poglavlju.

4. Prvi sloj izbacivanja, koji zapravo predstavlja vektor slucajnih promenljivih uzorko-vanih iz Bernulijeve raspodele sa verovatnocom p, koja je parametar mreze. U eksper-imentima cemo koristiti p = 0.5

5. Drugi skriveni sloj. Isti po arhitekturi kao prvi skriveni sloj, ali u opstem slucajusa razlicitim brojem neurona.

6. Drugi sloj izbacivanja. Potpuno isti kao prvi sloj izbacivanja.

7. Izlazni softmax sloj. Ovaj sloj ima dva neurona cije vrednosti u sumi daju 1, apredstavljaju verovatnocu da je ulazna sekvenca deo modela jezika ili nije deo modelajezika.

22

Page 24: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Implementacija i rezultati 23

Slika 4.1: Arhitektura neuronske mreze koriscene u ovom radu, gde su slojevi 3-6 predstavl-jeni jednim skrivenim slojem.

4.2 Korpusi

Testiranje gorepomenute arhitekture bice vrseno na dvama korpusima.

• Korpus 1: Korpus na engleskom jeziku, netehnicke prirode. Sadrzi oko 11 miliona reciteksta, od toga oko 140 hiljada jedinstvenih. Korpus je ociscen od znakova interpunkcijei dekapitalizovan. Izbacene su reci koje se pojavljuju manje od 100 puta. Nakon oveobrade, ostaje vokabular sa oko 9 hiljada reci.

• Korpus 2: Korpus na holandskom jeziku, tehnicke prirode, sacinjen od ponuda za posaoi biografija. Sadrzi oko 33 miliona reci teksta, od toga oko 700 hiljada jedinstvenih.Korpus je ociscen na isti nacin kao i Korpus 1, i izbacene su reci koje se pojavljujumanje od 100 puta. Nakon ovoga, ostao je vokabular od oko 33 hiljada reci.

4.3 Pregled alata dubokog ucenja

CUDA je u trenutku pisanja ovog rada srz svakog softvera dubokog ucenja. CUDA jeparalelna platforma za izracunavanja i API razvijena od strane najveceg svetskog proizvodacagrafickih kartica, NVIDIA-e. Ova platforma omogucava inzenjerima softvera i istrazivacimada koriste graficke procesore koji podrzavaju CUDA-u (u sustini svi graficki procesori proizve-deni od strane NVIDIA-e nakon 2006. godine) za procesiranja opste namene. CUDA je slojsoftvera koji daje direktan pristup virtuelnim instrukcijama grafickog procesora.

CUDA platforma je dizajnirana tako da radi sa programskim jezicima C, C++ i Fortran,sto je vrlo zgodno, s obzirom da je za koriscenje prethodnih API resenja kao sto su Di-rect3D i OpenGL bilo potrebno napredno znanje grafickog programiranja. CUDA podrzavaprogramske okvire (eng. framework) kao sto su OpenACC i OpenCL.

CUDA je zapravo podrska svim najcesce koriscenim softverskim resenjima kao sto suCaffe, Torch i Theano, koji ce biti opisani u nastavku ovog potpoglavlja.

Page 25: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Implementacija i rezultati 24

Caffe [19] je razvijen u Centru za kompjuterski vid i masinsko ucenje na Berkliju. Pred-stavlja brzu i lako citljivu implementaciju konvolucionih mreza u C++ programskom jeziku.Ovo softversko resenje moze da procesira preko 60 miliona slika dnevno na jednom jedinomNVIDIA K40 procesoru. Moze se koristiti samo za procesiranje slika, i tu je jako dobar, alije neprimenljiv za ostale zadatke kao sto su procesiranje teksta ili govora.

Torch je alat koji je napisan u programskom jeziku Lua, a koristi se na Njujorskomuniverzitetu, u Fejsbukovoj laboratoriji za vestacku inteligenciju i u Guglovoj kompanijiDeepMind. Torch pruza okruzenje slicno MATLAB-ovom.

Theano [20] [21] je razvijen na Univerzitetu u Montrealu. Predstavlja Python bib-lioteku, a moze se posmatrati i kao kompajler matematickih izraza. Veoma je dobar zarazvoj algoritama masinskog ucenja ispocetka, za razliku od alata Caffe i Torch. Zbog svojeuniverzalnosti i zbog toga sto je ovo softver nizeg nivoa (eng. lower level), pomocu Theano-akreirano je vise Python biblioteka koje su bazirane na njemu, ali pruzaju specificnije namenei citljiviji kod, kao i lakse prototipovanje specificnih algoritama masinskog ucenja. Dva jakodobra primera ovakvih alata su Lasagne i Keras [18], oba specijalizovana za rad sa dubokimneuronskim mrezama. Za sve eksperimente u ovom radu, koriscena je biblioteka Keras.

4.3.1 Python biblioteka Keras

Keras je minimalisticka, visoko modularna Python biblioteka za neuronske mreze. Kerasispod haube koristi Theano za visoko optimizovane operacije sa tenzorima na grafickom icentralnom procesoru. Razvijen je sa fokusom na brzom prototipovanju i eksperimentisanju.

Keras ima cetiri osnovna principa:

• Modularnost: primera radi, slojevi neuronske mreze, optimizacione kriterijumske funkcije,algoritmi optimizacije, seme inicijalizacije, aktivacione funkcije, seme regularizacije,itd. su sve primeri modula u Kerasu i mogu se kombinovati uz minimalna ogranicenja.

• Minimalizam: Svaki modul je kratak i lako citljiv.

• Laka prosirivost: Novi moduli se dodaju veoma lako. Primera radi, sloj ugradivanjakoriscen u ovom radu je dodat svega mesec dana pre pocetka pisanja rada i vec jeveoma koriscen.

• Sve je u Python kodu: Nema konfiguracionih fajlova u deklarativnom formatu, kaou Caffe-u ili PyLearn-u. Modeli su opisani u Python kodu koji je kompaktan, lak zadebagiranje i prosirivanje.

4.4 Rezultati

U ovom poglavlju analiziracemo uspesnost resavanja problema modela jezika, brzinutreniranja i resavanje problema pretreniravanja, kao i, najbitnije, kvalitet ugradivanja reciengleskog (Korpus 1) i holandskog (Korpus 2) jezika u latentni vektorski prostor.

Primarni problem je slican predikciji sledece reci na osnovu n-grama. Radi se o prob-lemu klasifikacije i tu cemo analizirati parametre kao sto su preciznost na trening skupu i uvalidaciji. Pokazacemo kako razlicite velicine mreze i dimenzionalnosti ugradivanja uticu nakvalitet klasifikacije.

Page 26: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Implementacija i rezultati 25

Usputni, ali znacajniji, problem ugradivanja reci u latentni vektorski prostor je primerproblema izdvajanja karakteristika (eng. feature extraction). Uspesnost ovog zadatka cemoproveriti na dva nacina - prikazujuci najslicnije reci za nekoliko primera reci, kao u [1],kao i crtajuci reci u 2D ravni koristeci t-SNE algoritam [23]. Ovo je algoritam redukcijedimenzionalnosti koji ce nam pomoci da vizuelno ocenimo kvalitet grupisanja semantickislicnih reci.

4.4.1 Brzina konvergencije

U ovom delu analize rezultata dacemo kratak pregled brzine konvergencije i konacneuspesnosti klasifikacije zadatka modela jezika na korpusima 1 i 2. Rezultati su prikazanina graficima 4.2 i 4.3. Na x osi nalaze se redni brojevi epoha treniranja, dok vrednost nay osi predstavlja tacnost klasifikacije. Tacnost klasifikacije je udeo korektno klasifikovanihkonteksta u delu podataka koriscenom za testiranje modela.

Slika 4.2: Brzina konvergencije neuronske mreze sa dva skrivena i dva sloja izbacivanja naKorpusu 1.

Vidimo da se konvergencija postize nakon vrlo malog broja epoha, a i vremenski veomabrzo, s obzirom da se izracunavanja vrse na grafickom procesoru. U narednim potpoglavljimaanaliziracemo uticaj velicine mreze i slojeva izbacivanja na brzinu i kvalitet konvergencije.

4.4.2 Optimalna velicina mreze

Jedno od pitanja koje nema definitivan odgovor kada god se radi sa neuronskim mrezamaje velicina mreze. Drugim recima, pitanje je koliko skrivenih neurona staviti kako bi se izbal-ansiralo izmedu dobrih performansi na trening delu podataka i dovoljno dobre generalizacije.Sustina ove dileme lezi u balansiranju izmedu pretreniravanja (eng. overfit) i podtreniravanja(eng. underfit). Ova dilema je poznata kao bias-variance dilema.

Naime, ukoliko skrivenim slojevima dodelimo previse neurona (u opstem slucaju akoimamo previse kompleksan model), tada ce model veoma dobro nauciti podatke koje jevideo u skupu za treniranje, ali ce varijansa biti prevelika. Drugim recima, model ce sum

Page 27: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Implementacija i rezultati 26

Slika 4.3: Brzina konvergencije neuronske mreze sa dva skrivena i dva sloja izbacivanja naKorpusu 2.

smatrati signalom. S druge strane, previse jednostavan model (u nasem slucaju premaloneurona u skrivenim slojevima) nije u stanju da nauci sve zakonitosti koje vladaju u skupukoji mu je dodeljen.

Kako bismo resili taj problem za Korpuse 1 i 2, probacemo nekoliko razlicitih velicinamreza i naci onu optimalnu. Verujemo da je optimalna velicina mreze u odredenoj meriinvarijantna za korpuse istih ili slicnih jezika, slicne tematike i velicine recnika, tako daverujemo da ce zakljucci ovog potpoglavlja pomoci citaocu u narednim eksperimentima.

Tabela 4.1 daje rezultate za nekoliko velicina skrivenih slojeva na korpusima 1 i 2.

Arhitektura mreze Tacnost [Korpus 1] Tacnost [Korpus 2]100− 50− 10− 2 89.63% 95.33%100− 100− 20− 2 90.51% 95.57%100− 200− 50− 2 91.13% 95.80%100− 500− 200− 2 91.83% 95.97%

100− 1000− 1000− 2 92.19% 96.05%

Tabela 4.1: Uspesnost klasifikacije sa mrezama razlicitih velicina.

Ova tabela nam pokazuje zasicenje kod mreze sa 1000 neurona u skrivenim slojevima.Svako povecavanje velicine skrivenih slojeva iznad tih okvira znacajno povecava vreme treni-ranja mreze, a ne dovodi do boljeg kvaliteta klasifikacije, te ovaj broj mozemo smatratipreporucenim.

4.4.3 Uticaj sloja izbacivanja

Osnovna svrha sloja izbacivanja je sprecavanje pojave pretreniravanja. Kako bismoproverili ovu tvrdnju, uporedicemo rezultate iz epohe u epohu u mrezama sa i bez slojevaizbacivanja. Rezultati su prikazani na grafiku 4.4.

Page 28: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Implementacija i rezultati 27

Slika 4.4: Uticaj sloja izbacivanja na brzinu i kvalitet konvergencije i neutralisanje pretreni-ravanja.

Sa ovog grafika se jasno vidi uticaj sloja izbacivanja. On utice upravo onako kako se ipretpostavlja. Naime, konvergencija je sporija i kvalitetnija, a generalizacija je bolja zah-valjujuci tome sto se u treniranju izbegava to da jedan neuron bude sam odgovoran za nekeprimere, s obzirom na to da pristustvo neurona nije garantovano. U nasem konkretnomslucaju, maksimalna tacnost klasifikacije je u velikoj meri ista sa i bez sloja izbacivanja, alise u slucaju bez sloja izbacivanja mora koristiti neka druga tehnika odredivanja kada dase treniranje zaustavi. U suprotnom, vrlo lako moze doci do pretreniravanja i do gubitkatacnosti u testu. Treba napomenuti da postoje i mnoge situacije u kojima mreza sa slojevimaizbacivanja postize znacajno bolje rezultate u testu.

Intellectual France Dissapeared Emphasize JohnIdeological Italy Traveled Assure Paul

Artistic Europe Arose Interpret JamesCultural Japan Emerged Illustrate Robert

Constitutional Spain Originated Appreciate DavidSpiritual India Existed Pursue GeorgeCriminal Germany Survived Dismiss Richard

Emotional Rome Positioned Reject MichaelMonetary Canada Depicted Deny Peter

Journalistic Britain Acted Acknowledge WilliamDiplomatic Cuba Devised Solve Charles

Tabela 4.2: Nekoliko primera, na osnovu sloja ugradivanja odredenih, semanticki najslicnijihreci.

4.4.4 Ugradivanje reci za razlicite dimenzionalnosti

Najvazniji problem ovog master rada je ugradivanje reci u latentni visokodimenzionivektorski prostor. U ovom potpoglavlju prikazacemo nekoliko primera semanticki slicnih reci,

Page 29: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Implementacija i rezultati 28

kao u [1], kao i 2D predstavu reci nakon primene t-SNE algoritma redukcije dimenzionalnostikoja moze biti veoma dobar nacin vizuelne ocene kvaliteta predstave. Prikazacemo samo reciiz engleskog korpusa - Korpusa 1.

U tabeli 4.2 nalaze se primeri reci sa recima koje je neuronska mreza oznacila kao se-manticki najslicnije. Vidimo da je kvalitet ugradivanja veoma dobar i da su navedene recizaista veoma semanticki slicne.

Koriscenjem t-SNE algoritma redukcije dimenzionalnosti [23], mozemo dobiti veoma lepu2D predstavu celog engleskog jezika izgradenu na osnovu korpusa koriscenog za treniranjeneuronske mreze. Ovakva predstava predstavlja veoma dobar nacin kvalitativne evaluacijesemantickih slicnosti medu recima - slicne reci moraju biti veoma blizu jedne drugima upomenutom 2D prikazu. Na grafiku 4.7 mozemo videti najcesce reci u engleskom jeziku, igde se one nalaze. Na graficima 4.5 i 4.6 ispod, uvecani su, u svrhe demonstracije kvalitetaugradivanja, odredeni delovi 2D prostora u kojem su reci predstavljene.

Slika 4.5: Uvecani delovi 2D prostora popunjenog recima. Levo mozemo videti prilogegrupisane jedne blizu drugih, dok su desno uglavnom glagoli u proslom vremenu.

Slika 4.6: Uvecani delovi 2D prostora popunjenog recima. Levo su bioloski elementi, a desnoclanovi rodbine i neka zanimanja.

Page 30: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Implementacija i rezultati 29

Slika 4.7: Prikaz celog 2D prostora popunjenog recima.

Na ovih nekoliko grafika moze se videti samo delic celog engleskog jezika prikazanog u2D prostoru, ali moze se steci utisak veoma dobre reprezentacije.

Page 31: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Glava 5

Zakljucak

U ovom radu je predstavljena i implementirana duboka neuronska arhitektura za resavanjeproblema klasifikacije modela jezika, cija je glavna namena ugradivanje reci u latentni vi-sokodimenzionalni vektorski prostor u kome se odreduje njihova semanticka slicnost. Imple-mentacija je izvrsena u programskom jeziku Python, koristeci biblioteku Keras koja ispodhaube koristi programski jezik CUDA za brza matricna izracunavanja na grafickom proce-soru.

Na kraju rada su predstavljeni rezultati ove neuronske arhitekture na problemu mod-ela jezika, kao i ugradivanja reci u latentni vektorski prostor. Ugradivanje je predstavl-jeno pomocu 2D prikaza nakon redukcije dimenzionalnosti reprezentacije t-SNE algoritmom,takode implementiranog u Pythonu.

Rezultati ovog sistema su jako dobri, kako u resavanju problema modela jezika, tako iu odredivanju semanticki slicnih reci, sto se vidi u primerima u cetvrtom poglavlju. Ovainformacija se kasnije moze koristiti kako bi znacajno poboljsala performanse algoritamamasinskog ucenja koji imaju problema sa retkoscu reprezentacije reci.

Za dalje istrazivanje koriscenja dubokih arhitektura neuronskih mreza za odredivanjesemanticki slicnih reci, mogu se probati rekurentne neuronske mreze (RNN), kao i au-toenkoderi. Imajuci u vidu jako dobre rezultate koriscenjem relativno jednostavne arhitek-ture, postoji prostor za verovanje da i ove dve vrste neuronskih mreza imaju potencijal zadobre rezultate u resavanju navedenog problema.

30

Page 32: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Literatura

[1] R. Collobert, J. Weston, A unified architecture for natural language processing: Deep neuralnetworks with multitask learning, Proceedings of the 25th international conference on Machinelearning. ACM, 2008.

[2] E. Charniak, Statistical techniques for natural language parsing, AI magazine 18.4 (1997): 33.

[3] S. J. DeRose, Grammatical category disambiguation by statistical optimization ComputationalLinguistics 14(1) (1988): 3139.

[4] K. W. Church, A stochastic parts program and noun phrase parser for unrestricted text, ANLC:Proceedings of the second conference on Applied natural language processing. Association forComputational Linguistics Stroudsburg, PA (1988)

[5] A. Mikheev, C. Grover, M. Moens, Description of the LTG system used for MUC-7, Proceed-ings of the Seventh Message Understanding Conference (MUC-7). Fairfax, Virginia. (1998)

[6] M. Palmer, D. Gildea, P. Kingsbury, The proposition bank: An annotated corpus of semanticroles, Comput. Linguist., 31, (2005) 71106.

[7] D. Okanohara, J. Tsujii, A discriminative language model with pseudo-negative samples, Pro-ceedings of the 45th Annual Meeting of the ACL (2005), 7380

[8] J. Uszkoreit, T. Brants, Distributed Word Clustering for Large Scale Class-Based LanguageModeling in Machine Translation, ACL (2008)

[9] P. F. Brown, P. V. deSouza, R. L. Mercer, V. J. Della Pietra, J. C. Lai, Class-based n-grammodels of natural language, Computational Linguistics 18 (4) (1992)

[10] P. Kanerva, J. Kristofersson; A. Holst, Random Indexing of text samples for Latent SemanticAnalysis, Proceedings of the 22nd annual conference of the cognitive science society. NewJersey: Erlbaum (2000)

[11] R. Hecht-Nielsen, Context vectors; general purpose approximate meaning representations self-organized from raw data, In Zurada, J. M.; R. J. Marks; C. J. Robinson; Computationalintelligence: imitating life. IEEE Press (1994)

[12] W. B. Johnson, J. Lindenstrauss Extensions to Lipshitz mapping into Hilbert space Contem-porary mathematics. 26 (1984)

[13] M. Sahlgren, An introduction to random indexing, Methods and applications of semantic index-ing workshop at the 7th international conference on terminology and knowledge engineering,TKE. Vol. 5. (2005)

[14] R. Johnson, T. Zhang. Effective use of word order for text categorization with convolutionalneural networks, arXiv preprint arXiv:1412.1058 (2014).

31

Page 33: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

LITERATURA 32

[15] D. R. Pillai, P. Nandakumar, Crowd behavior Analysis Using 3d Convolutional Neural Network

[16] N. Srivastava et al, Dropout: A simple way to prevent neural networks from overfitting, TheJournal of Machine Learning Research 15.1 (2014): 1929-1958.

[17] Y. Bengio, et al. A neural probabilistic language model. The Journal of Machine LearningResearch 3 (2003): 1137-1155.

[18] F. Chollet, Keras, GitHub repository, https://github.com/fchollet/keras (2015)

[19] Y. Jia, et al, Caffe: Convolutional architecture for fast feature embedding., Proceedings of theACM International Conference on Multimedia. ACM, (2014)

[20] F. Bastien, P. Lamblin, R. Pascanu, J. Bergstra, I. Goodfellow, A. Bergeron, N. Bouchard,D. Warde-Farley, Y. Bengio, Theano: new features and speed improvements, NIPS 2012 deeplearning workshop (2012)

[21] J. Bergstra, O. Breuleux, F. Bastien, P. Lamblin, R. Pascanu, G. Desjardins, J. Turian, D.Warde-Farley, Y. Bengio, Theano: A CPU and GPU Math Expression Compiler, Proceedingsof the Python for Scientific Computing Conference (SciPy) (2010)

[22] K. Fukushima Neocognitron: A self-organizing neural network model for a mechanism of patternrecognition unaffected by shift in position Biological cybernetics 36.4 (1980): 193-202.

[23] L. Van der Maaten, G. Hinton, Visualizing data using t-SNE, Journal of Machine LearningResearch 9.2579-2605 (2008): 85.

[24] I. Sutskever et al, On the importance of initialization and momentum in deep learning, Pro-ceedings of the 30th international conference on machine learning (ICML-13) (2013)

[25] R. Xu, D. Wunsch, Clustering, IEEE Press (2008)

[26] J. Rennie, N. Srebro, Loss Functions for Preference Levels: Regression with Discrete OrderedLabels, Proc. IJCAI Multidisciplinary Workshop on Advances in Preference Handling (2005)

[27] T. Zhang, Solving large scale linear prediction problems using stochastic gradient descent al-gorithms, ICML (2004)

Page 34: U cenje vektorske reprezentacije re ci govornog jezika ...unarske... · latentni vektorski prostor pomo cu duboke neuronske mre ze, a koji je glavna tema ovog rada. Cetvrto poglavlje

Biografija

Nenad Zivic je roden 27.12.1991. godine u Nisu, Republika Srbija. Zavrsio je osnovnuskolu Ucitelj Tasa kao nosilac Vukove diplome. Nakon toga, zavrsio je Specijalizovano odel-jenje za ucenike sa posobnim sposobnostima za fiziku i prirodne nauke u Gimnaziji SvetozarMarkovic, takode kao nosilac Vukove diplome.

Skolske 2006/2007. godine upisao je osnovne studije informatike na Departmanu za infor-matiku, Prirodno-matematickog fakulteta u Nisu, koje je zavrsio skolske 2008/209. godinesa prosecnom ocenom 10,00. Skolske 2013/2014. godine upisao je master akademske studijena Departmanu za racunarske nauke, Prirodno-matematickog fakulteta u Nisu, studijskiprogram: informatika. Master akademske studije zavrsio je skolske 2014/2015. godine saprosecnom ocenom 10,00.

Tokom osnovnog i srednjeg obrazovanja veoma uspesno takmicio se iz oblasti fizike imatematike, i osvojio brojne nagrade na takmicenjima opstinskog, okruznog, republickogi medunarodnog nivoa. Medu njima se mogu izdvojiti dve druge nagrade na republickimtakmicenjima iz fizike, prva nagrada na Srpskoj Fizickoj Olimpijadi, kao i dve druge nagradena medunarodnom takmicenju iz fizike koje se odrzava u Rumuniji. Ucestvovao je i natakmicenjima u programiranju, kao sto je Bubble Cup i ACM Programming Contest.

Dobitnik je Konstantinove stipendije kao najbolji student Prirodno matematickog fakul-teta u Nisu za skolsku 2013/2014 godinu.

Autor je naucnog rada u casopisu kategorije M51:

• M. Petkovic, N. Zivic, The Fekete problem and construction of the spherical coverage bycones, Facta universitatis-series: Mathematics and Informatics 28.4 (2013): 393-402.

33