[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