[voikko-devel] Tavutuskohtien prioriteetti

Harri Pitkänen hatapitk at cc.jyu.fi
Wed Apr 4 18:18:26 EEST 2007


On Tuesday 03 April 2007 23:45, Teemu Likonen wrote:
> Mielestäni pitäisi olla ainakin kolme- tai nelitasoinen luokitus. Koetin
> hieman hahmotella automaattista luokitusta siten, että sanojen
> rajakohtiin (yhtäsuuruusmerkki) tulisi korkein prioriteetti (1). Yhden
> tavun verran sanojen rajakohdasta sivuun tulisi matalin prioriteetti
> (esimerkiksi 4). Koko sanahahmon ensimmäisen tavun jälkeen
> prioriteetti 3 (ellei se aiemman säännön mukaan saa muuta), ja
> muihin 2.
>
> Lisäksi toki kannatan myös manuaalista tapaa prioriteettien
> määräämiseen, esimerkiksi juuri plusmerkeillä ja numeroilla
> kirjoitusasuissa. Jos edellä mainitulla tavalla prioriteetit
> muodostetaan automaattisesti, ei manuaalisia määrityksiä kovin paljon
> tarvita. Ehkä joistakin sanoissa voi joutua estämään tavutuksen
> tietyistä kohdista. Näin voisi olla esimerkiksi yksitavuisena ääntyvät
> vieraskieliset sanat, joiden kirjoitusasu näyttää useampitavuiselta.

Ajatukseni oli, että koko Voikon tavutuskoodi muutettaisiin 
prioriteettipohjaiseksi, ja "perinteiset" tavutustoiminnot toteutettaisiin 
uudestaan tämän systeemin päälle. Tämä yksinkertaistaisi huomattavasti monia 
asioita. Silloin on kuitenkin varmistettava, että kaikki nykyisin tarjotut 
toiminnot saadaan toimimaan pelkän prioriteettitiedon pohjalta. Tämä taitaa 
vaatia peräti kuusi eri prioriteettitasoa:

1: Yhdyssanojen ja vastaavien rajalla (yhtäsuuruusmerkki)
2: "Tavallinen" tavuraja muissa kuin tapauksissa 2 ja 3
3: "Tavallinen" tavuraja koko sanahahmon ensimmäisen tavun jälkeen
4: "Tavallinen" tavuraja yhden tavun verran sanojen rajakohdasta sivuun
5: Jako kahden vokaalin välistä
6: Yhden vokaalin sanan reunasta (myös yhdyssanan osien välillä) erottava jako

Nämä prioriteetit olisivat käytössä sääntöpohjaisessa tavutuksessa. 
Tavutusvihjeissä niitä ei tarvitsisi noudattaa tarkasti, vaan niissä 
valittaisiin prioriteetti jaon haitallisuuden mukaan käyttäen yllä olevaa 
vain mitta-asteikkona.

Poikkeukset:
- Prioriteettia 1 käytetään pelkästään yhdyssanojen, etuliitteiden ja muiden 
selkeiden morfologisten rajojen kohdalla, eli ei käytetä harkintaa jaon 
haitallisuuden mukaan. Tämä siksi, että libvoikon on tiedettävä 
mahdollisimman tarkasti, missä nämä rajat sijaitsevat. Käytännössä siis 
tavutusvihjeisiin ei koskaan saisi laittaa vihjettä +1 vaan joko merkki = tai 
matalamman prioriteetin tavutusvihje.
- Jako kahden vokaalin välistä voidaan luokitella myös "tavallisena" jakona 
silloin, kun kyseessä on k:n astevaihtelun heikkoasteinen muoto 
("raa-an", "raa-ois-sa"). Näissä tapauksissa automaattisen tavutuksen 
logiikkaa saatetaan jossain vaiheessa muuttaa nykyisestä. Tämä poikkeus ei 
ole erityisen oleellinen tavutusvihjeiden kannalta, koska se ilmenee 
tavallisimmin taivutetuissa muodoissa.


On Wednesday 04 April 2007 09:21, Teemu Likonen wrote:
> Kieliopin tarkistukseen voisi ainakin teoriassa ohjelmoida, että
> moniselitteisissä sanahahmoissa kirjoittajalle vihjataan, että
> kannattaa laittaa tavutusvihje sanan merkityksen kannalta sopivaan
> paikkaan. Esimerkin vuoksi vielä näyttää vaihtoehtoiset
> jäsennystavat "maa-liero" ja "maali-ero".

Tämä on hyvä idea, mutta ei ehkä toimi OpenOfficen kanssa. Nimittäin ainakin 
oikoluvussa tavutusvihjeet poistetaan sanasta ennen kuin se annetaan 
oikolukukomponentin analysoitavaksi. Jos kieliopin tarkistus toimii samalla 
tavalla, niin virheestä ilmoittava alleviivaus jäisi sanan alle senkin 
jälkeen kun käyttäjä on lisännyt sen pyydetyn tavutusvihjeen. Tämä 
luultavasti koettaisiin aika ärsyttäväksi ominaisuudeksi.

Mutta OpenOfficen kieliopin tarkastus on kaikin puolin aika mystinen asia. 
Tarvittavaa ohjelmointirajapintaa suunniteltiin aktiivisesti ja julkisesti 
viime kesänä, mutta sen jälkeen homma siirtyi Sunin sisäiseen analyysiin ja 
on pysynyt siellä tähän päivään asti. En oikein usko, että toimivaa koodia 
enää saadaan mukaan OpenOfficen versioon 2.3. Samoin myös KDE:n 
Sonnet-projekti on ollut viime aikoina melko lailla pysähdyksissä, joten 
sielläkin tuo kieliopin tarkastus on heikohkolla pohjalla. Ilman toimivia 
sovelluksia tätä toiminnallisuutta on aika tylsää Voikoon lisätä, joten voi 
olla, että asia lykkääntyy.

Harri



More information about the devel mailing list