Lõputöö teksti analüsaator
Karl Erik Karindi
Mis ja miks?
Olen Karl Erik Karindi, 3. aasta informaatika bakalaureusetudeng ning tegin oma lõputööna Lõputöö teksti analüsaatori.
​
Isiklikust kogemusest olen märganud, et tudengitel on tihti probleeme esseede või lõputööde kirjutamisega. Esseedes ja lõputöödes on nõutud kindlat ja spetsiifilist keelekasutust ehk teadusteksti, ent tudengitel on teadusteksti kirjutamisega vähe kogemusi.
​
Lõputöö juhendajal, Raimond-Hendrik Tunnelil, on loodud veebipõhine keskkond CGLearn, mis saadab igal nädalavahetusel keskkonda registreeritud tudengitele raporti. Raportis oli välja toodud tagasiside lõputöö kirjaliku osa kohta, ent enne analüsaatori loomist oli tagasiside võrdlemisi pinnapealne. Anti vaid üldist statistikat. Näiteks oli välja toodud sõnade, viidete ja piltide arv. Kuna leidsime, et näitajatest pole tudengile kasu, otsustasime luua lõputöö teksti analüsaatori.
​
Analüsaator lahendab kahte põhilist probleemi: see aitab tudengit ja juhendajat teksti kirjutamisel ning muudab CGLearni iganädalased raportid kasulikumaks.
​
Analüsaator annab tagasisidet levinumate vigade kohta ja säästab sedakaudu nii juhendaja kui tudengi aega. Juhendaja ei pea enam niivõrd palju aega ja energiat kulutama levinumate vigade, näiteks liiga pikkade lausete, komavigade ja stiilivigade parandamisele. Analüsaator suudab vead ise tuvastada ja kasutajale esile tuua.
Analüsaatori tulemuseks on see, et nii tudeng kui juhendaja kulutavad kirjutamisele vähem aega, ent tekstikvaliteet on parem.
​
​
Rakendus on kättesaadav saidil:
https://thesisanalyzer.cloud.ut.ee
​
Lõputöö leiab siit:
https://comserv.cs.ut.ee/ati_thesis/datasheet.php?id=69686&year=2020
​
Tutvustav video:
Kuidas?
Lõputöö analüsaatori jaoks loodi lahtine Application Programming Interface (API) mikroteenus. Mikroteenusele esitab päringu veebipõhine õpikeskkond CGLearn või analüsaatori jaoks loodud veebiliides.
Mikroteenus on kirjutatud programmeerimiskeeles Python ja see kasutab Flask veebiraamistikku, mis on võrdlemisi kergekaaluline ja sellise projekti jaoks sobiv.
​
Programmeerimiskeeleks valiti Python seetõttu, et selles on kättesaadav EstNLTK teek, millega kaasnevad sisseehitatud keeletöötluse ja -analüüsi funktsionaalsused. Programm jookseb Ubuntu operatsioonisüsteemiga serveril.
​
Rakenduse kasutamiseks on 2 varianti. Esimene on see, et kasutaja läheb veebilehele https://thesisanalyzer.cloud.ut.ee
Seejärel sisestab kasutaja oma analüüsitava teksti tekstikasti ja klikib nupule "Analüüsi". Lõpuks tagastatakse tulemus, kus on näha kõikide analüüside tagasisidet.
​
Teine variant on luua oma rakendus, mis kasutab programmi API-d. Näiteks CGLearn on eraldiseisev rakendus, mis pöördub rakenduse API poole ja saab seejärel vastuse. Seejärel näitab CGLearn kasutajale ise veebiliideses tulemust.
Tulemus
Rakendus annab tagasisidet 5 levinuma veatüübi kohta.
​
1. Umbisikulisuse analüsaator: Kontrollib, kas tekstis leidub mina- või meie vormi.
2. Lausepikkuse ja -keerukuse analüsaator: Otsib liigselt pikki/keerulisi lauseid.
3. Korduvate sõnade analüsaator: Tuvastab sõnad, mida on ebaharilikult palju kasutatud, toob välja lausete klastrid, kus kindlaid sõnu järjest esineb.
4. Kantseliidi kontroll. Otsib tekstist enim levinud stiilivigu. Kontrollid on võetud ja kohandatud Kaarel Sõrmuse 2017 tööst "Kantseliidi- ja paronüümituvastaja".
5. Puuduvate komade analüüs. Otsib tekstist komavigu ja toob välja kohad, kust koma on puudu.
​
Järgnevalt on välja toodud analüüside tulemused nii veebiliideses kui CGLearn keskkonnas.