Blog

cBot i prvo poglavlje umjetne inteligencije – chatbotovi napadaju

Razvili smo platformu koja je jako dobra u kreiranju botova koji dobro “pričaju” naš jezik, no istovremeno dovoljno modularna da ju je lako nadograditi da prepoznaje i strane jezike.
Objavljeno 13.12.2017.

Više se desetljeća priča o umjetnoj inteligenciji i bojazni od Skyneta, no krajnji korisnici u Hrvatskoj tek su nedavno (i zasad sramežljivo) došli u doticaj sa Sirijem, Google Assistantom ili Cortanom. I to uglavnom na engleskom jeziku. Zbog malenog tržišta nije za očekivati da će veliki igrači ulagati znatna sredstva u razvoj za naš jezik, mada već postoji određena podrška za standardne jezike “malih” zemalja, u koje spada i Hrvatska. Tu smo uočili našu priliku – razviti platformu koja je jako dobra u kreiranju botova koji dobro “pričaju” naš jezik, no istovremeno dovoljno modularna da ju je lako nadograditi da prepoznaje i strane jezike. I tako je nastao CROZ-ov vlastiti cBot.

Pogledajte video ili pročitajte tekst u nastavku.


Osnovni pojmovi i način rada:

Intent je korisnička želja/cilj/namjera.

Bot se trenira korisničkoj namjeri ubacivanjem primjera iz kojih se intent može “pročitati”.

Bot shvaća želju (intent) pomoću dijaloga, tj. stabla konverzacije koje definira tijek razgovora.

Bot dohvaća entitet koji želi promijeniti.

Što je NLP i strojno učenje (Machine learning) i zašto je sad postao toliko interesantan?

Do razvoja strojnog učenja ponašanje aplikacija se moralo eksplicitno isprogramirati, ali sad računalo može samo automatski stjecati znanja o apstraktnim konceptima ili načinima rješavanja problema kroz primjere kao što to čine ljudi. Natural Language Processing, tj. NLP, koristi metode strojnog učenja za analizu i procesiranje jezika. IBM-ov Watson vjerojatno je najpoznatiji primjer, koji je otišao toliko daleko da je pobijedio na američkoj verziji Izazova (engl. Jeopardy).

Kako zapravo radi NLP i chatbot?

Rečenicu koju unese korisnik u chat klasificiramo u jednu od predefiniranih grupa namjera. Na taj način prepoznajemo koja je korisnikova namjera (tj. intent) i što on točno želi (npr. pronaći poslovnicu, platiti račun, saznati koju tarifu koristi). Daljnjom analizom teksta prepoznajemo entitete – na koga ili što se odnosi ta njegova namjera. Dok chatbot osigurava navigaciju kroz dijalog, NLP se brine za pronalaženje namjere u vektorskoj matrici, učenje novih rečenica, pa sve do jednostavnijih stvari poput ispravljanja gramatičkih grešaka ili otkrivanja padeža.

Valja naglasiti da postoje dvije razine na kojima se osigurava prepoznavanje riječi ili rečenice. Prva je u samom srcu platforme, tj. neuronskoj mreži NLP-a, a druga nastaje ručnim treniranjem cBota kako bi na pravilan način upotrijebio već skupljeno znanje na NLP-u. Najjednostavniji primjer jest dolazni pozdrav. Ukoliko za definiranu namjeru (intent) “dolazni pozdrav” botu za primjere stavimo 3 fraze – “Bok prijatelju”, “Jutro”, “Lijep pozdrav”, cBot će kao pozdrav prepoznati i “Dobra večer” jer je NLP prepoznao da se radi o istoj (ili sličnoj) korisničkoj namjeri kao i za prve 3 spomenute fraze.

A koliko dobro razumije hrvatski jezik i ima li mogućnost dodavanja drugih jezika?

Velika prednost platforme jest što već godinama radimo na proizvodu koji se zove Sentimenter, a čiji je cilj detekcija emocije korisnika na društvenim mrežama. Stoga smo bili primorani razviti NLP matricu koja jako dobro zna dijalekt, sleng i ostale oblike komunikacije, poput pisanja u CAPS LOCK-u, smajlića ili ostavljanja više uskličnika, a sve kako bismo bili sigurni da smo dobro odredili korisničku namjeru. To nam je dalo jako veliku bazu znanja i za cBot projekt te stoga možemo reći da imamo izvrsne temelje koji osiguravaju da naš bot razumije i druge načine pisanja osim standardnog hrvatskog jezika.

Istovremeno, aplikacija je dovoljno skalabilna da se lako i uz malo truda mogu dodati i drugi jezici.

Na koje se načine mogu povezati s chatbotom i gdje ga sve mogu upotrijebiti?

U ovom se trenutku naš chatbot može povezati s Facebook messengerom, no platforma se može povezati s bilo kojim sustavom (npr. Whatsapp, Viber ili custom integracija sa sustavom korisnika) i mogućnost primjene vrlo je široka. Od zanimljivijih primjena moguće je izdvojiti napredni FAQ ili zamjenu za podršku korisnicima gdje se ostvaruju direktne uštede te klasifikaciju korisničkih mailova, navigaciju kroz paletu proizvoda ili internetsko bankarstvo.

Koje su prednosti CROZ-ova cBota u odnosu na slična rješenja?

cBot platforma je modularna i za temelj ima izvrsne mogućnosti NLP-a kojeg smo godinama “trenirali” hrvatski jezik, kao i chatbota koji pamti kontekst sa svakim korisnikom te uči korisničke namjere kako bi vodio kompleksne dijaloge. Sučelje za administraciju omogućava nam definiranje korisničkih želja i stabla dijaloga te mogućnost integracije s različitim platformama.

Tagovi:
Povratak