Master theses

From Slavko Zitnik's research wiki

This Web page contains on-going and finished master theses. Thanks to all the candidates below that did (or are doing) great work!

If you are looking to prepare a master thesis under my supervision, please check available theses topics or propose your own idea.

2022

Avtomatska gradnja korpusa in ekstrakcija relacij v slovenščini (Miha Štravs)

Automatic corpus construction and relation extraction for Slovene

Iskanje relacij med entitetami v besedilu je področje obdelave naravnega jezika. Pri iskanju relacij želimo v stavku: "Ljubljana je glavno mesto Slovenije" odkriti, da med entitetama Ljubljana in Slovenija nastopa relacija glavno mesto.
V zaključnem delu smo najprej naredili pregled metod za učenje modelov za napovedovanje relacij. Nato smo si izbrali tri metode z različnimi pristopi za učenje modelov, ki napovedujejo relacije. Metodo s povratno nevronsko mrežo z dolgim kratkoročnim spominom, metodo z vložitvami BERT in metodo RECON, ki uporabi grafovsko nevronsko mrežo s pozornostjo. Za učenje modelov smo uporabili slovenski korpus, ki smo ga polavtomatsko generirali iz besedil slovenske Wikipedije. Naučene modele smo nato testirali na testnem korpusu besedil slovenske Wikipedije in testnem korpusu člankov strani 24ur.com. Na testnem korpusu slovenske Wikipedije so vse tri metode dosegle visoke priklice in točnosti, najbolje se je odrezala metoda RECON. Veliko slabše rezultate so dosegle na testni množici člankov 24ur.com, kjer se je še najbolje izkazala metoda z vložitvami BERT, ko je uporabila vložitve CroSloEngual.
Ključne besede
ekstrakcija relacij, ekstrakcija informacij, globoko učenje, grafovske mreže pozornosti, BERT, LSTM
relation extraction, information extraction, deep learning, graph attention networks , BERT, LSTM
Viri
Magistrsko delo, Izvorna koda


2021

Integracija verige blokov in tehnologij semantičnega spleta (Domen Gašperlin)

Integration of blockchain and semantic web technologies

Screenshot 2022-08-03 at 16.43.01.png
Cilj semantičnega spleta je standardizacija izmenjave podatkov na spletu. Za njihovo predstavitev se uporabljajo ontologije. Gradnja ontologije je cikličen proces, ki zahteva usklajevanje in koordinacijo njenih sprememb s strani strokovnjakov z različnih področij. Za to je ključno sledenje, od kod so prišle spremembe in kdo jih je naredil. Prav tako s spreminjanjem ontologije ne smemo porušiti njene konsistentnosti. Namen dela je izboljšanje procesa gradnje ontologije z razvojem rešitve za njeno upravljanje in distribucijo. Rešitev poskrbi, da se s spremembami ontologije ne poruši njena konsistentnost. Za svoje delovanje uporablja tehnologije semantičnega spleta in verige blokov. Tehnologije semantičnega spleta se uporablja za učinkovito poizvedovanje in spreminjanje podatkov, za varno shrambo ontologij in sledljivosti njihovih sprememb pa se uporablja verige blokov. Na koncu je na podmnožici ontologije DBpedia evalvirano, kakšna je cena uporabe rešitve in kakšna je njena časovna zahtevnost v primerjavi s knjižnico Apache Jena. Rezultati pokažejo, da je rešitev počasnejša, a primerljiva, kot če bi se uporabilo zgolj knjižnico Apache Jena. Rešitev je z določenimi spremembami primerna tudi za implementacijo za druge tipe podatkovnih baz.
Ključne besede
semantični splet, veriga blokov, ontologije, IPFS, Ethereum
Komentar
semantic web, blockchain, ontologies, IPFS, Ethereum
Viri
Dispozicija, Magistrsko delo, Izvorna koda, Znanstveni članek

Preprečevanje neželenih komentarjev za spletne novice s pomočjo tehnik za procesiranje naravnega jezika (Martin Čebular)

Preventing unwanted comments to online news articles using natural language processing techniques

