[voikko] HY:n morfologinen jäsennin omorfi

Harri Pitkänen hatapitk at iki.fi
Thu Jan 10 15:14:04 EET 2008


On Thursday 10 January 2008, Flammie Pirinen wrote:
> <http://svn.gna.org/viewcvs/omorfi/trunk/joukahainen.xslt?rev=16&view=marku
>p> Kasasin tuonne joukahainen.xml:stä saman muunnoksen kuin
> kotus-sanalistasta nyt. En täyttänyt vielä taivutusluokkien tai
> astevaihtelun kuvausta jos siihen olisi valmis loitsu jossain, mutta
> jos tuon täydentää niin kai pitäisi saada perustaivutuksen osalta
> sellainen vertailukelpoinen transduktori, jossa on
> joukahainen.xml-sanasto mukana.

Tämän tekeminen kokonaan taivutus- ja astevaihteluluokkineen xslt:n avulla 
vaatii jonkin verran sellaisen koodin kirjoittamista uudelleen, joka on jo 
Python-muodossa olemassa. Ei tosin kohtuuttoman paljon, mutta asiaa kannattaa 
ehkä miettiä. Lisäksi Python-pohjainen Joukahainen->Kotus-astevaihtelumuunnin 
olisi xslt-pohjaista hyödyllisempi siinä, että sen avulla voisin lisätä 
Kotus-astevaihteluluokan näkyviin suoraan Joukahaiseen.

Tosin on myös niin, että osa tuosta Python-koodista (ja suurin 
osa .aff-tiedostojen formaatista) periytyy jo Hunspell-fi-projektin ajoilta, 
ja voi olla jo tullut tiensä päähän uudelleenkäytettävyyden kannalta. Näitä 
taivutusten kuvauksiakin voisi ajatella siirrettäväksi XML-muotoon, jos se on 
omorfin kannalta helpompaa.

Jos halutaan muuntaa Joukahaisen astevaihtelutyypit Kotuksen 
astevaihtelutyypeiksi, pitäisi sen onnistua Pythonilla ottamalla pohjaksi 
funktion __apply_gradation tiedostosta
http://voikko.svn.sourceforge.net/viewvc/voikko/trunk/tools/pylib/voikkoinfl.py?view=markup
ja muuttamalla vain return-lauseet niin, että ne palauttavat Kotuksen 
astevaihtelutyyppien nimet. Ainoa ongelma on siinä, että nykyisessä 
muodossaan tuon funktion parametri word ei (hämäyksen vuoksi :) tarkoita koko 
sanaa perusmuodossaan, vaan perusmuotoa, josta on poistettu jokin pääte.

Tämä poistettava pääte (jos sellainen on) löytyy .aff-tiedoston kentästä 
rmsfx. Päätettä poistettaessa on oleellista vain sen pituus, ei sisältö. 
Siispä esimerkiksi sanalla "heittää" rmsfx-kentässä on "a", jolloin 
astevaihtelun määräämisen kannalta sanan vartalo olisi "heittä".

Täydellisiä taivutusluokkien kuvauksia Joukahaisessa ei edes ole olemassa. 
Nomineille kaikkien sijamuotojen taivutukset pitäisi löytyä tiedostosta 
subst.aff niiden luokkien osalta, jotka Joukahainen tällä hetkellä tuntee. 
Verbeille ei ole listattu mitään muuta kuin ne taivutukset, jotka tarvitaan 
oikean luokan määrittämiseen. Lisäksi pieni osa harvinaisimpiin 
taivutusluokkiin kuuluvista sanoista puuttuu edelleen Joukahaisesta, tosin 
tämän korjaaminen ei sinänsä olisi ongelma, jos vain löytyisi joskus 
riittävästi aikaa asiaan paneutua.

Joukahaisen taivutusluokituksen lisäksi voi harkita käytettäväksi 
Suomi-malagan taivutustietoja, jotka löytyvät Suomi-malagan 
lähdekoodipaketista hakemistosta inflection. Hannu tietää näistä enemmän, 
niitä ei nimittäin Voikossa vielä käytetä. Tämäkin siksi, että Voikkoa ei ole 
tältä osin ehditty vielä korjaamaan, ja taivutusluokituksen vaihto kokonaan 
on testauksenkin kannalta aika suuri haaste. Käytännössä noiden kuitenkin 
pitäisi vastata melko tarkasti niitä taivutuksia, jotka Voikko nykyään 
sanoille hyväksyy, ja ne ovat lisäksi huomattavasti täydellisemmät kuin 
Joukahaisen tuntemat taivutukset.

Kuinka täydellinen tuo omorfin taivutusluokkien kuvaus muuten on harvinaisten 
tai poikkeavien taivutusten osalta?

Harri



More information about the voikko mailing list