Texta toolkit

**Texta toolkit** on avatud lähtekoodiga tööriistaraamistik vabatekstiliste (suur)andmetega tutvumiseks ja nende analüüsimiseks. Tarkvara on mõeldud erinevatest valdkondadest pärineva informatsiooni töötlemiseks.

Texta toolkit kasvas välja rakendusuuringutest STACCis ning selle arendust on toetatud ka Eesti keeletehnoloogia riiklikust programmist. Tarkvara arendab Eesti ettevõte Texta OÜ, mis on esimene loomuliku keele töötlusele ja selle rakendamisele keskendunud keeletehnoloogia idufirma Eestis.

Tarkvara on kirjutatud Pythoni keeles ning toetub Elasticsearchile. Olulisemad Pythoni teegid on Django, Gensim ja EstNLTK.

Esimene koodivaramusse lisandunud krattide baaskomponent on just Texta toolkit, mida tänaseks on kasutanud mitmed asutused oma tööprotsesside tõhustamiseks ja rutiinsete tegevuste automatiseerimiseks.

### Texta toolkiti võimalused

* Dokumentide otsing 
* Sarnaste dokumentide otsing 
* Dokumentide kokkuvõtted 
* Korpusespetsiifiliste sõnastike loomine 
* Fraaside otsimine 
* Informatsiooni eraldamine 
* Dokumentide klassifitseerimine

### Texta toolkit 2.0
Versioon 2.0 on 04.03.2020 avaldatud graafiline kasutajaliides, mis sisaldab projektipõhiseid ressursse. Lisandus ka uus *back end*, kiirem ja lihtsam integratsioon süsteemidega ning kogu liides on kättesaadav ja töötab rakendusliidese (API) kaudu. Täiustati andmemudel ja lisati võimalus masinõppemudelite täppisseadistamiseks. Võimalik on ka Apache Tika dokumentide töötlemiseks ja efektiivsemaks dokumentide lisamiseks toolkitti ning dokumentidelt optiline tekstituvastamine. Eelnev tähendab lihtsamat dokumentide ja memode märgendamist, mis aitab kiirendada ja efektiivistada kliendivestlusi, mis saavutatakse e-kirjade märgenduse, automaatse suunamise kui ka automaatselt genereeritud vastuste ning infoeralduse kaudu viied vajalik osa e-kirjast, tekstist, dokumendist, PDF-ist jms. süsteemi.

### Kasutuslood
Haridus- ja Teadusministeerium viis Texta tööriista abil läbi dokumendihalduse auditi, mille eesmärk oli tuvastada dokumendid, mis on lubamatult avalikustatud (nt asutusesisesed dokumendid, isikuandmed jms). Justiitsministeerium koostöös Registrite ja Infosüsteemide Keskusega eemaldasid Texta abil ligi 80 000 kustunud karistusega kohtulahendist isikuandmed ja avalikustasid need seejärel uuesti kohtute infosüsteemis.

### Päringute koostamine
Päringu koostamine kohtulahendite näitel toimub Textas järgmiselt: 

# Tunnuse valimine, mille järgi tulemusi filtreerida 
# Kui tunnusel on lõpmatu arv võimalikke väärtusi, kirjutada soovitud väärtus(ed) selleks ettenähtud tekstiväljale. Kui tunnusel on piiratud arv võimalikke väärtusi, on neid võimalik tekstivälja sisestada ka rippmenüüst valides.
# Kui tekstivälja sisestati väärtused x1, x2, … , xn, siis järgmisena valida, kas nendest väärtustest peavad tulemusena antud kirjetes esinema kõik, mis on loogiliste operaatorite kaudu väljendatav kui x1 & x2 & … & xn, vähemalt üks neist ehk x1 v x2 v … v xn või mitte ükski neist ehk ¬x1 & ¬x2 & … & ¬xn. 
# Valida, kas sisestatud väärtused võivad esineda eraldi, fraasina või fraasi prefiksina. Näiteks, kui otsitavaks väärtuseks on sisestatud “määratud karistus”, siis lubades sõnade tekstis eraldi esinemine, antakse tulemusena kirjed, mis sisaldavad sõnu “määratud” ja “karistus” mistahes järjekorras ja üksteisest mistahes kaugusel. Kui lubada sõnade esinemist vaid fraasina, antakse tulemusena kirjed, milles fraas “määratud karistus” esineb täpselt etteantud kujul. Valides antud sõnade esinemise fraasi prefiksina, võib fraasi viimasele sõnale järgneda veel muid tähemärke, näiteks “määratud karistusena” ja “määratud karistuseks”.
# Kui otsitakse fraasi, valida, mitu sõna võib sisestatud fraasis olevate sõnade vahel olla (0 kuni 5). Näiteks, kui fraas on “määratud karistus” ja väärtuseks valitakse 1, saadakse tulemusena kirjed, kus esinevad näiteks fraas “määratud karistus” või “määratud talle karistus”.

## Viited