Screenshot 2022-08-03 at 16.41.16.png
Completely Automated Public Turing test to tell Computers and Humans Apart (v nadaljevanju CAPTCHA) je test, katerega cilj je ločiti človeškega uporabnika od računalnika. Na spletu se test CAPTCHA navadno pojavi ob obrazcu, kot zaščita pred samodejnim izpolnjevanjem in oddajanjem obrazca. Kot najbolj znano obliko testa CAPTCHA omenimo test, v okviru katerega je reševalcu podana slika s popačenim besedilom, reševalčeva naloga pa je razpoznati črke ali besede z dane slike.
V magistrskem delu se posvetimo testom oziroma nalogam CAPTCHA v tekstovni obliki. Zasnujemo in implementiramo sistem CAPTCHA, katerega naloge temeljijo na tehnikah obdelave naravnega jezika. Predstavimo dva tipa tovrstnih nalog CAPTCHA: naloge na podlagi prepoznavanja imenskih entitet in naloge na podlagi razreševanja koreferenčnosti. Sistem CAPTCHA zasnujemo razširljivo, kar omogoča enostavno vpeljavo novih tipov nalog vanj. Implementiramo tudi odjemalca CAPTCHA, uporabniški vmesnik, ki ga lahko umestimo v spletni obrazec in reševalcem omogoča reševanje nalog. Uporabo sistema CAPTCHA skupaj z odjemalcem prikažemo na primeru integracije, izdelanem v okviru magistrskega dela.
Uporabo demonstriramo tudi z umestitvijo odjemalca CAPTCHA v obrazec za oddajo komentarja na spletnem portalu RTVSLO.si. Implementirani sistem skupaj z odjemalcem omogoča celostno izvedbo postopka verifikacije človeške interakcije uporabnikov. Evalviramo njegovo učinkovitost in skalabilnost, dostopnost odjemalca CAPTCHA slepim in slabovidnim uporabnikom, ter potencialne možnosti za gradnjo novih učnih množic iz zbranih podatkov, ki nastanejo z uporabo sistema.
Ključne besede
CAPTCHA, dokaz o človeški interakciji, prepoznavanje imenskih entitet, odkrivanje koreferenčnosti
CAPTCHA, human-interaction proof, named entity recognition, coreference resolution
Viri
Dispozicija, Magistrsko delo, Izvorna koda

Avtomatska ekstrakcija podatkov o zaposlenih s spletišč podjetij (Matej Koplan)

Automatic extraction of employee data from corporate websites

Screenshot 2022-08-03 at 16.47.23.png
V tem delu se ukvarjamo s problemom ekstrakcije seznama oseb s poljubnega spletišča. V ta namen implementiramo spletnega pajka za identifikacijo potencialnih podstrani z osebami in ekstraktor podatkov, ki s poljubne spletne strani izvleče podatke o osebah.
Pokažemo, da osnovne metode, kot so primerjava imena s seznamom imen, ne dosežejo sprejemljive natančnosti. Pokažemo, da je analiza strukture seznama in prenos odkritega znanja ključna metoda za izboljšavo rezultatov do stopnje, kjer dosežemo sprejemljiv nivo natančnosti. S pomočjo tega pristopa smo izboljšali F1 mero za 50 % na razvojni in za 35 % na skriti testni množici.
Ključne besede
splet, ekstrakcija podatkov, avtomatska ekstrakcija podatkov s spleta, fokusirani spletni pajki, strukturirani podatki, nestrukturirani podatki
web, data extraction, automatic web data extraction, focused webcrawlers, structured data, unstructured data
Viri
Dispozicija, Magistrsko delo

Identifikacija in povezovanje razlik med izvorno kodo in čelnim delom tekom razvoja spletne aplikacije (Jošt Gombač)

Identification of changes between source code and frontend during development of a Web application

