[voikko] Voinko käyttää Voikkoa sanojen ohjelmalliseen "kasaamiseen"
Harri Pitkänen
hatapitk at iki.fi
Thu May 3 23:23:47 EEST 2018
Hei!
Mika Vilpas kirjoitti 2018-05-02 23:25:
> 1. Voinko tehdä ohjelmallisesti kutsuja jollekin Voikon osalle
> tyyliin "antaisitko tämän sanan monikkomuodon: koira" -> vastaus:
> "koirat"? Oma ohjelmani luonnollisesti pitäisi huolta, että
> pyydetään järkeviä asioita.
Tämä ei vielä ole mahdollista, mutta toiminnallisuus on kyllä
mahdollista toteuttaa, koska nykyisen sanastoformaatin suunnittelussa se
on jo huomioitu. Lisää tästä viestini lopussa.
> 2. (liittyen kysymykseen 1) Onko mahdollista luoda yhdyssanoja?
> Esimerkiksi "noita-akka" viivan kera.
Voikko tukee yhdyssanoja varsin hyvin, joten tästä tuskin tulee ongelmaa
sanamuotojen generoinnissakaan.
> 3. Toimiakseen stenotyyppimoottori tarvitsee käytetyn kielen
> sanaston. Voinko hyödyntää Voikon käyttämiä sanastoja? Kuinka
> sen lisensointi soveltuu tällaiseen tarkoitukseen? Oman ohjelmistoni
> aion julkaista vapaalla lähdekoodilla ja ilmaiseksi, mikä on
> käsittääkseni lähellä myös Voikko-projektin mallia.
Voikon sanasto on käytettävissä GNU GPL 2.0:n tai uudempien versioiden
ehdoilla. Eli tämä kyllä onnistuu.
> Viesti on melko perusteellinen, mutta halusin kertoa hieman taustoja
> ja motivaatiota keskustelun pohjaksi.
>
> Mikäli innostustani riittää, voisin nähdä myös itse
> kirjoittavani em. ominaisuuksia johonkin Voikon osiin mahdollisuuksien
> mukaan.
Projektisi kuulostaa kiinnostavalta. Jos haluat saada käsityksen mitä
kysymyksen 1) ratkaiseminen vaatii, kannattaa ladata Githubista
corevoikko/voikko-fi ja rakentaa sanasto siitä ohjeiden mukaisesti. Sen
jälkeen voit tutkia sanastoa (transduktoria) foma-työkalulla. Jotenkin
näin:
$ make vvfst
(tulosteet ohitettu)
$ foma
(tulosteet ohitettu)
foma[0]: read att vvfst/all.att
Reading AT&T file: vvfst/all.att
7.5 MB. 431963 states, 493431 arcs, Cyclic.
foma[1]: apply down koirat
[Ln][Xp]koira[X]koir[Sn][Nm]at
Tästä näet, että Voikon käyttämää transduktoria ei voi sellaisenaan
suoraan hyödyntää haluamallasi tavalla. Tuossa sinun
käyttötarkoituksessasi pitäisi kieliopillinen muoto saada ensin
lyhennettyä muotoon [Xp]koira[X][Sn][Nm]. Tämä kyllä onnistuu
transduktoria ohjelmallisesti muokkaamalla. Sen jälkeen saisit haluamasi
tuloksen foman apply up -komennolla, tai vastaava toiminto voitaisiin
koodata myös libvoikko-kirjastoon.
Periaatteessa ei siis mitään rakettitiedettä, mutta kun hommaan ryhtyy,
vastaan tulee erinäisiä yksityiskohtia, eli ihan vähällä siinä ei pääse.
Harri
More information about the voikko
mailing list