Obrada prirodnog jezika omogućava računarima da razumeju i procesuiraju ljudski govor, pretvarajući ga u komande koje mogu izvršiti. Hajde da istražimo kako to funkcioniše i na koje sve načine se koristi za poboljšanje naših života.
Šta je obrada prirodnog jezika?
Bilo da koristite Alexu, Siri, Google Assistant, Bixby ili Cortanu, gotovo svako sa pametnim telefonom ili zvučnikom danas ima pristup glasovnom asistentu. Čini se da iz godine u godinu ovi asistenti postaju sve bolji u razumevanju i izvršavanju naših zahteva. Ali, da li ste se ikada zapitali kako oni obrađuju naš govor? Odgovor leži u obradi prirodnog jezika, poznatoj i kao NLP (Natural Language Processing).
U prošlosti, softver je uglavnom reagovao samo na jasno definisan skup komandi. Klik na dugme „Otvori“ otvarao bi fajl, dok bi tabela izračunavala formulu na osnovu tačno unetih simbola. Program je komunicirao koristeći programski jezik u kojem je napisan, dajući izlaz kada primi ulaz koji prepoznaje. U ovom kontekstu, reči su bile poput mehaničkih poluga koje uvek daju predvidljiv rezultat.
Međutim, ljudski jezici su kompleksni, nestrukturirani i mogu imati različita značenja u zavisnosti od strukture rečenice, tona, akcenta, vremena, interpunkcije i konteksta. Obrada prirodnog jezika je grana veštačke inteligencije koja ima za cilj da premosti jaz između onoga što mašina prepoznaje kao ulaz i ljudskog jezika. Dakle, kada govorimo ili kucamo na prirodan način, mašina generiše odgovarajući izlaz.
Ovaj proces se zasniva na analizi ogromnih količina podataka kako bi se izvuklo značenje iz različitih elemenata ljudskog jezika, pored samog značenja reči. Blisko je povezan sa konceptom mašinskog učenja, koji omogućava računarima da uče iz sve većeg broja podataka. Upravo zato većina sistema za obradu prirodnog jezika s kojima svakodnevno komuniciramo deluju sve bolje.
Da bismo bolje razumeli ovaj koncept, hajde da pogledamo dve ključne tehnike koje se koriste u NLP-u za obradu jezika i informacija.
Tokenizacija
Tokenizacija je proces razlaganja teksta na pojedinačne reči ili rečenice. Svaki deo teksta postaje token, koji se koristi u daljoj obradi govora. Naizgled jednostavno, ovaj proces je u praksi prilično kompleksan.
Zamislite da koristite softver za pretvaranje govora u tekst, kao što je Google tastatura, da biste poslali poruku prijatelju. Želite da pošaljete poruku „Nađimo se u parku“. Kada vaš telefon snimi govor i obradi ga Google-ovim algoritmom, Google mora da razloži ono što ste rekli na tokene. U ovom slučaju, to bi bili „nađimo“, „se“, „u“, „parku“.
Ljudi prave različite pauze između reči, a neki jezici nemaju čujne pauze između reči. Stoga proces tokenizacije značajno varira između različitih jezika i dijalekata.
Stemovanje i lematizacija
I stemovanje i lematizacija se bave procesom uklanjanja nastavaka ili varijacija reči kako bi se dobio osnovni oblik koji mašina lakše prepoznaje. Ovo se radi kako bi se interpretacija govora učinila doslednijom bez obzira na različite oblike reči koje imaju isto osnovno značenje, čime se ubrzava NLP obrada.
Stemovanje je grub i brz proces koji uključuje uklanjanje afiksa (prefiksa i sufiksa) sa reči. Time se reč svodi na najjednostavniji osnovni oblik, jednostavno uklanjanjem određenih slova. Na primer:
„Hodanje“ se pretvara u „hod“
„Brže“ se pretvara u „brz“
„Ozbiljnost“ se pretvara u „ozbilj“
Kao što vidite, stemovanje ponekad može dovesti do promene značenja reči. „Ozbiljnost“ i „ozbilj“ nemaju isto značenje, ali je sufiks „ost“ uklonjen u procesu stemovanja.
Lematizacija, s druge strane, je sofisticiraniji proces koji svodi reč na njen osnovni oblik, poznat kao lema. Uzima u obzir kontekst reči i način na koji se koristi u rečenici. Takođe, uključuje pretraživanje reči u bazi podataka i pronalaženje odgovarajuće leme. Na primer:
„Jesu“ se pretvara u „biti“
„Operacija“ se pretvara u „operacija“
„Ozbiljnost“ se pretvara u „ozbiljan“
U ovom primeru, lematizacija je uspešno pretvorila „ozbiljnost“ u „ozbiljan“, što je njen osnovni oblik i koren reči.
NLP primeri upotrebe i budućnost
Ovi primeri samo zagrebaju površinu onoga što obrada prirodnog jezika zapravo jeste. Ona obuhvata širok spektar praksi i scenarija upotrebe, od kojih mnoge koristimo svakodnevno. Evo nekoliko primera gde se NLP trenutno koristi:
Prediktivni tekst: Kada kucate poruku na pametnom telefonu, automatski vam se predlažu reči koje se uklapaju u rečenicu ili koje ste ranije koristili.
Mašinsko prevođenje: Široko korišćene usluge prevođenja, kao što je Google prevodilac, koriste napredne NLP tehnike za obradu i prevođenje jezika.
Četbotovi: NLP je osnova za inteligentne četbotove, posebno u korisničkoj podršci, gde mogu da pomognu klijentima i obrade njihove zahteve pre nego što se povežu sa agentom.
Ali to nije sve. NLP se trenutno razvija i primenjuje u oblastima kao što su mediji, medicinska tehnologija, upravljanje radnim mestom i finansije. Postoji mogućnost da ćemo u budućnosti moći da vodimo potpuno sofisticirane razgovore sa robotom.
Ako ste zainteresovani da saznate više o NLP-u, preporučujemo vam da proverite blog Towards Data Science ili Stanford NLP grupu.