[voikko] libvoikko HFST-transduktoreilla

Flammie Pirinen flammie at iki.fi
Mon Nov 2 06:06:27 EET 2009


2009-11-01, Harri Pitkänen sanoi:

> > Yritän viikonlopun aikana tai ensi viikolla lisätä libvoikkoon
> > kokeellisen käännösaikaisen valitsimen, jolla Malagan saisi
> > korvattua HFST:llä.
> 
> Tämä on nyt toteutettu ja löytyy SVN:stä. Toteutus on sellainen, että
> se ei korvaa Malaga-pohjaista analysaattoria, vaan molempia voi
> käyttää rinnakkain ja jopa vaihtaa lennosta toiseen (en ole tätä
> ehtinyt tosin kokeilla, mutta vaihtamisen pitäisi toimia esimerkiksi
> uusimman OpenOffice.org-lisäosan kanssa). Eli eri toteutusten
> vertaileminen on nyt helppoa.

Tämä on minusta hyvä lähestymistapa, samalla periaatteella on myös
tehty HFST että siinä voi olla taustalla mitä tahansa äärellistilaisten
automaattien kirjastoja. 

> HFST:n headerit näyttävät sisältävät kohtia, joita GCC ei hyväksy
> niillä asetuksilla, joita libvoikossa on käytetty. Siksi
> configure.ac:sta täytyy ensin poistaa valitsimet -Werror ja
> -pedantic, jos HFST:tä käyttää.

Joo, ainakin suurimman osan pitäisi tulla siitä että HFST:n headereissä
on vielä liikaa näkyvissä allaolevien kirjastojen rakenteita, joiden
korjaamisessa on lähinnä noudatettu ilmoittelua eteenpäin. Tulevien
versioiden kannalta itse olen joka tapauksessa pitänyt tavoitteena
puhtaampaa rajapintaa, jonka ideaalitilanteessa ei tarvitsisi paljastaa
mitään rajapinnan alta ja käyttää vain allaolevien kirjastojen julkisia
rajapintoja. 

> En löytänyt HFST:lle mitään selkeää
> paikkaa bugien raportoimiseksi, mutta tässä olisi joka tapauksessa
> asia, joka kannattanee jossain vaiheessa korjata.

Luultavasti hfst-bugs at helsinki.fi:tä mainostetaan ainoastaan
komentoriviohjelmien --helpeissä. Sourceforgessakin on kai jokin
bugienhallinta, mutta vaikka yleensä pidän esim. bugzillan käytöstä
sähköpostivuorien hallinnan sijaan niin sourceforgen bugisovellusta en
ole koskaan niin sisäistänyt.

> Näin käännetty libvoikko tukee Malaga-morfologioita kuten ennenkin. 
> HFST-pohjaisen sanaston saa käyttöön esimerkiksi seuraavasti:
> - luodaan hakemisto $HOME/.voikko/2/mor-hfst
> - sijoitetaan hakemistoon tiedosto voikko-fi_FI.pro osoitteesta
>   http://www.puimula.org/htp/testing/hfst/voikko-fi_FI.pro
> - sijoitetaan hakemistoon tiedosto mor.hwfst, joka voi olla
> esimerkiksi Omorfin mor-omorfi.hwfst
> 
> Sanojen tunnistusta voi tämän jälkeen kokeilla komennolla voikkospell
> -d hfst HFST-voikon pitäisi toimia myös kaikissa Voikkoa käyttävissä
> sovelluksissa asettamalla ympäristömuuttujan VOIKKO_DICTIONARY=hfst.

Tämä onnistui luullakseni suoraan (yritin testailla esim. muutamilla
kotus-sanalistan murresanoilla, jotka ilmeisestikin suomi-malagan
oikolukuosiosta on karsittu pois, mutta omorfista ei). 

> Nykyisessä toteutuksessa ei isoja kirjaimia, sanarajoja eikä
> sanaluokkia huomioida lainkaan. Asian voi korjata muokkaamalla
> tiedostossa src/morphology/HfstAnalyzer.cpp metodia addAnalysis.
> Patchit tämän toteuttamiseksi ovat tervetulleita. Voin myös antaa
> SVN-kirjoitusoikeudet, jos kiinnostusta tämän jatkokehittämiseen
> löytyy.

Kyllä pitäisin sitä parhaana lähestymisenä ettei tarvitse ainakaan
toistaa työtä joka voikon saamiseksi openofficeen ja enchantiin jne. on
jo tehty, jos ajatellaan että (h)fst-morfologioiden käyttö
oikaisuluvuissa olisi hyödyllistä. Jos kaikki sujuu niin vaivattomasti
kuin näyttää niin minusta tämä on melko ideaali tapa kehitellä
fst-pohjaisia oikolukujuttuja ja testailla niitä helposti verrattuna
mitä olen yrittänyt selvittää mm. juuri openofficeen liittämisestä.

Toki alussa on vielä paljon asioita joita pitää koetella ja muutella
eestaas ennen kuin pystyy kirjoittamaan stabiilimpaa koodia svn:ään,
mutta jonkinlaisen perustan voin kirjoittaa tuosta melko nopeasti.

-- 
Flammie, computer scientist bachelor, linguist master, free software
Finnish localiser, and more! <http://www.iki.fi/flammie/>



More information about the voikko mailing list