Keeletehnoloogia ressursid: |
Eestikeelsete nimisõnafraaside filtreerija
Mare Koit, Tiit Roosmaa
dets. 1999
- tarkvara FTP serveris
- 1999
- EstNPTool Lõpparuanne
- Testkorpus - lõpparuanne
- EstNPTool vahearuanne RTF-formaadis
- Testkorpus vahearuanne RTF-formaadis
- 1998
Sisukord
1. Sissejuhatus *
2. Eesti keele nimisõnafraaside tuvastamine *
2.1. Märgendid
*2.2. Ülevaade programmi tööst
*Morfoloogiline analüüs
*Morfoloogiline ühestamine
*Osalausete piiride määramine
*Süntaktiliste funktsioonide määramine
*Nimisõnafraaside eristamine
*Teisendusreeglid
*3. Nimisõnafraaside filtreerija algoritmi kirjeldus *
Algoritm
*4. Programmi estnptool paigaldamis- ja kasutamisjuhend *
Programmi installeerimine
*Programmi sisendid ja väljundid
*Programmi kasutamine
*5. Tulemused *
Kirjandus *
Käesoleva teadusprojekti eesmärgiks on koostada eestikeelsete nimisõnafraaside filtreerija – operatsioonisüsteemis Windows töötav programm, mille sisendiks oleks eestikeelne tekst ja väljundiks sellest tekstist eraldatud nimisõnafraasid.
1998. a valmis keeletehnoloogia sihtprogrammi raames (operatsioonisüsteemis MS-DOS töötav) programm estnp, mis suudab leida nimisõnafraasid eesti keele kitsenduste grammatika alusel morfoloogiliselt analüüsitud ja ühestatud tekstist (vt http://www.ee/eks/) . Seega tuli esmalt täiustada olemasolevat programmi ja seejärel lisada talle (koos Windowsi kasutajaliidese ja vajalike konverterteerimisprogrammidega) eelmoodulitena eesti keele morfoloogiline analüsaator, mis teeb sisendi automaatse morfoloogilise analüüsi, ja morfoloogiline ühestaja, mis konteksti põhjal lahendab morfoloogilisel analüüsil tekkinud mitmeti tõlgendatavused.
Morfoloogilise analüsaatorina kasutasime programmi estmorf (vt http://www.filosoft.ee).
Morfoloogiline ühestaja põhineb eesti keele kitsenduste grammatikal – samal formalismil, mida kasutab oma töös ka estnp.
Täitmine
Projekti II etapil teostati plaanis ettenähtud tööd: integreeriti morfoloogiline analüsaator ja eesti keele kitsenduste grammatika morfoloogiline ühestaja nimisõnafraase leidva programmiga estnp, mille täpsust käesoleva projekti I etapi lõpuks oli tänu reeglistiku täiendamisele suudetud tõsta ettenähtud 85%-ni (vt esitatud vahearuanne), koostati vajalikud konverteerimisprogrammid erinevate moodulite sisendite ja väljundite ühildamiseks, ning varustati saadud integreeritud programm kasutajaliidesega operatsioonisüsteemis Windows. Valminud nimisõnafraaside filtreerija (aruandele lisatud kettal) töötab täpsusega keskmiselt 85%, tehes vigu alla 2%. Seega võib väita, et selle programmiga on võimalik nimisõnafraase leida sellise täpsusega, et neid saab praktikas kasutada.
Programmi koostamisel kasutasime Tartu Ülikooli arvutiteaduse instituudile litsenseeritud tarkvara MS Visual C++ v.5.0.
2. Eesti keele nimisõnafraaside tuvastamine
Valmivate süntaksianalüsaatorite üks esimesi rakendusi on tavaliselt nimisõnafraaside tuvastaja (vt nt Soome tarkvarafirma Lingsoft kitsenduste grammatikal põhinevat süntaksianalüsaatorit ja nimisõnafraaside tuvastajat NPTool inglise keele jaoks, http://www.lingsoft.fi). Ka eesti keele nimisõnafraaside tuvastamisel kasutame kitsenduste grammatikat.
Esialgu seadsime eesmärgiks koostada eestikeelsete nimisõnafraaside tuvastamiseks eraldi grammatika (ainult väga pindmise süntaktilise analüüsi tegemiseks: nimisõnafraaside põhjade, täiendite ja verbifraaside märgendamiseks). Eeldatavasti peaks see olema küllaltki väike ja kompaktne. Kuna aga eesti keeles võivad fraasi põhi ja täiend olla samas käändes ning ka sõnajärje alusel on väga raske, kui mitte võimatu neid eristada, siis näitasid eksperimendid, et sedavõrd pinnalisest analüüsist on nimisõnafraasi piiride määramisel vähe abi. Tunduvalt hõlpsam on teha esmalt lause täielik süntaktiline analüüs ja seejärel filtreerida nimisõnafraasid.
Eesti keele nimisõnafraaside filtreerija estnptool töötab neljas etapis: 1) eestikeelne tekst analüüsitakse morfoloogiliselt, 2) morfoloogiliselt analüüsitud tekst ühestatakse, 3) seejärel märgendatakse see süntaktiliste funktsionaalsete märgenditega, 4) süntaktiliste märgendite abil leitakse lausest nimisõnafraasid. Seega on tegu sõna otseses mõttes nimisõnafraaside filtreerimisega süntaktiliselt analüüsitud tekstist.
Nimisõnafraaside eristamiseks varustatakse iga sõna märgendiga, mis näitab, kas see sõna on nimisõnafraasi põhi, ees- või järeltäiend või ei kuulu nimisõnafraasi. Kasutatavad märgendid on järgmised (vrd Voutilainen).
@V - verb, selle märgendiga varustatakse kõik verbid, sõltumata sellest, kas nad on finiitsed või infiniitsed ning millist süntaktilist funktsiooni nad lauses kannavad. See märgend omistatakse ka infiniitsetele täienditele (näiteks: soov õppida jne). Ühend- ja väljendverbid analüüsitakse sõnahaaval ja verbi märgend lisatakse ainult verbidele.
@NH - nimisõnafraasi põhi, selle märgendiga märgendatakse nimi-, ase- ja arvsõnalised alused, sihitised, määrused, öeldistäited ja kaassõnafraasi kuuluvad nimisõnafraaside põhjad.
@N> - eestäiend, selle märgendiga märgendatakse nimi-, ase-, arv-, omadus- ja määrsõnalised eestäiendid.
@<N - järeltäiend, selle märgendiga märgendatakse nimi-, ase-, arv-, omadus- ja määrsõnalised järeltäiendid.
@XX - muu, selle märgendiga varustatakse sõnad, mis ei kuulu nimisõnafraasi (v.a verbid ja sidendid), näiteks omadus- ja määrsõnalised määrused, omadussõnalised öeldistäited ja kaassõnad (ka siis, kui kaassõnafraas täiendab nimisõnafraasi, sest seda ei ole ilma semantilise informatsioonita võimalik kindlaks määrata).
@J - sidend
Sisendteksti morfoloogiline analüüs tehakse programmiga estmorf, toome siin selle programmi väljundi näite:
Oli
ole+i //_V_ main indic impf ps3 sg ps af //
ole+i //_V_ aux indic impf ps3 sg ps af //
külm
külm+0 //_A_ pos sg nom //
külm+0 //_S_ com sg nom //
selge
selge+0 //_A_ pos sg gen //
selge+0 //_A_ pos sg nom //
aprillipäev
aprilli_päev+0 //_S_ com sg nom //
,
, //_Z_ Com //
kellad
kell+d //_S_ com pl nom //
kella+d //_V_ main indic pres ps2 sg ps af //
lõid
loo+id //_V_ main indic impf ps2 sg ps af //
loo+id //_V_ main indic impf ps3 pl ps af //
löö+id //_V_ main indic impf ps2 sg ps af //
löö+id //_V_ main indic impf ps3 pl ps af //
parajasti
parajasti+0 //_D_ //
kolmteist
kolm_teist+0 //_N_ card sg nom l //
.
Morfoloogilisel analüüsil ja ühestamisel on teoreetiliseks aluseks võetud Eesti keele teaduslik grammatika (EKG 1993 ja EKG 1995). Erinevalt EKG-st lähtub morfoloogiline analüsaator estmorf traditsioonilisest 9 sõnaliigist (substantiiv, adjektiiv, pronoomen ja numeraal kui käändsõnad, verb kui pöördsõna ning adverb, pre- ja postpositsioon, konjunktsioon ning interjektsioon kui muutumatud sõnad). Arvesse pole võetud eesti keele teadusliku grammatika jaotust 12ks sõnaliigiks, kus adverbi alt on iseseisvate sõnaliikidena välja toodud modaal-, afiksaal- ja proadverbid (vt EKG 1995).
Tõese morfoloogilise analüüsi saab u 97% sisendteksti sõnadest, analüüsimata jäävad haruldasemad sõnad, nagu pärisnimed, lühendid, terminid, slängisõnad jms. Veel ei ole valmis tundmatute sõnade mõistataja, need sõnad märgendatakse spetsiaalse märgendiga.
Morfoloogiline analüsaator väljastab ainult puhtalt morfoloogilist informatsiooni, süntaktiliseks analüüsiks on vaja aga lisa, näiteks verbide sihilisust/sihitust või kaassõnade tüüpi (ees- või tagasõna) ja rektsiooni. Süntaksianalüsaatori väljatöötamise käigus aitasid meid kaks leksikograafi, kes koostasid eesti keele sihitute verbide ja kaassõnade loendi.
Morfoloogilise ühestaja sisendiks on morfoloogiliselt analüüsitud tekst ja väljundiks morfoloogiliselt ühestatud tekst. Morfoloogiline ühestaja kasutab eesti keele kitsenduste grammatikat (ESTKG), milles on ligikaudu 1000 ühestamise põhireeglit ja 175 heuristilist reeglit (Puolakainen 1998). Heuristiliseks on loetud need reeglid, mis teevad keskmisest rohkem vigu ja samas ei ole ka niivõrd olulised, et ilma nendeta teised reeglid ei rakenduks.
Pärast ühestamist jääb 12-17% sõnadest morfoloogiliselt mitmeseks, s.t ühestaja täpsus on 83-88%. Kaks suuremat seni lahendamata mitmesuste klassi on käändsõna omastav, osastav ja sisseütlev kääne ning käändsõna nimetav ja omastav kääne.
Reeglite genereerimiseks oleme kasutanud ka statistilisi andmeid korrates artiklis [Samuelsson et al 1997] kirjeldatud katset eesti keelele. Saadud grammatika abil on võimalik ühestada 95% sõnadest, kuid ka vigade protsent on üle 5.
Morfoloogilise ühestamise käigus leitakse ka osalausete piirid ning osalause esimene sõna märgendatakse spetsiaalse märgendiga. Osalausete piiride määramine on analüsaatorile küllaltki raske ülesanne, sest sel analüüsi hetkel ei ole veel ümbritseva konteksti kohta piisavalt täpset informatsiooni – morfoloogiline ühestamine on alles pooleli. Et vältida vigu, kasutame erinevalt standardsest kitsenduste grammatikast kahte tüüpi osalausepiiride märgendeid: kindel ja oletatav osalausepiir. Praegu sisaldab grammatika 30 osalausepiiride määramise reeglit, mis konteksti kontrollides otsustavad, kas antud sõna võib olla osalause alguseks.
Morfoloogilise ühestamise ja lausepiiride määramise lõppedes saadakse tulemus kujul:
sõnavorm1
algvormi_tüvi+lõpp // _L_ märgendid //
algvormi_tüvi+lõpp // _L_ märgendid //
sõnavorm2
algvormi_tüvi+lõpp // _L_ märgendid //
algvormi_tüvi+lõpp // _L_ märgendid //
...
sõnavormn
algvormi_tüvi+lõpp // _L_ märgendid //
algvormi_tüvi+lõpp // _L_ märgendid //
lauselõputunnus
....lauselõputunnus1 // märgendid //
kus sõnavormi tähistab sõna nii, nagu ta lauses esineb, algvormi_tüvi on selle sõna algvormi tüvi, lõpp on käände- või pöördelõpp või 0, sõltuvalt sõnaliigist _L_.
Näide
Kuid
kuid+0 //_J_ crd #cap **CLB //
kahtlemata
kahtlemata+0 //_D_ //
kahtle+mata //_V_ main sup ps af abes #Intr //
oli
ole+i //_V_ main indic impf ps3 sg ps af #FinV #Intr //
Antti
Antti+0 //_S_ prop sg nom #cap //
andekas
andekas+0 //_A_ pos sg nom //
ning
ning+0 //_J_ crd //
omamoodi
omamoodi+0 //_D_ //
ka
ka+0 //_D_ //
töökas
töökas+0 //_A_ pos sg nom //
$.
. //_Z_ Fst //
Süntaktiliste funktsioonide määramine
Sõnadevahelised grammatilised seosed antakse kitsenduste grammatikas edasi süntaktiliste märgendite abil. Märgendid näitavad, kas tegemist on fraasi põhjaga (alus, sihitis, öeldistäiend, määrus), laiendiga (täiend, kvantori- või kaassõnafraasi laiend) või öeldise koosseisu kuuluva tegusõnaga. Fraasi laiendi märgendid annavad ka fraasipõhja asukoha suuna, kuid põhja ja laiendi vahelist seost ei ole otseselt näidatud.
Süntaktiliste funktsioonide määramine toimub kahes etapis. Esimesel etapil lisab analüsaator igale morfoloogilisele tõlgendusele selle kõik võimalikud süntaktilised märgendid ja järgmisel etapil hakkab konteksti kontrollides eemaldama sobimatuid.
Kui märgendid on lisatud, kasutab analüsaator süntaktilisi kitsendusi nende hulgast õigete väljavalimiseks. Kitsendused võivad sõna süntaktilise funktsiooni määramisel kasutada sõnade põhivorme, sõnade morfoloogilist infot, juba määratud süntaktilisi funktsioone ning sõnade järjestust lauses. Iga kitsendus kujutab endast keelereeglit, mis näitab, kus ja millistel tingimustel on antud sõnal just see konkreetne süntaktiline funktsioon või millises situatsioonis sõna ei saa omada sellist süntaktilist funktsiooni.
ESTKG sisaldab 175 märgendite lisamise reeglit ja 800 süntaktilist kitsendust (Müürisep 1999). Enamus süntaktilistest kitsendustest, peaaegu pooled, tegelevad atribuudi määramisega. Ülejäänud süntaktilised funktsioonid on reeglite vahel ühtlasemalt ära jaotunud, kuid atribuudi jaoks on ka kõige rohkem märgendeid ning neid lisatakse peaaegu kõigile sõnadele, verbi pöördelised vormid ja sidesõnad välja arvatud.
Süntaksianalüsaator suudab määrata üheselt 80-88% sõnade funktsioonid, tehes seejuures 2-5% vigu. Analüsaatori töö täpsus ja korrektsus sõltuvad paljuski teksti liigist ja morfoloogilise ühesuse astmest. Mida ühesem tekst, seda paremad on tulemused.
ESTKG süntaksianalüsaator kasutab järgmisi märgendeid:
A. Öeldise märgendid
@+FMV - finiitne öeldis
@-FMV - infiniitne öeldis
@+FCV - olema liitaegades, modaalverbid jt ahelverbides, finiitne vorm
@-FCV - olema liitaegades, modaalverbid jt ahelverbides, infiniitne vorm
@NEG - verbi eitus
B. Põhja märgendid
@SUBJ - subjekt
@OBJ - objekt
@PRD - predikatiiv
@ADVL - adverbiaal, ka fraasiadverbiaal
C. Laiendite märgendid
@AN> - adjektiiv eestäiendina
@<AN - adjektiiv järeltäiendina
@AD> - adverb eestäiendina
@<AD - adverb järeltäiendina
@PN> - kaassõna eestäiendina
@<PN - kaassõna järeltäiendina
@NN> - nimisõna eestäiendina
@<NN - nimisõna järeltäiendina
@VN> - partitsiip eestäiendina
@<VN - partitsiip järeltäiendina
@INF_N> - infinitiiv eestäiendina
@<INF_N - infinitiiv järeltäiendina
@<P - eessõnafraasi põhi
@P> - tagasõnafraasi põhi
@Q> - kvantori eeslaiend
@<Q - kvantori järellaiend
D. Muud märgendid
@X - ahelverbi komponent (nt mahti saama)
@J - sidend
@I - hüüatus
@??? - tundmatu sõna
Kui tekst on süntaktiliselt analüüsitud, teisendatakse süntaksianalüsaatori märgendid nimisõnafraaside filtreerija märgenditeks. Nimisõnalised alused, sihitised, määrused ja öeldistäited märgendatakse fraasi põhja märgendiga, täiendid fraasi laiendi märgenditega. Sel viisil võetakse mitmed nimisõnafraaside filtreerija jaoks ebaolulised mitmesused kokku ja selliselt märgendatud tekstis on üheselt märgendatud sõnade osakaal juba 90%.
Järgmisel sammul väljastatakse märgendatud teksti põhjal fraasid. Allesjäänud mitmesused ja vajadus arvestada koordinatsiooniga muudavad selle operatsiooni küllaltki keeruliseks. Kuna soovisime, et väljundis oleks igast fraasist ainult üks versioon, valisime kõige otsesema lähenemise - mitme märgendi hulgast valitakse kõige tõenäolisem. Näiteks kui sõna võib olla eestäiend või fraasi põhi, siis on ta enamasti eestäiend; kui sõna võib olla nii ees- kui ka järeltäiend ja fraasi põhi, on ta tõenäoliselt fraasi põhi jne.
Süntaksianalüsaatori väljundi märgendid teisendatakse nimisõnafraaside filtreerija märgenditeks järgmiste reeglite abil (vt ka tabelid 1, 2):
- Kui sõna on nimisõna, asenda märgendid @SUBJ, @OBJ, @PRD, @ADVL, @<P, @P> märgendiga @NH.
- Kui sõna on asesõna, asenda märgendid @SUBJ, @OBJ, @PRD, @ADVL, @<P, @P> märgendiga @NH.
- Kui sõna on arvsõna, asenda märgendid @SUBJ, @OBJ, @PRD, @ADVL, @<P, @P> märgendiga @NH.
- Kui sõna on lühend, asenda märgendid @SUBJ, @OBJ, @PRD, @ADVL, @<P, @P> märgendiga @NH.
- Kui sõna on verb, asenda märgendid @+FMV, @-FMV, @+FCV, @-FCV, @NEG, @SUBJ, @OBJ, @PRD, @ADVL, @<INF_N ja @INF_N> märgendiga @V.
- Märgendid @AN>, @VN>, @NN>, @Q> ja @AD> asendada märgendiga @N>.
- Märgendid @<AN, @<VN, @<NN, @<Q ja @<AD asendada märgendiga @<N.
- Märgend @J jääb samaks.
- Märgend @??? jääb samaks.
- Ülejäänud süntaksianalüsaatori märgendid asendada märgendiga @XX.
3. Nimisõnafraaside filtreerija algoritmi kirjeldus
Sisend. Programmi estnptool sisendiks on eestikeelne elektrooniline tekst..
Väljund. Programmil on kaks väljundit. 1) Standardväljundisse kirjutatakse kõik leitud nimisõnafraasid, iga fraas eraldi reale. Kui rida lõpeb sümboliga *, on selle fraasi süntaktiline analüüs ebaõnnestunud ja fraas võib olla vigane. 2) Faili nimelaiendiga .NPX kirjutatakse märgendatud sisendtekst.
Sõnaliik
Selgitus
Süntaktiline märgend
NP märgend
_S_, _P_, _N_ card
Nimi-, ase- ja põhiarvsõna
@SUBJ, @OBJ, @PRD, @ADVL, @<P, @P>
@NH
_S_ ,_P_, _N_ card
Nimi-, ase- ja põhiarvsõna
@NN>, @Q>
@N>
_S_ ,_P_, _N_ card
Nimi-, ase- ja põhiarvsõna
@<NN, @<Q
@<N
_A_ ,_P_, _N_ ord, _D_
Omadus-, ase-, järgarv- ja määrsõna
@AN>, @VN>, @AD>
@N>
_A_ ,_P_, _N_ ord, _D_
Omadus-, ase-, järgarv- ja määrsõna
@<AN, @<VN, @<AD
@<N
_A_
Omadussõna
@PRD
@XX
_A_, _D_, _N_ ord
Omadus-, järgarv- ja määrsõna
@ADVL
@XX
_V_
Verb
kõik märgendid
@V
_J_
Sidesõna
@J
@J
_K_
Kaassõna
kõik märgendid
@XX
_I_, _X_
Hüüdsõna, verbi juurde kuuluv sõna
kõik märgendid
@XX
Tabel 1.
Süntaktiliste märgendite teisendamine nimisõnafraaside tuvastaja estnptool märgenditeks.
Mitmesus
Lahend
Selgitus
@N> @NH
@N>
eestäiend ja põhi Þ eestäiend
@N> @NH @<N
@NH
ees- ja järeltäiend ning põhi Þ põhi
@N> @<N
@N>
ees- ja järeltäiend Þ eestäiend
@NH @<N
@NH
põhi ja järeltäiend Þ põhi
Tabel 2.
Mitmesuste teisendamine.1. samm. Tehakse sisendi morfoloogiline analüüs programmiga estmorf.
2. samm. Saadud väljund ühestatakse eesti keele kitsenduste grammatika morfoloogilise ühestajaga.
3. samm. Tehakse saadud väljundi süntaktiline analüüs eesti keele kitsenduste grammatika analüsaatori abil. Selleks kasutatakse reegleid failist GRAMMAR.RLE. Saadakse süntaktiliselt märgendatud tekst.
4. samm. Süntaktilised märgendid teisendatakse nimisõnafraaside tuvastaja märgenditeks vastavalt tabelile 1.
5. samm. Analüüsides märgendeid, väljastatakse fraasid ekraanile. Kui sõna on süntaktiliselt mitmene, kasutatakse tabelis 2 toodud teisendusi (mis on tuletatud mitmesuste statistilisest analüüsist). Koordineeriva sidesõna või kirjavahemärgiga eraldatud sõnad loetakse üheks fraasiks, kui
1. koordinatsioon on eestäiendite vahel (nt elektri-, gaasi-, side- ja muud liinid)
2. koordinatsioon on kahe põhja vahel nii, et viimasele põhjale ei eelne täiendit (nt teed ja liinid).
Fraasi piiri määravad:
- verb (@V), eelnev fraas väljastatakse;
- osalausepiiri märgend (**CLB ja **CLB-C), eelnev fraas väljastatakse;
- märgendiga @XX tähistatud sõnad, kui koostatavasse fraasi kuulub juba järeltäiend, eelnev fraas väljastatakse.
- nimisõnafraasi põhi @NH, kui koostatavas fraasis leidub juba põhi ja põhjad ei ole koordinatsioonis, eelnev fraas väljastatakse, antud põhi koos eelnevate eestäiendtitega loetakse uueks koostatavaks fraasiks.
4. Programmi estnptool paigaldamis- ja kasutamisjuhend
Programm estnptool on ette nähtud eestikeelsest tekstist nimisõnafraaside leidmiseks.
Installeerimiseks tuleb kopeerida samasse kataloogi kõik programmi tööks vajalikud failid:
EstNPTool.exe - põhiprogramm,
Ela.exe - lausestaja,
Ela.fst - lausestaja abifail,
Estmorf.dll - morfoloogiline analüsaator,
Baltic.cnv - morfoloogilise analüsaatori abifail,
Eesti.dct - morfoloogilise analüsaatori abifail,
Eesti1.udr - morfoloogilise analüsaatori abifail,
Eesti2.udr - morfoloogilise analüsaatori abifail,
Lexicon.lex - kirjavahemärkide, kaassõnade ja asesõnade
lisamärgendite sõnastik,
Verblex.lx - verbide lisamärgendite sõnastik,
grammar.rul - morfoloogilise ühestamise reegilte fail,
Grammar.rle - süntaktilise analüüsi reegilte fail,
Prgrammar.rle - süntaktilise analüüsi reegilte fail.
Programmi sisendid ja väljundid
Programmi estnptool sisendiks on eestikeelne elektrooniline tekst (täpitähed Windowsi kooditabeli järgi). Programmi väljundiks on:
- märgendatud tekstifail,
- tekstis esinevate nimisõnafraaside loend.
Nimisõnafraaside filtreerija käivitamiseks tuleb käivitada fail EstNPTool.exe. Programmi aken on jagatud kaheks: ülemine pool sisaldab algteksti, millest soovitakse nimisõnafraase otsida, ja alumine pool pärast vastava funktsiooni käivitamist - algtekstis leitud nimisõnafraasid.
Akna ülemises pooles kehtivad menüü File standardsed käsud New, Open, Save, Print, Print Preview ja Page Setup. Olemasoleva teksti avamisel (võimalik on avada tekstifaile nii Windowsi kui ka MS-DOSi tähestikus) tuleb jälgida, et täpitähed näeksid õieti välja, vastasel korral ei tunta neid sisaldavaid sõnu ära.
Mõlemas pooles kehtivad menüü Edit standardsed tekstitöötluse käsud, mis on osaliselt dubleeritud tööriistaribal Toolbar.
Menüüs Options käivitab käsk Find Noun Phrases (sellele vastab ka tööriistariba viimane nupp) nimisõnafraase otsivat mooduli. Seejuures otsitakse nimisõnafraase akna ülemises pooles märgendatud (välja valitud) tekstiosast. Kui valikut ei ole tehtud, siis otsitakse kogu tekstist. Leitud nimisõnafraasid kuvatakse akna alumises osas ning salvestatakse faili phrases.nps programmi kataloogis. Käsk Options võimaldab muuta mõningaid nimisõnafraaside otsingu parameetreid: määrata heuristiliste reeglite kasutamise astet ning valida süntaktilise analüüsi reeglite faili.
Tulemused
Nimisõnafraaside tuvastaja töö efektiivsuse hindamiseks testisime seda kahel erineval umbes 1000-sõnalisel failil.
Esimeseks testimismaterjaliks oli 1091-sõnaline Eesti Ekspressi artikkel 1996. aasta presidendivalimistest. Käsitsi analüüsides oli selles 320 nimisõnafraasi 573 sõnaga. Vigadeks loeti järgmised olukorrad:
- mõni sõna oli fraasist puudu: nt maanaiste kurtmised raske elu [üle],
- mõni sõna oli fraasis ülearu: nt [tahtnud] kogu vabastaja oreooli,
- fraas oli valesti poolitatud: nt tema eestikeelset pressikonverentsi | Valge Maja trepil,
- fraasid olid valesti liidetud: nt televaatajad + neid.
Üks leitud fraas võis põhjustada ka mitu viga: seal võis olla mõni sõna ülearu ja samas mõni puudu, samuti võis olla fraas korraga nii valesti poolitatud kui ka valesti liidetud. Nt lausest Nõnda ongi [sirgeselgne ja lihtsakoelise mõtlemisega Arnold] [kabinetivõitluses] [kaotajaks] jäänud leidis estnptool järgmised fraasid: lihtsakoelise mõtlemisega, Arnold kabinetivõitluses, kaotajaks, mis põhjustas kolm viga: esimeses fraasis puudub sõna sirgeselgne, esimeses fraasis on liigne poolituskoht, teises fraasis on liigne liitmiskoht.
Tulemused olid järgmised:
- 30 fraasis oli mõni sõna puudu: 1) morfoloogiaanalüsaatorile tundmatuks jäänud perekonnanimed nagu Tiina Jõgeda, Indrek Kannik, Georg Bush, kindral Melnituk, 2) tähti ja ˛ sisaldavad sõnad Kamtatka, tukti, putipäevil, putistid jne 3) kaassõnad, mida ei suudetud täiendina analüüsida 4) määr- ja omadussõnad, mida ei suudetud täiendina anlüüsida 5) sõnad, mis oli vigaselt morfoloogiliselt ühestatud (või analüüsitud) nagu kord, viies ja ainus.
- 25 fraasis oli mõni sõna ülearu - enamasti valesti analüüsitud määr- ja kaassõnalised täiendid, aga ka partitsiibid ning valesti ühestatud nimisõnad (nt juurde, liialt, pani).
- 31 korral oli fraas valesti poolitatud - enamasti on tegu määruslike täiendite valesti määramisega, ka inimene peab mitu korda lugema lauset Meri kuulas hapu näoga Rüütli selja taga tema eestikeelset pressikonverentsi Valge Maja trepil, et leida, kuhu kuuluvad fraasid hapu näoga ja Valge Maja trepil.
- 29 korral oli fraas valesti liidetud. Ka siin on põhjuseks enamasti määruslike täiendite vigane analüüs, nt lauses Ajal, mil Arnold kõva rusikaga näidismajandit püsti pani leiti fraas Arnold kõva rusikaga. Siin on eksimiste põhjuseks ka raskused nimetavas, omastavas, osastavas ja lühikeses sisseütlevas käändes sõnade ühestamisel, käänet teadmata on raske eristada sihitist täiendist nt Nii oligi see 1992. aasta (nimetav, omastav) presidendivalimistel. Raske on otsustada ka partitsiipide üle: millal need on öeldise osad, millal täiendid (Ta oli registreerinud samanimelise liidu).
Juriidilises tekstis (tsiviilseadustiku üldosa seaduse esimesed 22 paragrahvi, kokku ca 1300 sõna ja 350 fraasi) oli tulemus erinev. Fraas sisaldas liigset sõna ainult seitsmel juhul (nt vanemad elavad lahus), samuti oli väiksem fraaside valede liitmiste osakaal (19 juhtu). Siin oli sageli tegemist sõnaga alaealine, mis analüüsiti kui omadussõna ja püüti liita järgneva fraasiga kui täiend. Suurimaks probleemiks oli täienditena esinevate partitsiipide morfoloogiline ühestamine, mis põhjustasid enamiku 29-st veast puuduva sõna tõttu ja 25-st valesti poolitatud fraasist. Sageli jäid fraasist välja nimisõnad seadus, kohtus, võime, mis ühestati verbideks.
[EKG 1995] - Erelt, M., Kasik, R., Metslang, H., Rajandi, H., Ross, K., Saari,H., Tael, K. ja Vare, S. Eesti keele grammatika I. Morfoloogia.Sõnamoodustus. Eesti Teaduste Akadeemia Eesti Keele Instituut. Tallinn 1995.
[EKG 1993] - Erelt, M., Kasik, R., Metslang, H., Rajandi, H., Ross, K., Saari,H., Tael, K. ja Vare, S. Eesti keele grammatika II. Süntaks. Lisa: Kiri. Eesti Teaduste Akadeemia Keele ja Kirjanduse Instituut. Tallinn 1993.
[Müürisep 1999] - K. Müürisep. Determination of Syntactic Functions in Estonian Constraint Grammar. In Proceedings of EACL'99, Ninth Conference of the European Chapter of the Association for Computational Linguistics. Bergen, 1999, pp 291-292.
[Puolakainen 1998] - Puolakainen, T. Eesti keele kitsenduste grammatika morfoloogiline ühestaja. Keel ja Kirjandus nr 1, 1998, lk 37 - 46.
[Samuelsson et al 1996] - C. Samuelsson, P. Tapanainen, A. Voutilainen. Inducing Constraint Grammars. – Grammatical Inference. Learning Syntax from Sentences. Lecture Notes in Artifical Intelligence, kd 1147. Springler, 1996, lk 146-155.
[Voutilainen] - Voutilainen, A. A Short Introduction to NP-tool. http://www.lingsoft.fi/doc/nptool/intro/