ESTMORF(1) - eesti keele morfoloogiline analüsaator ja süntesaator koos oletamis-mooduliga

0. Üldist

1. ESTMORFi programmipaketi failid

2. Installeerimine

3. ESTMORFi kasutamine

3.1. Morfoloogilise analüsaatori sisend

3.2 Morfoloogilise analüsaatori väljund

3.3 Morfoloogilise süntesaatori sisend

3.4 Morfoloogilise süntesaatori väljund

4. ESTMORFis kasutatavad lühendid

4.1 Sõnaliigid, mida ESTMORF eristab

4.2 Noomenikategooriate lühendid

4.3 Verbikategooriate lühendid

5. Tundmatud sümbolid, tundmatud sõnad

5.1 ESTMORFi sisendsümbolid

5.2 Morf. analüsaatori sisendsümbolid

5.3 Kasutaja-sõnastik

6. Probleemsed juhud

7. Tehnilised andmed

8. Analüüsi oletamis-algoritmi üldkirjeldus

9. Sünteesi oletamis-algoritmi üldkirjeldus

10. Teadaolevad vead ja puudused

10.1 Süntesaatori vead ja puudused

10.2 Analüsaatori vead ja puudused

 

 

0. Üldist

 

      Käesolev kirjeldab eesti keele morfoloogilist analüsaatorit versioon 32.04.00.00, millesse on lisatud nn. oletamise moodul. Oletaja lisamine tähendab seda, et sõnade puhul, mis puuduvad analüsaatori sõnastikus või mis pole produktiivsete reeglite alusel tuletatavad tuletised ja/või liitsõnad, rakendatakse teatud oletuslikke meetodeid, et nendegi puhul analüüsi korral määrata algvormi tüve ja morfoloogilisi kategooriaid; sünteesi korral aga sünteesitavat vormi. Sellise oletamise puhul muidugi analüüsitavate ja sünteesitavate sõnade hulk suureneb, kuid tulemuste täpsus halveneb.

 

1. ESTMORFi programmipaketi failid

 

eesti.dct            kasutatav sõnastik

eesti.udr            kasutaja-sõnastiku näidisfail

 

estmorf.exe          morf. analüsaator DOSis kasutamiseks

txt2wrd.exe          tavalise tekstifaili teisendamiseks kujule ‘sõna real’

 

baltic.cnv           täpitähtede teisendusfail balti kooditabelist Win 1257 Filosofti sisemisele kujule

html.cnv             täpitähtede teisendusfail html-kujult Filosofti sisemisele kujule

baltic-h.cnv   täpitähtede teisendusfail balti kooditabelist Win 1257 Filosofti sisemisele kujule; nn. hanejalad-jutumärgid « ja » teisendatakse Filosofti sisemisele kujule

baltic-k.cnv   täpitähtede teisendusfail balti kooditabelist Win 1257 Filosofti sisemisele kujule; nn. koma-jutumärgid ja teisendatakse Filosofti sisemisele kujule

balt_tst.txt   testfail balti kooditabelis esitatud sõnade analüüsiks

html_tst.txt   testfail html-kujul esitatud sõnade analüüsiks

 

 

2. Installeerimine

 

      Soovitav on kõik ESTMORFi kasutamiseks vajalikud failid panna samasse kataloogi ja selle kataloogi nimi lisada keskkonnamuutujasse PATH. Sel juhul leiab ESTMORF sõnastiku eesti.dct ja teisendusfaili baltic.cnv, html.cnv vms ise üles, ilma et peaks neid käsurealt ette andma.

 

 

3. ESTMORFi kasutamine

 

      ESTMORFi saab kasutada kas morfoloogilise analüsaatorina või süntesaatorina, sõltuvalt käsurealt ette antavast lipust. Kummalgi juhul eeldab ESTMORF erinevat sisendit, andes ka erineva väljundi.

      Morfoloogiline analüsaator on programm, mis sõna vormist lähtudes määrab selle sõna struktuuri (nt. tüvi, järelliide, lõpp), sõnaliigi ja käände või pöörde.

      Morf. süntesaator teeb vastupidist sellele, mida teeb morf. analüsaator. Lähtudes sõna algvormist ja grammatilisest infost – sõnaliigist, käändest või pöördest -  määrab morf. süntesaator selle sõna konkreetse muutevormi.

      ESTMORFi morf. süntesaator ja analüsaator ei ole siiski päris teineteise pöördprogrammid: analüsaator annab väljundisse sõna struktuuri, süntesaator tahab aga sisendisse saada struktureerimata algvormi.

      ESTMORFi morf. süntesaator teeb iga sisendiks oleva algvormi puhul algul kindlaks selle struktuuri (nt. lihtsõna, tuletis, liitsõna) ja sõnaliigi ning kontrollib, kas tegu on ikka algvormiga. Alles seejärel püütakse moodustada vorme, mida sisendfailis antud sõna juures nõutakse. Kui sõna struktuuri kindlakstegemisel eksitakse, siis ka genereeritavad vormid võivad olla valed. Selliste kahtluste puhul võiks kasutada testimise abivahendina morf. analüsaatori režiimi, mille väljundis on nii analüsaatori kui süntesaatori poolt oletatav sõna struktuur näha.

       ESTMORF eeldab vaikimisi, et täpitähed on esitatud Balti kooditabeli kohaselt (Win 1257):

 

 

 

ASCII

16-ndkood

ASCII

10-ndkood

väike o tildega

õ

F5

245

väike a täppidega

ä

E4

228

väike o täppidega

ö

F6

246

väike u täppidega

ü

FC

252

väike s katusega

š

F0

240

väike z katusega

ž

FE

254

suur O tildega

Õ

D5

213

suur A täppidega

Ä

C4

196

suur O täppidega

Ö

D6

214

suur U täppidega

Ü

DC

220

suur S katusega

Š

D0

208

suur Z katusega

Ž

DE

