[hunspell-fi-devel] Tavutus
Harri Pitkänen
hatapitk at cc.jyu.fi
Wed Feb 8 13:27:02 EET 2006
Tästä aiheesta esitettiin yleisökysymys Open Source 2006 -tapahtumassa, ja
asian suhteen on viime aikoina tapahtunutkin jotain, joten ajattelin
kirjoittaa asiasta ja selventää, missä ollaan menossa.
Ajatukseni on ollut toteuttaa tavutus kirjoittamalla algoritmi joka
approksimoisi mahdollisimman hyvin suomen kielen tavutussääntöjä [1]. Osa
näistä säännöistä on hyvinkin helppoja, osa vaatii vähän enemmän kokeiluja ja
"arvaamista" ja osa onnistuu kunnolla vasta sitten, kun oikoluku on saatu
toimimaan (yhdyssanojen jako osiinsa). Yksinkertaisimman säännön, eli jaon
konsonantti-vokaaliyhdistelmien edestä toteutin jo muutama viikko sitten, ja
se löytyy CVS:stä unopkg-moduulista. Mutta pitemmällekin olisi mahdollista
mennä, ja monissa tapauksissa jopa tuo yhdyssanojen jako voitaisiin
väliaikaisesti toteuttaa heuristisesti listaamalla sellaiset
kirjainyhdistelmät joita tavallisesti ei esiinny muualla kuin yhdyssanoissa.
Tällaisiin sääntöihin itse asiassa perustuukin Kauko Saarisen TeX
-tavutussäännöstö [2] josta noita sääntöjä voi tarpeen mukaan poimia.
Yksinkertaistetusti sanottuna noita sääntöjä voi tulkita siten, että
parittomat numerot esittävät tavutuskohtia ja suurempi parillinen numero taas
estää tavutuksen annetussa paikassa.
Tapio Lehtonen on ollut kiinnostunut auttamaan algoritmin ohjelmoinnissa,
mutta sitä varten tarvitsisimme riittävästi testiaineistoa. Toisin sanoen
sanoja valmiiksi tavutettuna. Joten jos jollakin on ylimääräistä aikaa niin
tällaisen aineiston kokoaminen voisi olla hyödyllistä. Sanoja voi ottaa tässä
tapauksessa suoraan vaikkapa jostain suomenkielisestä tekijänoikeuksista
vapaasta elektronisesta kirjasta (ei haittaa että sanat ovat tyyliltään
vanhoja), poistaa kaksoiskappaleet, laittaa sanat tekstitiedostoon yksi sana
riviä kohti ja sitten tehdä tiedostosta kopio, johon merkitään kaikki
tavujaot. Esimerkiksi
kuorma-autovaa'allaan
kansaneläkelaitos
kuor-ma-au-to-vaa-al-laan
kan-san-e-lä-ke-lai-tos
Tietysti mukaan kannattaa ottaa kaikenlaisia tapauksia, sekä helppoja että
vaikeita. Myös vierasperäisiä sanoja tarvitaan.
Harri
[1] http://www.ling.helsinki.fi/kit/2003s/ctl190/kt-johd-at-art.html#htoc10
[2] http://heim.ifi.uio.no/~dag/ntug/fihyph
More information about the devel
mailing list