Nimisõnafraaside automaatne tuvastamine eestikeelses elektroonilises tekstis

I etapi aruanne
17. juunil 1998

1. Sissejuhatus

Eeskujuks on võetud inglise keele kitsenduste grammatikal põhinev nimisõnafraaside tuvastaja [Voutilainen], mida järgnevas lühidalt kirjeldame.

A. Kitsenduste grammatika (Constraint grammar)

Inglise keele kitsenduste grammatikas (Karlsson et al 1995) on süntaktiline analüüs jagatud kolmeks mooduliks: 1) morfoloogiline ühestamine, 2) lausesiseste osalausepiiride leidmine ja 3) süntaksianalüüs. Need moodulid on omavahel seotud, sest näiteks õigesti määratud osalause piirid aitavad palju kaasa morfoloogilisele ja eriti süntaktilisele ühestamisele.

Kitsenduste grammatikas on süntaktiline analüüs oma loomult reduktsionistlik, so analüüsi alguses lisatakse igale sõnale kõik võimalikud analüüsid ja siis hakatakse neid ükshaaval kustutama. Seetõttu nimetataksegi selles formalismis kasutatavaid reegleid kitsendusteks.

Süntaktilise analüüsi väljundiks on tekst, milles igale sõnale on lisatud tema süntaktiline funktsioon tekstis. Ei genereerita süntaksipuid ega teisi hierarhilisi struktuure. Süntaktilisi märgendeid on kahte tüüpi. Ühed on fraasi põhja märgendid (head functions), nagu subjekt, objekt, predikaat, öeldisverb. Teised on laiendite märgendid (modifier functions), mis näitavad ka laiendi asendit põhisõna suhtes. Seega, kuigi kitsenduste grammatika süntaksianalüsaator ei anna väljundina otseselt lause fraasistruktuuri, on selliselt analüüsitud tekstis siiski võimalik fraasistruktuuri, sh nimisõnafraase tuvastada.

B. Inglise keele nimisõnafraaside tuvastaja (NP-tool)

Inglise keele nimisõnafraaside tuvastaja sisendiks on tekst. Sellele rakendatakse kõigepealt preprotsessorit ja siis morfoloogilist analüsaatorit, mis lisab igale sõnale kõik võimalikud morfoloogilised analüüsid. Seejärel toimub morfoloogiline ühestamine kitsenduste grammatika abil ja siis süntaktiline analüüs. Nimisõnafraaside tuvastaja jaoks on kirjutatud omaette süntaktilise ühestamise reeglid (kitsendused).

Pärast süntaktilist ühestamist töötavad kaks lõpliku automaadi tüüpi süntaksianalüsaatorit (finite-state parser): üks - nimisõnafraasivaenulik (NP-hostile finite state parser) - annab lühimad võimalikud nimisõnafraasid ja teine -nimisõnafraasisõbralik (NP-friendly finite state parser) - annab pikimad võimalikud nimisõnafraasid. Edasi saavad need nimisõnafraasid, mida mõlemad lõplikud automaadid on märgendanud nimisõnafraasina, tähistuse ok, so need on kuulutatud kindlateks nimisõnafraasideks. Need nimisõnafraasid aga, mida ainult nimisõnafraasisõbralik analüsaator on nimisõnafraasina märgendanud, saavad tähistuse ?, so nad kuulutatakse võimalikeks, kuid mitte kindlateks nimisõnafraasideks.

Inglise keele nimisõnafraaside tuvastaja jaoks on välja töötatud eraldi märgendite süsteem, mis koosneb 7 märgendist.

@V – verb (abi- ja põhiverb)

@NH – noomenfraasi põhi (nimisõna, asesõna, arvsõna, lühend; omadussõnadest saavad selle märgendi ainult need, mis võivad esineda nimisõna funktsioonis)

@N> eestäiend (inglise keele puhul ka artikkel). Täiendi põhisõnaks on järgmine sõna märgendiga @NH või fraasi põhja ja antud täiendi vahel asuv täiend.