222

 

        Kui täpitähed on esitatud mingil muul kujul, tuleb käsurealt ette anda teisendustabeli nimi, nt. html-vormingu puhul html.cnv.

        Kui käivitate ESTMORF -h või ESTMORF -?, siis saate juhise, kuidas ESTMORF-i kasutada:

 

[h:\]estmorf -h

Eesti keele morf analu'u's; su'ntaks:

  estmorf       [-h] [-d SON] [-u UDR] [-c CNV] [-k PATH] [-o DIR] [-e .EXT]

        [-{M|O|K|B|X|G}[z][f][v]] [FAILINIMI[, FAILINIMI, ...]]

  SON on so~nastiku-fail (vaikimisi eesti.dct)

  UDR on kasutajas~onastiku nimi (vaikimisi eesti.udr)

  CNV on ta'pita'htede kodeeringufail (vaikimisi baltic.cnv)

  DIR kataloog, kuhu panna va'ljundfailid

  PATH kataloogid, kust so~nastikke ja teisend. tab. otsime

                                (vaikimisi keskkonnamuutujast PATH)

  EXT on va'ljundfaili laiend (peab algama punktiga, vaikimisi '.mrf')

  M morf. analu'saator, tundmatuid ei oleta

  O morf. analu'saator, tundmatuid oletab

  K morf. anal+oletaja+palatalistsioon jms

  B lemmatiseerija

  X soovitaja

  G su'nteesija

  z kuvab progressi

  v versiooni-info

  f so~nastike jms nimed ekraanile

 

      Morf. analüsaatorist ja süntesaatorist tuleb allpool detailsemalt juttu. Lemmatiseerija-režiimis annab ESTMORF väljundisse kõik lemmad, mida antud sõnavormist saab moodustada; liitsõnade puhul ka osasõnade lemmad, nt:

 

peaminister

    peaminister

    pea

    pidama

    minister

 

      Soovitaja-režiimis annab ESTMORF väljundisse hulga selliseid sõnu, mis on sisendisse antud (vigase) sõna sarnased korrektsed sõnad, nt:

 

sovitaja

    suvitaja sobitaja soovitaja

 

3.1. Morfoloogilise analüsaatori sisend

 

      Normaalselt käib morf. analüsaatori kasutamine järgmiselt:

ESTMORF -O faili_nimi.laiend

See tähendab, et tulemused lähevad faili faili_nimi.MRF; et leitakse kõikvõimalikud analüüsivariandid; et vajadusel oletatakse, milline sõna analüüs võiks olla; et leitakse algvormitüved (lemmad).

Analüüsitavad sõnad võtab morf. analüsaator sisend-failist (nt. PROOV), milles iga sõna peab olema omaette real. Sõnade ümber ei tohi olla tühikuid, kuid võivad olla kirjavahemärgid. Kui sisendfailis on tühi rida, siis sellest edasi ESTMORF faili ei vaata. Resultaadid kirjutab ESTMORF väljund-faili, mille nimeks paneb <sisend-faili-nimi.MRF> (nt. PROOV.MRF).

      Näited kasutamisest:

      Olgu failis proov.txt ainult 1 sõna: poega.

      Kui teeme: estmorf -M proov.txt, siis saame faili proov.mrf, milles on:

 

poega

    poeg+0 //_S_ adt, sg p, //

    pood+ga //_S_ sg kom, //

     

     

3.2 Morfoloogilise analüsaatori väljund

 

Ühe sõna analüüsi tulemus on lihtsaimal juhul järgmine.

 

<sõna>

    <tüvi>+<lõpp> //<sõnaliik> <vormi nimetus> //

 

·        <sõna> on sõna sellisena, nagu ta algselt esines

·        <tüvi> on lemma e. algvormi tüvi

·        <lõpp> on sõna lõpp, kusjuures mitmuse tunnus on temaga liitunud (nagu seda on käsitletud ka Ülle Viksi "Väikeses vormisõnastikus" (VVS)); partikkel GI/KI, kui ta esineb, on lihtsalt lõppu "kleepunud"; ka juhul, kui sõnal ei saagi lõppu olla (nt. hüüdsõnal), pannakse sõnale lõpp - nn. null-lõpp

·        <sõnaliik> on sõnaliigi lühend

·        <vormi nimetus> on noomeni või verbi vormi lühend (nagu ta ka VVS-is on; vt. VVS grammatika-köidet lk. 9) 

 

Sõnal võib olla mitu õiget analüüsi. Sel juhul on erinevad <tüvi>+<lõpp> kombinatsioonid eri ridadel.

Kui ühele <tüvi>+<lõpp> kombinatsioonile vastab mitu <sõnaliiki>, siis on ka nemad eri ridadel.

