[hunspell-fi-devel] Lista johtimista ja rajapinta-asiaa
Harri Pitkänen
hatapitk at cc.jyu.fi
Fri Nov 25 22:29:21 EET 2005
Etteivät nämä pohdinnat erilaisista johtimista ja yhdyssanatyypeistä jäisi
vain pelkästään tänne listalle pyörimään, kokosin tähän asti käsitellyt
tapaukset listaksi yhteen paikkaan:
http://hunspell-fi.org/johtimet.odt
Tuo on OpenDocument-muodossa siksi, että sitä on siinä muodossa helpompi
editoida ja testailla tekstinkäsittelyohjelmissa (esimerkkisanat ovat suoraan
oikoluettavissa Soikolla) ja sen saa siitä myös helposti Word-muotoon jos
haluaa kokeilla Wordin oikolukua samoihin esimerkkisanoihin.
Tuossa listassa on tämänhetkinen käsitykseni siitä, mitkä yhdyssanat ja
johdokset ainakin saadaan automaattisesti, ja mitä taas ei voida tehdä
automaattisesti. Sitä voi kommentoida, ja erityisesti johtimia saa lisätä
listaan. Niissä kielioppikirjasta (Nykysuomen käsikirja) kopioiduissa
sivuissa, jotka minulla itselläni on, listataan nopeasti laskettuna 112
erilaista tapaa johtaa sanoja, eli urakkaa tuon listan tekemisessä kyllä
riittää. Jos sinulla Tuomo on käytössä ihan kokonainenkin kielioppikirja ja
kokemusta näistä asioista, niin voit ihan vapaasti ottaa ja lisätä tuohon
taulukkoon uusia johtimia, testailla (mahdollisimman omituisia sanoja
käyttäen) että muodostaako Soikko kyseiset johdokset automaattisesti kaikista
tietyn sanaluokan sanoista ja sitten kirjata ylös mielipiteesi siitä, miten
meidän tulisi missäkin tilanteessa toimia. Sitten kun tuo lista alkaa olla
vähän täydellisempi, sen voi muuntaa html-muotoon ja laittaa luokittelijoiden
ja sanaston kokoajien avuksi.
Olen myös mietiskellyt tuota Jorin esittämää ajatusta oikolukuohjelman
rajapinnan laajennuksesta. Ja mitä enemmän sitä mietin, sitä paremmalta tuo
ajatus minusta alkaa tuntua. Tässä taitaa olla hyvinkin kyse ominaisuudesta,
joka olisi erityisen hyödyllinen suomen kaltaisille kielille, jossa sanojen
oikeinkirjoitus ja kielioppi menevät osittain päällekkäin. Tuon laajemman
rajapinnan kautta oikolukuohjelma voisi siis informoida käyttäjää ongelmista,
jotka eivät ole puhtaasti oikeinkirjoitusvirheitä vaan tilanteita, joissa
käyttäjä on todennäköisesti soveltanut jotakin sanamuodostustapaa
järjettömällä tavalla.
Jos tätä nyt haluttaisiin viedä eteenpäin, niin olen sitä mieltä, että tämä
tavoite kannattaa huomioida mahdollisimman aikaisessa vaiheessa, siis
käytännössä jo heti. Eli vaikkapa siten, että sanastotietokantaan
lisättäisiin uusi kenttä, johon merkittäisiin jollakin asteikolla, kuinka
tavallisesta sanasta on kyse. Ja sama tehtäisiin taivutussäännöille,
johdoksille ja yhdyssanojen muodostussäännöille. Sitten oikoluvun yhteydessä
jokaiselle sanalle laskettaisiin tuon informaation perusteella pistemäärä,
joka sitten annettaisiin edelleen tekstinkäsittelyohjelmalle, joka saisi
tehdä sillä mitä haluaa. Eli alleviivata epäilyttäviä sanoja tai laskea
asiakirjan sanoille keskiarvon, joka kuvaisi jollain tavalla tekstin
luettavuutta. Lisäksi olisi mahdollista myös ehdottaa käyttäjälle
harvinaisten muotojen tilalle vastaavia, mutta tavallisempia sanoja.
Esimerkiksi jos käyttäjä kirjoittaa "katiskain", niin ohjelma voisi ehdottaa
"katiskoiden" vaikka molemmat ovat periaatteessa oikein. Tämän toteuttamiseen
SFST olisi mainio väline, sillä se kykenisi myös muodostamaan nuo ehdotukset,
mihin Hunspell ei pysty. Eli siis (ohjelman mukana tulevan saksan sanastoa ja
kielioppia käyttäen) SFST sekä tunnistaa sanoja että generoida halutun muodon
tietystä sanasta:
#halutaan tietää, mikä "hast" on
analyse> hast
haben<+V><2><Sg><Pres><Ind>
#kyseessä siis on olla-verbin indikatiivin preesensin yksikön toinen persoona
#mikä on olla-verbin indikatiivin imperfekti yksikön ensimmäisessä persoonassa
generate> haben<+V><1><Sg><Past><Ind>
hatte
Tätä jälkimmäistä ei Hunspellillä pysty tekemään. Mutta vielä ei ole niinkään
oleellista ratkaista sitä, mitä välinettä käytämme, sillä sama sanasto ja
samat sanamuodostussäännöt tarvitaan molemmissa.
Sitten jos tätä laajennettua oikolukua haluaa johonkin oikeaan käyttöön, niin
uskoisin, että KDE:hen se olisi ensimmäisessä vaiheessa helpointa saada
mukaan. KSpell-kirjasto on tietääkseni muutenkin näkemässä aika suuria
muutoksia KDE4:n kehityksen mukana, joten samalla tällaisenkin ominaisuuden
lisääminen saattaisi onnistua ilman suurempaa byrokratiaa. Aikaa tähän olisi
vielä vähintään puoli vuotta, eli ihan riittävästi. Ja KDE4:n on tarkoitus
toimia Windowsissakin, joten kaikki hyötyisivät tästä ominaisuudesta tai
ainakin pääsisivät kokeilemaan sitä. OpenOfficen kannalta ajankohta on
huonompi nyt kun 2.0 on vasta julkaistu, ihmettelisin jos tällainen muutos
ohjelmointirajapintoihin hyväksyttäisiin johonkin 2.0.x-versioon.
Harri
More information about the devel
mailing list