@<N nimisõna (ühese) järeltäiendina. Praegune kirjeldus ei arvesta teistest sõnaliikidest järeltäienditega.

@CC ja @CS - rinnastav ja alistav sidesõna

@AH on märgend kõige ülejäänu jaoks: omadussõnafraasi põhi, adverbiaalid jm.

Inglise keele nimisõnafraaside tuvastaja katvus (precision) on praegu 98.5-100% ja korrektsus (recall) 95-98%. Ta on praegu teadaolevatest parim.

Märkus. Katvus - ühestamisel saadud õigete tõlgenduste arv / kõigi ühestamisel saadud tõlgenduste arv. Korrektsus - ühestamisel saadud õigete tõlgenduste arv / tegelike õigete tõlgenduste arv.

C. Ülesande püstitus

Kuna kitsenduste grammatikal põhinev süntaksianalüüs paistab sobivat eesti keele struktuurile ja suur hulk eeltööd on juba tehtud [Müürisep 1998, Puolakainen 1998], siis on otstarbekas arendada seda tüüpi nimisõnafraaside tuvastajat ka eesti keele jaoks.

Käesoleva projekti lõppeesmärgiks on koostada DOS-i keskkonnas töötav programm (testversioon), mille sisendiks on morfoloogiliselt analüüsitud ja eesti keele kitsenduste grammatika põhjal ühestatud eestikeelne tekst, väljundiks aga tekstis tuvastatud nimisõnafraaside loetelu.

1. etapi tulemusena on lahendatud ettenähtud ülesanded:

1) märgendite süsteemi väljatöötamine,

2) nimisõnafraaside komplekteerimiseks vajalike eesti keele kitsenduste grammatika reeglite baaskomplekti väljatöötamine.

2. Märgendid

Nimisõnafraaside eristamiseks varustatakse iga sõna märgendiga, mis näitab, kas sõna on nimisõnafraasi põhi, ees- või järeltäiend või see sõna ei kuulu nimisõnafraasi. Eestikeelses tekstis nimisõnafraaside tuvastaja märgendid on analoogilised kitsenduste grammatikal põhineval inglise keele nimisõnafraaside märgendaja [Voutilainen] märgenditega.

@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), kuna nende eristamine ei ole praegusel grammatika väljatöötamise etapil nagunii võimalik. Ühend- ja väljendverbid analüüsitakse sõnahaaval ja verbi märgend lisatakse ainult verbidele.

Näide: Kui ta ka nädala pärast välja ei (@V) ilmunud (@V), hakati (@V) kateedris närveerima (@V). Teda oli (@V) haaranud (@V) vastupandamatu soov selle omanikuks saada (@V).

@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.

Eesti keele grammatika [EKG 1993] loeb kvantori kvantorifraasi põhjaks, seega on fraasis pudel piima, sõna pudel põhi ja piima laiend. Kui aga kvantor on määrsõnaline, siis on fraasi põhjaks kvantorit laiendav nimisõna ja kvantor on laiendiks. Näiteks fraasis rohkem õnne, on rohkem laiend ja õnne põhi.

Näited: Teda (@NH) oli haaranud vastupandamatu soov (@NH) selle omanikuks (@NH) saada. Ta (@NH) kaitses end (@NH) läbilõikava tuule (@NH) vastu. See (@NH)oli tohutu betoonist ehitis (@NH).

@N> - eestäiend, selle märgendiga märgendatakse nimi-, ase-, arv-, omadus- ja määrsõnalised eestäiendid.

Näited: See oli tohutu (@N>) kiiskavvalgest (@N>) betoonist (@N>) püramiidne (@N>) ehitis. All (@N>) tänaval keerutasid väikesed (@N>) tuulekeerised tolmu üles.

@<N - järeltäiend, selle märgendiga märgendatakse nimi-, ase-, arv-, omadus- ja määrsõnalised järeltäiendid.

Näited: See oli osa kokkuhoiukampaaniast (@<N). Kui millegi nii hägusa (@<N) kohta üldse nii saab öelda. Nad olid kõik viimseni (@<N) tugeva lõuaga mehed.

