Umetna inteligenca | Programski pogovorni pomočniki
Novi način komuniciranja in avtomatizacije
Programski pogovorni pomočniki ali chatboti, ki temeljijo na umetni inteligenci (UI), so v zadnjih mesecih postali že skoraj stalnica vsakdanjega življenja in poslovnega okolja.
Ključna sposobnost pogovornih pomočnikov je, da razumejo in obdelujejo naravni jezik, kar odpira privlačnost rabe za široke množice, hkrati pa omogoča poenostavitev, pohitritev ali avtomatizacijo številnih nalog, kar prinaša številne prednosti tako za posameznike kot za podjetja. Toda kaj je v ozadju delovanja delovanje teh chatbotov? Kako jih lahko uporabljamo v vsakdanjem življenju in poslovanju ter tudi kakšne so njihove omejitve?
Čeprav predvidevamo, da bodo robotski programi, kot so današnji chatboti, v prihodnje znali komunicirati z uporabniki na različne načine, med drugim z razpoznavo govora in celo računalniških vidom, trenutna stopnja razvoja temelji pretežno na tekstovni komunikaciji. Pa še ti so omejeni, saj (še) ne znajo interpretirati slik ali diagramov v dokumentih. Nekoliko bolje je pri generiranju slikovnega gradiva na podlagi opisov, a ti rezultati so velikokrat nenavadni, celo bizarni. Predvidevamo pa, da se bo to razmeroma hitro spremenilo v smeri tega, kar pričakujemo uporabniki.
Tehnično gledano so chatboti programski roboti, ki temeljijo na umetni inteligenci, in pri tem združujejo več naprednih tehnologij. Ena ključnih je naravno jezikovno procesiranje (NLP), ki jim omogoča razumevanje in obdelavo človeškega jezika. NLP uporablja algoritme, ki analizirajo jezikovne vzorce, prepoznavajo ključne besede in sintakso ter razumejo kontekst pogovorov. Tako lahko chatboti razumejo vprašanja in generirajo smiselne odgovore.
Poleg NLP je pomemben del tehnologije za chatbote strojno učenje (ML). To jim omogoča, da se učijo iz podatkov in izboljšujejo svoje odgovore s časom. Algoritmi strojnega učenja analizirajo pretekle interakcije in prilagajajo svoje odzive glede na pridobljene izkušnje. To pomeni, da postanejo chatboti natančnejši in učinkovitejši pri svojih nalogah.
V Sloveniji je obetaven projekt SloLlama, ki poteka v sodelovanju raziskovalnih institucij in zasebnih podjetij. Žal bo treba na dokončne rezultate počakati do leta 2025.
Globoko učenje je še ena ključna tehnologija, ki podpira njihove napredne zmogljivosti. Tehnike globokega učenja, zlasti nevronske mreže, omogočajo razumevanje kompleksnih jezikovnih vzorcev in generiranje naravnih odgovorov. Globoko učenje omogoča tudi prepoznavanje vzorcev v velikih količinah podatkov, kar izboljšuje sposobnost chatbotov za razumevanje različnih vrst poizvedb in njihovo odzivanje nanje.
Zaradi tega se običajno zelo dobro znajdejo pri razumevanju in odgovarjanju v različnih jezikih, je pa to zelo odvisno od učnega materiala, ki je bil uporabljen pri začetnem urjenju jezikovnega modela (LLM), ki ga uporablja posamezni chatbot. Nobena skrivnost ni, da velika večina sloni na učnem gradivu v angleškem jeziku (med 80 in 90 odstotki gradiva), vsi ostali jeziki pa imajo skromnejšo podlago.
To je tudi razlog, da številne države, ki uporabljajo manjše jezike, pospešeno razvijajo lastne različice jezikovnih modelov LLM, ki bi bolje podpirali interakcijo v matičnem jeziku. V Sloveniji je to obetaven projekt SloLlama, ki poteka v sodelovanju raziskovalnih institucij (Fakulteta za računalništvo in informatiko, ZRC SAZU, Inštitut za novejšo zgodovino) in zasebnih podjetij (Semantika, XLAB , Vitasis, Better, Špica International). Žal bo treba na dokončne rezultate počakati do leta 2025.
Slovenščino med sedanjimi chatboti najbolje obvlada prav najbolj razširjeni ChatGPT. Konkurenca zmore opazno manj, zlasti ko gre za pomočnike, ki so vgrajeni kot del drugih rešitev, denimo pisarniških programov (Copilot, Gemini). Zanimivo bo spremljati, koliko se bodo za male jezike potrudili podpreti velikani, ki obvladujejo nastajajoči trg jezikovnih modelov. Pričakujemo, da se bodo nekateri povezali z drugimi projekti, prav zato, da bi zapolnili tovrstne vrzeli.
ChatGPT ima od velikih jezikovnih modelov najboljšo podporo za slovenščino.
Če se vrnemo k uporabljenim tehnologijam, ne smemo pozabiti sistemov za obdelavo velike količine podatkov (Big Data). Chatboti obdelujejo ogromne količine podatkov, da prepoznajo vzorce in trende v uporabniških interakcijah. Ti podatki vključujejo zgodovino pogovorov, vedenje uporabnikov in druge pomembne informacije, ki pomagajo chatbotom pri izboljšanju njihovih odgovorov in prilagajanju specifičnim potrebam uporabnikov. Njihovo urjenje je še vedno časovno in procesno najzahtevnejša naloga, zato se tovrstnih nalog večinoma lotijo le veliki podatkovni centri.
Za splošne in posebne potrebe
Ponudba različnih chatbotov, ki temeljijo na umetni inteligenci in jezikovnih modelih LLM, je zelo široka in pestra. V ospredju so izdelki velikih ponudnikov, na prvem mestu ChatGPT, za katerim stoji družba OpenAI. Zelo razširjena sta tudi Gemini, ki ga ponuja Google, in predvsem Microsoftov Copilot. Ta v večji meri temelji na tehnologiji družbe OpenAI, kjer ima Microsoft lastniški delež, res pa je, da pri Microsoftu razvijajo tudi povsem izvirne, lastne jezikovne modele.
Microsoft svojega umetnointeligenčnega pomočnika umešča skoraj v vsak svoj program, obenem pa nenehno dodaja nove funkcionalnosti.
S tem pa se seznam chatobotov niti približno ne ustavi. Praktično vsak večji ponudnik jezikovnih modelov premore namreč svojega. Anthropic ima Claude, Mistral Le Chat in tako dalje. Ti so pogosto osnova za manjše specializirane chatbote. Vedeti moramo, da veliki ponudniki jezikovnih modelov svoje storitve ponujajo prek programskih vmesnikov API, te pa manjši ponudniki uporabijo v svojih programih, ki so dodatno izurjeni in parametrizirani ali pa prilagojeni ozkemu namenu rabe z uporabo tehnike RAG (Retrieval Augmented Generation), ki lahko odgovore chatbota osredotoči na posamezno področje, denimo zdravstvo, pravo, lahko pa zgolj na nabor dokumentov, ki jih uporabljamo kot osnovo za zbir znanja.
Trenutno se vsi proizvajalci zelo trudijo, da bi z manjšimi, specializiranimi chatboti bolje pokrili pričakovanja uporabnikov na posameznem področju ali v posameznem programu. Za primer bomo dali Microsoftov Copilot, ki je le krovno ime za cel kup različnih digitalnih pomočnikov, ti pa se med sabo vsebinsko, pogosto pa tudi tehnološko razlikujejo. Po nedavnem preštevanju ima Microsoft kar okoli 130 chatobotov, ki imajo v imenu besedo Copilot. Vsak program v paketu Microsoft 365 ima svojega, podobna pa velja tudi za skoraj celotno ponudbo programske opreme tega velikana.
Uporaba v vsakdanjem življenju
Chatboti so že postali del vsakdanje rutine za mnoge ljudi. Ena izmed najpogostejših uporab je pomoč strankam. Veliko podjetij jih uporablja za nudenje podpore strankam 24/7, saj lahko hitro odgovorijo na pogosta vprašanja, rešijo osnovne težave in preusmerijo bolj kompleksna vprašanja na človeške agente. To omogoča podjetjem, da izboljšajo svojo storitev za stranke in zmanjšajo čas čakanja na odgovore.
Pri izobraževanju in učenju se chatboti uporabljajo za pomoč študentom, ponujajo dodatne razlage, preverjajo naloge in motivirajo učence. Čeprav se jih da tudi zlorabiti, recimo za pripravo domače naloge, je njihova vrednost v tem, da lahko pomagajo študentom pri iskanju virov, reševanju težav in pripravi na izpite. Prav tako lahko prilagodijo učne metode individualnim potrebam in napredku vsakega študenta. Kljub začetnim zadržkom šole in univerze zdaj začenjajo spodbujati rabo tovrstnih orodij, a na nadzorovan način.
Chatboti seveda lahko pomagajo pri ustvarjanju najrazličnejših vsebin: od preprostega članka, dokumenta, predstavitve do elektronskega sporočila, pomagajo celo pri ustvarjanju pesmi in pripravi besedil za filme. Uporabimo jih lahko za analizo podatkov, popravljanje in izboljševanje besedil, tudi za povzemanje in izluščenje vsebin. Načelno zmorejo (skoraj) vsa ponavljajoča se opravila, ki jih opravljamo ljudje, a neprimerno hitreje, pogosto tudi precej bolj natančno.
Pasti in omejitve
Kljub napredku imajo še vedno nekatere resne omejitve. Eden izmed največjih izzivov je razumevanje kompleksnih poizvedb. Včasih namreč težko razumejo in pravilno odgovorijo na zelo kompleksna ali dvoumna vprašanja. To pomeni, da vedno morda ne bodo mogli nuditi natančnih in ustreznih odgovorov.
Še več, večina chatobotov se trudi, da bi na zastavljena vprašanja vedno dala odgovore, pa čeprav so ti po v končni fazi napačni. Temu pravimo halucinacije. Razlog za tako »obnašanje« leži v načinu delovanja nevronskih mrež, kjer se zaporedja besed zanašajo na verjetnost pojava v znanem vrstnem redu ali kontekstu. Če osnovni model nima dovolj znanja na določeno temo, bo ponudil rezultate z manjšo verjetnostjo, ki pa se na koncu izkažejo za napačne.
Odgovore je zato vedno trema jemati z rezervo in jih preveriti. Razvijalci programske opreme se trudijo, da bi jo znali programsko omejiti pri podajanju nepravilnih rezultatov (boljši je odgovor »ne vem«, kot pa nekaj, kar ni res), vendar je določitev meje, kaj je res in kaj ni, računalniško gledano zelo težko dosegljiva. Seveda pa lahko na kakovost odgovor močno vpliva tudi sam uporabnik. Bodisi na ta način, da ne sprašuje o stvareh, ki jih podatkovni model ne pozna, bodisi vprašanja zastavi zelo natančno in eksplicitno z navodili, kako mora chabot pripraviti odgovor. Trud v tej smeri zna bistveno izboljšati kakovost rezultatov.
Emocionalna inteligenca je še ena omejitev chatbotov. Ti se pogosto soočajo z izzivi pri prepoznavanju in ustreznem odzivanju na čustva uporabnikov. Čeprav lahko prepoznajo osnovna čustva, kot je jeza ali veselje, je njihova sposobnost za razumevanje in obvladovanje subtilnejših čustev omejena. V nekaterih pogledih utegnejo biti tudi pristranski (recimo rasistični), kar je pogosto posledica napačnega ali pa pomanjkljivega učenja, kjer so bili učni primeri pristranski. Pričakujemo pa, da se bo sčasoma, tudi zaradi odziva javnosti, pristranskost jezikovnih modelov, vsaj največjih, zmanjšala.
Kako preveriti pravilnost odgovorov?
Da bi preverili, ali dajejo pravilne in resnične odgovore, je pomembno slediti naslednjim korakom. Vedno je koristno križno preverjanje virov. Preverite informacije, ki jih dobite od chatbotov, z zaupanja vrednimi viri. To vključuje preverjanje podatkov v knjigah, člankih, znanstvenih publikacijah in drugih zanesljivih virih.
Drugi korak je kritično razmišljanje. Uporabljajte lastno znanje in zdravo pamet, da ocenite smiselnost odgovorov. Če se odgovor zdi nenavaden ali nelogičen, je verjetnost, da ni pravilen, velika. V takšnih primerih je smiselno poiskati dodatne informacije ali se posvetovati z drugim virom.
Tretji korak je posredovanje povratnih informacij razvijalcem chatbotov. Če opazite napake v odgovorih, obvestite razvijalce, da bodo lahko izboljšali sistem. Večina chatbotov ima vgrajene mehanizme za zbiranje povratnih informacij, ki omogočajo uporabnikom, da poročajo o težavah in predlagajo izboljšave.
Prihodnost
Zanimanje širše javnosti za pogovorne chatbote na temelju umetne inteligence je ta hip veliko. Skoraj zagotovo pa bo ta novost kmalu prešla v neko fazo, ko bo zanimanje upadlo, in sledila bo faza streznitve. Toda koristnost chatobotov in velikih jezikovnih modelov je tolikšna, da bo tudi po tej fazi njihova uporaba zelo pomembna.
Pričakujemo zato lahko, da bo v prihodnje njihova uporaba postala še bolj razširjena in sofisticirana. Ena izmed največjih novosti bo multimodalnost, ki jim bo zagotovila uporabo različnih načinov komunikacije, vključno z glasom in videom. To bo omogočilo bolj naravno in intuitivno interakcijo med njimi in uporabniki.
Napredna personalizacija bo še ena pomembna novost v prihodnosti chatbotov. Ti bodo lahko bolje razumeli posamezne uporabnike in prilagodili svoje odgovore njihovim preferencam, osebnim naborom podatkov in zgodovini interakcij. To bo izboljšalo uporabniško izkušnjo in povečalo zadovoljstvo uporabe.
Pomembni bosta tudi povezljivost in integracija z drugimi tehnologijami, kot so pametni domovi, avtomobili in prenosne naprave. To bo omogočilo njihovo še večjo uporabnost, zato bodo lahko nudili celovitejše in bolj prilagojene rešitve.