[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