@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).

Näide: Plakat oli siseruumi kohta (@XX) liiga (@XX) suur (@XX).

@J - sidend

3. Reeglid

Eestikeelses tekstis nimisõnafraaside märgendamiseks kitsenduste grammatika analüsaatorit kasutades on kaks võimalust: esiteks, kirjutada uued spetsiaalsed reeglid nimisõnafraaside määramiseks, või teiseks, kasutada ära praegu olemasolev eesti keele kitsenduste grammatika (ESTKG) süntaksianalüsaator [Müürisep 1998], mille märgendite hulk on palju rikkalikum ja seega ka analüüs detailsem, ning leida selle väljundist nimisõnafraasid.

Projekti alustades lähtusime eeldusest, et tuleb koostada uus, spetsiaalne nimisõnafraasigrammatika, mis kasutab uut märgendite süsteemi. Oletasime, et selleks saab enamasti ära kasutada olemasolevat süntaksigrammatikat: osa reegleid (mis tegelevad nimisõnafraasidega) lihtsalt kirjutada ümber teisele kujule ja lisada mõningaid uusi. Töö käigus ilmnesid aga raskused.

Esmalt teisendati uuele kujule kõik ESTKG süntaksigrammatikas olevad täiendite kohta käivad reeglid ning samuti sellised reeglid, mis tingimuste osa täidetuse korral määravad üheselt süntaktilise funktsiooni (nn valikureeglid). Töö käigus selgus aga, et valikureegleid on väga raske uue märgendite süsteemi abil esitada, kuna enamasti reegli tingimuste osa eeldab, et lauses on juba mõni süntaktiline funktsioon kindlaks määratud või et teatavat süntaktilist funktsiooni mujal lauses esineda ei saa.

Näide. Reegel

(@w=s! (@SUBJ) (0 SbPr|Par)(0 Pl)(NOT *1 SbPr|Par)\
(*-1 #Ole *R+1)(NOT *R+1 Verb)\
(NOT *1 Verb)(NOT *-1C Subjekt)(NOT *1C Subjekt)\
(NOT *-1 NimKv)(NOT *-1 KvAdv) **CLB)

määrab nimi- või asesõna, mis on mitmuse osastavas käändes aluseks (seega siis nimisõnafraasi põhjaks), kui osalause sees kehtivad järgmised tingimused: vasakus kontekstis leidub verb 'olema' ning sõna ja 'olema' vahel ei ole verbe, paremas kontekstis ei leidu verbe, vasakus ja paremas kontekstis ei ole juba kindlaks määratud alust (seda ei saa uute märgendite korral kontrollida) ja vasakus kontekstis ei ole nimisõnalist ega määrsõnalist kvantorit.

Põhja märgendeid eemaldavaid reegleid ei olnud samuti võimalik otseselt teisendada, sest näiteks nimisõna nimetavas võib olla alus, sihitis, öeldistäide või määrus ja nendest ühe eemaldamine ei tähenda üldsegi seda, et see sõna ei võiks kanda mõnda teist süntaktilist funktsiooni, mis sobib fraasi põhjaks. Seetõttu tuli kombineerida omavahel olemasolevaid aluse, sihitise, öeldistäite ja määruse eemaldamise reegleid.

Ülejäänud reeglite korral ei õnnestunud otsene teisendamine samal põhjusel nagu valikureeglite puhulgi, sest olemasolevad reeglid olid formuleeritud eeldusel, et on teada informatsiooni mõne süntaktilise funktsiooni kohta. Seega tuli olemasolevaid reegleid kombineerida ja uusi reegleid juurde kirjutada.

Kokkuvõttes on koostatud nimisõnafraasigrammatika, mis sisaldab 14 märgendite lisamise reeglit (morphosyntactic mappings), 238 kitsendust (constraints) ja 3 heuristilit reeglit. Reeglid on toodud failis Npconst.rle.

Kirjandus