Screenshot 2022-08-03 at 16.38.42.png
Tekom razvoja spletnih aplikacij se lahko zgodi, da katero izmed prej implementiranih funkcionalnosti nehote spremenimo. Pravilnost delovanja programa skozi celoten potek razvoja navadno preverjamo z regresijskimi testi. Priprava teh lahko terja velik časovni vložek. Dodatno pa jih je potrebno prilagoditi spremembam, ki so pričakovane. Kot odgovor tej problematiki smo implementirali programsko orodje, s pomočjo katerega bo možno zaznati razlike med dvema različicama iste spletne aplikacije.
Naš pristop vključuje uporabo spletnega pajka, ki je sposoben odkrivati dinamično generirano vsebino preko uporabniških akcij, kot je izpolnjevanje obrazcev in klikanje elementov. Na podlagi pridobljenih HTML dokumentov nato upoštevajoč drevesno strukturo ugotovi medsebojne razlike. V namen interpretacije ugotovljenih sprememb smo implementirali spletno aplikacijo, ki kronološko prikazuje vse razlike med uveljavitvami v Git repozitoriju.
Ključne besede
spletni pajek, HTML, Git, Angular, dinamična vsebina
web crawler, HTML, Git, Angular, dynamic content
Viri
Dispozicija, Magistrsko delo, Izvorna koda


2020

Pametni asistent za predlaganje obrokov (Janez Eržen)

Smart assistant for suggesting meals

Screenshot 2022-08-03 at 16.37.05.png
Izdelava pametnih asistentov zahteva implementacijo sistemov za zajem podatkov, prepoznavanje namena, ekstrakcijo podatkov, priporočilne sisteme ipd. V magistrskem delu smo izdelali celostnega pametnega asistenta za predlaganje obrokov, bolj podrobno pa smo se osredotočili na prepoznavanje alergenov in hranil vsebovanih v jedeh glede na delno strukturirane podatke o menijih na spletnih straneh restavracij. Z namenom reševanja omenjenega problema smo razvili algoritem za ločevanje besedila menija na posamezne jedi vsebovane v njem, algoritem za detekcijo alergenov iz besedila na podlagi pravil ter algoritem za detekcijo alergenov z uporabo nevronske mreže.
Omenjene algoritme smo uporabili za implementacijo pametnega asistenta, ki uporabniku omogoča obogaten in prilagojen prikaz dnevno pridobljenih jedilnikov s spleta. Asistent je integriran v različne sisteme sporočanja (Microsoft Teams, Discord, Slack ter Facebook Messenger), pogovor z uporabnikom pa poteka v slovenskem jeziku.
S preizkusom asistenta v praksi smo pokazali, da uporabnikom olajša izbiro menija ali restavracije za dnevno kosilo. Algoritem za avtomatsko ekstrakcijo alergenov z uporabo nevronske mreže dosega uspešnost 68% (ocena F1), kar je dovolj uporabno za opozarjanje uporabnika na možno vsebnost alergenov v jedi, je pa smiselno, da uporabnik to opozorilo asistenta dodatno preveri pri osebju restavracije.
Ključne besede
pametni asistent, obdelava naravnega jezika, ekstrakcija podatkov s spleta, prehrana, priporočanje uporabniku
chatbot, natural language processing, web scraping, nutrition, user recommendation
Viri
Dispozicija, Magistrsko delo

Napovedovanje glasovanj strank v Evropskem parlamentu (Miha Nahtigal)

Predicting Roll-Call Voting of Political Parties in European parliament

