Vabilo na 31. konferenco Dnevi slovenske informatike 13. – 15. 5. 2024, Hotel Bernardin, Portorož V Slovenskem društvu Informatika nas že vec kot 30 let povezuje strast do informatike. Vabimo vas, da si v svojem koledarju rezervirate in se nam pridružite na 31. konferenci Dnevi slovenske informatike, ki se bo osredotocila na kljucne teme informatike in digitalizacije v Sloveniji in širše. Pridružite se nam, da predsta­vite svoje uspešne projekte, da skupaj razpravljamo o novih tehnologijah, da spoznavamo najnovejše trende ter da se povezujete z vodilnimi strokovnjaki s podrocja informatike zasebnega in javnega sektorja, doma in v tujini. Priložnost sodelovatiimate vsi, ki vas zanimaodmev na vaše rešitve, izkušnje, pristope, strategije, pri­dobljene pri zasnovi, razvoju in uvajanju na informacijskih tehnologijah temeljecih storitev in sistemov. Konferenca DSI 2024 bo potekala v luci rdece niti »Z umetno inteligenco gradimo svet prihodnosti«.V središcu konference bo tako ideja uporabe in vpliva umetne inteligence in z njo povezanimi temami, ki pri­spevajo k napredku Slovenije in postaja kljucno orodje za izboljšanje ucinkovitosti v razlicnih sektorjih, bodisi v zasebnem ali javnem okolju. Povzetke predstavitev vaših rezultatov in dela pricakujemo do vkljucno 17. marca 2023v elektronski ob­liki – vsi podatki glede oddaje so na voljo na https://dsi2024.dsi-konferenca.si/stran/za-avtorje. Avtorji bodo imeli kasneje tudi možnost za objavo v reviji Uporabna informatika. Pri odlocitvi so vam lahko v pomoc spodnje tematike. Seveda pa so dobrodošle tudi druge, za katere oce­njujete, da tematsko sodijo v vsebino: Podatkovna družba Podpora pri odlocanju Podatkovni prostori Digitalizacija izobraževanj in usposabljanj Digitalna in zelena odpornost Izobraževanje in usposabljanje za digitalno družbo Digitalne javne storitve Odprti in dostopni podatki Napredne digitalne tehnologije Tehnologije upravljanja znanja Inovacije v IKT IT v managementu Podatkovna jezera Kibernetska varnost Inteligentne aplikacije Pomembni datumi: 17. marec 2024:Oddaja povzetka 31. marec 2024:Povratna informacija avtorjem 5. maj 2024:Oddaja predstavitev Vec o prispevkih, datumih, priporocilih in ostalih napotkih o sodelovanju s prispevkom, si lahko preberete na strani konference (https://dsi2023.dsi-konferenca.si/). Že sedaj pa v svojem koledarju rezervirajte termin konference, ki bo potekala med 13. in 15. majem 2024 v Hotelu Bernardin v Portorožu. Vašega sodelovanja in srecanja z vami se veselimo! Slovensko društvo INFORMATIKA UPORABNA INFORMATIKA 2023 ŠTEVILKA 4 OKT/NOV/DEC LETNIK XXXI ISSN 1318-1882 Znanstveni prispevki Miha Frangež, Matevž Pesek Nacrtovalnik poti za javni potniški promet in storitve mikromobilnosti 171 Živa Hudobivnik, Maja Savinek, Marina Trkman Uporaba pogovornega robota za podporo intranetu: primer Elektro Ljubljana 179 Kratki znanstveni prispevki Lidija Stanovnik, Miha Mraz Naslavljanje DNA-pomnilnikov 192 Strokovni prispevki Timotej Knez NORA: Napredno orodje za poucevanje relacijske algebre 196 Informacije Iz Islovarja 202 Vabilo na konferenco DSI INFORMATIKA 2023 ŠTEVILKA 4 OKT/NOV/DEC LETNIK XXXI ISSN 1318-1882 Ustanovitelj in izdajatelj Slovensko društvo INFORMATIKA Litostrojska cesta 54, 1000 Ljubljana Predstavnik Niko Schlamberger Odgovorni urednik Mirjana Kljajic Borštnar Uredniški odbor Andrej Kovacic, Anton Manfreda, Evelin Krmac, Jan Mendling, Jan von Knop, John Taylor, Lili Nemec Zlatolas, Marko Hölbl, Miodrag Popovic, Mirjana Kljajic Borštnar, Mirko Vintar, Pedro Simőes Coelho, Saša Divjak, Sjaak Brinkkemper, Tatjana Welzer Družovec, Vesna Bosilj-Vukšic, Vida Groznik, Vida Groznik, Vladislav Rajkovic Recenzentski odbor Aleksander Sadikov, Alenka Baggia, Alenka Brezavšcek, Aljaž Košmerlj, Andrej Brodnik, Andrej Kovacic, Andreja Pucihar, Anton Manfreda, Benjamin Urh, Blaž Rodic, Borut Batagelj, Borut Werber, Boštjan Šumak, Božidar Potocnik, Branko Kavšek, Branko Šter, Ciril Bohak, Damjan Fujs, Damjan Strnad, David Jelenc, Dejan Lavbic, Denis Trcek, Domen Mongus, Drago Bokal, Eva Jereb, Evelin Krmac, Inna Novalija, Irena Nancovska Šerbec, Ivan Gerlic, Jernej Vicic, Jure Žabkar, Jurij Mihelic, Lovro Šubelj, Luka Pavlic, Luka Tomat, Maja Pušnik, Marina Trkman, Marjeta Marolt, Marko Bajec, Marko Hölbl, Marko Robnik Šikonja, Martin Šavc, Matej Klemen, Matjaž Divjak, Mirjana Kljajic Borštnar, Mladen Borovic, Muhamed Turkanovic, Niko Schlamberger, Nikola Ljubešic, Patricio Bulic, Polona Rus, Robert Leskovar, Samed Bajric, Sandi Gec, Saša Divjak, Slavko Žitnik, Tatjana Welzer Družovec, Tomaž Hovelja, Uroš Rajkovic, Vida Groznik, Vladislav Rajkovic, Živa Rant Tehnicni urednik Timotej Knez Lektoriranje angleških izvleckov Marvelingua (angl.) Oblikovanje KOFEIN DIZAJN, d. o. o. Prelom in tisk Boex DTP, d. o. o., Ljubljana Naklada 110 izvodov Naslov uredništva Slovensko društvo INFORMATIKA Uredništvo revije Uporabna informatika Litostrojska cesta 54, 1000 Ljubljana www.uporabna-informatika.si Revija izhaja cetrtletno. Cena posamezne številke je 20,00 EUR. Letna narocnina za podjetja 85,00 EUR, za vsak nadaljnji izvod 60,00 EUR, za posameznike 35,00 EUR, za študente in seniorje 15,00 EUR. V ceno je vkljucen DDV. Revija Uporabna informatika je od številke 4/VII vkljucena v mednarodno bazo INSPEC. Revija Uporabna informatika je pod zaporedno številko 666 vpisana v razvid medijev, ki ga vodi Ministrstvo za kulturo RS. Revija Uporabna informatika je vkljucena v Digitalno knjižnico Slovenije (dLib.si). Izid publikacije je financno podprla Javna agencija za znanstvenoraziskovalno in inovacijsko dejavnost Republike Slovenije. © Slovensko društvo INFORMATIKA Vabilo avtorjem V reviji Uporabna informatika objavljamo kakovostne izvirne prispevke domacih in tujih avtorjev z najširšega podrocja informatike, ki se nanašajo tako na poslovanju podjetij, javno upravo, družbo in posameznika. Prispevki so lahko znanstvene, strokovne ali informativne narave, še posebno spodbujamo objavo interdisciplinarnih prispevkov. Zato vabimo avtorje, da prispevke, ki ustrezajo omenjenim usmeritvam, pošljejo uredništvu revije po elektronski pošti na naslov ui@drustvo-informatika.si. Avtorje prosimo, da pri pripravi prispevka upoštevajo navodila, ki so objavljena na naslovu http://www.uporabna-informatika.si. Za kakovost prispevkov skrbi mednarodni uredniški odbor. Prispevki so anonimno recenzirani, o objavi pa na podlagi recenzij samostojno odloca uredniški odbor. Recenzenti lahko zahtevajo, da avtorji besedilo spremenijo v skladu s priporocili in da popravljeni prispevek ponovno prejmejo v pregled. Sprejeti prispevki so pred izidom revije objavljeni na spletni strani revije (predobjava), še prej pa koncno verzijo prispevka avtorji dobijo v pregled in potrditev. Uredništvo lahko še pred recenzijo zavrne objavo prispevka, ce njegova vsebina ne ustreza vsebinski usmeritvi revije ali ce prispevek ne ustreza kriterijem za objavo v reviji. Pred objavo prispevka mora avtor podpisati izjavo o avtorstvu, s katero potrjuje originalnost prispevka in dovoljuje prenos materialnih avtorskih pravic. Avtorji prejmejo enoletno narocnino na revijo Uporabna informatika, ki vkljucuje avtorski izvod revije in še nadaljnje tri zaporedne številke. S svojim prispevkom v reviji Uporabna informatika boste pomagali k širjenju znanja na podrocju informatike. Želimo si cim vec prispevkov z raznoliko in zanimivo tematiko in se jih že vnaprej veselimo Uredništvo revije Navodila avtorjem Ëlankov Clanke objavljamo praviloma v slovenšcini, clanke tujih avtorjev pa v anglešcini. Besedilo naj bo jezikovno skrbno pripravljeno. Priporocamo zmernost pri uporabi tujk in, kjer je mogoce, njihovo zamenjavo s slovenskimi izrazi. V pomoc pri iskanju slovenskih ustreznic priporocamo uporabo spletnega terminološkega slovarja Slovenskega društva Informatika, Islovar (www.islovar.org). Znanstveni prispevek naj obsega najvec 40.000 znakov, kratki znanstveni prispevek do 10.000 znakov, strokovni clanki do 30.000 znakov, obvestila in porocila pa do 8.000 znakov. Prispevek naj bo predložen v urejevalniku besedil Word (*.doc ali *.docx) v enojnem razmaku, brez posebnih znakov ali poudarjenih crk. Za locilom na koncu stavka napravite samo en presledek, pri odstavkih ne uporabljajte zamika. Naslovu prispevka naj sledi polno ime vsakega avtorja, ustanova, v kateri je zaposlen, naslov in elektronski naslov. Sledi naj povzetek v slovenšcini v obsegu 8 do 10 vrstic in seznam od 5 do 8 kljucnih besed, ki najbolje opredeljujejo vsebinski okvir prispevka. Sledi naj prevod naslova povzetka in kljucnih besed v angleškem jeziku. V primeru, da oddajate prispevek v angleškem jeziku, velja obratno. Razdelki naj bodo naslovljeni in oštevilceni z arabskimi številkami. Slike in tabele vkljucite v besedilo. Opremite jih z naslovom in oštevilcite z arabskimi številkami. Na vsako sliko in tabelo se morate v besedilu prispevka sklicevati in jo pojasniti. Ce v prispevku uporabljate slike ali tabele drugih avtorjev, navedite vir pod sliko oz. tabelo. Revijo tiskamo v crno-beli tehniki, zato barvne slike ali fotografije kot original niso primerne. Slikam zaslonov se v prispevku izogibajte, razen ce so nujno potrebne za razumevanje besedila. Slike, grafikoni, organizacijske sheme ipd. naj imajo belo podlago. Enacbe oštevilcite v oklepajih desno od enacbe. V besedilu se sklicujte na navedeno literaturo skladno s pravili sistema IEEE navajanja bibliografskih referenc, v besedilu to pomeni zaporedna številka navajenega vira v oglatem oklepaju (npr. [1]). Na koncu prispevka navedite samo v prispevku uporabljeno literaturo in vire v enotnem seznamu, urejeno po zaporedni številki vira, prav tako v skladu s pravili IEEE. Vec o sistemu IEEE, katerega uporabo omogoca tudi urejevalnik besedil Word 2007, najdete na strani https://owl.purdue.edu/owl/research_and_ citation/ieee_style/ieee_general_format.html. Prispevku dodajte kratek življenjepis vsakega avtorja v obsegu do 8 vrstic, v katerem poudarite predvsem strokovne dosežke. Nacrtovalnik poti za javni potniški promet in storitve mikromobilnosti Miha Frangež, Matevž Pesek Univerza v Ljubljani, Fakulteta za racunalništvo in informatiko, Vecna pot 113, 1000 Ljubljana mf7094@student.uni-lj.si, matevz.pesek@fri.uni-lj.si Izvlecek V luci trenutne okoljske in energetske krize je uporaba javnega in nizkoogljicnega prevoza kljucnega pomena za dosego zadanih dr­žavnih in evropskih ciljev do konca tekocega desetletja. Za razliko od osebnega avtomobila pa potovanje z drugimi nacini prevoza zahteva vsaj nekaj nacrtovanja, ki se lahko izkaže za preveliko prilagoditev za marsikaterega potencialnega uporabnika. Razlogi za nizko uporabo javnega prevoza in deljenih prevoznih sredstev ležijo v veliki meri v razdrobljenosti dostopa do informacij, potrebnih za njihovo ucinkovito rabo. Cilj clanka je nacrtovanje poti olajšati z uvedbo inteligentnega nacrtovalnika poti, ki na enem mestu omogoca samodejno iskanje možnosti prevoza in nacrtovanje poti z vec prevoznimi sredstvi z javno dostopnimi oblikami mobilnosti, kot so avtobusi, vlaki, souporabo avtomobilov in mestnimi kolesi. Problem rešujemo v treh korakih: (1) razvijemo enotni podatkovni model za podatke javnega prevoza in storitve mobilnosti v Sloveniji ter za vse ponudnike implementiramo adapterje iz posameznih zasebnih formatov v skupno strukturo, (2) postavimo odprtokodni multimodalni nacrtovalnik poti OpenTripPlanner in (3) razvijemo hibridno spletno in mobilno aplikacijo, ki omogoca pregled nad vsemi podatki ter interakcijo z nacrtovalnikom. Kljucne besede: javni potniški promet, nacrtovanje poti, odprti podatki, trajnostna mobilnost Route Planner for Public Transport and Micromobility Abstract In light of the current environmental and energy crisis, the use of public transport and other low-carbon means of transportation is crucial for achieving the set national and European goals by the end of the current decade. Unlike traveling by car, however, traveling by other means requires at least some planning, which may prove to be too much of an adjustment for many potential users. The reasons for the low level of use of public transport and shared mobility solutions lie largely in the fragmentation of access to infor­mation about the possibilities of travel. The aim of the article is to make route planning easier by introducing an intelligent route planner that enables automatic search for transport options and multi-modal route planning with publicly available forms of mobili­ty such as buses, trains, car sharing and city bikes in one place. There are three steps to solving the problem: (1) development of a unified data model for data on public transport and mobility services in Slovenia and implementation of adapters from their inter­nal formats into a common format for all providers, (2) setting up of the open source multimodal route planner OpenTripPlanner, and (3) the development of a hybrid web and mobile application that presents the aggregated information in one place. Keywords: public transport, route planning, open data, sustainable mobility  UVOD podrocju javnega potniškega prometa z dodanimi V zadnjih letih je Slovenija doživela razrast novih mestnimi prevozniki v manjših mestih (npr. Celje), storitev mikromobilnosti. Mednje sodijo naslednje uvedbo kartomatov kot alternativne tocke za nakup vrste souporabe prevoznih sredstev: kratkotrajna vozovnic in uvedbo enotne »karte Slovenija«. Okolj­izposoja avtomobilov, sistemi mestnih koles in ski-ske prednosti pogostejše hoje in kolesarjenja ter upo­rojev. Prav tako smo prica vecjemu napredku na rabe javnega potniškega prometa so splošno znane že desetletja, v zadnjih letih pa so pozitivni vpliv na okolje demonstrirali tudi sistemi souporabe avtomo­bilov (Nijland & van Meerkerk, 2017). V Sloveniji so se slednji pojavili komaj leta 2016 z uvedbo sistema Avant2Go (Avant2Go, 2023), v zadnjih letih pa sta se mu na trgu pridružila še dva ponudnika: podje­tji Share’N’go in GreenGo. Pozitiven vpliv na okolje so študije odkrile tudi pri sistemih souporabe koles (Zhang & Mi, 2018), ki pri nas delujejo že dlje. Prvi v Sloveniji je bil sistem BicikeLJ, v Ljubljani postavljen leta 2011 (Stregar, 2019), danes pa podobne sisteme skupno petih ponudnikov najdemo po skoraj vseh vecjih mestih (Društvo za elektronsko in racunalni­ško pismenost, 2023). Ceprav mnoge študije kažejo, da je uporaba tako javnega potniškega prometa, kot tudi storitev soupo­rabe avtomobilov in koles zelo koristna pri zmanjše­vanju izpustov toplogrednih plinov in onesnaževanja nasploh, pa pogosto pridejo do enakega zakljucka -delež uporabe teh sistemov je v primerjavi z osebni­mi avtomobili tako majhen, da je njihov realni vpliv precej manjši, kot bi lahko bil (Peng in sod., 2021). Razlogov, zakaj se ljudje v vecini primerov raje odlo­cijo za vožnjo z osebnim avtomobilom, je mnogo. Na podrocju javnega prevoza se med njimi najpogosteje omenja casovno konkurencnost (Ogrin & Dovecar, 2014), ki je sestavljena iz casa prevoza in casa cakanja. Izboljšava prvega dela seveda zahteva velike investi­cije s strani operaterjev, študije v ZDApa so pokazale, da uporaba mobilne aplikacije s podatki v realnem casu skrajša tako obcuten, kot tudi dejanski cas caka­nja (Brakewood in sod., 2014; Watkins in sod., 2011). Razlogi za manjšo uporabo javnega prevoza se iz­kazujejo tudi v sami kompleksnosti procesa pregle­da možnih nacinov uporabe in uporabe vecih tipov prevoza v okviru ene poti. V zadnjem casu je razrast novih ponudbnikov souporabe in javnih prevozov doprinesel k še vecji fragmentaciji trga mobilnosti z vidika individualnih procesov nakupa vozovnic in planiranja poti. Uporabnik v Ljubljani ima na primer na voljo devet nacinov mobilnosti, vsaka z lastno mobilno aplikacijo. Uporabnik mora med aplikaci­jami preklapljati in rocno iskati optimalno pot. Tudi storitve Google, ki jih v vecjih državah uporabniki smatrajo kot skupno alternativo vsaj na nivoju plani­ranja, v nekateri primerih pa tudi nakupa vozovnic, v Sloveniji ne povzemajo podatkov o vseh razpoložlji­vih prevoznikih. Zaradi dinamicne narave mikromo­bilnosti se prav tako ni mogoce zanašati na ustaljene vzorce, kot je to mogoce pri javnem potniškem pro­metu, saj obstoj postaj še ne pomeni, da je pot med njima mogoca. To je posebej ocitno v kontekstu sou­porabe sredstev, ki jih je potrebno prevzeti in pustiti na za to dolocenih postajah. V teh primerih je mogoce stanje, ko zacetna postaja nima razpoložljivih vozil, ali pa koncna postaja nima prostih parkirnih mest. Iz navedenih razlogov se med uporabniki teh sto­ritev pojavlja vedno vecja potreba po integraciji med sistemi. Integracija sistemov mobilnosti je možna na vec nivojih: 1. agregacija podatkov v obliki prikaza podatkov vsehponudnikov v skupnem uporabniškem vmesniku; 2. multimodalni nacrtovalnik, ki omogoca samodej­no iskanje poti z uporabo storitev vec ponudnikov; 3. integracija placil omogoca placilo vseh storitev z enim placilnim sredstvom oz. placilo celotne poti z enim racunom. Cilj pricujocega clanka je pregled trenutnega stanjaintegracije v Sloveniji, pregled možnosti izboljšav natem podrocju in implementacija prvih dveh stopenj in­tegracije - agregatorja podatkov in nacrtovalnika poti. 2 SORODNA DELA Tako v Sloveniji kot po svetu se je delo integracije sis­temov mobilnosti pricelo skoraj socasno z njihovim prihodom v mesta. Integracijo med ponudniki najpo­gosteje izvajajo mesta oz. obcine, nacionalni organi in podjetja, ki sama niso ponudniki storitev mobilnosti. 2.1 Enotne mestne kartice in aplikacije Zacetki digitalne integracije mobilnosti segajo v zgo­dnja devetdeseta leta, s prvimi primeri »pametnih mestnih kartic« na Finskem in v Argentini (Oorni in sod., 2001), kjer so mesta uvedla pametne kartice kot enotno placilno sredstvo, ki so ga sprejemale vsi po­nudniki javnega potniškega prometa v pokritih me­stih (Oulu na Finskem in Cordoba v Argentini). Tovr­stne karticne sisteme so v naslednjih dveh desetletjih uvedla mnoga mesta po svetu, vanje pa integrirala še vec mestnih storitev (na primer placevanje parkirni­ne, storitve mikromobilnosti in komunalne storitve). V Sloveniji je prvo mestno kartico uvedla Mestna obcina Ljubljana pod imenom Urbana. Ta je v upo­rabi še danes in imetnikom omogoca vožnjo z me­stnimi avtobusi, placilo parkirnine, clanstvo v mestni knjižnici, izposojo koles in vožnjo z žicnico na mestni grad. Na kartico je možno nalaganje dobroimetja v obliki gotovine ali z bancno kartico na enem izmed prodajnih mest, med katerimi je skoraj 60 avtomatov. Na nivoju države je bil uveden Integriran javni potniški promet (IJPP) kot projekt Ministrstva za in­frastrukturo, ki omogoca uporabo pametnih kartic za vožnjo z javnim potniškim prometom v Slove­niji. Del sistema predstavlja tudi podatkovna baza voznih redov, ki vsebuje vse medkrajevne linije, ki operirajo v sklopu državne koncesije. Ko je bil sis­tem razvit leta 2015, je bila potnikom na voljo spletna stran, na kateri so si lahko vse vozne rede v sistemu ogledali, danes pa vec ni na voljo. Podatki, ki jih sis­tem vsebuje, so na voljo na Nacionalni tocki dostopa (1) v formatu GTFS , prav tako pa je na voljo spletna storitev SOAP, ki omogoca dostop do podatkov v pr­votni obliki (pri preslikavi v GTFS se namrec nekate­ri podatki izgubijo). Od leta 2020 naprej so na voljo tudi osnovni po­datki v realnem casu, dostopni po standardnem protokolu SIRI (podprte so le surove lokacije vozil — profil SIRI-VM). Prav tako pa v casu pisanja pricu­jocega clanka poteka javni razpis za spletno storitev, ki bo podatke izvažala v formatu NeTEx (Network Timetable Exchange), saj so trenutni NeTEx podatki le pretvorjeni iz GTFS in vsebujejo mnogo napak. 2.2 Obstojece rešitve v Evropi in Sloveniji Pravo multimodalno nacrtovanje (tako, ki pokriva vse nacine prevoza in vse ponudnike storitev mo­bilnosti) je že na voljo marsikje po svetu, tako v ne­odvisnih aplikacijah tehnoloških velikanov, kot tudi s strani samih ponudnikov storitev in nacionalnih agencij. Najvecja komercialna ponudnika aplikacij, ki omogocajo multimodalno nacrtovanje poti, sta podjetja Google in Citymapper. Oba v mnogih sve­tovnih mestih omogocata navigacijo z uporabo jav­nega prevoza, souporabe avtomobilov, mestnimi ko­lesi in skiroji, v nekaterih mestih pa imata integracijo tudi s taksi storitvami. Svoje storitve oba financirata s prodajo dostopa do programskih vmesnikov za nacrtovanje poti, kar pa ju omejuje le na vecja me­sta, kjer je povpraševanje po takšnih storitvah dovolj veliko. Aplikacija Google Maps tako v Sloveniji pod­pira le dva mestna prometa in medkrajevne IJPPli­nije (s pogostimi napakami), Citymapper pa pri nas sploh ni na voljo zaradi zaradi majhnosti najvecjih slovenskih mest. Google Maps je brezplacna mobilna in spletna aplikacija podjetja Google, ki omogoca multimodal­no navigacijo po celem svetu. V najbolje podprtih mestih aplikacija omogoca navigacijo s hojo, kole­som, avtomobilom, javnim potniškim prometom, storitvami mikromobilnosti (izposoja koles in ski­rojev) ter storitvami za prevoz na klic. Slovenija je v aplikaciji med slabše podprtimi državami, saj so pri nas na voljo le navigacija s hojo, avtomobilom in jav­nim prevozom, pri cemer so podatki o javnem pre­vozu na voljo le za mestna prometa v Mariboru in Ljubljani ter linije v sistemu IJPP. Aplikacija Citymapper je ena izmed najbolj na­prednih aplikacij za javni prevoz in storitve mikro­mobilnosti trenutno na tržišcu. Boljšo pokritost od konkurence dosega z obširno uporabo podatkov, ki jih vnesejo uporabniki sami. Za razliko od aplikacije Google Maps, Moovit od uporabnikov ne sprejema le prijav in obvestil v realnem casu (na primer prijava obvoza, zamude ali zasedenosti vozila), ampak omo­goca uporabnikom tudi vnos voznih redov za regije, kjer uradnih podatkov ni na voljo. Zraven javnega prevoza (avtobus, vlak, tramvaj, metro) podpira tudi navigacijo s taksi službami,vkljucno s platformami kot sta Uber in Lyft, ter z lastnimi ali izposojenimi kolesi, avtomobili in skiroji. Digitransit je odprtokoden projekt javne agencije za promet finske regije Helsinki, sestavljen iz sple­tnega vmesnika za nacrtovanje poti in pregledovanje zemljevida ter vec zalednih storitev. Za nacrtova­nje poti uporablja odprtokoden strežniški program OpenTripPlanner z nekaj spremembami, prav tako pa se nanj zanaša za hrambo in dostop do podatkov (nima lastne podatkovne baze). Transitland je odprtokoden sistem za agregacijo podatkov o javnem potniškem prometu. Sprejema podatke v formatu GTFS, navadno v obliki poveza­ve do najnovejše razlicice, ki jo periodicno prenese in podatke posodobi v podatkovni bazi. Viri podatkov so definirani v opisnih datotekah JSON, hranjenih na platformi GitHub, kjer jih lahko uporabniki dodajajo in spreminjajo. Najnovejša razlicica podpira tudi sis­teme mikromobilnosti v formatu GBFS. Leta 2020 je bila izdana aplikacija Travana, name­njena Ljubljanskemu potniškem prometu. Kljucna funkcionalnost, ki je aplikacijo razlocevala od ostalih (vkljucno z uradno aplikacijo Urbana), je bil prikaz 1 www.nap.si lokacij avtobusov v realnem casu. Aplikacija je po uporabniških ocenah hitro prehitela uradno aplika­cijo (povprecno 4,6 zvezdic v Trgovini Play, v pri­merjavi z 2,0 za aplikacijo Urbana), med pozitivnimi komentarji pa je pogosto omenjen ravno dostop do lokacij. Leta 2023 je bila aplikacija objavljena pod od­prtokodno licenco, kmalu za tem pa je nastala tudi neuradna razlicica aplikacija za Maribor. Aplikacija Tocen.si, razvita v Laboratoriju za gra­fiko in multimedije na Fakulteti za racunalništvo in informatiko ima najširšo pokritost Slovenije izmed aplikacij, ki so trenutno na voljo. Vsebuje staticne in realnocasovne informativne podatke iz avtobusnega omrežja LPP, car-sharing ponudnika Avant2Go ter sistemov mestnih koles BicikeLJ, MBajk, Nomago Bikes in Mobiln.si. Podatki so prikazani na zemljevidu, po katerem aplikacija omogoca tudi iskanje, samodej­no nacrtovanje poti pa ni na voljo. Aplikacija izsto­pa tudi po dejstvu, da je na voljo na vseh mobilnih in namiznih operacijskih sistemih, saj je zgrajena v ogrodju Flutter. Iz istega razloga pa na starejših ali pocasnejših mobilnih napravah v spletnih vmesnikih ne deluje optimalno. 3 IMPLEMENTACIJA AGREGATORJA PODATKOV Nacrtovanje agregatorja podatkov smo zaceli z defi­nicijo skupnega modela podatkov, ki bo lahko zajel vse podatke vseh ponudnikov, ki jih nameravamo pokrivati. Ker med seboj nimata dosti skupnega, bomo loceno obravnavali sisteme souporabe (car-, bike-, scooter-sharing) ter sisteme linijskega javnega prevoza. Zaradi enostavnejšega uvoza in izvoza podatkov ter integracije z zunanjimi orodji smo posebno težo dali obstojecim odprtim standardom na teh podro­cjih. Najpogosteje uporabljen standard za izmenjavo podatkov o linijskem potniškem prometu je General Transit Feed Specification (GTFS), ki ga je leta 2006 razvil Google za uporabo v aplikaciji Google Maps, trenutno pa njegov nadaljni razvoj koordinira ne­profitna organizacija MobilityData. Zraven tega pa se v Sloveniji v medkrajevnem prevozu uporablja tudi podatkovni model sistema integriranega javne­ga potniškega prometa (IJPP). Sistem IJPPsicer ima funkcijo za izvoz podatkov po standardu GTFS, a ti podatki ne vsebujejo vseh potrebnih informacij. Na podlagi standardov GTFS in IJPPsmo de­finirali podatkovni model za linijski javni prevoz (Tabela 1). Tabela1: Preslikovalna tabela entitet za linijski javni prevoz entiteta GTFS IJPP Stop Location stop Postajna Tocka Stop Group stop Postajalisce Operator agency Prevoznik Route Route Group route Vozni Red Trip route (parent) trip Voznja StopTime stop_time VoznjaOpis Schedule calendar Rezim Timetable Period calendar (date) Rezim Interval Timetable Exception calendar (exceptions) Rezim Termin Vehicle Vehicle Update Vehicle Location V svetu souporabe vozil obstaja le en odprt stan­dard – General Bikeshare Feed Specification (GBFS). Razvila ga je ameriška skupina ponudnikov sistemov deljenja koles North American Bikeshare Association (NABSA), kasneje pa prav tako predala organizaciji MobilityData. Na podlagi tega standarda smo defini­rali podatkovni model za souporabo vozil (Tabela 2). Tabela2: Preslikovalna tabela entitet za souporabo vozil entiteta GTFS IJPP StopLocation stop PostajnaTocka StopGroup stop Postajalisce Operator agency Prevoznik Route route VozniRed RouteGroup route (parent) Trip trip Voznja StopTime stop_time VoznjaOpis Schedule calendar Rezim TimetablePeriod calendar (date) RezimInterval TimetableException calendar (exceptions) RezimTermin Vehicle VehicleUpdate VehicleLocation 3.1 Moduli za pretvorbo podatkov Za prenos podatkov v sistem smo razvili množico modulov za pretvorbo podatkov, ki skrbijo za uvoz podatkov iz strežnikov ponudnikov. Vsak modul je implementiran kot locena aplikacija v ogrodju Djan­go, poznamo pa dve vrsti: uvozne in izvozne mo­dule. Za vsakega izmed ponudnikov podatkov smo implementirali en uvozni modul, ki praviloma defi­nira eno ali vec periodicnih opravil, ki se samodejno izvajajo na strežniku. Za hrambo dodatnih podatkov lahko uvozni moduli definirajo tudi lastne entitete, prav tako pa je možna uporaba n:1 povezav s pri­marnimi entitetami (na primer eno postajališce se lahko nahaja v bazi kot Marprom_StopLocation in IJPP_StopLocation, oba objekta pa, po združevanju, s tujim kljucem kažeta na le en objekt Vehicle). Posodobitvene intervale smo dolocili na podla­gi narave podatkov in zmogljivosti vira, od koder jihprenašamo. Podatki o voznih redih se ne spreminjajopogosto, zato se uvoz podatkov o linijah iz IJPPin LPPstrežnikov izvede le enkrat tedensko (Marprom podat­ke pošilja rocno, zato posodobitvenega intervala ni).Za prenos podatkov v realnem casu smo se odlocili zapolovico intervala, s katerim se podatki posodabljajona strani ponudnika (na primer za LPPje to 5 sekund). Podatki v realnem casu so po prenosu potrebo­vali še dodatno obdelavo. Zraven GPS koordinat se hranijo še cas prejema pozicije, ID trenutne vožnje in smer vožnje vozila. Za vire, ki ne vsebujejo podat­ka o smeri vožnje, se ta izracuna na podlagi prejšnje prejete pozicije. Kjer cas prejema pozicije ni na voljo, se kot cas upošteva cas prevzema s strežnika ponu­dnika, ker pa bi to pomenilo, da bi se isti podatek v bazo shranil veckrat z razlicnimi casi, uvozni mo­dul preskoci lokacije, ki se v koordinatah popolnoma ujemajo z zadnjo prejeto lokacijo. Za preverjanje tocnosti podatkov smo implemen­tirali nekaj spletnih prikazov podatkov (Slika 1) in podatke nakljucno primerjali z uradnimi viri in opa­zovanjem na terenu. 3.2 Združevanje postaj Ker agregator podatkov sprejema podatke iz mno­gih razlicnih virov, se pogosto pojavljajo podvojeni podatki. Najpogostejši primer so avtobusne postaje, ki se uporabljajo tako v enem izmed mestnih avtobu­snih omrežij, kot tudi za medkrajevne linije v siste­mu IJPP. Ker razlicni ponudniki lokacijske podatke o postajah vnašajo na razlicne nacine in z razlicno na­ (a) Prikaz seznama prevoznikov (b) Prikaz urnika vožnje na koledarju (c) Zemljevid lokacij z odprtim oknom za vožnjo v teku (d) Prikaz podatkov o vozilu in zgodovine lokacij Slika 1: Zaslonske slike spletnega vmesnika agregatorja podatkov tancnostjo se za združevanje dvojnikov ne moremo zanašati izkljucno na razdaljo med dvema postajama. Prav tako ni mogoca prepoznava po imenih, saj tudi ta niso enaka med ponudniki (razlike se pojavljajo predvsem pri okrajšavah, na primer »APLjubljana« in »Ljubljana – Glavna avtobusna postaja«). Ker samodejno združevanje ni zanesljivo, rocno pa pri taki kolicini podatkov ne pride v poštev, smo se odlocili za hibridni pristop. Razvili smo interaktivno aplikacijo v okolju Jupyter Notebook, ki za vsak par tock v podatkovni bazi izracuna razdaljo med njima ter vsak par, pri katerem je razdalja pod doloceno mejo, posamezno prikaže uporabniku na zemljevidu in ga vpraša za odlocitev. Ce uporabnik odgovori, da sta postaji enaki, njuna identifikatorja vpiše v datoteko in prikaže naslednji par postaj. Hkrati aplikacija shranju­je seznam že pregledanih postaj, da jih izloci s sezna­ma, ko uporabnik naslednjic požene program. S pomocjo programa smo v približno eni uri ustvarili seznam za združitev vec kot 500 postaj, ki smo ga uvozili v podatkovno bazo. 4 NACRTOVALNIK POTI Samodejno nacrtovanje poti je še posebej uporabno za potnike, ki sistema javnega prevoza ne poznajo dobro, na primer turiste in potnike, ki potujejo izven domacega kraja. Omogoca enostavno izbiro tocke zacetka in konca, uporabniku pa vrne vse možnosti za pot med tockama. Ker želimo skozi nacrtovalnik omogociti ne le uporabo vseh oblik mobilnosti v Slo­veniji, ampak tudi njihovo poljubno kombinacijo, potrebujemo posebno vrsto nacrtovalnika, t. i. multi­modalni nacrtovalnik. Ceprav obstaja vec kvalitetnih odprtokodnih nacrtovalnikov poti (Open Source Rou­ting Machine, Pyroute, OpenRouteService, GraphHopper idr.), ima le eden izmed njih podporo za pravo multi­-modalno nacrtovanje: OpenTripPlanner. Projekt OpenTripPlanner je odprtokodna platfor­ma za nacrtovanje potovanj, ki omogoca uporabni­kom, da nacrtujejo poti z uporabo javnega prevo­za in drugih možnosti prevoza. Projekt je bil zacet leta 2009 v Portlandu (Oregon, ZDA) s podporo tamkajšnjega prevoznega podjetja TriMet (Open Trip Planner project, 2023). Že od zacetka se razvi­ja pod odprtokodno licenco GNU LGPL, leta 2013 je bil projekt sprejet v organizacijo Software Freedom Conservancy, ki skrbi za njegovo pravno in financno upravljanje. Preizkus delovanja nacrtovalnika je možen z upo­rabo vgrajenega spletnega vmesnika (Slika 2), ki je dostopen na korenskem spletnem naslovu strežnika OTP. Do nacrtovalnika dostopa preko spletnega pro­gramskega vmesnika (API), ki je namenjen integraci­ji z zunanjimi aplikacijami. Slika 2: Spletni vmesnik OTP, ki prikazuje pot med Kranjem in Mariborom RAZVOJ HIBRIDNE SPLETNE APLIKACIJE Spletno aplikacijo smo zasnovali na modularen na­cin, ki omogoca enostavno dodajanje in spreminja­nje funkcij, pri cemer obstoj in delovanje ene funkcije cim manj vpliva na obstojece funkcionalnosti. Ker je uporabniški vmesnik, z izjemo zemljevida, zelo enostaven, smo se odlocili proti uporabi JavaScript in CSS knjižnic ter vso funkcionalnost in izgled vme­snika implementirali sami (Slika 3). Da bi bila aplikacija lažje dostopna uporabnikom, smo se odlocili za implementacijo modela t.i. »hibri­dne spletne aplikacije«, ki jo je možno uporabljati tako v brskalniku, kot tudi namestiti kot samostojno aplikacijo. Da bi uporabnikom prepustili cim vec mo­žnosti, smo to izvedli na dva nacina hkrati. Najprej smo po principu t. i. progresivnih spletnih aplikacij (Progressive Web Apps – PWA) napisali opisno datote­ko Web Application Manifest ter implementirali mini­malno Service Worker skripto, kar v podprtih brskal­nikih uporabniku omogoci »namestitev« aplikacije. Za platforme, kjer progresivne spletne aplikacije niso na voljo (npr. iOS) ter za objavo v trgovine aplikacij pa smo aplikacijo zapakirali tudi z orodjem Capacitor. Ker aplikacija ne potrebuje lastnega zalednega sistema, smo se odlocili za popolnoma staticno go­stovanje datotek aplikacije. Z uporabo platforme za gostovanje izvorne kode GitLab in njenih funkcij Gi­tLab CI/CD in GitLab Pages smo omogocili samodejno izgradnjo aplikacije iz izvorne kode in njeno obja­vo na spletu. Tako z gostovanjem spletne aplikacije nimamo dodatnih stroškov, omogoca pa nam tudi enostavno vzporedno objavo in preizkus razvojnih razlicic, kar bo v primeru, da projekt v prihodnosti pridobi pozornost drugih razvijalcev, skupinski ra­zvoj precej olajšalo. 6 ZAKLJUCEK V tem clanku smo predstavili trenutno stanje po­datkov za multimodalno planiranje v Sloveniji in implementacijo agregatorja ter mobilne aplikacije za multimodalno planiranje poti. Agregator podatkov vsebuje podatke skoraj vseh ponudnikov storitev mikromobilnosti v Sloveniji, pri cemer je edina izje­ma sistem souporabe skirojev Bolt. Med storitvami javnega potniškega prometa je pokritost medkrajev­nega prometa zahvaljujoc sistemu IJPPpopolna, med mestnimi avtobusnimi omrežji pa trenutno pokriva­mo le Maribor in Ljubljano. Preostanek mestnih av­tobusov operirajo le trije ponudniki: APMurska So­bota (podatki niso v celoti digitalizirani), Nomago in Arriva. Kljub nizki pokritosti mestnih omrežij je ta še vedno primerljiva s konkurenco (Google Maps prav tako vsebuje podatke le za Maribor in Ljubljano), na podrocju mikromobilnosti pa je naša pokritost nepri­merljivo višja od ostalih rešitev na trgu. 6.1 Nadaljnji razvoj Med razvojem smo dobili vec idej za nadaljnji razvoj agregatorja podatkov in aplikacije, ki niso bili med nacrtovanimi cilji, prav tako pa smo od uporabnikov testne razlicice aplikacije prejeli nekaj predlogov, ki bi povecali uporabnost aplikacije. Že v prvih tednih testiranja aplikacije smo naleteli na situacijo, ko je zaradi del na cesti avtobus vozil po spremenjeni poti in na doloceni postaji sploh ni ustavljal, nacrtovalnik prihodov pa jo je kljub temu Slika 3: Zaslonske slike mobilne razlicice aplikacije predlagal kot vstopno postajo. Nacrtovalnik OTPomogoca uvoz podatkov o zamudah in zacasno iz­kljucenih postajah v formatu GTFS-RT, ki pa ga no­ben izmed slovenskih avtobusnih prevoznikov še ne objavlja. Prav tako tudi na uradnih programskih vmesnikih, ki smo jih prejeli od prevoznikov, podat­kov o obvozih ni, saj jih objavljajo le v obliki novic na spletni strani in jih nekateri sploh ne vnašajo v svoje sisteme za vodenje prometa. Aplikacija je v trenutni obliki najbolj prilagojena iskanju informacij pred zacetkom poti, ko je upo­rabnik enkrat na avtobusu ali vlaku pa je dosti težje dobiti informacije o prihodnjih postajah, možnostih prestopa in morebitnih zamudah. Aplikaciji želimo v prihodnosti dodati funkcijo »sledenja« vozilu, ki bi uporabniku omogocila hitri dostop do informacij o poti v poteku ter ga samodejno obvešcala o spre­membah. Eden izmed uporabnikov je predlagal tudi možnost nastavitve alarma, ki bi uporabnika obvestil nekaj minut pred prihodom na ciljno postajo. Uporaba teh funkcij bi bila še lažja, ce bi aplikacija lahko samodejno zaznala, da je uporabnik na doloce­nem avtobusu ali vlaku. Najlažja implementacija bi bila z uporabo GPS lokacije telefona, kar pa ne bi de­lovalo v mestnem prometu, kjer se razlicni avtobusi nahajajo precej blizu med seboj. Najbolj zanesljivo zaznavanje bi bilo možno z uporabo brezžicnih oddajnikov, ki bi po protokolu Bluetooth Low Energy na vozilih oddajali identifi­kator vozila, kar pa bi zahtevalo precejšnjo investi­cijo in sodelovanje prevoznikov. Cenejša možnost bi bila uporaba že obstojecih brezžicnih naprav na vozilih, od katerih lahko aplikacija zahteva nek eno­licni identifikator. Na avtobusih, ki uporabljajo naj­novejšo generacijo validatorjev podjetja Margento, je možna identifikacija vozila po BLE MAC naslovu validatorja, na vlakih in avtobusih z Wi-Fi omrežji za potnike pa je identifikacija možna po MAC naslovu dostopne tocke. Zaradi umetnih omejitev upora­ba MAC naslovov ni mogoca na napravah podjetja Apple, vzdrževanje tabele MAC naslovov vozil pa bi zahtevalo precej terenskega dela, zato se za ta pristop nismo odlocili. LITERATURA [1] Avant2Go. (2023). Ljubljana / Avant2Go.https://avant2go.si/ car-sharing/cities/ljubljana [2] Brakewood, C., Barbeau, S., & Watkins, K. (2014). An expe­riment evaluating the impacts of real-time transit information on bus riders in Tampa, Florida. Transportation Research Part A: Policy and Practice, 69, 409–422. https://doi.org/10.1016/j. tra.2014.09.003 [3] Društvo za elektronsko in racunalniško pismenost. (2023). Souporaba koles – Wiki - oJPP Docs. Pridobljeno 14. avgusta 2023, https://gitlab.com/derp-si/ojpp-docs/-/wikis/Soupora­ba-koles [4] Nijland, H., & van Meerkerk, J.(2017). Mobility and enviro­nmental impacts of car sharing in the Netherlands [Sustain­ability Perspectives on the Sharing Economy]. Environmental Innovation and Societal Transitions, 23, 84–91. https://doi. org/10.1016/j.eist.2017.02.001 [5] Ogrin, M., & Dovecar, M. (2014). Vrednotenje sistemov jav­nega potniškega prometa v izbranih obcinah Slovenije. Dela, 115–127. https://doi.org/10.4312/dela.42.115-127 [6] Oorni, S., Vehvilainen, J., & Lappalainen, L. D. I. (2001). FIN­NISH CITY CARD PROGRAMME 1993-2000. https://api.se­manticscholar.org/CorpusID:106481841 [7] Open TripPlanner project. (2023). History – OpenTripPlanner. Pridobljeno 14. julija 2023, https://docs. opentripplanner.org/ en/dev-2.x/History/ [8] Peng, H., Nishiyama, Y., & Sezaki, K. (2021). Estimation of Greenhouse Gas Emission Reduction from SharedMicro­mobilitySystem. 2021 I EEE Green Energy and Smart Sy­stems Conference (IGESSC), 1–6.https://doi.org/10.1109/ IGESSC53124.2021.9618701 [9] Stregar, A. (2019). Po osmih letih je Bicikelj vedno vecji hit. Delo. Pridobljeno 14. avgusta 2023, https: //www.delo.si/ lokalno/ljubljana-in-okolica/po-osmih-letih-je-bicikelj-vedno­-vecji-hit/ [10] Watkins, K. E., Ferris, B., Borning, A., Rutherford, G. S., & Layton, D. (2011). Where Is My Bus? Impact of mobile real-ti­me information on the perceived and actual wait time of tran­sit riders. Transportation Research Part A: Policy and Practi­ce, 45(8), 839–848.https://doi.org/10.1016/j.tra. 2011.06.010 [11] Zhang, Y., & Mi, Z. (2018). Environmental benefits of bikes haring: A big data-based analysis. Applied Energy, 220, 296– 301. https://doi.org/10.1016/j.apenergy. 2018.03.101 • Miha Frangež je magistrski študent na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Je vodja iniciative Odprt javni potniški promet, ki se zavzema za vecjo odprtost in dostopnost podatkov ponudnikov storitev mobilnosti. • Matevž Pesek je docent in raziskovalec na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani, kjer je diplomiral (2012) in doktoriral (2018). Od leta 2009 je clan Laboratorija za racunalniško grafiko in multimedije. Njegovi raziskovalni interesi so iskanje glasbenih informacij, vkljucno z glasbenim e-ucenjem, biološko navdihnjeni modeli in globoke arhitekture. Raziskuje tudi vecmodalno zaznavanje glasbe, nove vmesnike in interakcijo ter vizualizacijo podatkov v obliki mobilnih, spletnih in VR aplikacij. Uporaba pogovornega robota za podporo intranetu: primer Elektro Ljubljana Živa Hudobivnik1 , Maja Savinek1 , Marina Trkman2 1Elektro Ljubljana, d. d., Slovenska cesta 56, 1000 Ljubljana, 2Univerza v Ljubljani, Fakulteta za upravo, Gosarjeva 5, 1000 Ljubljana ziva.hudobivnik@elektro-ljubljana.si, maja.savinek@elektro-ljubljana.si, marina.trkman@fu.uni-lj.si Izvlecek Ena izmed pomembnih tehnologij, ki so kljucne za današnjo popularnost pogovornih robotov, so veliki jezikovni modeli. Ti pogovornim robotom omogocajo, da lahko s pomocjo kontekstualnega spomina nudijo podporo v dialogu, ki je na las podoben tistemu med ljudmi. Pogovorni robot prinaša koristi strankam na podrocju zabave, industrije in izobraževanja. Le malo clankov obravnava uporabo pogo­vornega robota kot intraneta podjetja. Namen clanka je predstaviti potek nacrtovanja pogovornega robota v podjetju Elektro Ljublja­na. Prototip Belka smo ustvarili na modelu GPT-3.5-turbo. S pomocjo fokusnih skupin smo pripravili njeno primarno bazo znanja. Skupina zaposlenih je Belko testirala in ugotavljala, ali lahko nudi oporo intranetu podjetja. Na podlagi ugotovitev, smo pripravili se­znam uporabniških zahtev za profesionalen razvoj pogovornega robota Belke. Študija primera je lahko v pomoc podjetjem, ki se od­locajo za uporabo pogovornega robota kot intraneta podjetja, saj nudi unikaten vpogled v njegovo implementacijo. Kljucne besede: pogovorni robot, ChatGPT, intranet, fokusne skupine The use of conversational robots to support intranet: a case study in Elektro Ljubljana Abstract One of the important technologies that are key to the popularity of conversational robots today are the large language models. These allow conversational robots to use contextual memory to support dialogue in a way that is similar to that between humans. Conversational robots benefit customers in entertainment, industry and education. Few papers have addressed the use of a con­versational robot in a corporate setting as support to intranet. The aim of this paper is to present the process of designing a conversational robot in Elektro Ljubljana. The Belko prototype was created based on the GPT-3.5-turbo model. We used focus groups to prepare its primary knowledge base. A group of employees tested Belko to see if it could support the company‘s intranet. Based on the findings, a list of user requirements for the professional development of the Belka conversational robot was drawn up. The case study can be useful to companies deciding to use a conversational robot as a company intranet, as it provides a unique insight into its creation. Keywords: chatbot, ChatGPT, intranet, focus groups  UVOD bodo pogovorni roboti prisotni na razlicnih podro-V zadnjem casu pogovorni roboti in njihove napre-cjih [2]. Gartner [3] napoveduje, da bodo pogovorni dne zmožnosti pritegujejo veliko pozornosti. Pogo-roboti postali primarni kanal za podporo strankam vorni robot je pogovorni agent, ki omogoca dostop za približno cetrtino vseh organizacij.do storitev in informacij s pomocjo interakcij z upo-Podjetja pri uvajanju pogovornih robotov stremi­rabnikom v naravnem jeziku ter tako nudi pomoc pri jo k povecanju produktivnosti, saj pogovorni roboti opravljanju vsakodnevnih nalog [1]. V prihodnosti pomagajo pri pridobivanju pravocasne in ucinko­vite pomoci [4]. Zato je smiselno razmisliti o upo­rabi pogovornih robotov za pomoc zaposlenim pri vsakdanjem delu v podjetjih. Kot opisujejo Casillo in drugi [5], je uporaba pogovornega robota kot nacin za izobraževanje novih zaposlenih ucinkovita in pri­naša številne prednosti, kot je poenostavitev ucenja zaposlenih. Namen clanka je pridobiti razumevanje o eno­stavnosti privzemanja znanega orodja GPT-3.5-turbo (na katerem temelji ChatGPT) kot pogovornega ro­bota, katerega namen je podpreti informacijske po­trebe zaposlenih znotraj slovenskega podjetja. Odgo­vorili bomo na sledeca raziskovalna vprašanja: 1)Katere vsebine in znanja bi lahko imel pogovorni robot v svoji bazi znanja, da bi pomagal zaposle­nim pri izvajanju vsakodnevnih nalog? 2)Ali delovanje znanega orodje pogovornega robo­ta GPT-3.5-turbo ustreza potrebam intraneta slo­venskega podjetja? Ker so vsebine in znanja pogovornega robota te­sno povezani s kontekstom uporabe, smo se povezali s podjetjem Elektro Ljubljana. Cilji raziskave so sle­deci: 1) z izvedbo fokusnih skupin med zaposlenimi pridobiti razumevanje, katere informacijske potrebe bi lahko podprl pogovorni robot, 2) pripraviti proto­tip pogovornega robota na znanem orodju GPT-3.5­-turbo za podporo interne komunikacije; 3) pridobiti povratno informacijo uporabnikov. Struktura clanka je sledeca. Clanek v drugem po­glavju predstavi podrocje pogovornih robotov in v tretjem pristop k njihovem nacrtovanju. V cetrtem poglavju predstavimo konkretno problemsko do­meno podjetja Elektro Ljubljana, izvedbo fokusnih skupin ter pripravo prototipa pogovornega robota in rezultate njegovega testiranja. V zadnjem poglavju podamo kljucne ugotovitve, ki bodo v pomoc tudi drugim podjetjem, ki se bodo odlocila za uporabo pogovornega robota za potrebe intraneta. POGOVORNI ROBOTI Pogovorni robot (angl. chatbot) je racunalniški pro­gram, ki prek glasovnih ukazov ali besedilnih spo­rocil simulira cloveški pogovor. Obstaja vec razlicnih izrazov, s katerim poimenujemo pogovorne robote. To so na primer pogovorni bot (angl. talkbot), bot, bot s takojšnjim sporocanjem (angl. Instant messaging bot), interaktivni agent (angl. interactive agent) ali umetna entiteta za pogovor (angl. artificial conversa­tion entity) [6]. Pomembna tehnologija, ki povecuje popularnost pogovornih robotov, so veliki jezikovni modeli (angl. large language models – LLM). LLM pogovornim robotom omogoca, da lahko s pomocjo kontekstualnega spomina nudijo podporo v pogovo­ru, podobno kot ljudje [7]. Prvi znani pogovorni robot Eliza je bil razvit leta 1966 [8]. Gre za program, ki omogoca pogovor v naravnem jeziku z racunalnikom. Analizira vho­dne stavke s pomocjo pravil razstavljanja na podlagi kljucnih besed, ki se pojavljajo v besedilu. Odgovore vraca s pomocjo pravil ponovnega sestavljanja [9]. ELIZAje uporabljala preprosto ujemanje vzorcev in odgovore na podlagi predloge. Njena pogovor­na zmožnost sicer ni bila visoka, vendar je v casu, ko ljudje še niso bili vajeni racunalnikov, lahko za­vedla uporabnike. Skozi leta so se razvijale vse bolj zmogljive razlicice pogovornih robotov. V letu 1972 je nastala izboljšana razlicica pogovornega robota ELIZApo imenu PARRY. V letu 1995 je bila razvi­ta ALICE. Kasneje so se razvili pogovorni roboti, ki so bili dostopni prek dopisovalnih aplikacij, na pri­mer pogovorni robot SmarterChild v letu 2001. Za tem pa je sledil razvoj virtualnih osebnih asistentov, kot denimo Apple Siri, Google Assistant in Amazon Alexa [8]. Pogovorne robote se uporablja za razlicne name­ne. Brandtzaeg in Fřlstad [4] ugotavljata, da v vecji meri ljudje uporabljajo pogovorne robote za pove­canje produktivnosti posameznika. V manjši meri jih uporabljajo tudi za razvedrilo ter za družabne stike, saj lahko pogovorni robot pomaga pri tem, da se ljudje ne pocutijo osamljeni. Ljudi tudi zanima, kakšne zmožnosti in omejitve ima pogovorni robot. Georgescu [10] pravi, da so koristi pogovornih ro­botov predvsem na podrocju razvedrila, industrije in izobraževanja. Pogovorni robot lahko na primer priporoca, kako se obleci, in svetuje glede potovanj. V industriji je bistveno povezovanje strank s podjetji, predvsem za storitve za stranke, deljenje vsebine ali partnersko trženje. Omogocajo zmanjšanje stroškov v klicnih centrih, prevzemajo zamudne naloge zapo­slenih in omogocajo dostopnost na internetu 24 ur na dan, vse dni v tednu. Na podrocju izobraževanja so lahko pogovorni agenti koristni, ce uporabniku po­magajo pri reševanju težav in doseganju ciljev. Za­nimanje za pogovorne robote je zacelo narašcati v letu 2016, še bolj pa v letu 2023, ob množicni uporabi ChatGPT-ja. NACRTOVANJE POGOVORNIH ROBOTOV Življenjski cikel razvoja programske opreme (angl. software development life cycle) tipicno sestavljajo: planiranje, analiza, nacrtovanje in implementacija [11]. Literatura ponuja vec razlicnih modelov pri­stopov k razvoju programske opreme, kot so: model slapa, V-model, agilni model, inkrementalni model, iterativni model in spiralni model. Gartner [12] pre­dlaga združevanje iterativnih in eksperimentalnih pristopov za nacrtovanje inovativnih digitalnih pro­duktov. Agilna metodologija, ki se nanaša na ustvar­janje produktov ob nenehnih spremembah s posto­pnimi inovacijami, je bila tako izboljšana z uporabo oblikovalskega mišljenja (angl. design thinking), ki je celovit pristop raziskovanja in identificiranja proble­ma uporabnikov ter poudarja verificiranje rešitve s prototipi. Obema pristopoma je dodana še vitka me­todologija (angl. lean methodology) oziroma pristop vitkega podjetništva (angl. lean startup), ki izposta­vlja stalno pridobivanje povratnih informacij ciljnih uporabnikov. Celosten Gartnerjev pristop (Slika 1) izpostavlja ciklicen tok med idejami in izdelkom ter med problemom in rešitvijo [13]. Pri nacrtovanju pogovornega robota je pomemb­no, da sledimo sedmim kljucnim korakom [14]:. Ustvari se osebnost pogovornega robota, ki najbo­ lje predstavlja podjetje in da ga uporabniki doje­majo kot cloveka. Lahko se doloci na primer ime pogovornega robota, ali bo vljuden, profesiona­len ali duhovit. . Izbere se pravi ton in jezik, ki lahko pomembno vplivata na uporabniško izkušnjo. Pogovorni ro­bot je lahko vecjezicen, lahko je uraden ali pa se pogovarja bolj sprošceno. . Doloci se delovne tokove in scenarije, kar med drugim vkljucuje oblikovanje odzivov na razlic­ne scenarije. Po možnosti se lahko integrira tudi bazo znanja, iz katere se bo ucil. . Izbere se orodja in elemente za izboljšanje upo­rabniške izkušnje in avtomatizacijo rutinskih pro­cesov, to so na primer integrirani koledarji za re­zervacije storitev in možnost hitrega odgovarjanja uporabnikov z enim klikom. . Vkljuci se možnosti posredovanja cloveškemu agentu. Alternativna možnost je preusmeritev do obrazca, kjer uporabnik lahko podrobno pojasni svoje vprašanje in mu kasneje pomaga oseba, od­govorna za podporo. . Vkljuci se metrike za merjenje uspešnosti. To je pomembno za spremljanje, ali pogovorni robot dosega svoj namen in kako ga dojemajo upo­rabniki. . Glede na uspešnost se izvaja nadaljnje spremem­be, da je pogovorni robot bolj uspešen. Slika 1: Pristop k nacrtovanju programske opreme [12]. Spletna stran ChatBot [15], ki ponuja platformo za izdelavo pogovornih robotov, opisuje najboljše pra­kse in korake za izdelavo pogovornega robota: 1. faza: nacrtovanje. V fazi nacrtovanja opredelimo težave, ki jih želimo rešiti. To so lahko težave s ca­som, proracunom, ekipo ali pa z uporabniki. Na podlagi teh se odlocimo, ali bo naš pogovorni ro­bot služil podpori, prodaji ali marketingu. Nato izberemo komunikacijske kanale, na katerih bo dostopen naš pogovorni robot, in izberemo pra­vo rešitev za pogovornega robota. To se najlažje ugotovi s testiranjem razlicnih produktov ozi­roma platform za izdelavo pogovornih robotov. Nato glede na težave, ki smo jih identificirali, po­išcemo funkcije, ki bi nam jih pomagale rešiti, in izberemo ustrezne platformo. Dolocimo tudi ka­zalnike uspešnosti za spremljanje ucinkovitosti, izberemo zgodbo pogovornega robota in obliku­jemo scenarij. 2. faza: izdelava. V fazi izdelave izberemo pozdra­ve pogovornega robota. Ustvarimo tudi osebnost pogovornega robota, kjer je pomembno, da pogo­vorni robot lahko služi tudi kot maskota podjetja. To storimo zato, da ne bodo uporabniki mislili, da govorijo s clovekom, in kasneje ugotovili, da to ne drži. Doloci se tudi ton pogovornega robota, glede na to, za kakšno skupino ljudi je namenjen. Pokažemo tudi njegovo vrednost, in sicer s tem, da pogovorni robot že na zacetku vedno obvesti uporabnike, kako jim lahko pomaga. Pogovorni robot izjemno hitro pridobi informacije, vendar je dobro, da uporabimo nekaj zamika med sporoci­li, da celotna izkušnja pogovora izpade bolj na­ravno. Treba je sestaviti tudi pravo nadomestno sporocilo, ce pogovorni robot ne ve odgovora, pri cemer je pomembno, da se izognemo splošnim odgovorom, kot je na primer »ne razumem«. Na­redimo vec razlicnih vrst nadomestnih sporocil in preusmerimo uporabnikovo pozornost k drugim možnim rešitvam, kot je povabilo uporabniku, da preoblikuje vprašanje, ali pa preusmeritev k dru­gi vrsti pomoci. Pogovornega robota testiramo, najbolje s testnimi uporabniki. 3. faza: nadzor. V tej fazi spremljamo opredeljene kazalnike uspešnosti. Opazujemo, katere inte­rakcije so najbolj popularne, po cem uporabniki sprašujejo, tako jih tudi spoznamo, in po potrebi spremenimo scenarij pogovornega robota [15]. 4 PODJETJE ELEKTRO LJUBLJANA Elektro Ljubljana, d. d., se ukvarja z distribucijo ele­ktricne energije in zagotavlja preskrbo z elektricno energijo za vec kot tretjino Slovenije. Podjetje upra­vlja najvecje distribucijsko omrežje v Sloveniji, opra­vlja omrežninsko dejavnost in tržne storitve, pove­zane z elektroenergetsko infrastrukturo. Podjetje deluje na prehodu v nizkoogljicno družbo z željo po zagotovitvi trajnostne in zelene prihodnosti. Pri tem ustvarja nova partnerstva z vsemi, ki so pripravlje­ni sodelovati in slediti enakim ciljem. Aktivne upo­rabnike spodbuja tako, da jim omogoca prilagajanje porabe in uporabo lastnih virov energije. Podjetje vlaga v razvoj zaposlenih, da ti lahko razvijajo svoje talente in uporabljajo svoje znanje ter tako prispeva­jo k uspešnosti družbe. Slogan Elektra Ljubljana je »Mrežimo svetlo prihodnost« [16]. Podjetje veliko deluje na podrocju digitalizacije, saj trenutno izvaja projekt Digit Bela, ki ga sofinancira Evropska unija iz naslova Sklada za okrevanje in odpornost – Next-GenerationEU, s katerim bo digitalno preoblikovalo ekosistem Elektra Ljubljana, ki bo izboljšal uporabni­ško izkušnjo in podpiral energetski prehod [17]. Glede na vizijo, poslanstvo in cilje podjetja se ve­liko razmišlja o novih digitalnih rešitvah, ki bodo lahko izboljšale in tudi avtomatizirale razlicne po­slovne procese v podjetju. Služba za napredno ana­litiko (SNA) se med drugim ukvarja z masovnimi obdelavami podatkov, pripravo podatkovnih setov in razvojem naprednih analiticnih rešitev za podpo­ro delovnim procesom v podjetju. V SNAsmo prišli do ideje, da bi zaposlenim v podjetju olajšali iskanje pomoci pri njihovem delu z razvojem pogovornega robota. S preizkušanjem in kreiranjem novih inova­tivnih in naprednih pristopov pomembno pripomo­re k razvijanju podrocja elektroenergetike. Slika 2 prikazuje pretekli proces iskanja informa­cij za opravljanje delovnih nalog. Ko zaposleni nece­sa ne ve, obicajno kontaktira nekoga za pomoc, na primer sodelavca. Lahko traja precej casa, preden pridobi ustrezne informacije ali odgovor osebe, ki bi mu lahko pomagala pri njegovem vprašanju. V podjetju želijo pomagat zaposlenim pri ucinko­vitem iskanju informacij potrebnih za delo. Nov po­govorni robot v podjetju bo izboljšal poslovni proces iskanja informacij za opravljanje delovnih nalog. Kot pri vsaki informatizaciji poslovnih procesov, so tudi tu predvidene spremembe v poslovanju oziroma, bolj konkretno, pri iskanju informacij za vsakdanje delo. Slika 3 prikazuje bodoci proces, ki se ga želi doseci z uvedbo pogovornega robota. Ko zaposleni necesa ne ve, vpraša pogovornega robota, ta pa mu takoj vrne odgovor in poda informacije. Ce so iskane informacije ustrezne, je zaposleni našel pravo rešitev, ce ne, pa se obrne na podporo SNA. RAZISKOVALNA METODOLOGIJA 5.1 Raziskovalni pristop Uporabljen raziskovalni pristop je opisan na Sliki 4. Zacne se z izvedbo fokusnih skupin za prepozna­vo informacijskih potreb razlicnih služb v podjetju. Fokusna skupina je skupina ljudi, ki so neformalno intervjuvani in sodelujejo pri kvalitativni raziskoval­ni tehniki [18]. Gre za družbeno-skupinsko kvalita­tivno metodo raziskovanja. Z njo spoznamo razmi­šljanja posameznika in njegova mnenja o razlicnih podrocjih iz njegovega življenja. To metodo lahko opišemo tudi kot obliko skupinskega intervjuja, kjer gre za pridobivanje podatkov predvsem na podlagi interakcije med udeleženci. S fokusnimi skupina­mi ne pridobimo samo podatkov o tem, kaj udele­ženci mislijo o neki doloceni zadevi, ampak tudi, kako in zakaj tako razmišljajo [19]. Prav zato je to ena izmed najbolj primernih metod za ugotavljanje potreb zaposlenih in smo jo izbrali za izvedbo razi­skave med zaposlenimi za nacrtovanje pogovornega robota. Fokusne skupine so tako omogocile pripra­vo primarne baze znanja za novega pogovornega robota. Nato je sledil korak prototipiziranja. Upora­ba prototipov je v okviru oblikovalskega mišljenja prepoznana kot najucinkovitejši nacin za reševanje problematik, kot so interne težave pri nacrtovanju, sprememba zahtev s strani stranke, težava menjave zaposlenih, kršitve specifikacij programske opreme in nizka produktivnost razvojne ekipe. Prototipi po­magajo pri nedvoumni interpretaciji uporabniških zahtev in hitrem pridobivanju povratnih informacij o produktu [20]. Lauff in drugi [21] definirajo prototip kot digitalno ali fizicno utelešenje kriticnih elemen­tov zasnove, ki je bila nacrtovana in kot iterativno okolje za omogocanje ucenja, sprejemanje odlocitev na katerikoli tocki v procesu oblikovanja in za izbolj­šanje komunikacije. Z oblikovanjem prototipa se iz­popolni koncept izdelka, preden je izdelan, s tem pa se med drugim prihrani cas in denar. S tem se poma­ga validirati zgodnje koncepte, olajša komunikacijo med osebami, ki sodelujejo pri projektu in se izboljša funkcije ter tokove [22]. Tako smo pripravili prototip na osnovi orodja GPT-3.5-turbo in mu dali v prej­šnjem koraku pripravljeno primarno bazo znanja. Medtem, ko je bil prototip pogovornega robota v uporabi med ciljnimi uporabniki, so lahko ti podali Slika 2: Pretekli procesa iskanja informacij za opravljanje delovnih nalog v podjetju Elektro Ljubljana, d. d. Slika 3: Bodoci procesa iskanja informacij za opravljanje delovnih nalog v podjetju Elektro Ljubljana, d. d., ki temelji na uporabi pogovornega robota tehnicne in vsebinske predloge za izboljšave. Clani tima za nacrtovanje pogovornega robota so v nekaj tednih uporabe zbirali povratne informacije uporab­nikov in pripravili usmeritve za nadaljni razvoj po­govornega robota s strani zunanjega ponudnika. 5.2 Sodelujoci v fokusnih skupinah Pri definiranju vloge pogovornega robota v podjetju je pomembno razumeti: kaj zaposleni delajo, kaj upo­rabljajo pri svojem delu, kako si pri delu pomagajo, kakšno pomoc bi pri delu še potrebovali in kako bi jim lahko pri tem pomagal pogovorni robot. Vpraša­nja za fokusne skupine in intervju smo nacrtovali v treh sklopih: spoznavanje dela na oddelkih, pripra­va informacijskih potreb, ki bi jih lahko podprl nov pogovorni robot, in priprava seznama uporabniških zahtev pogovornega robota kot intraneta v podjetju. S pomocjo teh treh sklopov smo oblikovali scenarij fokusne skupine in intervjuja (Priloga A). Skupaj z vodjo projekta nacrtovanja pogovornega robota smo izbrali tri razlicne oddelke v podjetju Elektro Ljublja­na, d. d. in sicer: Oddelek za obracun, Služba za mer­jenje elektricne energije in Klicni center. Nato smo po e-pošti kontaktirali vodje oddelkov in jih skupaj z za- Slika 4: Koraki raziskovalnega pristopa poslenimi povabili k sodelovanju v raziskavi. Vsi so sprejeli povabilo za sodelovanje. Nato smo se z njimi dogovorili za izvedbo raziskave. Oblikovali smo pet fokusnih skupin (Tabela 1). Fokusne skupine so potekale v živo, na delovnih mestih zaposlenih, torej v njihovih pisarnah. V prvi, drugi in tretji fokusni skupini so sodelovali zaposle­ni iz Službe za obracun. V prvi fokusni skupini so opisali, da njihovo delo v vecji meri zajema kontrolo popisov števcev za gospodinjski odjem in poslovni odjem elektricne energije. Urejajo menjave števcev, spremembe placnika, lastnika in pogodbe v poveza­vi s tem. Clani druge fokusne skupine obravnavajo odjemalce velikih organizacij s prikljucno mocjo nad 43 kW in odjemalce elektricne energije, ki spadajo v kategorijo med gospodinjstvom in veleodjemom elektricne energije. V tretji fokusni skupini so opi­sali, da delajo evidenco uporabnikov. Obcasno se ukvarjajo tudi z reklamacijami, sicer pa stik s stranko opravlja dobavitelj. V službi za obracun imajo torej razporejeno delo obracuna podatkov in vsaka sku­pina ljudi se ukvarja z dolocenim podrocjem obra­cuna. Celotna služba za obracun pri delu uporablja namenske programe, razvite za obracun elektricne energije, programe s podatki o uporabnikih in meril­nih mestih, Microsoftova orodja in aplikacije Službe za napredno analitiko. V cetrtifokusni skupini so sodelovali iz Službe za merjenje elektricne energije. Služba je sestavljena iz vec oddelkov. En oddelek se ukvarja z zbiranjem podatkov daljinskih števcev. Obvladujejo podatke 15-minutnih meritev elektricne energije in drugih parametrov ter išcejo anomalije. Drugi oddelek skr­bi za obvladovanje merilnih mest ter prevzemanje in izdajanje navodil vsem monterjem na terenu. Tretji oddelek je Oddelek za kontrolo, ki se ukvarja se z razvojnimi projekti in skrbijo, da se dobi cim vec po­datkov z merilnih naprav ter z daljinskim nadzorom nad števci. Celotna Služba za merjenje elektricne energije pri svojem delu uporablja sisteme za zajem merilnih podatkov in programe za njihovo obdelavo, za pripravo obracunskih podatkov, za parametrira­nje podatkov in za nadzor delovnih nalogov ter apli­kacije Službe za napredno analitiko. V peti fokusni skupini je sodeloval klicni center. So prva linija za uporabnike. Rešujejo težave uporab­nikov po telefonu, nekateri pa odgovarja na e-pošto. Med drugim rešujejo raznorazna vprašanja, zahteve, soglasja, pogodbe in narocilnice. Ob javljanju upo­rabnikov o napakah in nedelovanju elektrike pošilja­jo tudi monterje na teren. Vodja službe skrbi tudi za dolocene informacije uporabnikom na spletni strani podjetja. Pri svojem delu uporabljajo sistem klicnega centra, dokumentni sistem, aplikacije s podatki o me­rilnih mestih in uporabnikih ter aplikacije Službe za napredno analitiko. 5.3 Analiza fokusnih skupin Na zacetku so udeleženci diskutirali uporabo infor­macijskega sistema podjetja. Udeleženec izpostavi pomemben vidik iskanja informacij in sicer karak­ter zaposlenega: »Kako bo nekdo iskal informacije je odvisno od njega samega. Nekdo je malo bolj proak­tiven, bo šel brskat, bo prišel do cilja, drug bo pa ali niti ne bo iskal ali bo pa mislil, da tega ni na voljo.« Podobno izpostavi udeleženka iz tretje fokusne sku­pine: »Odvisno od osebe, eni to vse sami naštudirajo pa pac vidijo, kako pa kaj, eni pac rabijo še kakšno informacijo. Eni malo vec, eni malo manj.« Strinjali so se, da ne potrebujejo veliko pomoci pri rabi usta­ljenih aplikacij pri delu. Radi si med seboj pomagajo, imajo pa tudi napisane dokumente, kjer so popisane specifike dela in protokoli. V fokusnih skupinah so zaznali potencialno ko­rist pogovornega robota pri uvajanju novo zaposle­nih. Udeleženec to opiše z besedami: »Ko se [nekdo na novo] zaposli bi bila takšna zadeva enkratna!« V tretji fokusni skupini so udeleženci izpostavili po­ Tabela1: Pregled fokusnih skupin Številka fokusne skupine Služba, ki je sodelovala v fokusni skupini Število sodelujocih 1 Služba za obracun 3 22 Služba za obracun 33 Služba za obracun 44 Služba za merjenje elektricne energije 5 2 Klicni center membnost medsebojnega sodelovanja. Udeleženec je rekel: »najboljša navodila so tista, ki jih skupaj pri­delamo.« Pomoc pri uporabi licencnih aplikacij nu­dijo ponudniki sami in razumeti je, da so z njihovo podporo zadovoljni. Udeleženka iz druge skupine to opiše z besedami: »Te programe v bistvu dosti ob­vladamo, tako da ne rabimo nobene pomoci. Zdaj, ko pa se karkoli na novo posodablja ali pa ko se na novo ureja, pa ja, takrat so navodila zelo pomemb­na.« Podjetje pa ima tudi lastniške aplikacije. Obicaj­no zaposleni sodelujejo že pri razvoju aplikacije in se ucijo s testiranjem. Podjetje organizira izobraževanja za koncne uporabnike aplikacij. Udeleženec iz cetrte fokusne skupine pravi: »V bistvu so to bolj prezenta­cije; predstavitve s strani proizvajalca in potem tiste najnujnejše stvari pac v sodelovanju hitro osvojiš. Ce pa rabiš kej novega, je pa najlažje poklicat ponudnika pa se z njim pogovorit kako pa kaj [...].« Udeleženci menijo, da bi jim prav prišla pomoc pri interpretaciji (novih) zakonov in aktov, deni­mo pri poznavanju in razumevanju novega Akta o metodologiji za obracunavanje omrežnine za elek­trooperaterje. Udeleženca druge fokusne skupine sta poudarila, da v zakonih in aktih ponavadi išcejo, kaj opredeljuje dolocen clen. Prav bi jim prišla tudi pomoc pri razumevanju kratic, ki se uporabljajo v elektroenergetiki in v podjetju. Udeleženka iz prve fokusne skupine pravi: »Vcasih ti res ni jasno, kaj so tiste kratice.« Ob vprašanju, kaj bi vprašali pogovor­nega robota, so se udeleženci v vecji meri navezo­vali na zakonodajo in akte ali pa na znanja, ki niso specificna za njihovo službo. Kot opiše udeleženka iz prve fokusne skupine, je to iskanje tovrstnih in­formacij precej zamudno: »Jaz vcasih vse sorte pre­iskujem, ko kej išcem. Pa traja preden kaj najdem, sploh pa v katerem (clenu/aktu) je informacija.« Drugi se strinjajo. Zakonodajo veliko uporabljajo na dnevni ravni. Udeleženci izpostavljajo potencialno koristnost pogovornega robota za deljenje znanja med posa­meznimi oddelki. Eden to opiše z besedami: »Sploh za tisti del, ki ga mi [na našem oddelku] ne pozna­mo toliko.« Drugi rece: »[...] da ne bom tam enega na drugem oddelku spraševal nekaj glede soglasij! To, da bi mi robot ponudil odgovor, pa bom rekel, okej, ja, sej ne rabim ga sploh klicat, pa ga obremenjavat, ker ima mogoce že prevec dela.« S pogovornim ro­botom bi se lahko delilo tudi medsebojna znanja na razlicnih oddelkih. Tako bi se znanje preneslo tudi na druge zaposlene, in ko bi ga potrebovali, jim ne bi bilo treba iskati osebe, ki bi jim pri tem pomagala. Udeleženci iz klicnega centra in tisti, kjer imajo opravka z odjemalci elektricne energije, so predlaga­li razvoj pogovornega robota tudi za stranke, pred­vsem za odgovore na osnovna vprašanja, na primer: »Kaj je jalova energija?« Enako ugotavljajo v tretji fokusni skupini, kjer kot primer vprašanja uporabni­kov navajajo: »Kaj potrebujem za prvi priklop elektri­ke?« Sicer omenijo, da so pogosta vprašanja na voljo na spletni strani podjetja, vendar bi bila tudi pomoc v obliki pogovornega robota že lahko koristna. Nekateri zaposleni v fokusnih skupinah so imeli željo preizkusiti njim namenjenega pogovornega robota. Menijo, da bodo potem imeli vec idej, kaj vse bi lahko še vsebovala baza znanja. Udeleženci v fo­kusnih skupinah so oblikovali nekaj vprašanj, ki bi jih že v tistem trenutku lahko postavili pogovorne­mu robotu: »Kaj je dogovorjena moc?«; »V katerem clenu je kaj?«; »V katerem aktu (je kaj)?«; »Kako se naredi menjava števca?«; »Sprememba prikljucne moci.«; »Izklop od omrežja.« Udeleženka iz prve fokusne je tako rekla: »Ko bi ga enkrat imel in upo­rabljal, bi potem lažje podal mnenje, kaj nam prav pride, kaj nam manjka.« Udeleženec iz tretje fokusne skupine je povedal: »Z uporabo bi mogoce dobil še kakšno idejo.« Udeleženka ga dopolni: »Zdaj si mo­goce vsak drugace robota predstavlja in to, kaj vse zmore.« Je pa udeleženka iz prve fokusne skupine izpostavila: »Potrebno se bo naucit, kako ga spraše­vat!« Pomembno je, da ko bo pogovorni robot razvit, da se bo zaposlenim pojasnilo, kako se ga uporablja, na kakšen nacin se ga sprašuje ter kaj vse obsega. V nadaljevanju je pogovor tekel o pogovornih ro­botih na splošno. Nekateri udeleženci so že preizku­sili pogovornega robota, drugi vedo, da obstaja, pa ga, ce se pojavi na spletni strani, ugasnejo. Vecina je preiskusila pogovornega robota za podporo stran­kam, kjer so morali izbirati možnosti. Nekateri so bili z njim zadovoljni, drugi nekoliko manj. Udeleženka iz druge fokusne skupine opiše svojo pozitivno iz­kušnjo: »Jaz sem imela reklamacijo na spletni nakup. Dokler sem imela splošna vprašanja, je pogovorni ro­bot odgovarjal, ce je bilo pa kaj bolj zapletenega, te je itak povezal z dejansko osebo.« Nekateri so izposta­vili dodatne omejitve pogovornih robotov. Udeleže­nec iz pete fokusne skupine, ki jih je nekaj preizkusil, pravi: »Ko uporabnik vidi, da v doglednem casu ne pride do odgovora oziroma po dolgem casu dobi na­pako (angl. error), potem napišite mail. Vendar, upo­rabnik bi v bistvu lahko že v zacetku email napisal.« Pri tovrstni slabi izkušnji uporabnik naslednjic takoj napiše email. Tudi udeleženec iz cetrte fokusne sku­pine opiše svojo izkušnjo: »V bistvu te samo usmerja na njihove spletne strani […], to je premal.« Drugi udeleženec iz cetrte fokusne skupine je preizkusil ChatGPT. Izkušnja z njim je bila pozitivna. 5.4 Izdelava prototipa S pomocjo fokusnih skupin smo identificirali poten­cialne koristi pogovornega robota: 1) kot podporo pri deljenju znanj med zaposlenimi iz razlicnih oddel­kov znotraj podjetja, 2) kot podporo novo zaposle­nemu pri spoznavanju delovnega okolja, 3) kot pod­poro pri informiranju strank. Podjetje se je odlocilo za testiranje uporabe pogovornega robota za potrebe interne komunikacije. Primarna baza znanja prototi­pa pogovornega robota za podporo intranetu podjet­ja je zajemala izbrane teme:. dokumente z zakonodajo in akti, ki se uporabljajo: -Zakon o oskrbi z elektricno energijo (ZOEE) -Energetski zakon (EZ) -Zakon o spodbujanju rabe obnovljivih virov energije (ZSROVE) -Sistemska obratovalna navodila za distribucijski sistem elektricne energije (SONDSEE) -Zakon o ucinkoviti rabi energije (ZURE) -Akt o metodologiji za dolocitev regulativnega okvira za elektrooperaterje -Akt o metodologiji za obracunavanje omrežnine za elektrooperaterje. enostavne razlage zakonov, pogosta vprašanja in odgovori glede zakonov in aktov. pogosta vprašanja uporabnikov. razlage kratic v elektroenergetiki in kratic, ki se uporabljajo v podjetju Za izdelavo pogovornega robota je bil izbran po­govorni robot, ki temelji na procesiranju naravnega jezika. ChatGPT ni bil primeren za ta namen, saj ne more odgovoriti na vprašanja, ki se nanašajo na zasebne podatke, saj njegova baza zajema podatke, ki so v vecji meri dostopni na spletu [23]. Ne more pojasniti rabe specificnih kratic, izrazov, internih do­kumentov ipd. Tako smo uporabili model GPT-3.5­-turbo, na katerem je bil ChatGPT narejen, in ga pri­lagodili glede na našo zasebno bazo znanja ter pod­krepili dialog z uporabo ucenja s cloveškimi povra­tnimi informacijami. Omenjen model smo prilagodili v orodju za testiranje razlicnih AI modelov OpenAI Playground. Tako smo preizkusili, kako se obnaša in koliko se ga da spreminjati. Za izdelavo prototipa pogovornega robota, katerega baza znanja temelji na podlagi dokumentov, smo uporabili nacin, ki ga Sha [24] opisuje po korakih: 1. korak: Na racunalnik naložimo Python 2. korak: Posodobimo upravitelja paketov Pip in preverimo, ali je namešcen pravilno. 3. korak: Naložimo knjižnice: OpenAI, GPT In­dex, PyPDF in Gradio. 4. korak: Naredimo mapo z dokumenti za treni­ranje pogovornega robota, ki jo napolnimo z izbranimi dokumenti PDF. 5. korak: Ustvarimo brezplacen racun na platfor­mi OpenAI, pridobimo kljuc OpenAI API in ga kopiramo. 6. korak: Naložimo in odpremo urejevalnik kode. V našem primeru smo uporabili Visual Studio Code. Ustvarimo datoteko z imenom app.py in dodamo kodo, ki jo uporabi Sha [24]. 7. korak: Z ukazom se pomaknemo na lokaci­jo, kjer se nahajata mapa »docs« in dokument »app.py«. Nato z ukazom poženemo datoteko »app.py«. Pridobimo lokalen URL, ki ga kopi­ramo v brskalnik. 8. korak: Preizkusimo pogovornega robota. Pripravili smo vizualno predstavitev Belke (Slika 5). Belka je prijazna pogovorna robotka in lepo poz­dravi uporabnike ter jim ponudi pomoc. Njeni od­govori so profesionalni, saj temeljijo iz baze znanja danih dokumentov. Po pozdravu uporabnik vnese svoje vprašanje. Ce Belka pozna odgovor nanj, od­govori, ce ne, pa napiše, da odgovora ne pozna, saj vsebine ni v njeni bazi znanja, ter naj se uporabnik obrne na podporo SNAprek portala za zahtevke. Belka je tako prisotna na vseh straneh izbranih apli­kacij (Slika 6). Poleg tega je Belka na voljo tudi na loceni nadzorni plošci, kjer so opisane njene sposob­nosti. Na Sliki 7 je primer vprašanja, ki ga postavi uporabnik, in odgovora pogovornega robota, ki jih je pogovorni robot generiral s pomocjo besedila iz Energetskega zakona. 5.5 Analiza prototipa V naslednjih tednih so zaposleni pri testiranju pro­totipa spoznali, kako zelo je pomembno, da so do­kumenti v bazi znanja dobro strukturirani. Ugotovili so, da bo potrebno preoblikovati strukturo internih dokumentov, da bo Belka lahko hitro našla potrebno vsebino in oblikovala pravi odgovor. Izkušnje so po­kazale, da Belka najbolje odgovarja, ce so v bazi zna­nja dokumenti napisani v obliki vprašanj in odgovo­rov. Prav tako je potrebno dodatno predeliti kontekst dokumentov. Doloceni pojmi se lahko nahajajo v vec razlicnih dokumentih in ce se kontekst dokumentov ne specificira, lahko pogovorni robot poda napacen odgovor. Zato je pomembno, da se bo uporabnike iz­obrazilo, da bodo pri svojih vprašanjih specificirali kontekst. Podjetje je ugotovilo, da so potrebne vecje spre­membe osnovnega orodja, ki podpira Belko, da bi lahko podala tocne in zanesljive odgovore. Organi­ziralo se je vec sestankov z zunanjim izvajalcem. Iz­brane uporabniške zahteve za pogovornega robota, ki podpira intranet podjetja, so bile:Nov pogovorni robot naj bo podoben ChatGPT-ju in bo sposoben v slovenšcini odgovarjati na vpraša­nja uporabnikov. . Pogovorni robot bo poznal odgovore na vpraša­ nja o vsebini, ki se bo nahajala v bazi znanja.. Bazo znanja predstavlja mapa z dokumenti.. Podjetju se omogoci, da zaposleni dodajajo in brišejo dokumente v bazi znanja ter spreminjajo osnovne parametre modela. . Pogovorni robot se integrira v platformo Apache Superset, kjer bo na voljo v vseh internih aplika­cijah ter na eni loceni nadzorni plošci, namenjeni samo pogovornemu robotu. . Uporabi se izbrano ime Belka. . Belka se mora vesti kot pogovorni asistent, znati pozdravljati in odgovoriti na osnovna vprašanja, kot so: kdo si, kako si, se posloviti itd., poleg tega da bo znal odgovarjati na vprašanja uporabnikov. . Belka ima barvno shemo pogovornega okna, ki je ujemajoca z barvno shemo nadzornih plošc v SNA. . Uporabnikom se omogoci možnost razširitve po­govornega okna, da si ga uporabniki lahko po že­lji povecajo ali pomanjšajo. Slika 6: Prototip pogovornega robota v aplikaciji Slika 6: Primer vprašanja in odgovora . Omogoci se neprestano testiranje novih razlicic Belke. 6 DISKUSIJA IN ZAKLJUCEK Namen clanka je bil pridobiti razumevanje o eno­stavnosti in uspešnosi privzemanje orodja GPT-3.5­-turbo kot osnovo za delovanje pogovornega robota, katerega namen je služiti interni komunikaciji zapo­slenih v slovenskem podjetju. Udeleženci fokusnih skupin so sami prepoznali razlicne vloge, ki jih lahko pogovorni robot zasede v podjetju. Podjetje ga lahko uporabi za informiranje tako strank kot zaposlenih. Slovensko podjetje Elektro Ljubljana se je odlocilo, da podpre delo zaposlenih s pogovornim robotom. V okviru nacrtovanja pogovornega robotasmo dosegli vse 3 cilje. Z izvedbo fokusnih skupin smo pridobili razumevanje zaposlenih o zmožnostih po­govornega robota in tudi konkretne ideje za kaj vse bi lahko uporabljali pogovorni robot v doticnem podje­tju. Na osnovi orodja GPT-3.5-turbo smo pripravili Belko, ki je lahko uporabnikom ponujala odgovore na omejen nabor tem oziroma dokumentov. Ciljni uporabniki so jo testirali in od njih smo pridobili dra­gocene informacije za nadaljni razvoj Belke. Odgovor na prvo raziskovalno vprašanje smo ugotovili, da si zaposleni v doticnem podjetju želijo pogovornega robota, ki jim bo pomagal pri iskanju in razumevanju zakonov, aktov in kratic ter pri ucenju novosti. Prav tako bi se radi s pomocjo pogovornega robota informirali o vsebinah drugih služb in oddel­kov v podjetju. Pogovorni robot bo lahko pomagal novo zaposlenim pri uvajanju na novo delovno me­sto. Relevantne vsebine so torej zakoni, akti, razlage, pogosta vprašanja in pomembni interni dokumenti razlicnih služb in oddelkov. Odgovor na drugo raziskovalno vprašanje smo pridobili s testiranjem prototipa Belke. Ugotovili smo, da uporaba GPT-3.5-turbo tehnicno pomanjklji­vo zadovoljuje potrebe slovenskega podjetja pri pod­pori intranetu. Skladno s tem se je podjetje odlocilo, da nadaljni razvoj Belke prepusti zunanjim izvajal­cem. Kljucne uporabniške zahteve so: 1) da bo Belka sposobna dobro odgovarjati v slovenšcini, 2) da bodo zaposleni lahko dodajali dokumente v bazo znanja in 3) da bo ustrezno integrirana v obstajajoce aplikacije podjetja. Kljucno pri oblikovanju uporabniških zah­tev pogovornega robota kot intraneta pa je bilo sode­lovanje zaposlenih v podjetju. V bodoce se bo zaposlene veckrat prosilo za po­vratne informacije o uporabi izboljšanih razlicic Bel­ke. Preverjalo se bo: zadovoljstvo z uporabo pogo­vornega robota ugotavljalo, kdaj in kje se pojavljajo napake, ter katere dokumente bi bilo še smiselno do­dati v bazo znanja. Tako se bo pogovornega robota stalno prilagajalo novim zahtevam uporabnikov in redno posodabljalo bazo znanja. 7 ZAHVALA  Raziskovalno delo soavtorice Marine Trkman je financirala AgencijazaraziskovalnodejavnostRepublikeSlovenije (ARIS) v okviru raziskovalne­ga projekta J7-50185. Omenjena soavtorica deluje v okviru programske skupine P5-0399. Živa Hudobivnik se za možnost izvedbe razisko­valnega projekta v okviru magistrske naloge in štu­dentskega dela iskreno zahvaljuje podjetju Elektro Ljubljana, d. d., še posebej Maji Savinek in Tadeju Šinkovcu. LITERATURA [1] A. Fřlstad idr., Future directions for chatbot research: an in­terdisciplinary research agenda, Computing, let. 103, št. 12, str. 2915–2942, 2021, doi: 10.1007/s00607-021-01016-7 [2] M. Dahiya, A tool of conversation: Chatbot, International Jo­urnal of Computer Sciences and Engineering, let. 5, št. 5, str. 158–161, 2017. [3] Gartner predicts Chatbots will become a primary customer service channel within five years, Gartner, https://www.gar­tner.com/en/newsroom/press-releases/2022-07-27-gartner­-predicts-chatbots-will-become-a-primary-customer-servi­ce-channel-within-five-years [4] P. B. Brandtzaeg in A. Fřlstad, Why People Use Chatbots, v Internet Science, I. Kompatsiaris, J. Cave, A. Satsiou, G. Car­le, A. Passani, E. Kontopoulos, S. Diplaris, in D. McMillan, ur., Cham: Springer International Publishing, str. 377–392, 2017. https://doi.org/10.1007/978-3-319-70284-1_30 [5] M. Casillo, F. Colace, L. Fabbri, M. Lombardi, A. Romano, in D. Santaniello, Chatbot in Industry 4.0: An Approach for Train­ing New Employees, v 2020 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE), str. 371–376, 2020. doi: 10.1109/TALE48869.2020.9368339 [6] J. Frankenfield, Chatbot definition, types, Pros & Cons, examples. Pridobljeno 16. januarja 2024, https://www.inve­stopedia.com/terms/c/chatbot.asp [7] J. Chua, How will large language models (llms) change chat-bots?, Simplr, https://www.simplr.ai/blog/how-will-large-lan­guage-models-llms-change-chatbots [8] E. Adamopoulou in L. Moussiades, An Overview of Chatbot Technology, v Artificial Intelligence Applications and Innova­tions, I. Maglogiannis, L. Iliadis, in E. Pimenidis, ur., Cham: Springer International Publishing, str. 373–383, 2020. https:// doi.org/10.1007/978-3-030-49186-4_31 [9] J. Weizenbaum, ELIZA—a computer program for the study of natural language communication between man and ma­chine, Commun. ACM, let. 9, št. 1, str. 36–45, jan. 1966, doi: 10.1145/365153.365168 [10] A. A. Georgescu, Chatbots for Education - trends, benefits and challenges, 14th International Conference eLearning and Software for Education, apr. 2018. doi:10.12753/2066­-026x-18-097 [11] S. Balaji in M. Sundararajan, Waterfall vs v-model vs agile: A comparative study on SDLC, International Journal of Informa­tion Technology and Business Management, let. 2., št. 1 str. 26–30, 2012. [12] Enterprise architects combine design thinking, Lean Startup and agile to drive Digital Innovation. Pridobljeno 16. januarja 2024, https://www.gartner.com/en/documents/3941917 [13] N. Patel, Understanding how design thinking, Lean and agile work together. Pridobljeno 16. januarja 2024, https://www. digi-corp.com/blog/understanding-how-design-thinking-le­an-and-agile-work-to-gether/ [14] A. Suresh, The A to Z of chatbot design: How to plan your chatbot. Pridobljeno 16. januarja 2024, https://www.fre­shworks.com/live-chat-software/chatbots/chatbot-design­-blog/ [15] Chatbot best practices. Pridobljeno 16. januarja 2024, https:// www.chatbot.com/chatbot-best-practices/ [16] Dovolite, da vas omrežimo. Pridobljeno 16. januarja 2024, https://www.elektro-ljubljana.si/elektro-ljubljana [17] Elektro Ljubljana s projektom Digit Bela do digitalne prenove. Pridobljeno 16. januarja 2024, https://www.elektro-ljubljana. si/medijske-objave/ArtMID/921/ArticleID/2063/Elektro-Lju­bljana-s-projektom-Digit-Bela-do-digitalne-prenove [18] W. L. Neuman, Social research methods: Qualitative and quantitative approaches. Pearson Education Limited, 2014 [19] Ž. Lep, Fokusne skupine, v Kako spodbujati zaposlene: psi­hološki pristopi od A do Ž, E. Boštjancic in A. Petrovcic, ur., Znanstvena založba Filozofske fakultete Univerze v Ljubljani, str. 33–49, 2020. [20] M. N. Orobey, A. Alchinov in I. M. Daudov, Theoretical aspec­ts of prototyping, Journal of Physics: Conference Series, let. 1582, št. 1, jul. 2020. doi:10.1088/1742-6596/1582/1/012068 [21] C. A. Lauff, D. Kotys-Schwartz in M. E. Rentschler, What is a prototype? What are the roles of prototypes in compani­es?, Journal of Mechanical Design, let. 140, št. 6, mar. 2018. doi:10.1115/1.4039340 [22] What is prototyping?. Pridobljeno 16. januarja 2024, https:// www.figma.com/resource-library/what-is-prototyping/ [23] K. Muehmel, What is a large language model, the Tech be­hind chatgpt?. Pridobljeno 16. januarja 2024, https://blog. dataiku.com/large-language-model-chatgpt [24] A. Sha, How to train an AI chatbot with custom knowledge base using CHATGPT API. Pridobljeno 16. januarja 2024, https://beebom.com/how-train-ai-chatbot-custom-knowled­ge-base-chatgpt-api/ [25] Cute artificial intelligence robot with notebook stock pho­to. Pridobljeno 16. januarja 2024, https://www.istockphoto. com/photo/cute-artificial-in-telligence-robot-with-notebook­-gm1279564226-378132643 • Živa Hudobivnik je magistrica družboslovne informatike. Magistrirala je z delom Nacrtovanje pogovornega robota za pomoc zaposlenim v podjetju Elektro Ljubljana, d. d. Zaposlena je v podjetju Elektro Ljubljana, d. d., v Službi za napredno analitiko, kjer dela na podrocju podpore uporabnikom, analitike in uporabe umetne inteligence. • Maja Savinek je doktorska študentka na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Zaposlena je v podjetju Elektro Ljubljana, d. d., kjer se ukvarja z razvojem napredne analitike in algoritmov na podrocju elektroenergetike, s poudarkom na tehnologijah velepodatkov. Njeni strokovni prispevki so s podrocja umetne inteligence, podatkovnega rudarjenja in analize podatkov v elektroenergetiki. • Marina Trkman je docentka na Univerzi v Ljubljani; zaposlena na Fakulteti za upravo in Fakulteti za družbene vede. Doktorat je opravila na Fakulteti za racunalništvo. Svoj podoktorski projekt je vodila na Institutu Jožefa Štefana. Raziskovalno se ukvarja: 1) s preiskovanjem dejavnikov, ki vplivajo na privzemanje informacijsko komunikacijskih tehnologij in 2) z analiziranjem poslovnih procesov za optimizacijo poslovanja. Kot prvi avtor je objavila clanke v prestižnih revijah kot sta International journal of information management in pa Government information quarterly. PRILOGA A: SCENARIJ ZA INTERVJU IN FOKUSNE SKUPINE Uvod [Se predstavim in povem, da izvajam raziskavo za namen magistrskega dela z naslovom Nacrtovanje pogovornega robota za pomoc zaposlenim v Elektro Ljubljana, d. d. Udeležencem razdelim obrazce z obvešcenim soglasjem za sodelovanje v raziskavi. Ko si ga preberejo in podpišejo, zacnem z izvedbo raziskave.] Vprašanja in podvprašanja 1. SKLOP: Delo na oddelku in raba aplikacij pri delovnih procesih 1. Za zacetek bi vas vprašala, kaj delate na tem oddelku? 2. Kaj vse pa uporabljate pri vašem delu (na primer programe, aplikacije itd.)? Opišite mi svojo iz­kušnjo z njimi. 2. SKLOP: Pomoc pri delu 3. Ali bi potrebovali kakšno pomoc pri rabi aplikacij in programov? 3.1. Podvprašanja za pomoc: Ne znate uporabljati, ne veste, kje kaj najti, ne razumete izrazov? 4. Kaj oziroma katere informacije bi še potrebovali pri svojem delu, da bi vam bilo lažje? 4.1. Podvprašanje za pomoc: Morda razlage kratic, izrazov, navodila, videi itd.? 3. SKLOP: Pogovorni robot 5. Ali veste, kaj je pogovorni robot? Kako si ga predstavljate? 5.1 Za pomoc, ce ne vedo, razlaga s prakticnimi primeri: Ste kdaj nakupovali v kakšni spletni trgovini, na primer Big Bang, Merkur, ki ima desno spodaj klepetalnik? Ali pa na primer na Viberju ali Facebook Messengerju? Na Facebook Messengerju je na primer Obcina Ljubljana imela svojega pogovornega robota. 6. Ce si predstavljate pogovornega robota v podjetju za zaposlene, kaj bi ga vprašali oziroma kaj bi želeli izvedeti? 6.1. Podvprašanje za pomoc: Morda navodila, tehnicna pomoc, odgovori na vprašanja itd.? 7. Se vam zdi, da bi bil pogovorni robot z bazo znanja uporaben pri vašem delu? Na koncu vsak udeleženec prejme simbolicno nagrado. Naslavljanje DNA-pomnilnikov Lidija Stanovnik, Miha Mraz Univerza v Ljubljani, Fakulteta za racunalništvo in informatiko, Vecna pot 113, 1000 Ljubljana lidija.stanovnik@fri.uni-lj.si, miha.mraz@fri.uni-lj.si Izvlecek Potrebe po cenovno ucinkovitih pomnilnih medijih za dolgotrajno arhiviranje podatkov so povzrocile razvoj nekonvencionalnih platform, med katere sodi tudi trajno pomnjenje podatkov v DNA. Z vsakim novim medijem pa se pojavijo tudi novi problemi. Zaradi drugacnih lastnosti bioloških sistemov se v mediju DNA pojavljajo drugacni tipi napak, kot smo jih vajeni iz digitalnih sistemov, prav tako se razlikuje tudi njihova porazdelitev in pogostost. Da bi težave ustrezno naslovili, je potrebno razviti ustrezne (nove) kode za odkrivanje in odpravljanje napak. V clanku spoznamo kode brez prekritij, ki se uporabljajo za dostop do podatkov v DNA-pomnilnikih, in opišemo pristop, s katerim lahko konstruiramo velik naslovni prostor biološkega pomnilnika. Kljucne besede: DNA-pomnilniki, celoštevilska optimizacija, kodi brez prekritij Addressing of DNA memory Abstract Due to the increasing demand for price efficient long-term storage media, over the last decade, unconventional platforms such as the DNA memory have been developed. Every novel medium, however, brings up new problems. Biological systems have specific characteristics that lead to errors in the DNA medium that differ from the ones that occur in the digital systems. Their frequency and distribution also vary. To address these problems accordingly, new error detecting and correcting codes should be developed. Herein, we present non-overlapping codes that are used to access the data stored in DNA memory, and describe a method to construct a large address space of a biological storage device. Keywords: DNA memory, integer optimization, non-overlapping codes 1 UVOD Zaradi vse vecjih potreb po trajnem shranjevanju po­datkov se proizvajalci konvencionalnih pomnilnih platform spopadajo s težavo zagotavljanja zadostnih pomnilnih kapacitet. Eno od možnih rešitev pred­stavlja razvoj novih pomnilnih platform, med katere sodi tudi trajno pomnjenje podatkov v DNA. Ker je DNArobusten medij in je posledicno obstoj podat­kov na njem dolgotrajen ter omogoca veliko gostoto zapisa, v teoriji do 455 EB/g [5], je še posebej prime­ren za pomnjenje arhivskih podatkov [7]. Biološki pomnilni sistemi se po nacinu dostopa do podatkov razlikujejo od klasicnih elektronskih sistemov. Do podatkov namrec ne moremo dostopati neposredno preko vodil, ki bi povezovala pošiljatelja in prejemnika, saj so podatki shranjeni v obliki mole­kul DNA, ki znotraj biološkega pomnilnika niso pro­storsko urejene [3]. Dostop do podatkov je omogocen z uporabo tehnik, ki iz nabora vseh molekul DNA, ki so shranjene v pomnilniku, izlušci tiste, v katerih se nahaja nek dolocen vnaprej izbran podniz. Slednje­mu recemo naslov. Velikost pomnilnika je torej ome­jena s številom razlicnih naslovov. Za kreiranje množice naslovov znotraj posame­znega pomnilnika uporabimo kode za odkrivanje in odpravljanje napak [1, 2, 6, 11, 17]. Ena izmed dru­žin kodov, ki se uporabljajo v ta namen, so kodi brez prekritij in njihova posplošitev v šibko nekorelirane kode z dodatnimi zahtevami, da je v naslovu najvec pet zaporednih enakih simbolov ter da je v njem de­lež simbolov iz nabora {G, C} blizu 50 % [9, 15, 18, 10]. Slednji zahtevi izvirata iz lastnosti tehnologije, ki Spremenljivka ntorej oznacuje dolžino kodnih besed. Ce se omejimo na kode, ki se uporabljajo v DNA­pomnilnikih, so smiselne vrednosti za n manjše od 30. Vedoželjen bralec si lahko podrobnosti izpeljave in reševanja optimizacijskega problema prebere v [14]. n - 1 max xiy n - ii = 1 pri pogojih x1 + y1 = 4 i - 1 x1 + y1 = xjyi -j i> 1 j = 1 x1, y1 > 0xi, yi=0 i> xi, yi. Z i = 1 Ce bi želeli v optimizacijski problem vkljuciti tudi obe dodatni zahtevi za DNA-pomnilnike, ki smo ju opisali v uvodu, bi morali množice Li, Rirazbiti na podmnožice tako, da posamezna podmnožica vse­buje zgolj besede z enakim število pojavitev crk iz množice {G, C}, ki se zacnejo z isto crko in enakim številom ponovitev le-te, ter se koncajo z isto crko in enakim številom ponovitev le-te. Vsaki podmnožici bi morali pripisati novo spremenljivko ter ustrezno nadomestiti kriterijsko funkcijo in omejitve. Tudi v tem primeru bi lahko nekatere neoptimalne rešitve odstranili iz preiskovalnega prostora s podobnimi matematicnimi izpeljavami, kot so predstavljene v [14] za kode brez prekritij brez dodatnih omejitev. 3 REZULTATI Eksaktno reševanje opisanega optimizacijskega pro­blema je navkljub zmanjšanju preiskovalnega pro­stora casovno zelo zahtevno [14]. Dodatne zahteve množico rešitev še dodatno eksponentno povecajo in s tem otežijo reševanje optimizacijskega proble­ma. Ce je delež besed, ki kršijo posamezno zahte­vo, majhen, je zato bolj smiselno vzeti dobro rešitev osnovnega optimizacijskega problema in iz doblje­nega koda brez prekritij izlociti kodne besede, ki ji ne zadošcajo. Vzeli smo vse optimalne rešitve optimizacijskega problema za štiriške kode dolžine od 3 do 15 sim­bolov povzete po viru [14]. Za vsak kod smo izra­cunali delež kodnih besed, ki imajo najvec pet zapo­rednih enakih simbolov, ter delež kodnih besed, ki imajo med 0,4n in 0,6n simbolov iz množice {C, G}. Najmanjši in najvecji dobljeni deleži so prikazani v besed zadošca kriteriju o omejenem deležu simbolov tabeli 1. Vidimo, da skoraj vse kodne besede zado-iz nabora {C,G}. Slednjega je torej smiselno vkljuciti v šcajo kriteriju o omejenem številu zaporednih enakih optimizacijski problem kljub povecanju casovne zah­simbolov, medtem ko le približno polovica kodnih tevnosti reševanja problema. Tabela1: Najmanjši in najvecji deleži kodnih besed, ki izpolnjujejo kriterije. Oznaka n oznacuje dolžino kodnih besed, oznaka N (n) število razlicnih najvecjih štiriških kodov brez prekritij dolžine n in S(n) število kodnih besed v najvecjem štiriškem kodu brez prekritij dolžine n. delež kodnih besed z najvec 5 enakimi delež kodnih besed z GC-deležem zaporednimi simboli med 40 in 60 % nN (n) S(n) najmanjši najvecji najmanjši najvecji 38 9 100,000 % 100,000 % 44,444 % 44,444 % 48 27 100,000 % 100,000 % 69,136 % 69,136 % 5 8 81 100,000 % 100,000 % 32,922 % 32,922 % 6 24 251 99,759 % 99,759 % 54,041 % 63,691 % 7 24 829 99,598 % 99,598 % 26,297 % 31,519 % 8 24 2753 99,643 % 99,643 % 51,086 % 64,620 % 9 24 9805 99,533 % 99,533 % 67,384 % 80,364 % 10 24 34921 99,425 % 99,425 % 46,158 % 57,067 % 11 24 124373 99,317 % 99,317 % 62,152 % 73,050 % 12 120 446496 99,283 % 99,305 % 41,527 % 52,160 % 13 120 1619604 99,187 % 99,201 % 56,957 % 68,453 % 14 240 5941181 99,170 % 99,189 % 69,606 % 81,392 % 15 240 21917583 99,083 % 99,096 % 54,170 % 65,376 % 4 ZAKLJUCEK Ugotovili smo, da lahko problem najvecjega naslov­nega prostora DNApomnilnika, ki uporablja kode brez prekritij, rešujemo eksaktno s pomocjo celošte­vilske optimizacije. Ker nam pristop vrne vse najvecje kode, lahko izmed njih izberemo takega, ki ima naj­bolj ugodne biokemijske lastnosti. Ugotovili smo, da lahko pogoj o omejenem številu enakih zaporednih simbolov preverjamo sprotno, medtem ko bi bilo kri­terij o omejenem GC-deležu smiselno vkljuciti v mate­maticni model in prilagoditi optimizacijski problem. Reševanje celoštevilskih optimizacijskih proble­mov s polinomsko kriterijsko funkcijo in polinomskimiomejitvami omogocajo tudi nekatera splošno namen­ska orodja za reševanje optimizacijskih problemov, kijih nameravamo preizkusiti v nadaljevanju razisko­valnega dela. Omenjeni pristop ima sicer že znanepomankljivosti. Prva je, da številna orodja ne podpi­rajo nekonveksnih omejitev, ki so se pojavile v našiformulaciji. Pogosto je tudi taka orodja moc uporabiti,ce zna uporabnik kreirati zaporedje relaksacij svojegaoptimizacijskega problema, ki bo konvergiralo k pra­vilni rešitvi. Lahko se zgodi, da rešitev konvergira takopocasi, da je pristop neuporaben, ali da se velikost rela­ksacij poveca cez mejo, ki jo orodja še podpirajo. LITERATURA [1] Daniella Bar-Lev, Itai Orr, Omer Sabary, Tuvi Etzion, and Eitan Yaakobi. Deep DNA storage: Scalable and robust DNA storage via coding theory and deep learning. arXiv preprint arXiv:2109.00031, 2021. [2] Meinolf Blawat, Klaus Gaedke, Ingo Huetter, Xiao-Ming Chen, Brian Turczyk, Samuel Inverso, Benjamin W Pruitt, and George M Church. Forward error correction for DNA data sto­rage. Procedia Computer Science, 80:1011–1022, 2016. [3] Avital Boruchovsky, Daniella Bar-Lev, and Eitan Yaakobi. DNA-Correcting Codes: End-to-end Correction in DNA Sto­rage Systems. arXiv preprint arXiv:2304.10391, 2023. [4] Yeow Meng Chee, Han Mao Kiah, Punarbasu Purkayastha, and Chengmin Wang. Cross-bifix-free codes within a con­stant factor of optimality. IEEE Transactions on Information Theory, 59(7):4668–4674, 2013. [5] George M Church, Yuan Gao, and Sriram Kosuri. Next­-generation digital information storage in DNA. Science, 337(6102):1628–1628, 2012. [6] Robert N Grass, Reinhard Heckel, Michela Puddu, Daniela Paunescu, and Wendelin J Stark. Robust chemical preser­vation of digital information on DNA in silica with error-cor­recting codes. Angewandte Chemie International Edition, 54(8):2552–2555, 2015. [7] Reinhard Heckel, Ilan Shomorony, Kannan Ramchandran, [13] Jerrod J Schwartz, Choli Lee, and Jay Shendure. Accurate and NC David. Fundamental limits of DNA storage systems. gene synthesis with tag-directed retrieval of sequence-verifi- In 2017 IEEE International Symposium on Information Theory ed dna molecules. Nature methods, 9(9):913–915, 2012. (ISIT), pages 3130–3134. IEEE, 2017. [14] Lidija Stanovnik, Miha Moškon, and Miha Mraz. In search of [8] V.I. Levenshtein. Maximum number of words in codes without maximum non-overlapping codes. Designs, Codes and Cryp­ overlaps. Problemy Peredachi Informatsii, 6(4):88–90, 1970. tography, pages 1–28, 2024. [9] Maya Levy and Eitan Yaakobi. Mutually uncorrelated codes [15] SM Tabatabaei Yazdi, Yongbo Yuan, Jian Ma, Huimin Zhao, for DNA storage. IEEE Transactions on Information Theory, and Olgica Milenkovic. A rewritable, random-access DNA­ 65(6):3671–3691, 2018. -based storage system. Scientific reports, 5(1):1–10, 2015. [10] Xiaozhou Lu and Sunghwan Kim. Weakly mutually uncorrela­ [16] Jose L Walteros and Austin Buchanan. Why is maxi- ted codes with maximum run length constraint for dna stora­ mum clique often easy in practice? Operations Research, ge. Computers in Biology and Medicine, 165:107439, 2023. 68(6):1866–1895, 2020. [11] Lee Organick, Siena Dumas Ang, Yuan-Jyue Chen, Randolph [17] SM Yazdi, Ryan Gabrys, and Olgica Milenkovic. Portable and Lopez, Sergey Yekhanin, Konstantin Makarychev, Miklos Z error-free DNA-based data storage. Scientific reports, 7(1):1– Racz, Govinda Kamath, Parikshit Gopalan, Bichlien Nguyen, 6, 2017. et al. Scaling up DNA data storage and random access retri­ [18] SMH Tabatabaei Yazdi, Han Mao Kiah, Ryan Gabrys, and Ol­ eval. BioRxiv, page 114553, 2017. gica Milenkovic. Mutually uncorrelated primers for DNA-ba­ [12] Michael G Ross, Carsten Russ, Maura Costello, Andrew Hol­ sed data storage. IEEE Transactions on Information Theory, linger, Niall J Lennon, Ryan Hegarty, Chad Nusbaum, and 64(9):6283–6296, 2018. David B Jaffe. Characterizing and measuring bias in sequen­ ce data. Genome biology, 14:1–20, 2013. • Lidija Stanovnik je diplomirala in magistrirala na Fakulteti za racunalništvo in informatiko ter Fakulteti za matematiko in fiziko Univerze v Ljubljani. Zaposlena je kot mlada raziskovalka na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. • Miha Mraz je diplomiral, magistriral in doktoriral na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Na isti ustanovi je zaposlen kot redni profesor in poucuje predmete Zanesljivost in zmogljivost racunalniških sistemov, Modeliranje racunalniških omrežij in Nekonvencionalne platforme in metode procesiranja. Je (so)avtor vec kot 200 raziskovalnih del. NORA: napredno orodje za poucevanje relacijske algebre Timotej Knez Univerza v Ljubljani, Fakulteta za racunalništvo in informatiko, Vecna pot 113, 1000 Ljubljana timotej.knez@fri.uni-lj.si Izvlecek V clanku predstavljamo orodje NORA za avtomatsko delo z relacijsko algebro, ki smo ga razvili in pilotno uporabili na univerzitetnem predmetu „Osnove podatkovnih baz“. Sodelovalo je približno 170 študentov, ki so orodje uspešno uporabljali pri vajah, reševanju domacih nalog ter na preverjanju znanja znotraj. Orodje omogoca pisanje, izvajanje in avtomatsko ocenjevanje poizvedb na pripravlje­nih podatkovnih bazah. Omogoca tudi uporabo znotraj spletne ucilnice Moodle. Pilotna izvedba je pokazala, da je orodje ucinkovito, prihrani cas pri ocenjevanju in omogoca prilagodljivo ocenjevanje študentskih rešitev. S tem verjamemo, da orodje predstavlja po­memben prispevek k izboljšanju ucnega procesa relacijske algebre v okviru študijskih programov racunalništva in informatike. Kljucne besede: Avtomatsko preverjanje poizvedb, E-ucenje, Ocene na daljavo, Relacijska algebra NORA: Advanced Tool for Relational Algebra Teaching Abstract The article introduces an innovative tool for the automatic validation of relational algebra queries piloted in the university course, the “Introduction to Databases.” Approximately 170 students actively utilized the tool during practical exercises, homework assi­gnments, and a midterm quiz. The tool enables query writing, execution, and automatic assessment on prepared databases, with a notable emphasis on its Moodle integration. The pilot implementation demonstrated the tool‘s effectiveness, time-saving benefits in evaluation, and adaptability in grading student solutions. This suggests that the tool represents a significant contribution to en­hancing the learning process of relational algebra within computer science and informatics study programmes. Keywords: Automatic Query Verification, E-Learning, Remote Grading, Relational Algebra 1 UVOD V sodobnem izobraževalnem okolju, kjer se racunal­ništvo in informatika neprestano razvijata, postaja kljucno zagotoviti študentom ucinkovite in inovativ­ne nacine ucenja temeljnih konceptov. Eden izmed takšnih konceptov, ki ga obravnavamo pri predmetu osnove podatkovnih baz je relacijska algebra. Eden izmed kljucnih izzivov pri poucevanju relacijske al­gebre je prikaz delovanja posameznih operacij ter iz­vajanja izrazov. Za razliko od ostalih poizvedovalnih orodij, ki jih predstavljamo pri predmetu, relacijska algebra ni neposredno uporabljena v nobeni podat­kovni bazi, zaradi cesar je njeno uporabo težko de­monstrirati na prakticnem primeru. Za reševanje te težave smo razvili orodje, ki študen­tom omogoca pisanje in preverjanje poizvedb relacij­ske algebre na enostaven in dostopen nacin. To ino­vativno orodje ne zahteva namestitve ali vzdrževanjapodatkovnih baz ali strežnikov, saj v celoti deluje v br­skalniku. Orodje omogoca, da študent med sestavlja­njem izraza relacijske algebre na vsakem koraku pre­veri, kako trenutna poizvedba deluje ter ali je prišlo dokakšne napake. Orodje študentu pomaga tudi pri re­ševanju morebitnih sintakticnih napak, kar omogoca,da se študent osredotoci na razumevanje konceptov,namesto da bi se ukvarjal z nacinom zapisa izrazov. Poleg tega orodje ponuja izvajalcem predmeta možnost avtomatskega preverjanja študentskih po­izvedb, kar omogoca bolj ucinkovito ocenjevanje in zagotavljanje povratnih informacij. Orodje smo že vkljucili v izvedbo vaj pri predmetu osnove podat­kovnih baz na Fakulteti za racunalništvo in informa­tiko Univerze v Ljubljani. V nadaljevanju clanka bomo podrobno predsta­vili funkcionalnosti orodja, opisali uporabo na uni­verzi ter ponudili vpogled v tehnicne podrobnosti. Celoten projekt je prosto dostopen ter objavljena na platformi GitHub, s cimer želimo spodbuditi sodelo­vanje in prispevke širše skupnosti. Orodje je dosto­pno na povezavi https://github.com/TimotejK/OPB­-RA 2 RELACIJSKA ALGEBRA Relacijska algebra je matematicna struktura, ki se uporablja za opisovanje in manipulacijo podatkov v relacijskih bazah podatkov. Prvotno jo je opisal Codd leta 1970 [1]. Razvila se je kot teoreticno orodje za podporo relacijskim bazam podatkov, ki so osnova za vecino sodobnih sistemov za upravljanje s podat­kovnimi bazami. Glavni cilj relacijske algebre je omogociti eno­stavno in formalno opisovanje poizvedb, filtriranja, združevanja in drugih operacij nad relacijskimi po­datki. V osnovi vkljucuje pet osnovnih operacij: Selekcija (s):Izbor vrstic, ki izpolnjujejo dolocen pogoj. Projekcija (p):Izbor dolocenih atributov iz relaci­je, obicajno za zmanjšanje kompleksnosti podatkov. Unija (.):Povezovanje dveh relacij, kjer rezultat vsebuje vse vrstice, ki se pojavijo v vsaj eni izmed zacetnih relacij. Razlika (-): Odstranjevanje vrstic iz ene relacije, ki se pojavljajo tudi v drugi. Produkt (×): Povezovanje dveh relacij, tako da se vsaka vrstica ene relacije združi z vsako vrstico dru­ge relacije. Poleg teh osnovnih operacij obstajajo tudi druge sestavljene operacije, ki omogocajo bolj kompleksne poizvedbe in so sestavljene iz osnovnih operacij. Re­lacijska algebra zagotavlja formalno orodje za preu­cevanje in analizo poizvedb nad relacijskimi podatki, s cimer se doseže boljše razumevanje njihove struk­ture in omogoca optimizacijo izvajanja poizvedb. V praksi se relacijska algebra uporablja v jezikih za poizvedovanje podatkov, kot je SQL(Structured Query Language), ki omogoca enostavno branje in spreminjanje podatkov v relacijskih bazah. Poleg osnovnih operacij naše orodje podpira tudi ostale operacije: Presek (n):Povezovanje dveh relacij, kjer rezultat vsebuje vrstice, ki se pojavijo v obeh zacetnih relaci­jah. Naravni in pogojni stik (.. ): Združi vrstice iz dveh relacij na podlagi pogoja oziroma ujemanja is­toimenskih stolpcev. Odprti naravni in pogojni stik ( , , ): Deluje podobno kot naravni in pogojni stik, s to razliko, dadoda tudi vrstice iz odprte strani, ki se ne ujemajo z nobeno vrstico z druge strani. Pol-stik (.): Združi vrstice med dvema relacija­ma na podlagi pogoja in vrne samo atribute iz leve relacije. Deljenje (/): Izpiše skupine podatkov iz prve re­lacije, ki se ujemajo z vsemi podatki iz druge relacije. Agregacija (t):Grupira vrstice iz relacije ter ovre­dnoti agregacijske funkcije nad podatki iz relacije. Preimenovanje (.):Preimenuje relacijo ter njene atribute. Prirejanje ( ): Relaciji priredi vrednost izraza. Orodje NORAtako podpira vse operacije relacij­ske algebre, ki jih uporabljamo za poizvedovanje po relacijskih podatkovnih bazah. 3 SORODNA ORODJA Pri razvoju našega orodja smo upoštevali tudi druge projekte, ki se ukvarjajo z avtomatskim preverjanjem poizvedb in olajševanjem ucenja relacijske algebre. Eno izmed takšnih orodij je orodje RelaX, ki se je uve­ljavilo v podobnem okolju. Orodje Relax je namenjeno ucenju in preverja­nju poizvedb relacijske algebre ter je bilo razvito na univerzi v Innsbrucku. Cilj orodja je poenostavljanje ucenja konceptov relacijske algebre ter SQL jezikov. Orodje RelaX je v mnogo pogledih podobno na­šemu orodju. Obe orodji si prizadevata zagotoviti izboljšano ucno izkušnjo študentom, omogocata pi­sanje poizvedb ter njihovo preverjanje na pripravlje­nih podatkovnih bazah. Prav tako sta bili obe orodji razviti za uporabo na fakulteti in sta prosto dostopni. Obe orodji sta napisani v jeziku JavaScript, vendar se tehnicne podrobnosti, kot so arhitektura brez stre­žnikov, lahko razlikujejo. Medtem ko se obe orodji trudita doseci podobne cilje, naše orodje prinaša nekatere dodatne funkci­onalnosti. Naše orodje ima prilagojeno razlicico, ki omogoca integracijo v Moodle spletno ucilnico. To omogoca, da lahko študenti znotraj kvizov vpisujejo izraze relacijske algebre ter jih preizkušajo. Obstaja tudi vec drugih orodij, ki rešujejo sorodne probleme. Soler in ostali [3] so razvili orodje, ki omo­goca avtomatsko pripravo nalog iz relacijske algebre za podporo poucevanja na podrocju podatkovnih baz. Podobno orodje je tudi Relational Algebra at your fingertips (ALF) [4]. Orodje omogoca izvedbo izrazov relacijske algebre v terminalu. V primerjavi z našim orodjem, alf ne ponuja graficnega uporab­niškega vmesnika ter integracije z Moodle spletno ucilnico. ALF uporablja izraze zapisane v prilagojeni obliki, ki je sestavljena kot (operacija izraz1, izraz2). Sintaksa, ki smo jo uporabili v našem orodju omogo­ca bolj naraven zapis izrazov, ki je bližji zapisu, ki se obicajno uporablja v literaturi. 4 OPIS ORODJA Orodje NORAomogoca bolj prilagodljivo in dosto­pno poucevanje relacijske algebre. NORAomogo­ca avtomatsko izvajanje poizvedb, kar uporabniku omogoca, da na vsakem koraku med grajenjem iz­raza preveri, kako izraz deluje ter ali je kje prišlo do napake. Orodje smo razvili s ciljem, da bi študentom omogocili cimbolj preprosto uporabo. Prav tako smo želeli omogociti integracijo orodja v zunanje sisteme, kot je sistem Moodle in s tem podpreti uporabo v ce­lotnem ucnem procesu. 4.1 Funkcionalnosti orodja Orodje NORAštudentom omogoca pisanje poizvedb relacijske algebre preko uporabniku prijaznega vme­snika. Uporabnik lahko izbira med vsemi operacija­mi relacijske algebre. Orodje trenutno ponuja dva uporabniška vme­snika. Prvi je postavljen kot samostojna spletna stran na portalu Github Pages in omogoca, da uporabni­ki kar se da enostavno vpisujejo ter preverjajo svoje poizvedbe. Drugi ponuja dodajanje funkcionalnosti orodja NORAv vprašanje na Moodle spletni ucilnici. Ta omogoca uporabo orodja znotraj kvizov in pre­verjanj znanj v ucnem procesu. 4.1.1 Uporaba na spletni strani NORAorodje je na voljo na Github pages strani na naslovu https://timotejk.github.io/OPB-RA/. Stran omogoca izbiro ene izmed štirih razlicnih domen, ki vsebujejo razlicne podatke. Po izbiri domene, se na strani samodejno izpišejo vse relacije ter njihovi atributi. Uporabnik lahko nato v vnosno polje zapiše izraz ter ga evalvira. Rezultat izraza se izpiše v obliki tabele na spletni strani. Spletna stran je zasnovana tako, da jo je mogoce uporabiti za demonstracijo izrazov relacijske alge­bre. Domene, ki so na voljo smo prilagodili tako, da ustrezajo domenam, ki se pojavljajo v nalogah ki jih uporabljamo na vajah pri predmetu Osnove podat­kovnih baz. Tako lahko študenti poizvedbe, ki jih pišemo na vajah neposredno preizkušajo v aplikaciji NORA. Uporabniški vmesnik je prikazan na Sliki 1. Slika 1: Primer uporabniškega vmesnika na spletni strani. Slika 2: Primer znack za dodajanje knjižnice. Orodje omogoca uporabo znotraj Moodle sple­tne ucilnice. Ta nacin uporabe deluje tako, da v kviz dodamo esejsko vprašanje, pri katerem uporabnik v odgovor vpisuje izraz relacijske algebre. K vprašanju dodamo html znacko za dodajanje javascript kode in uvozimo orodje. Potrebno je dodati datoteki kn­jiznica.js, operacije.js ter splošnji knjižnici jquery in underscore. Primer potrebnih znack je prikazan na Sliki 2. Ko se vprašanje prikaže študentu, orodje nad be­sedilno polje doda gumbe za vstavljanje posebnih znakov, pod besedilno polje pa doda gumb za poga­njanje poizvedbe. Ko uporabnik požene poizvedbo, se izraz iz besedilnega polja ovrednoti, njegov rezul­tat pa se izpiše v obliki tabele pod besedilno polje. Na ta nacin lahko študenti sproti pregledujejo kaj njihovi izrazi naredijo in ali so sintakticno pravilni. V našem primeru smo po zakljucku kviza iz ucil­nice avtomatsko naložili vse odgovore študentov ter izraze pognali lokalno na prilagojenih zbirkah rela­cij. Rezultat vsake izmed poizvedb smo nato avto­matsko primerjali s pricakovanim rezultatom in tako tockovali študentske odgovore. Na ta nacin orodje omogoca tudi avtomatsko popravljanje kvizov, kar lahko izvajalcem predmeta prihrani veliko casa. 4.2 Tehnicne podrobnosti Orodje za preverjanje poizvedb relacijske algebre je v celoti napisano v programskem jeziku JavaScript. Izvajanje poizvedb poteka lokalno v brskalniku upo­rabnika. 4.2.1 Implementacija Preverjanje poizvedb poteka v vec korakih. V prvem koraku se uporabnikov vnos razdeli na posamezne poizvedbe, saj orodje omogoca izvajanje vec zapore­dnih izrazov, kjer je rezultate izraza mogoce uporabi­ti znotraj vseh naslednjih izrazov. V drugem koraku vsak izraz razclenimo na opera­cijo ter izraza pred in po operaciji. V primeru da gre za unarno operacijo, bo izraz pred operacijo prazen. Nato rekurzivno ovrednotimo vse izraze nad kateri­mi se operacija izvaja. Primer rekurzivnega izvajanja je prikazan v Sliki 3. V sliki je prikazan izracun vre­dnosti izraza . V primeru, da trenutni izraz vsebuje ime relaci­je ali spremenljivke, ga lahko ovrednotimo tako, da uporabimo vrednost relacije oziroma spremenljivke. Ta pogoj služi kot ustavitveni pogoj rekurzije. Slika 3: Primer rekurzivnega izracuna vrednosti izraza. 4.2.2 Zapis izrazov Ena izmed težav, ki jih je bilo pri zasnovi orodja potrebno rešiti, je kako zapisati izraze na nacin, ki omogoca nedvoumen zapis v besedilnih poljih. Prva težava na katero smo naleteli je, da izrazi relacijske algebre vsebujejo matematicne simbole, ki jih ni eno­stavno zapisati s tipkovnico. To težavo smo rešili z dodatkom gumbov nad vnosnim poljem, ki omogo­cajo vpis vseh matematicnih simbolov, ki se upora­bljajo znotraj relacijske algebre. Za lažje vpisovanje izrazov smo omogocili tudi zapis nekaterih simbolov z znaki, ki so na voljo na tipkovnici. Na primer na­mesto znaka . lahko uporabnik zapiše !=. Gumbi za vnos posebnih znakov so prikazani na Sliki 4. Druga težava na katero smo naleteli je zapiso­vanje argumentov operacij. Navadno se pri zapisu izrazov argumente operacije zapisuje podpisano. S tem vemo, da gre za argumente operacij in ne na­ Slika 4: Vnosno polje za zapis izrazov v predstavljenem orodju. Nad vnosnim poljem imamo gumbe za zapis operacij relacijske algebre. Slika 5: Primer izpisanega sporocila o sintakticni napaki v izrazu. Pod gumbom “Evalviraj” je zapisano do kakšne napake je prišlo, spodaj pa je v izrazu z rdeco barvo pobarvan element, ki je napako povzrocil. slednji izraz. Ker vnosna polja v brskalniku ne pod­pirajo vnosa podpisanega besedila, smo se odlocili, da bomo argumente operacij oznacevali z uporabo oglatih oklepajev. Tako izraz zapišemo kot (p[Ime] s[Stan=‘Samski‘] (oseba .. stan)) . (p[Ime] (oseba . [ID = OID] facebook)). 4.2.3 Preverjanje sintakticnih napak Ena izmed kljucnih funkcionalnosti orodja je tudi dobro porocanje o sintakticnih napakah v izrazih. Z dobrim porocanjem napak lahko študentom poma­gamo popraviti napacno zapisane izraze ter s tem poenostavimo uporabo orodja. Pri zasnovi orodja smo si prizadevali da bi za vsako izjemo, do katere bi lahko prišlo, ustvarili sporocilo o napaki, poleg sporocila pa smo dodali tudi zacetek ter konec dela poizvedbe, ki je napako povzrocil. S tem lahko upo­rabniku prikažemo sporocilo o napaki ter oznacimo, del poizvedbe ki je problematicen. Primer takšnega sporocila je prikazan na Sliki 5. 5 UPORABA ORODJA V PRAKSI V letu 2023 smo uspešno pilotno uporabili naše orod­je pri predmetu Osnove podatkovnih baz na univer­zitetnem programu racunalništva in informatike. Pri predmetu je sodelovalo približno 170 študentov, ki so imeli možnost aktivne uporabe orodja tako na va­jah kot pri reševanju domacih nalog. Študentom smo omogocili, da so si med reševa­njem nalog na vajah pomagali z orodjem. Ta pristop je zagotavljal takojšnjo povratno informacijo o pra­vilnosti njihovih poizvedb, kar je izboljšalo ucni pro­ces. Z orodjem so si lahko pomagali tudi pri reševa­nju domacih nalog, kjer so študenti samostojno pre­verjali svoje rešitve in odpravljali morebitne napake. Po uspešni uporabi na vajah smo se odlocili upora­biti orodje tudi na kolokviju, ki smo ga izvedli v obliki spletnega kviza. Kviz je zajemal tri naloge iz relacijske algebre, ki so bile ocenjene s pomocjo našega orodja. Uporaba orodja se je izkazala kot zelo koristno, saj je omogocilo avtomatsko ocenjevanje nalog. Pri avto­matskem ocenjevanju smo pregledovali pravilnosti rezultatov, ki jih poizvedba vrne, namesto ocenjeva­nja same poizvedbe. S tem pristopom smo študentom omogocili, da rešujejo en problem na vec razlicnih na­cinov, brez da bi to vplivalo na število doseženih tock. Na podlagi rezultatov pilotne izvedbe smo ugoto­vili, da so izracunane ocene ustrezne in odražajo pra­vilno razumevanje relacijske algebre s strani študen­tov. Orodje je uspešno integrirano v izobraževalni proces, študentje pa so ga sprejeli kot koristno orodje pri svojem ucenju. ZAKLJUCEK Razvoj in implementacija orodja za avtomatsko pre­verjanje poizvedb relacijske algebre sta odprla nova vrata za ucinkovitejše in prilagodljivejše ucenje v akademskem okolju. Naša pilotna izvedba na pred­metu »Osnove podatkovnih baz« je pokazala, da lah­ko orodje prinese številne prednosti tako študentom kot izvajalcem predmeta. Z uporabo orodja smo študentom omogocili ak­tivno preizkušanje svojega znanja v realnem casu med vajami, kar je povecalo razumevanje relacijske algebre in olajšalo reševanje domacih nalog. Orodje je postalo nepogrešljivo tudi pri kolokviju v obliki spletnega kviza, kjer smo z avtomatskim ocenjeva­njem dosegli visoko raven doslednosti in prihranili dragocen cas pri rocnem pregledu. Pomembna dodana vrednost orodja je njegova integracija v Moodle spletno ucilnico, ki študentom omogoca še boljšo izkušnjo in hkrati poenostavlja delo izvajalcev predmeta. Prilagodljivost pri ocenje­vanju rezultatov poizvedb je študentom omogocila vecjo kreativnost pri reševanju problemov, ne da bi vplivala na koncni rezultat. Zavedamo se, da so pred nami izzivi in nadaljnje izboljšave, vendar smo s to izkušnjo trdno preprica­ni, da orodje za avtomatsko preverjanje poizvedb re­lacijske algebre prinaša vrednost v izobraževalnem procesu. Z nadaljnjim razvojem, odprtim sodelova­njem in prilagajanjem potrebam skupnosti verjame­mo, da lahko obogati ucno izkušnjo na podrocju po­datkovnih baz in racunalništva na splošno. 7 LITERATURA [1] Codd, E. F. (1970). A relational model of data for large shared data banks. Communications of the ACM, 13(6), 377-387. [2] Rampl M in drugi. Relax. dostopno na: https://github.com/ dbis-uibk/relax, [pregledano 18. 12. 2023]. [3] Soler, J., Boada, I., Prados, F., Poch, J., & Fabregat, R. (2007, August). An automatic correction tool for relational Algebra Queries. In International Conference on Computational Sci­ence and Its Applications (pp. 861-872). Berlin, Heidelberg: Springer Berlin Heidelberg. [4] Daloze B. Alf. dostopno na: https://github.com/eregon/alf, [pregledano 18. 12. 2023] • Timotej Knez je leta 2021 pridobil magisterij iz racunalništva in informatike. Trenutno zaseda položaj mladega raziskovalca na Fakulteti za ra­cunalništvo in informatiko Univerze v Ljubljani. Ukvarja se z raziskovanjem uporabe znanstvenih baz v obdelavi naravnega jezika. Dela tudi kot asistent pri predmetu osnove podatkovnih baz na fakulteti. Iz Islovarja Islovar je spletni terminološki slovar informatike, ki ga že vec kot 20 let ureja jezikovna sekcija Slovenskega društva INFORMATIKA. Slovar je javno dostopen za vpoglede in vnašanje novih izrazov na naslovu http://www.islovar.org inženíring uporábnosti -a --m (angl. usability engineering)vecdisciplinarno podrocje, ki se ukvarja z interakcijo clovek-racunalnik in posebej z oblikovanjem zelo uporabnih in uporabniku prijaznih racunalniških vmesnikov lógicna vráta -ih vrát ž (angl. logic gate) vezje, ki predstavlja osnovno logicno funkcijo (NOT, AND, OR,NAND, NOR) méšanje podátkov -a --s (angl. data blending)postopek, pri katerem se velepodatki iz vec virov združujejo v eno podatkovno skladišce; sin.zlivanje podatkov napád nícelnega dné -a -- --m (angl. Zero-day attack)kibernetski napad, kjer napadalec izkorišca varnostno ranljivost, preden jo lahko razvijalci odpravijo negibljíva elektrónika -e -e ž (angl. solid-state electronics, semiconductor electronics)elektronika, sestavljena iz polprevodniških elementov, npr. negibljivi disk, polprevodniški pomnilnik; sin. polprevodniška elektronika nčvídni splét -ega -a m (angl. invisible web, deep web, undernet, hidden web)del spleta, ki ga obicajni iskalniki ne indeksirajo in ne zaznavajo; sin.globoki splet; prim.temni spletobnovljívi pomnílnik -ega - a m (angl. regenerative memory, regenerative capacitor memory)pomnilnik, ki za shranjevanje podatkov uporablja kondenzator, katerega elektricni naboj je treba osveževati; sin.regenerativni pomnilnik programabílna lógicna napráva -e -e -e ž (angl. programmable logic device, PLD)elektronska komponenta, ki jo lahko uporabnik sam programira; sin.PLN, programirljiva logicna naprava regeneratívno bránje -ega -a s (angl. read and restore cycle, regenerative read)branje iz pomnilnnika, pri katerem se podatki samodejno zapišejo nazaj na mesta, s katerih so bili prebrani; sin.obnovljivo branje tčmni splét -ega -a m (angl. dark web, darknet websites)del svetovnega spleta, ki temelji na posebnem šifriranem usmerjevalnem protokolu, dostopen le z uporabo namenskih brskalnikov, namenjen pa je nenadzorovanemu povezovanju in pogosto nezakonitemu poslovanju STE PRIPRAVLJENI NA KIBERNETSKE GROŽNJE? V TELEKOMU SLOVENIJE POSKRBIMO ZA NAJVIŠJO STOPNJO VARNOSTI V KIBERNETSKEM PROSTORU Operativni center kibernetske varnosti Obvešanje o kibernetskih grožnjah Varen poslovni splet Testi socialnega inženiringa Varnostni pregledi in penetracijski testi Varna poslovna mobilnost POSLUJTE VARNO. POSLUJTE DIGITALNO. . Telekom Slovenije, d.d., Cigaletova ulica 15, SI-1000 Ljubljana Distributer: Sophos d.o.o., www.sophos.si, slovenija@sophos.si, T: 07/39 35 600 » Kaj storiti, ce izgubite telefon ali vam ga ukradejo » WhatsApp z možnostjo samodejnega izbrisa sporocil » Na trg graficnih kartic prihaja nov igralec Prejmite sveže novice iz sveta racunalništva vsakih 14 dni v vaš poštni nabiralnik! Kako uspešni so So to na epša pame na Pogrešate Game Boy? Novost v najnovejš procesorji ocala dosle ? www.racunalniske-novice.com To bo kot na ašc za vas nte A der Lake? Racunalniške novice 1Google Zeml ev dih pr kaz gnece « Letna narocnina na revijo Racunalniške novice (21 številk) skupaj z darilom za samo 33,50 € IZBIRATE LAHKO MED: USB kljuc Apacer 3.1 128 GB Izpitni centri ECDL ECDL (European Computer Driving License), ki ga v Sloveniji imenujemo evropsko raËunalnipko spriËevalo, je standardni program usposabljanja uporabnikov, ki da zaposlenim potrebno znanje za delo s standardnimi raËunalnipkimi programi na informatiziranem delovnem mestu, delodajalcem pa pomeni dokazilo o usposobljenosti. V Evropi je za uvajanje, usposabljanje in nadzor izvajanja ECDL pooblapËena ustanova ECDL Fundation, v Sloveniji pa je kot Ëlan CEPIS (Council of European Professional Informatics) to pravico pridobilo Slovensko druptvo INFORMATIKA. V drćavah Evropske unije so pri uvajanju ECDL moËno angaćirane srednje in visoke pole, aktivni pa so tudi razliËni vladni resorji. Posebno pomembno je, da velja spriËevalo v 148 drćavah, ki so vkljuËene v program ECDL. Doslej je bilo v svetu v program certificiranja ECDL vkljucenih že preko 16 milijonov oseb, ki so uspešno opravile preko 80 milijonov izpitov in pridobile ustrezne certificate. V Sloveniji je bilo doslej v program certificiranja ECDL vkljucenih vec kot 18.000 oseb in opravljenih vec kot 92.000 izpitov. V Sloveniji sta akreditirana dva izpitna centra ECDL, ki imata izpostave po vsej državi. Znanstveni prispevki Miha Frangež, Matevž Pesek NACRTOVALNIK POTI ZA JAVNI POTNIŠKI PROMET IN STORITVE MIKROMOBILNOSTI Živa Hudobivnik, Maja Savinek, Marina Trkman UPORABA POGOVORNEGA ROBOTA ZA PODPORO INTRANETU: PRIMER ELEKTRO LJUBLJANA Kratki znanstveni prispevki Lidija Stanovnik, Miha Mraz NASLAVLJANJE DNA-POMNILNIKOV Strokovni prispevki Timotej Knez NORA: NAPREDNO ORODJE ZA POUCEVANJE RELACIJSKE ALGEBRE Informacije IZ ISLOVARJA VABILO NA KONFERENCO DSI