"Riiklik programm: Eesti keeletehnoloogia" projekt EKT57
EKT57 "EstNLTK: Pythoni teegid eestikeelsete vabatekstide lihtsamaks töötlemiseks (1.01.2014−31.12.2016)", Sven Laur, Tartu Ülikool, Matemaatika-informaatikateaduskond.
EKT57
EstNLTK: Pythoni teegid eestikeelsete vabatekstide lihtsamaks töötlemiseks
1.01.2014
31.12.2016
Teadus- ja arendusprojekt
Riiklik programm: Eesti keeletehnoloogia
ValdkondAlamvaldkondCERCS erialaFrascati Manual’i erialaProtsent
4. Loodusteadused ja tehnika4.6. ArvutiteadusedP170 Arvutiteadus, arvutusmeetodid, süsteemid, juhtimine (automaatjuhtimisteooria)1.1. Matemaatika ja arvutiteadus (matemaatika ja teised sellega seotud teadused: arvutiteadus ja sellega seotud teadused (ainult tarkvaraarendus, riistvara arendus kuulub tehnikavaldkonda)100,0
PerioodSumma
01.01.2014−31.12.201451 000,00 EUR
01.01.2015−31.12.201551 400,00 EUR
01.01.2016−31.12.201651 400,00 EUR
153 800,00 EUR

Projekti esimeseks ülesandeks on tagada standardne liides NLTK keeletehnoloogilistele baasoperatsioonidele (sõnestaja, lausestaja, osalausestaja, morfoloogiline analüüs) ning luua ühtne andmeformaat erinevate märgenduskihtide säilitamiseks ning töötlemiseks. Selle etapi peamiseks eesmärgiks on olemasolevate tööriistade liidestamine ning vajalike märgenduskihtide loomine. Vajadusel peab saama andmeformaati lihtsalt teisendada standardseteks NLTK kopuse esitusteks, et seda saaks kasutada koos teiste NLTK teegis olevate tööriistadega. Kuna mitmed tööriistad ei suuda lahendada analüüsi käigus tekkivaid mitmesusi, siis peab märgenduskiht ja liidestus tagama mitmesuste kooskõlalise töötlemise läbi kogu analüüsi. Lisaks sellele peab raamistik võimaldama märgenduskihtide visualiseerimist ning lausete või sõnade filtreerimist märgenduskihipõhiste regulaaravaldiste abil. See võimaldaks kiiresti kontrollida ja visualiseerida erinevaid keeletehnoloogilisi hüpoteese. Projekti teiseks eesmärgiks on luua uusi algoritme praktilistes rakendustes tihti esile kerkivate probleemide lahendamiseks. Sageli esineb tekstides valdkonnaspetsiifilisi sünonüüme, kirjavorme ning lühendeid. Nende ühestamine parandab nii standardsete faktieraldus- kui ka masinõppemeetodite täpsust ja saagist. Samasuguseks probleemiks on ka tekstides esinevad erinevad eitusvormid ning omadusõnade tähendust muutvad lisandid, mis eksitavad sõnade sagedusel põhinevaid statistilisi tekstitöötlusalgoritme. Selliste eitusvormide ja lisandite leidmiseks on plaanis kohandada ingliskeele jaoks loodud reeglipõhiseid tuvastusmalle ning leksikone. Kolmandaks eesmärgiks on tagada lihtne programaatiline juurdepääs kahele olulisemale semantilisi seoseid sisaldavale andmekogule: Eesti Wordnet ja Vikipeedia. Kuigi Eesti Wordnet on andmebaasina kergesti kättesaadav, puudub teek selle lihtsaks kasutamiseks. Esiteks plaanime täiendada NLTK wordneti moodulit nii, et see suudaks lugeda Eesti Wordneti andmebaasi ning oleks täielikult ühilduv standardse wordneti implementatsiooniga. Teise etapina plaanime täiendada moodulit nii, et võimaldaks leida sünonüüme, antonüüme, ja teisi Wordneti seoseid, arvestades erinevatest märgenduskihtidest tulenevaid kitsendusi. Vikipeedia tekstid sisaldavad mitmesuguseid eksplisiitseid ja implisiitseid seoseid erinevate mõistete vahel. Neist kindlapiirilisemad on mitmesugused kategooriad ja mallidega eraldatavad lihtfaktid. Lisaks eelnevale võimaldab programmaatiline juurdepääs Vikipeedia kirjetele ka mitmeid hägusemaid statistilisi sidususmeetrikaid nagu mõistetele vastavate Vikipeedia kirjete sarnasus või mõistete paiknemine Vikipeedia graafis. Selle saavutamiseks tuleb Vikipedia tekstid võimalikult naturaalselt esitada NLTK korpuse struktuuridega (sõnad, paragrahvid, listid) ning kasutada teisi projekti käigus tekkivaid faktieraldustööriistu seoste leidmiseks. Projekti neljandaks eesmärgiks on faktieralduseks vaja minevate tööriistade edasiarendamine. Esmase ülesandena on plaanis integreerida teeki juba olemasolevad faktieraldusmallide leidmise vahendid (https://code.google.com/p/patnlp/). Seejärel on plaanis luua hulk stiili ning interpunktuatsiooni suhtes robustseid reeglipõhiseid algoritme, mis oleksid suutelised tuvastama nimisõna, omadussõna ja tegusõnafraase; aja- ja kohamäärusi. Selline märgendus võimaldaks lihtsalt välja filtreerida või abstraheerida faktieralduseks ebavajalikke lauseosi. Töö eesmärgiks pole pindsüntaktilise analüüsi dubleerimine, kuna fraasipiiride määramine on ilmselt arvutuslikult efektiivsem ning müra suhtes robustsem kui täielik pindsüntaktiline analüüs. Kolmanda alamülesandena on plaanis suurendada olemasoleva nimeolemi tuvastusalgoritmide (https://code.google.com/p/patnlp/wiki/NamedEntityRecognition) robustsust suurtähe vigade suhtes ning laiendada võimalike märgendite hulka. Kõige suuremaks teaduslikuks eesmärgiks on hierarhilise tekstisegmenteerija edasi arendamine ning selle abil erinevate faktieraldusmallide leidmine. Statistiliste faktieraldusmeetodite arendamisel on kõige olulisem luua piisavalt suur treeningkorpus antud tüüpi fakte sisaldavatest lausetest. Kuna informatiivsete lausete hulk on filtreerimata tekstides väga väike, on piisavalt suurt ja heterogeenset treeningkorpuse käsitsi koostamine liialt töömahukas. Meie kogemused meditsiiniliste tekstide töötlemisel näitasid, et parim viis mitteinformatiivsete lausete osakaalu vähendamiseks on kasutada filtrite kaskaade kombineeritult töövahenditega tulemuste visualiseerimiseks. Selline lähenemine võimaldab kiiresti kontrollida, mitmeid keelelisi hüpoteese ning valida neist optimaalseim. Kuigi tööriist sai eelkõige tehtud silmas pidades faktieraldust on see kindlasti kasutatav ka muude keeleliste hüpoteeside kontrollimiseks ja visualiseerimiseks.