Screenshot 2022-08-03 at 16.44.30.png
Evropski parlament je politično telo, ki že dolgo časa razdvaja javnost. Njegovi nasprotniki po eni strani trdijo, da je tako politično in kulturno heterogen organ nezmožen učinkovitega delovanja, po drugi strani pa naj bi evropski poslanci hitro izgubili stik s svojimi volivci ter glasovali predvsem tako, kot jim to naročijo vodje skupin. Zanimalo nas je, če evropski poslanci glasujejo dovolj avtomatično in predvidljivo, da bi lahko rezultate glasovanj uspešno napovedovali z modelom strojnega učenja. Da smo zmanjšali časovno kompleksnost smo se odločili za napovedovaje rezultatov glasovanj po političnih strankah. Najprej smo implementirali spletne pajke, s katerimi smo pridobili čim več rezultatov glasovanj in z njimi povezanih podatkov. Iz teh smo nato z interdisciplinarno kombinacijo metod podatkovnega rudarjenja ter strokovnega geopolitičnega znanja izluščili značilke in zgradili model.
Rezultati so pokazali približno 80% uspešnost napovedovanja rezultatov glasovanj (uteženi oceni f1 in roc-auc). Napovedovanje je bilo bistveno bolj uspešno pri strankah s proevropsko,liberalno in globalistično politično usmeritvijo kot to velja za evroskeptične, ekonomsko socialne in nacionalistične stranke. S tem smo dodatno podprli tezo o obstoju in pomembnosti nove nacionalistično-globalistične politične delitve. Poleg tega predstavlja problem tudi razred vzdržanih glasovanj, ki ga je težko napovedati že s pomočjo človeške inteligence.
Ključne besede
napovedovanje, glasovanja, politične stranke, Evropski parlament
predicting, Roll-Call votes, political parties, European parliament
Viri
Dispozicija, Magistrsko delo


2014

Primerjava orodij za vizualizacijo in preiskovanje omrežij (Didka Dimitrova Birova)

Zaradi povečevanja količine in kompleksnosti podatkov uporabniki vse težje učinkovito preučujejo velike množice podatkov. Podatki so med seboj povezani in posledično lahko množico podatkov predstavimo in vizualiziramo v obliki omrežja (socialna, biološka, svetovni splet). Glavni namen vizualizacije je učinkovito posredovati in predstaviti podatke s pomočjo vizualne percepcije ter predvsem olajšati raziskovanje podatkov oziroma omrežja. Za analizo in prikaz omrežij obstaja množica orodij - nekatera pokrivajo področje analize kot tudi prikaza, specializirana orodja pa se osredotočajo samo na analizo ali samo na vizualizacijo, oziroma so lahko specializirana za določeno domeno (npr. socialna omrežja).
V okviru naloge bi bilo potrebno narediti primerjavo in evaluacijo orodij za vizualizacijo omrežij – kakšne so omejitve, performance, možnosti za razširitev in dopolnjevanje obstoječih orodij.
Ključne besede
vizualizacija podatkov, omrežja, primerjava orodij
Komentar
Usmerjanje in pomoč pri mentorstvu prof. dr. Marka Bajca. Gre za diplomsko nalogo enake stopnje bolonjskemu magisteriju.
Viri
Diplomsko delo


2013

Označevanje imenskih entitet v pravnih besedilih (Matic Di Batista)

Odkrivanje podatkov iz besedil velja za eno izmed aktualnih podpodročij v okviru obdelave tekstovnih podatkov. Za slovenski jezik še nimamo dovolj prilagojenih pristopov ali ogromnih podatkovnih množic iz katerih bi lahko zgradili praktično uporabne metode za odkrivanje entitet. Namen diplomske naloge ja zato izdelava orodja, ki bo znalo odkrivati imenske entitete v slovenskih besedilih.
Kandidat naj pregleda obstoječe metode za odkrivanje entitet v besedilih in jih prilagodi za delo s slovenskim jezikom. Pri tem naj primerja njihovo delovanje in razišče morebitne probleme, ki so posledica sintakse in pravil v slovenščini. Nazadnje naj predlaga nov nabor značilk za učenje modelov in razvito metodo testira nad lastno izdelano podatkovno množico.
Ključne besede
ekstrakcija podatkov iz besedil, razpoznavanje entitet, tekstovno rudarjenje
Komentar
Usmerjanje in pomoč pri mentorstvu prof. dr. Marka Bajca. Gre za diplomsko nalogo enake stopnje bolonjskemu magisteriju.
Viri
Diplomsko delo

Kontekstualno ujemanje in iskanje na modelu spletne oglasne deske (Vasja Laharnar)

