[voikko] libvoikko HFST-transduktoreilla
Harri Pitkänen
hatapitk at iki.fi
Sun Nov 1 17:13:05 EET 2009
> 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.
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ää. En
löytänyt HFST:lle mitään selkeää paikkaa bugien raportoimiseksi, mutta tässä
olisi joka tapauksessa asia, joka kannattanee jossain vaiheessa korjata.
Seuraavaksi libvoikon configure-skriptille pitää antaa valitsin --enable-hfst,
ja tarvittavien headerien sekä kirjaston pitää luonnollisesti olla
saatavilla. Muilta osin kääntäminen ja asentaminen sujuvat tavalliseen
tapaan.
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. OOo:ssa HFST-sanaston
ja Malaga-sanaston välillä voi siirtyä myös asetusten kautta.
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.
Harri
More information about the voikko
mailing list