EKI reeglipõhine morfoloogiline analüüs

Indrek Hein
Eesti keele instituut
kiisu@eki.ee

Autoriõigus

© Eesti Keele Instituut. Detsember, 1999.

Liitsõnamoodustuse piirangute mooduli loomist toetas keeletehnoloogia sihtprogrammi raames Eesti Informaatikakeskus.

Tarkvara võib piiranguteta kasutada mittekommertslikul eesmärgil, tingimusel, et mistahes tarkvaramooduli ja/või andmefaili levitamisel või integreerimisel teise süsteemi lisatakse käesolev fail. Kommertslikuks kasutamiseks palume kontakteeruda Eesti Keele Instituudi direktoriga ning fikseerida tarkvara kasutustingimused vastava lepinguga.

Sisukord

  1. Installeerimine
  2. Programmipaketi failid
  3. Kasutajaliides
  4. Tekstifaili analüüs
  5. Tundmatud sümbolid, tundmatud sõnad
  6. Programmi tööpõhimõte
  7. Väljundi kirjeldus
  8. Teadaolevad vead

1. Installeerimine

Kui teil on installeeritud MA eelmine versioon, on kõige mugavam lahendus see lihtsalt kustutada, sest ülekirjutamine jätab alles küllalt palju mittevajalikke faile. Igal juhul tuleb kustutada failid laiendiga .ndx, need genereeritakse uuesti. Säilitage ainult analüüsitavad tekstid ja analüüsitulemused (*.out).

MA töötab Windows 95 ja Windows NT operatsioonisüsteemiga arvutitel. Programmi installeerimiseks

  1. looge uus tühi kataloog, nt käsuga mkdir c:\EKI_MA3 või puhastage vanema versiooni kataloog \EKI_MA
  2. sellesse kataloogi kopeerige (v pakkige lahti) kõik analüsaatoriga kaasas olevad failid, nt käsuga cp a:*.* c:\EKI_MA3

2. Programmipaketi failid

Vajalikud on:

Kasutajaliidese näidis

Moodulid:

Esmakordsel käivitamisel indekseerib programm reeglifaile ning juurde tekib hulk faile laiendiga .ndx ja .srt. Muid faile programm oma töös ei kasuta, samuti ei muudeta Windowsi registrit.

3. Kasutajaliides