Spletne oglasne deske so specializirani iskalniki, ki lahko namesto dokumentov (npr. spletne strani, slike, besedila), indeksirajo uporabnike sistema. Primer so socialni iskalniki, ki ne vrnejo neposrednega odgovora, ampak se poizvedba pošlje uporabniku, ki ga sistem spozna za relevantnega in nato le ta odgovori. Takšni iskalniki morajo torej bolj upoštevati uporabniške profile in njihove kontekste.
V okviru diplomske naloge naj kandidat izdela spletno storitev, ki bo omogočala objavljanje besedil in njihovo iskanje. Pri tem naj kandidat preuči korake procesiranja besedil za potrebe splošnega indeksiranja. Poleg tega naj pri implementaciji iskanja in primerjanja besedil upošteva tudi semantične podatke, k jih pridobi iz besedil ali profilov uporabnikov. Nazadnje naj izdelano storitev testira na domeni študijskih praks, kjer v sistemu sodelujejo profesorji, študenti in podjetja.
Ključne besede
obdelava naravnega jezika, semantična podobnost, lematizacija, klasifikacija, naivni Bayesov klasifikator, iskanje informacij, iskanje, ujemanje
Komentar
Usmerjanje in pomoč pri mentorstvu prof. dr. Marka Bajca. Gre za diplomsko nalogo enake stopnje bolonjskemu magisteriju.
Viri
Diplomsko delo


2012

Semantično zajemanje podatkov iz predefiniranih virov (Alan Rijavec)

Izdelajte komponento za zajem podatkov iz spletnih virov. Komponenta naj bo zasnovana modularno, tako da bo dodajanje novega vira zahtevalo le implementacijo določenih vmesnikov. Vhodi in rezultati naj bodo semantično označeni, tako da bo komponenta zmožna sama izvajati klice funkcij in sestavljati rezultate v obliki RDFS ali drugega semantičnega zapisa.
Ključne besede
spletni pajek, razčlenjevanje spletnih strani, semantični splet
Komentar
Usmerjanje in pomoč pri mentorstvu prof. dr. Marka Bajca. Gre za diplomsko nalogo enake stopnje bolonjskemu magisteriju.
Viri
Diplomsko delo Izvorna koda


2011

Pridobivanje konteksta z uporabo spletnih brskalnikov (Marko Jurinčič)

Screenshot 2022-08-03 at 16.32.33.png
Današnje inteligentne aplikacije morajo za svoje delovanje beležiti in uporabljati kontekst uporabnika. Zamislite si pristop, kako čim bolj natančno modelirati kontekst določenega uporabnika. Cilj je, da iz ugotovljenih virov pridobite trenutno relevantne teme (besede) za uporabnika. Uporabljate lahko čim več virov, ki jih lahko: na primer zvok, slika, video uporabnika, pisanje. Primer vašega dela: Implementacija orodne vrstice v iskalniku Firefox, ki ima možnost beleženja in shranjevanja različnih parametrov (čas na določeni spletni strani, interakcija z drugimi programi). Podobna orodna vrstica je implementirana znotraj Lemur Project-a, ki si gradi t.i. query-log. Mogoče tudi beleženje konteksta preko aplikacije pametnega telefona.
Ključne besede
kontekst, vtičnik, podatkovno rudarjenje
Komentar
Usmerjanje in pomoč pri mentorstvu prof. dr. Marka Bajca. Gre za diplomsko nalogo enake stopnje bolonjskemu magisteriju.
Viri
Diplomsko delo Izvorna koda


Teme v izdelavi

Ekstrakcija informacij iz zdravstvenih dokumentov (Matic Bernik)

Extracting information from medical documents

Viri
Dispozicija

Avtomatska prepoznava in digitalizacija obrazcev (Robert Tovornik)

Automatic recognition and digitalisation of forms

Viri
Dispozicija

Avtomatsko povzemanje pravnih besedil (Andrej Miščič)

Automatic summarization of legal documents

Viri
Dispozicija

Samonadzorovano odkrivanje anomalij v produkcijskih dnevniških zapisih (Tomaž Martinčič)

Self-supervised anomaly detection in production log streams

Komentar
V sodelovanju s somentorjem iz industrije - mag. Álvaro García Faura (XLAB)
Viri
Dispozicija

Avtomatizacija vdornega testiranja spletnih strani (Gregor Kerševan)

Web site penetration testing automation

Viri
Dispozicija