[voikko-devel] Suomi-malagan taivutuskaavoista, Joukahaisen sanastosta

Harri Pitkänen hatapitk at cc.jyu.fi
Tue Nov 28 20:12:43 EET 2006


On Tuesday 28 November 2006 07:32, Hannu Väisänen wrote:
> On Mon, Nov 27, 2006 at 08:54:15PM +0200, Harri Pitkänen wrote:
> > Katselin myös suomi.all-tiedoston generointia. En ole vielä ihan ehtinyt
> > sisäistää noiden taivutuskaavojen toimintaa. Lähinnä mietin nyt sitä,
> > että miten SMV:n switch-optioiden (vanhahkot_muodot, vanhat_muodot)
> > kanssa käy tuossa uudessa systeemissä? Niitä ei näy missään, ja ne
> > pitäisi jotenkin kyllä saada toimimaan ennen kuin voimme tuohon voi
> > ryhtyä siirtymään. Uskoisin, että noiden optioiden määrä vain lisääntyy
> > jatkossa, joten ne ovat meille aika tärkeä ominaisuus.
>
> Niitä ei olekaan missään. Tällä hetkellä taivutuskaavoista voidaan
> generoida vain kaksi eri taivutusta. Sukija-version taivutukseen
> otetaan kaikki esimerkkisanojen taivutukset ja Voikko-version
> taivutukseen vain niitten esimerkkisanojen tai sijamuotojen
> taivutukset, joita ei ole merkitty tähdellä (*). Liput
> vanhahkot_muodot, vanhat_muodot ja vielä olemassa olemattomat liput on
> parasta toteuttaa niin, että tähden asemesta taivutusmuotoja merkitään
> numeroilla 1, 2, 3, ... ja lipulla valitaan, mitkä numerot otetaan
> mukaan Voikko-version taivutukseen, esim.
>
> set switch taivutus <2, 3, 4, 42, 314159>
>
> Minä voin korvata kaikki tähdet ykkösellä ja muuttaa tiedoston
> suomi.all generoivat Perl-ohjelmat käyttämään numeroita tähden
> asemesta, mutta oikoluvun kehittäjien täytyy sitten kuvata
> taivutusmuodot tarkemmin tai ainakin kertoa minulle, mitä pitää
> muuttaa. Esim: merkitään numerolla 2 kulkijata-tyyppiset muodot,
> numerolla 3 taivahalla-tyyppiset muodot, jne. Numero 1 varataan
> taivutusmuodoille, joita ei missään tapauksessa haluta
> Voikko-versioon.

Tuo ehdottamasi systeemi kyllä toimii, mutta pikkuisen sitä voisi vielä 
parannella. Ensinnäkin numerokoodien sijaan olisi parempi käyttää sanallisia 
symboleita, siis vanhahkot_muodot, vanhat_muodot, ei_voikko yms. Toinen asia 
on se, että laajennettavuus pitää jotenkin huomioida.

Eli meille voi myöhemmin tulla tarvetta käyttää taivutusten valinnan ehtona 
vaikkapa usean muuttujan loogisia lausekkeita (esimerkiksi halutaan jokin 
muoto mukaan sanastoon vain jos valittuna on savon_murre JA vanhat_muodot). 
Tai sitten johonkin sovellukseen halutaan kaikista rinnakkaisista muodoista 
vain yksi, eli se joka on kaikkein suositeltavin. Oikoluvussa tätä ei 
tarvita, mutta jos halutaan vaikka taivuttaa sana "kissa" monikon 
genetiivissä, niin sovelluksen onkin jo tiedettävä että valitseeko se 
muodon "kissojen" vai "kissain".

Tiedostomuodon pitäisi siis olla sellainen, että siihen on mahdollista jälkeen 
päin helposti lisätä uusia kenttiä. Nyt ongelmana on se, 
että .txt-tiedostoissa sekä rivit että sarakkeet on jo varattu muuhun 
käyttöön. Ehdottaisin siis, että rinnakkaisia taivutusmuotoja ei laitettaisi 
koskaan samalla riville, vaan jokainen muoto omalle rivilleen. Tällöin 
txt-tiedoissa olisi varattuna enää kaksi ensimmäistä saraketta, ja kolmanteen 
(ja seuraaviin) sarakkeeseen voisi laittaa jotain muuta. Esimerkiksi juuri 
noita rajoittavia merkintöjä kuten vanhat_muodot, ei_voikko tms.

> Tiedoston suomi.all generointia on selitetty tiedostossa
> taivutuskaavat/LUE.MINUT. Jos siinä on jotain epäselvää, kerro
> minulle, niin yritän selittää asian paremmin.

Nyt tuo alkaa jo hahmottua. Itse näkisin kyllä jotenkin helpommaksi, jos 
ast-tiedostojen rivit siirrettäisiin osaksi txt-tiedostoja. Oli vähän vaikea 
aluksi ymmärtää, että vaikkapa tiedoston 11pitkä.txt astevaihtelut löytyvät 
tiedostosta 11koira.ast. Onko tuohon jokin erityinen syy, miksi ne on 
laitettu erillisiin tiedostoihin ja vielä niin, että tiedostojen nimet eivät 
aina vastaa toisiaan?


> Jotta Sukija-versio voisi jatkossa käyttää automaagisesti
> Joukahaisen generoimaa sanastoa, sanaston generointiin
> täytyy tehdä muutoksia. Miten tuo olisi parasta järjestää?

Varmaankin niin, että kirjoitat jonkinlaisen spesifikaation Sukijan 
tarvitsemasta lisäinformaatiosta. Parasta olisi kirjoittaa se suoraan 
html-muotoon siten, että sen voi laittaa muiden Joukahaisen ohjeiden 
joukkoon. Käytännössä tuo tarkoittaa siis sitä, että kirjoitat määritelmän 
kentän "Historiallinen taivutusluokka" eri arvojen merkitykselle. Jos 
nykyinen menetelmä kelpaa, niin määritelmät menevät tyyliin

  Taivutusluokan "peruna" sanoilla voi olla historiallinen taivutusluokka
  "pasuuna", joka tarkoittaa ...

Ja sitten Suomi-malagassa olisi luokka "pasuuna", joka Voikko-versiossa ei 
poikkeaisi mitenkään luokan "peruna" taivutuksesta. Tietysti jos kehität 
paremman tavan käyttää tuota historiallista taivutusluokkaa, niin sekin käy 
minulle. Muutan sitten sanaston generointia tekemiesi määrittelyjen 
mukaisesti.

Harri



More information about the devel mailing list