S: Máte za sebou naozaj zaujímavú kariéru. Prácou pre Microsoft, Google či Facebook sa naozaj nemôže pochváliť každý. Odrazovým mostíkom pre vašu kariéru bola vaša diplomová práca. Ako vám napadlo, že práve matematiku použijete pri preklade reči? Mne sa zdá, že jazyk je dosť špecifický zdroj na dáta, alebo sa mýlim?
Jazyk bol vedeckou komunitou považovaný za veľmi špecifický zdroj dát, ja som však k nemu, naopak, pristupoval ako k sekvenčným dátam. Vytváral som matematické modely, ktoré je možné použiť nielen pre ľubovoľné jazyky, teda nie iba pre angličtinu, ale aj pre modelovanie iných sekvenčných dát, napríklad reči či videa.
Ako diplomovú prácu som si zobral výskum jazykového modelovania pomocou neurónových sietí v rečovej skupine na brnianskej škole Vysoké učení technické. Najprv sa mi podarilo zlepšiť systémy na rozpoznávanie reči, neskôr počas doktorandského štúdia aj systémy pre strojový preklad. Zlepšenie bolo však natoľko výrazné, že veľká časť vedeckej komunity neverila, že niečo také je vôbec možné. Po takmer polstoročí, keď sa pre jazykové modelovanie používali n-gramové techniky, došlo k revolúcii a prechodu na neurónové modely.
S: Skúste nám to vysvetliť jednoduchšie. Na základe akého princípu fungoval predtým prekladač?
Prvé systémy pre strojový preklad fungovali tak, že expert na dvojici jazykov zostavil ručne nejaký algoritmus, ktorý to preloží. Neskôr sa začali používať štatistické metódy. Môžeme si to ukázať na príklade. Slovo červená je v angličtine red, potom ešte nejaké ďalšie synonymá. Čím viac príkladov, tým lepšie a takto by sme si mohli zostaviť milióny príkladov dvojíc slov medzi dvomi jazykmi. Čím viac príkladov, tým boli štatistické modely presnejšie. Keď budem mať napríklad tisíckrát preložené slovo red a z toho 700-krát je preložené ako červená, tak môžeme povedať, že pravdepodobnosť, že red je červená, je 70 percent. Potom sa tam môže stokrát vyskytnúť slovo rudá, tak tam je napríklad 10-percentná pravdepodobnosť. No na rozdiel od počtu slov v prípade celých viet už je počet nekonečný, takže museli tú vetu rozsekať na nejaké menšie úseky. A tie menšie úseky už boli dostatočne kratšie, aby sa vyskytli v trénovacích dátach. A práve tým išlo o kostrbatý preklad, keď napríklad koncovky slov na seba veľmi nenadväzovali. Roky sa skúmalo, ako to spresniť.
S: Ako funguje vaše zlepšenie?
Slovné vektory sú jednoducho vektory čísel, ktoré predstavujú význam slova. Zrozumiteľnejšie povedané, slovný vektor je rad čísel s reálnou hodnotou, kde každý bod zachytáva význam slova a kde podobné slová majú podobné vektory. To znamená, že slová ako napríklad pondelok a utorok by mali mať podobné slovné vektory ako slovo streda, a to pre podobnosť ich významov. A napríklad slovo auto by mal byť dosť vzdialený vektor. Alebo iný príklad vektor od slova kráľ, ku ktorému pridáme ďalší význam ženskosť, tak vznikne nový vektor slova – kráľ – muž + žena sa približuje k slovu kráľovná. Inak povedané, slová, ktoré sa používajú v podobnom kontexte, budú mapované do blízkeho vektorového priestoru.
S: Niekde som počul, ž...
Zostáva vám 85% na dočítanie.