Analüüsimiseks kirjutage sõnavorm programmi käivitamisel ilmunud akna sisestusvälja ja vajutage reavahetusklahvile või nupule 'Analüüs'. Sellisel juhul kuvatakse analüüsi tulemused samas aknas. Võimalik on veidi modifitseerida väljundit, asendades analüüsi tulemustes vormikoodi loetavamale kujule (vorminimi või klaarkood). Võimalik on ka lubada või keelata tuletusliidete analüüs. Viimasel juhul leitakse küll sõnavormile 'magajat' õige analüüs:
magajat =magaja (SgP >magaja !01_S
osastav kääne lemmast 'magaja', tüüp 1, nimisõna, leidmata jääb aga tuletusalus
"magaja %maga )JA_vS (magaja on tegijanimi verbist 'magama', tüüp 27)

Liitsõnaanalüüs on puudulik. Kui liitsõnaanalüüs on sisse lülitatud, läbib sõnavorm analüüsi kaks korda. Esimesel ringil vaadeldakse seda kui lihtsõna, teisel ringil proovitakse leida võimalik liitsõnapiir ja analüüsitakse viimast leitud komponenti sõnavormis, nt
ööuni ööuni =ööuni (SgG >ööun !02_S ööuni =ööuni (IndPrPs_ >ööunima !28_V ööuni =ööuni (ImpPrSg2 >ööunima !28_V # ---------- ööuni =uni (SgN >öö+uni !20_S ööuni =uni (IndPrPs_ >öö+unima !27_V ööuni =uni (ImpPrSg2 >öö+unima !27_V

Koos kontrolliga sõnastikus jääb alles üksainus variant:
ööuni # ---------- ööuni =uni (SgN >öö+uni !20_S
(lemmad ööun ja ööunima ei saa juba fonostruktuuri poolest olemas olla; unima on küll igati ontlik tegusõna, mida aga tegelikus keeles pole).

NB Väljundi vormi, tuletuse ja liitsõnaanalüüsi sisse- või väljalülitamine toob kaasa ka meeleshoitud sagedaste sõnavormide analüüsitulemuste uue initsialiseerimise, et analüüsi väljund oleks ühtlane.

Väljundi kuju ja analüüsitingimusi on võimalik muuta ka faili töötlemise käigus.

Programmi töö lõpetamiseks valige menüüst Fail -> Lõpeta (või vajutage sisestusreal ESC klahvi).

4. Tekstifaili analüüs

Valige menüüst Fail -> Ava ning avage analüüsitav tekstifail. Fail peab olema ASCII tekst, milles on kasutusel kooditabel CP 1257. Sellise saate, kui salvestate nt Windows Wordi teksti formaadis 'Text only [with line breaks]'. Analüüsitulemused salvestatakse samasse kataloogi; faili nimi jääb seejuures samaks, kuid faili laiendiks on '.out'. Analüüsi käiku on võimalik jälgida protsendiribalt. Samal ajal üksiksõnavorme analüüsida ei saa. Programmi katkestamine toob ette dialoogi, kus kasutajalt nõutakse kinnitust programmi töö lõpetamiseks. Poolelijäänud kohalt faili edasi analüüsida ei saa.

5. Failist-faili analüüs.

Programmi demo.exe võib käivitada ka käsurealt. Selleks lisage käsureale sisendfailinimi ja võtmed, nt
C:\MA3>demo demo.txt /t /v1 /l-

Võtmed algavad alati kaldkriipsuga. Lubatud on nii suur- kui väiketähed. Binaarsed võtmed on:

Vormikoodi kuju saab väljundis muuta võtmega /v

Vaikeväärtused on hetkel /t+ /l+ /s- /v1, kuid need võivad tulevikus muutuda ning parem on käsureal ette anda kõigi võtmete väärtused.

6. Programmi tööpõhimõte

MA hoiab meeles sagedamini esinevaid sõnavorme, neile leitakse analüüs puhvrist.

Edasi alustab MA sõnavormi lõpust stringide võrdlemist formatiivide tabelis leiduvate sõnalõppude loendiga, kontrollides iga formatiivi puhul foneetilisi piiranguid liitumisele. Iga võimalik tüvi saab kaasa loendi muuttüüpidest, mille puhul selline tüve-lõpu kombinatsioon on lubatud.

Seejärel läbivad potentsiaalsed sõnatüved lemmatiseerimise (arvestades muuttüüpi) ning kontrolli, kas selline lemma on vastava käänd- või pöördtüübi puhul lubatud. Kõik selle filtri läbinud tüved tunnistatakse eesti keeles lubatud variantideks ning väljastatakse.

Kui kasutaja soovib ka tuletusanalüüsi, püütakse leitud lemma lõpust edasi leida tuletussufiksit (taas kord arvesse võttes piiranguid liitumisele) ning uuesti üritatakse leida lemma, mis on sõnavormi tuletusaluseks. Sel puhul on lemma leidumine sõnastikus nõutav ka siis kui analüüs toimub sõnastikuta.

7. Väljundi kirjeldus

Faili väljastatakse alati rida
#:) algne sõnavorm muutmata kujul

Kui sõnavormis ei leidunud ühtki tähte, on see rida väljundis ainus, nt
#:) 1996

Kui analüüs ei leia ühtki sobivat tõlgendust, väljastatakse
### sõnavorm

# -------- eraldab liitsõna osa.

Väljundi ridade ees tähistab
" - väljund on tuletusanalüüsist
? - lemmat ei leitud sõnastikust.
Viimane on võimalik ainult siis, kui analüüs toimus sõnastikku kasutades kuid

  1. leiti võimalik tuletusalus kuid mitte tuletist, nt roomamine ?roomamine =roomamine (SgN >roomamine !12_S
    "roomamine %rooma )MINE_vS <roomama ;29_V

    või
  2. analüüs sõnastikuga ei andnud tulemusi, nt
    #:) servituudid,
    ?servituudid =servituudi (------1N >servituudi !16_S
    ?servituudid =servituudi (------1N >servituut !22_S
    ?servituudid =servituudi (-00021-- >servituutima !28_V
  3. Väljastatud tulemusrida on kujul
    sõnavorm =vormitüvi (vormikood >lemma !tüüp_sõnaliik või tuletusanalüüsis "sõnavorm %vormitüvi )vormikood <lemma ;tüüp_sõnaliik

    8. Teadaolevad vead ja puudused

    Programmi kiirus jätab veel soovida, see kõigub vahemikus 10 sõnavormi/sekundis (lihtanalüüs ilma tuletuse, liitsõnadeks jagamise ja sõnastikukontrollita) 486 arvutil üle 100 sõnavormini/sek P II 266 protsessoriga arvutil. Kõigi analüüsi võimaluste kasutamine aeglustab tööd u kaks korda.

    Lemma lisamine kasutajasõnastikku on tihti vaid pool tööd. Et tüübis 22 on reeglipärane omastava lõpp 'i', käändub Tallinn vastavalt Tallinn-Tallinni. Vormi 'Tallinna' puhul eeldatakse hoopis tüüpi 16 (Tallinna-Tallinna), mis jällegi ei klapi lemmasõnastiku andmetega. Seega rida Tallinn 22_S failis kasutaja.dic aitab esialgu õigesti määrata vaid nimetavakäändelise kuju ja tallinn tuleb lisada ka tüübierandite faili.