Kui ühele lõpule vastab mitu <vormi nimetust>, siis on nad esitatud samal real kaldkriipsude (//) vahel.

Kui on tegemist liitmoodustisega, siis:

 

·        Tüvi on eristatud eelnevast komponendist '_' märgiga;

·        Lõpp on eristatud eelnevast komponendist '+' märgiga; nn. null-lõpp ongi '+0'

·        Sufiks on eristatud eelnevast komponendist '=' märgiga.

·        Lemmatüvi leitakse ainult viimase parempoolse komponendi alusel

 

'?' vorminime asemel tähendab, et käänet pole võimalik määrata.

Sõnade külge "kleepunud" sulud ja kirjavahemärgid jäetakse tulemuse-real ära.

Kui ESTMORF ei suuda sõna analüüsida, siis on tulemuseks:

 

<sõna>

    ####

 

Näited:

 

lood

    lood+0 //_S_ sg n, //

    lood+d //_S_ pl n, //

    loog+d //_S_ pl n, //

    lugu+d //_S_ pl n, //

    loo+d //_V_ d, //

Dudajevi-meelne

    Dudajevi_meelne+0 //_A_ sg n, //

alleshoidmine

    alles_hoid=mine+0 //_S_ sg n, //

USA

    USA // _Y_ ?, //

3aastast

    3_aastane+t //_A_ sg p, //

lastekodukasvataja

    laste_kodu_kasvataja+0 //_S_ sg g, sg n, //

elamisväärseid

    ela=mis_väärne+id //_A_ pl p, //

vettehüpe

    ve+tte_hüpe+0 //_S_ sg n, //

(Baltic News Service)

    Baltic News Service+0 //_H_ sg n, //

Meeritsa

    Meeritsa+0 //_H_ adt, sg g, sg n, sg p, //

    Meerits+0 //_H_ sg g, //

ta.Miljonäre

    ta.Miljonär+e //_S_ pl p, //

    ta.Miljonäre+0 //_S_ adt, sg g, sg n, sg p, //

ettvõtte

    ett_võte+0 //_S_ sg g, //

Koovit

    Koovi+t //_H_ sg p, //

    Koov+t //_H_ sg p, //

    Koovit+0 //_H_ sg n, //

kidra

    kidra+0 //_S_ adt, sg g, sg n, sg p, //

    kidra+0 //_V_ o, //

 

3.3 Morfoloogilise süntesaatori sisend

 

      Normaalselt käib morf. süntesatori käivitamine järgmiselt:

ESTMORF -Go faili_nimi.laiend

See tähendab, et tulemused lähevad faili faili_nimi.MRF; et vajadusel oletatakse, milline sõna süntees võiks olla.

Sisendiks on fail, milles igal real on ühe sõna algvorm ja grammatiline info – sõnaliik, kääne või pööre. Rea struktuur on järgmine:

 

<algvorm> //_<sōnaliigid>_ <vormi nimetused> //

 

<algvorm>  on sōna algvorm, s.t. ma-tegevusnimi tegusõnade puhul, ainsuse nimetav käändsõnade puhul. Ka juhul, kui sõnast kasutatakse ainult (?) mitmuse vorme, n.t. “püksid”, “kosjad” puhul, tuleks siiski proovida ette anda ainsuse nimetavalist vormi, n.t. “püks”, “kosi”. Algvormi leidmisel saab abivahendina kasutada morf. analüsaatorit. Erandiks on sõnad, millel ainsuse nimetavat polegi; nende puhul tuleb ette anda ainsuse omastav: iseenese, omaenese, üksteise, teineteise, mõlema, ligida, läheda, lühida. Pärisnimed tuleb sisestada suure algustähega.

 

<sōnaliigid> on string, millesse võivad kuuluda sōnaliike tähistavad suurtähed, mida kasutatakse ka morf. analüsaatoris. <sōnaliigid> võib olla ka tärn (*); sellisel juhul saab morf. süntesaator aru, et tahetakse saada kõikvõimalikesse sõnaliikidesse kuuluvaid sünteese

 

<vormi nimetused> on string, milles on komadega eraldatud, sünteesimist vajavate vormide nimed. Selle struktuur on:

                  <vormi nimetus>, <vormi nimetus>, ...

 

<vormi nimetus> on muutevormi ladinapärane lühendnimi, nagu teda kasutatakse morf. analüsaatoris ja “Väikeses vormisõnastikus”, näit. "sg g" - "singular genitiiv" (vt. VVS grammatika-köidet lk. 9). Ainus erinevus on selles, et nn. kahtlaste vormide puhul ei maksa ümarsulgusid kasutada.

 

Näiteks:

 

siga //_S_ sg g, pl g, pl p, //

oma //_*_ sg n, //

sadama //_*_ des, //

 

 

3.4 Morfoloogilise süntesaatori väljund

 

      Väljundiks on fail, milles on iga sisendiks antud rea kohta see rida ise ja tema järel järgnevatel ridadel kõik sünteesitud vormid koos grammatilise infoga. Sünteesitud vormid on tähestikuliselt järjestatud grammatilise info järgi, näiteks:

 

siga //_S_ sg g, pl g, pl p, //

    sigade //_S_ pl g, //

    sigasid //_S_ pl p, //

    sigu //_S_ pl p, //

    sea //_S_ sg g, //

oma //_*_ sg n, //

    oma //_A_ sg n, //

    oma //_P_ sg n, //

    oma //_S_ sg n, //

sadama //_*_ des, //

    sadades //_V_ des, //

      

        Kui süntesaator ei suuda mingit nõutud vormi sünteesida, siis väljundisse teda ka ei teki. Kui me ei kasuta oletamis-režiimi, siis võib ebaõnnestumise põhjuseks olla nt. see, et sõna puudub MORFi sõnastikust. Sel juhul antakse väljundiks ####. Kui ebaõnnestumise põhjuseks on see, et morf. süntesaator ei oska moodustada nõutud vormidest mitte ühtegi (nt. juhul, kui antakse nimisõna tüvi, aga soovitakse verbi vorme), siis antakse väljundiks ##. Näited:

 

CDGGG //_*_ sg g //

    ####

hr. //_*_ sg n, pl g, //

    ##

tuli //_V_ ma, //

    ##

 

 

 

4. ESTMORFis kasutatavad lühendid

 

4.1 Sõnaliigid, mida ESTMORF eristab

                                                  

·        _A_ omadussõna - algvõrre (adjektiiv - positiiv), nii käänduvad kui käändumatud, nt kallis või eht

·        _C_ omadussõna - keskvõrre (adjektiiv - komparatiiv), nt laiem

·        _D_ määrsõna (adverb), nt kõrvuti

·        _G_ genitiivatribuut (käändumatu omadussõna), nt balti

·        _H_ pärisnimi, nt Edgar

·        _I_ hüüdsõna (interjektsioon), nt tere

·        _J_ sidesõna (konjunktsioon), nt ja

·        _K_ kaassõna (pre/postpositsioon), nt kaudu

·        _N_ põhiarvsõna (kardinaalnumeraal), nt kaks

·        _O_ järgarvsõna (ordinaalnumeraal), nt teine

·        _P_ asesõna (pronoomen), nt see

·        _S_ nimisõna (substantiiv), nt asi

·        _U_ omadussõna - ülivõrre (adjektiiv - superlatiiv), nt pikim

·        _V_ tegusõna (verb), nt lugema

·        _X_ verbi juurde kuuluv sõna, millel eraldi sõnaliigi tähistus puudub, nt plehku

·        _Y_ lühend, nt USA

·        _Z_ lausemärk, nt -, /, ...

 

      Võrreldes morf. analüsaatori ja süntesaatoriga on morf. oletaja sõnaliikide valik kitsam nn. suletud sõnaklasside poolest. Alljärgnevaid sõnaliike oletamisel ei pakuta:

 

·        _J_ sidesõna (konjunktsioon), nt ja

·        _K_ kaassõna (pre/postpositsioon), nt kaudu

·        _P_ asesõna (pronoomen), nt see

·        _X_ verbi juurde kuuluv sõna, millel eraldi sõnaliigi tähistus puudub, nt plehku

 

4.2 Noomenikategooriate lühendid

 

 ab

abessiiv

ilmaütlev

 abl

ablatiiv

alaltütlev

 ad

adessiiv

alalütlev

 adt

aditiiv

suunduv (lühike sisseütlev), nt. "majja"

 all

allatiiv

alaleütlev

 el

elatiiv

seestütlev

 es

essiiv

olev

 g

genitiiv

omastav

 ill

illatiiv

sisseütlev

 in

inessiiv

seesütlev

 kom

komitatiiv

kaasaütlev

 n

nominatiiv

nimetav

 p

partitiiv

osastav

 pl

pluural

mitmus

 sg

ainsus

ainsus

 ter

terminatiiv

rajav

 tr

translatiiv

saav

 

 

4.3 Verbikategooriate lühendid

 

Verbide analüüsi tulemuse tähistamiseks kasutatakse formatiive

(nagu VVS-iski), mitte vormide lühendatud nimesid, sest mitmed

verbivormid on omavahel alati homonüümsed ja nende esitamine

väljundis tooks kaasa ebavajaliku mitmesuse.

 

 

b

kindel kõneviis olevik 3. isik ainsus aktiiv jaatav kõne

loeb

 d

kindel kõneviis olevik 2. isik ainsus aktiiv jaatav kõne

loed

 da

infinitiiv jaatav kõne

lugeda

 des

gerundium jaatav kõne

lugedes

 ge

käskiv kõneviis olevik 2. isik mitmus aktiiv jaatav kõne

lugege

 gem

käskiv kõneviis olevik 1. isik mitmus aktiiv jaatav kõne

lugegem

 gu

käskiv kõneviis olevik 3. isik mitmus aktiiv jaatav kõne

(nad) lugegu

 gu

käskiv kõneviis olevik 3. isik ainsus aktiiv jaatav kõne

(ta) lugegu

 ks

tingiv kõneviis olevik 1. isik mitmus aktiiv jaatav kõne

(me) loeks

 ks

tingiv kõneviis olevik 1. isik ainsus aktiiv jaatav kõne

(ma) loeks

 ks

tingiv kõneviis olevik 2. isik mitmus aktiiv jaatav kõne

(te) loeks

 ks

tingiv kõneviis olevik 2. isik ainsus aktiiv jaatav kõne

(sa) loeks

 ks

tingiv kõneviis olevik 3. isik mitmus aktiiv jaatav kõne

(nad) loeks

 ks

tingiv kõneviis olevik 3. isik ainsus aktiiv jaatav kõne

(ta) loeks

 ksid

tingiv kõneviis olevik 2. isik ainsus aktiiv jaatav kõne

(sa) loeksid

 ksid

tingiv kõneviis olevik 3. isik mitmus aktiiv jaatav kõne

(nad) loeksid

 ksime

tingiv kõneviis olevik 1. isik mitmus aktiiv jaatav kõne

(me) loeksime

 ksin

tingiv kõneviis olevik 1. isik ainsus aktiiv jaatav kõne

(ma) loeksin

 ksite

tingiv kõneviis olevik 2. isik mitmus aktiiv jaatav kõne

(te) loeksite

 ma

supiin aktiiv jaatav kõne sisseütlev

lugema

 maks

supiin aktiiv jaatav kõne saav

lugemaks

 mas

supiin aktiiv jaatav kõne seesütlev

lugemas

 mast

supiin aktiiv jaatav kõne seestütlev

lugemast

 mata

supiin aktiiv jaatav kõne ilmaütlev

lugemata

 me

kindel kõneviis olevik 1. isik mitmus aktiiv jaatav kõne

loeme

 n

kindel kõneviis olevik 1. isik ainsus aktiiv jaatav kõne

loen

 neg ge

käskiv kõneviis olevik 2. isik mitmus aktiiv eitav kõne

ärge

 neg gem

käskiv kõneviis olevik 1. isik mitmus aktiiv eitav kõne

ärgem

 neg gu

käskiv kõneviis olevik 3. isik mitmus aktiiv eitav kõne

(nad) ärgu

 neg gu

käskiv kõneviis olevik 3. isik ainsus aktiiv eitav kõne

(ta) ärgu

 neg gu

käskiv kõneviis olevik passiiv eitav kõne

ärgu

 neg ks

tingiv kõneviis olevik 1. isik mitmus aktiiv eitav kõne

(me) poleks

 neg ks

tingiv kõneviis olevik 1. isik ainsus aktiiv eitav kõne

(ma) poleks

 neg ks

tingiv kõneviis olevik 2. isik mitmus aktiiv eitav kõne

(te) poleks

 neg ks

tingiv kõneviis olevik 2. isik ainsus aktiiv eitav kõne

(sa) poleks

 neg ks

tingiv kõneviis olevik 3. isik mitmus aktiiv eitav kõne

(nad) poleks

 neg ks

tingiv kõneviis olevik 3. isik ainsus aktiiv eitav kõne

(ta) poleks

 neg me

käskiv kõneviis olevik 1. isik mitmus aktiiv eitav kõne

ärgme

 neg nud

kindel kõneviis lihtminevik 1. isik mitmus aktiiv eitav kõne

(me) polnud

 neg nud

kindel kõneviis lihtminevik 1. isik ainsus aktiiv eitav kõne

(ma) polnud

 neg nud

kindel kõneviis lihtminevik 2. isik mitmus aktiiv eitav kõne

(te) polnud

 neg nud

kindel kõneviis lihtminevik 2. isik ainsus aktiiv eitav kõne

(sa) polnud

 neg nud

kindel kõneviis lihtminevik 3. isik mitmus aktiiv eitav kõne

(nad) polnud

 neg nud

kindel kõneviis lihtminevik 3. isik ainsus aktiiv eitav kõne

(ta) polnud

 neg nuks

tingiv kõneviis minevik 1. isik mitmus aktiiv eitav kõne

(me) polnuks

 neg nuks

tingiv kõneviis minevik 1. isik ainsus aktiiv eitav kõne

(ma) polnuks

 neg nuks

tingiv kõneviis minevik 2. isik mitmus aktiiv eitav kõne

(te) polnuks

 neg nuks

tingiv kõneviis minevik 2. isik ainsus aktiiv eitav kõne

(sa) polnuks

 neg nuks

tingiv kõneviis minevik 3. isik mitmus aktiiv eitav kõne

(nad) polnuks

 neg nuks

tingiv kõneviis minevik 3. isik ainsus aktiiv eitav kõne

(ta) polnuks

 neg o

käskiv kõneviis olevik 2. isik ainsus aktiiv eitav kõne

ära

 neg o

kindel kõneviis olevik 1. isik mitmus aktiiv eitav kõne

(me) pole

 neg o

kindel kõneviis olevik 1. isik ainsus aktiiv eitav kõne

(ma) pole

 neg o

kindel kõneviis olevik 2. isik mitmus aktiiv eitav kõne

(te) pole

 neg o

kindel kõneviis olevik 2. isik ainsus aktiiv eitav kõne

(sa) pole

 neg o

kindel kõneviis olevik 3. isik mitmus aktiiv eitav kõne

(nad) pole

 neg o

kindel kõneviis olevik 3. isik ainsus aktiiv eitav kõne

(ta) pole

 neg vat

kaudne kõneviis olevik 1. isik mitmus aktiiv eitav kõne

(me) polevat

 neg vat

kaudne kõneviis olevik 1. isik ainsus aktiiv eitav kõne

(ma) polevat

 neg vat

kaudne kõneviis olevik 2. isik mitmus aktiiv eitav kõne

(te) polevat

 neg vat

kaudne kõneviis olevik 2. isik ainsus aktiiv eitav kõne

(sa) polevat

 neg vat

kaudne kõneviis olevik 3. isik mitmus aktiiv eitav kõne

(nad) polevat

 neg vat

kaudne kõneviis olevik 3. isik ainsus aktiiv eitav kõne

(ta) polevat

 nud

kesksõna minevik aktiiv jaatav kõne

lugenud

 nuks

tingiv kõneviis minevik 1. isik mitmus aktiiv jaatav kõne

(me) lugenuks

 nuks

tingiv kõneviis minevik 1. isik ainsus aktiiv jaatav kõne

(ma) lugenuks

 nuks

tingiv kõneviis minevik 2. isik mitmus aktiiv jaatav kõne

(te) lugenuks

 nuks

tingiv kõneviis minevik 2. isik ainsus aktiiv jaatav kõne

(sa) lugenuks

 nuks

tingiv kõneviis minevik 3. isik mitmus aktiiv jaatav kõne

(nad) lugenuks

 nuks

tingiv kõneviis minevik 3. isik ainsus aktiiv jaatav kõne

(ta) lugenuks

 nuksid

tingiv kõneviis minevik 2. isik ainsus aktiiv jaatav kõne

(sa) lugenuksid

 nuksid

tingiv kõneviis minevik 3. isik mitmus aktiiv jaatav kõne

(nad) lugenuksid

 nuksime

tingiv kõneviis minevik 1. isik mitmus aktiiv jaatav kõne

lugenuksime

 nuksin

tingiv kõneviis minevik 1. isik ainsus aktiiv jaatav kõne

lugenuksin

 nuksite

tingiv kõneviis minevik 2. isik mitmus aktiiv jaatav kõne

lugenuksite

 nuvat

kaudne kõneviis minevik 1. isik mitmus aktiiv jaatav kõne

(me) lugenuvat

 nuvat

kaudne kõneviis minevik 1. isik ainsus aktiiv jaatav kõne

(ma) lugenuvat

 nuvat

kaudne kõneviis minevik 2. isik mitmus aktiiv jaatav kõne

(te) lugenuvat

 nuvat

kaudne kõneviis minevik 2. isik ainsus aktiiv jaatav kõne

(sa) lugenuvat

 nuvat

kaudne kõneviis minevik 3. isik mitmus aktiiv jaatav kõne

(nad) lugenuvat

 nuvat

kaudne kõneviis minevik 3. isik ainsus aktiiv jaatav kõne

(ta) lugenuvat

 o

käskiv kõneviis olevik 2. isik ainsus aktiiv jaatav kõne

loe

 s

kindel kõneviis lihtminevik 3. isik ainsus aktiiv jaatav kõne

luges

 sid

kindel kõneviis lihtminevik 2. isik ainsus aktiiv jaatav kõne

(sa) lugesid

 sid

kindel kõneviis lihtminevik 3. isik mitmus aktiiv jaatav kõne

(nad) lugesid

 sime

kindel kõneviis lihtminevik 1. isik mitmus aktiiv jaatav kõne

lugesime

 sin

kindel kõneviis lihtminevik 1. isik ainsus aktiiv jaatav kõne

lugesin

 site

kindel kõneviis lihtminevik 2. isik mitmus aktiiv jaatav kõne

lugesite

 ta

kindel kõneviis olevik passiiv eitav kõne

loeta

 tagu

käskiv kõneviis olevik passiiv jaatav kõne

loetagu

 taks

tingiv kõneviis olevik passiiv jaatav kõne

loetaks

 takse

kindel kõneviis olevik passiiv jaatav kõne

loetakse

 tama

supiin passiiv jaatav kõne

loetama

 tav

kesksõna olevik passiiv jaatav kõne

loetav

 tavat

kaudne kõneviis olevik passiiv jaatav kõne

loetavat

 te

kindel kõneviis olevik 2. isik mitmus aktiiv jaatav kõne

loete

 ti

kindel kõneviis lihtminevik passiiv jaatav kõne

loeti

 tud

kesksõna minevik passiiv jaatav kõne

loetud

 tuks

tingiv kõneviis minevik passiiv jaatav kõne

loetuks

 tuvat

kaudne kõneviis minevik passiiv jaatav kõne

loetuvat

 v

kesksõna olevik aktiiv jaatav kõne

lugev

 vad

kindel kõneviis olevik 3. isik mitmus aktiiv jaatav kõne

loevad

 vat

kaudne kõneviis olevik 1. isik mitmus aktiiv jaatav kõne

(me) lugevat

 vat

kaudne kõneviis olevik 1. isik ainsus aktiiv jaatav kõne

(ma) lugevat

 vat

kaudne kõneviis olevik 2. isik mitmus aktiiv jaatav kõne

(te) lugevat

 vat

kaudne kõneviis olevik 2. isik ainsus aktiiv jaatav kõne

(sa) lugevat

 vat

kaudne kõneviis olevik 3. isik mitmus aktiiv jaatav kõne

(nad) lugevat

 vat

kaudne kõneviis olevik 3. isik ainsus aktiiv jaatav kõne

(ta) lugevat

 

 

5. Tundmatud sümbolid, tundmatud sõnad

 

5.1 ESTMORFi sisendsümbolid

 

Nii morf. süntesaatori kui analüsaatori sisendiks olevates sõnades võivad esineda järgmised sümbolid:

 

1) Nn. tavalised tähed (ASCII kümnendkood 65 – 90 ja  97 – 12)

 

2) Täpitähed

 

ESTMORF kasutab vaikimisi teisendustabelit baltic.cnv, mis eeldab, et täpitähed on esitatud Balti kooditabeli kohaselt (Win 1257):

 

 

ASCII

16-ndkood

ASCII

10-ndkood

väike o tildega

õ

F5

245

väike a täppidega

ä

E4

228

väike o täppidega

ö

F6

246

väike u täppidega

ü

FC

252

väike s katusega

š

F0

240

väike z katusega

ž

FE

254

suur O tildega

Õ

D5

213

suur A täppidega

Ä

C4

196

suur O täppidega

Ö

D6

214

suur U täppidega

Ü

DC

220

suur S katusega

Š

D0

208

suur Z katusega

Ž

DE

222

 

Teisendustabelit saab muuta või käsurealt anda mõne muu teisendustabeli nime.

 

3) sidekriips (miinusmärk) (-)

4) kaldjoon (/)

 

5.2 Morf. analüsaatori sisendsümbolid

 

Morf. analüsaator lubab sisendsõnades kasutada veel järgmisi sümboleid:

 

1) Numbrid

 

2) Kirjavahemärgid

 

.,;:()[]{}<>!?

tollimärk jutumärkide tähenduses (") (ASCII kümnendkood 34)

apostroof (') (ASCII kümnendkood 39)

väike < alustava jutumärgi tähenduses () (ASCII kümnendkood 139)

väike > lõpetava jutumärgi tähenduses () (ASCII kümnendkood 155)

 

ESTMORF kasutab vaikimisi teisendustabelit baltic.cnv, mis eeldab, et jutumärgid on esitatud tollimärkidena ("). 

 

Teisendustabelit saab ette anda käsurealt, nt:

esmorf -c=html.cnv sisendfail

 

3) Muud tekstis esinevad sümbolid

 

%, kraadimärk (°), paragrahvi märk (§), tärn (*), pluss (+), ampersand (&)

 

      Kirjavahemärkide lubamine sõnedes ja nende töötlemine ei kuulu tegelikult morfoloogilise analüsaatori põhifunktsioonide hulka. Ta on lisatud selleks, et kasutajal oleks vähem vaeva oma teksti ettevalmistamisel. Kui selgub, et ESTMORFi käsitlus kirjavahemärkidest ei vasta tekstis kasutatavale konventsioonile, tuleks teksti enne ESTMORFile ette andmist suupärasemaks teisendada. 

 

 

5.3 Kasutaja-sõnastik

 

      Kasutaja-sõnastik on tekstifail eesti.udr, milles on kirjas sõnavorm ja tema morfoloogiline analüüs. Esimesel real peab #CONV järel olema sõnastikus kasutatavatele täpitähtedele vastava konverteerimisfaili nimi.

      Näiteks lõik Leho Paldre poolt loodud kasutaja-sõnastikust Eesti Kirjakeele Seletava Sõnastiku analüüsimiseks:

 

#CONV baltic.cnv

mööndlauset möönd_lause+t //_S_ sg p, //

nud-partitsiibis nud-partitsiip+s //_S_ sg in, //

nupjas nup=jas+0 //_A_ sg n, sg in, //

putuktoiduline putuk_toidu=line+0 //_S_ sg n, //|putuk_toidu=line+0 //_A_ sg n, //

 

      Rea alguses on sõnavorm, sellele järgneb tühik ja sellele analüüs(id), mida eraldab püstkriips (ASCII 10-ndkoodis 124). Nii morf. analüsaator kui süntesaator vaatab iga sõna analüüsides algul kasutaja-sõnastikku ja kui seal otsitavat sõnavormi pole, siis alles tehakse "tõeline" morf. analüüs või süntees

 

 

6. Probleemsed juhud

 

Lisaks vigadele, mis on iga programmi paratamatuks kaaslaseks, on paar asja, millest ESTMORFi kasutaja peaks teadlik olema.

 

Morf. analüsaatori iseärasused:

 

1.    Lause keskel olevad suurtähega algavad sõnad võivad olla pärisnimed, kuid ESTMORF ei tee selles suhtes oletusi ja paljudel juhtudel, kui neid võib analüüsida kui lihtsõnu, neid nii ka analüüsitakse.

 

Morf. süntesaatori iseärasused:

 

1. Sidekriipsu sisaldavate sõnade puhul on problemaatiline, kuidas peaks muutuma sidekriipsule eelnev sõnaosa. Nt. Dudajevi-meelne puhul Dudajevi ei muutu (Dudajevi-meelset); emb-kumb puhul emb muutub (emba-kumba). Konkreetse sõna puhul võiks katsetada morf. analüsaatori peal, millist vormi ta peab algvormiks, ja vastavalt sellele anda algvorm ka morf. süntesaatorile.

 

7. Tehnilised andmed

 

      Testversioon on testitud MS DOS 7 peal. Süntesaator töötas Pentiumi peal kiirusega 300 sõna sekundis. Analüsaator töötas oletamis-režiimis kiirusega 150 sõna sekundis.

 

8. Analüüsi oletamis-algoritmi üldkirjeldus

 

1.    Kas sõna on mingi 'mittesõna' (nt. (!))?

2.    Eemalda sõna algusest ja lõpust kõik kirjavahemärgid, ükskõik kui ortograafiareeglitele mittevastavalt nad ka pandud ei ole.

3.    Kas sõna on lühend (kuni 2 tähte või ilma vokaalideta "sõna")?

4.    Kas 'sh' ja 'zh' asendamine õigete 'susisevatega' teeb sõna arusaadavaks?

5.    Kas sõna on suurtäheline lühend käändelõpuga?

6.    Kas sõna sisaldab mõnd ilmset kirjaviga, mille parandamisel on sõna sõnastikku kasutades analüüsitav (nt. sõnadevaheline tühik on jäänud puudu või on kolm ühesugust vokaali kõrvuti)?

7.    Kas sõna on '-' sisaldav sõna, nt. bla-bla-sõna? Kui jah, siis analüüsime ainult viimast '-' järgnevat sõna.

8.    Kas sõna on tundmatu pärisnimi, milles lõpp on eraldatud ülakomaga?

9.    Kas sõna on analüüsitav järelliite ja lõpu kaudu; sõnatüve korrektsust ei kontrolli?

10.Kas sõna on tundmatu pärisnimi?

11.Kas sõna on tundmatu (liit)nimisõna, mille lõpus on mingi eestikeelne lihtsõna?

12.Kas sõna on tundmatu nimisõna või verb (otsustame sõna lõpu ja sellele eelnevate tähtede alusel)?

13.Kas sõna on suurtäheline lühend ilma käändelõputa?

 

9. Sünteesi oletamis-algoritmi üldkirjeldus

 

      Kui sisendsõna morfoloogiline analüüs ebaõnnestus ja seega sõnastikku ei saa sõna sünteesiks niisama lihtsalt kasutada, siis tuleb sünteesida, kasutades oletamist. Oletamisel on järgmised etapid:

 

1.    Analüüsitakse sisendit uuesti, kasutades analüüsi-oletamist.

2.    Kui oletamise tulemusena selgus, et sõna on liitsõna või tuletamise abil moodustatud sõna, siis sünteesitakse ainult viimast komponenti (lihtsõna või järelliidet)

3.    Kui oletamisel selgus aga, et sõna on lihtsõna, siis leitakse analoogiline, sõnastikus leiduv sõna, mille sarnaselt antud sõna peaks muutuma. Analoogilise sõna leidmise aluseks on lõputähtede jada ja silpide arv. Eeldatakse, et sõnastikus puuduvad lihtsõnad kuuluvad teatud piiratud muutüüpide hulka ning et nende klassifitseerimiseks piisab ümmarguselt sajast lõputähtede jada ja silpide arvu kombinatsioonist.

4.    Sõna muutuv osa leitakse sõnastikust selle analoogilise sõna muutmise kaudu. Väljundisse kopeeritakse mittemuutuv algusosa, millele pannakse otsa muutuv lõpuosa.

 

 

10. Teadaolevad vead ja puudused

     

10.1 Süntesaatori vead ja puudused

 

      Süntesaatori testimisel ilma oletamiseta kasutati Tartu Ülikooli kirjakeele korpuse morfoloogilise analüüsimise tulemusena saadud sõnavormide ja nende morfoloogiliste analüüside faili, mis genereerimise katsetamiseks pöörati ümber ning millest eemaldati lühendid ja numbrid. Failis on 200000 erinevat algvormi ja morf. kategooriate paari, mis on süntesaatorile sisendiks. Süntesaator ei suutnud sünteesida 140 sisendsõna ja morf. kategooria paari, mis on 0,07% sisenditest. Kui lubada süntesaatoril sünteesida sõnu "vabamalt" kui morf. analüsaatori väljund lubab, siis jääb sünteesimata 40 juhtumit e. 0,02% sisenditest. Seega morf. analüsaator ja süntesaator ei ole päris teineteise pöördprogrammid.

 

1.    Esineb juhtumeid, kus morf. analüsaator ja süntesaator ei ole ühel meelel selles, milline on mingi sõna sõnaliik. Sel juhul morf. analüsaatori väljund ei anna morf. süntesaatori sisendina soovitud sõnavormi. Nt. kui sõna on sidekriipsu sisaldav pärisnimi, mille viimane komponent on analüüsitav ka kui tavaline sõna (nt. Miki-Hiir), siis morf. analüsaator väljastab sõnaliigina _H_; morf. süntesaator aga ei suuda sellest sõnast sünteesida vorme muidu kui sel juhul, kui sõnaliik on _S_ (või _*_).   

2.    Esineb juhtumeid, kus mingi liitsõna või tuletis on analüüsitav kui lihtsama struktuuriga sõna (nt. lihtsõna). Sel juhul sünteesitakse ainult lihtsama struktuuriga sõna. Nt. tüve "rohkem" käsitletakse kui lihtsõnalist määrsõna (s.t. tegelikult tema vorme ei sünteesita), mitte kui tuletatud sõna, keskvõrret sõnast "rohke".

3. Numbritele ja lühenditele süntesaator käändelõppe ei lisa.

 

      Kui oletamisrežiimis leitakse, et sõna on liitsõna, kuid tehakse seejuures sõna struktuuri määramisel viga, siis ka süntesaator genereerib valesid vorme.

      Kui oletamisrežiimis leitakse, et sõna on lihtsõna, siis sõltub tema sünteesi õigsus sellest, kas osatakse leida sõnale sarnaselt muutuvat sõnastiku-sõna. Siin võib esineda vigu.

 

10.2 Analüsaatori vead ja puudused

 

      Lause keskel olevaid suurtähelisi sõnu püüab analüsaator analüüsida kui lihtsõnu, andes mõnikord resultaadiks liitsõna, nt.

Aamots -> aam_ots.

Paljud morfoloogilise analüsaatori vead on seotud tema koosseisu kuuluva oletaja puudustega. Oletaja loomisel kasutati 1995. a. eesti ajakirjanduse tekste kokku 230 000 sõnavormi ulatuses, millest sõnastikupõhise analüsaatori poolt jäi analüüsimata 10 800 sõnavormi. Erinevaid analüüsimata sõnavorme oli 6500. See korpus oli allikaks, millest võis näha tekstides ettetulevate tundmatute sõnade tüüpe. Sellest lähtudes koostatigi oletamise algoritm.

Oletaja testimisel kasutati korpust 1999. a. Eesti Ekspressi tekstidest, mis olid WWW-s kättesaadavad. Korpusesse kuulus algselt 219 000 sõnavormi, millest testi-sisendiks oli 10 000 morf. analüsaatori poolt muidu analüüsita jäänud sõnavormi ( 4,57% esialgsetest sõnavormidest). Tekste ei olnud analüsaatoriga varem analüüsitud, samuti ei filtreeritud sealt enne katset mingeid sõnu välja. Eemaldati ainult HTML-märgendus. Tekstid sisaldasid ka ebastandardset ortograafiat (nt sh š asemel) ja trükivigu.

      Ligikaudu 66% tundmatutest sõnavormidest olid pärisnimed; 10% olid nimisõnad; 9% oli mõttekriips; 8% olid lühendid; 1% mitmesugused numbrikombinatsioonid; 1% omadussõnad, tegusõnad, määrsõnad;  5% olid võõrkeelsed sõnad, WWW-aadressid jm sümbolijadad, millele on raske üldse mingit mõistlikku analüüsi pakkuda. 

      Oletamisel tehakse kahte liiki vigu: ei anta sõnale ühtegi õiget analüüsi; antakse õigete hulgas ka valesid analüüse.

      Õige analüüs puudus antud katse puhul 1400 juhul 10 000-st, s.t. 14% juhtudest. Vead jagunevad järgmistesse kategooriatesse:

 

1.    Mõttekriipsu peetakse ekslikult üksikuks täheks ja analüüsitakse kui lühendit (900 juhtumit)

2.    Pakutakse vale sõnaliiki. Nt. suurtäheline sõna määratakse pärisnimeks, ehkki ta ei pruugi seda olla; budjete jpt. on samuti määratud nimisõnaks, ehkki nad on hoopis tsitaadid võõr- (antud juhul vene) keelest. Kui sõna on kaks tähte pikk, siis peetakse teda lühendiks. See võib olla ka eksitav, nt. ingliskeelsete eessõnade või hiina nimede puhul. Siia kuulub 300 juhtumit.

3.    Mõttekriipsu kombinatsioonis numbritega, nt. 11-12, peetakse ekslikult lühendiks (100 juhtumit)

4.    Ei leita õiget algvormi, nt. Loidi puhul ei pakuta algvormiks Loit (40 juhtumit)

5.    Ei oletata midagi (10 juhtumit)

  

      Sõnadel, mille puhul pakuti õiget analüüsi, oli keskmiselt 1,4 analüüsivarianti sõna kohta.

      Kuna sõna kuju alusel on raske (kui mitte võimatu) öelda, kus asub sõna rõhk, siis oletatakse mõnikord selliseid algvormi kujusid, mis inimesele, kes sõna hääldust teab, paistavad ilmselgelt valed.

      Kui arvutada analüsaatori katvust ja täpsust tervikuna, siis: sisendsõnavormidest jääb analüüsimata 0,018%; vale analüüsi saab oletaja poolt 0,82% ja sõnastikupõhise analüsaatori poolt 0,1% (H-J. Kaalep, T. Vaino. Kas vale meetodiga õiged tulemused? Statistikale tuginev eesti keele morfoloogiline ühestamine. Keel ja Kirjandus 1/1998, lk 30-36), seega kokku 0,92%. Kui sisendsõnavormide hulka enne analüüsimist ja oletamist töödelda, nt. eemaldades sealt mittestandardsed sümbolid või teisendades nad standardseteks (nagu katsest selgunud ebastandardne mõttekriips, mis andis 50% vigadest), siis peaks vigade protsent vähenema kuni 50%.

      Samas tuleb ülaltoodud kvaliteedinäitajatesse suhtuda teatud ettevaatusega, kui kasutatakse oletajat ajakirjandusest erinevate tekstide peal, nt. juriidilistel tekstidel. On ju oletajat nii treenitud kui testitud just ajakirjanduse eripärast lähtudes.