[hunspell-fi-devel] Yhdyssanoista

Harri Pitkänen hatapitk at cc.jyu.fi
Fri May 5 13:42:52 EEST 2006


On Friday 05 May 2006 08:23, Hannu Väisänen wrote:
> Harri lähestyy väärin tunnistettujen yhdyssanojen ongelmaa eri tavalla
> kuin minä tekisin. Hän näyttää korjaavan vain yksittäisiä sanoja tai
> sanatyyppejä, kun minä etsisin ongelmaan yleistä ratkaisua.
>
>
> Nyt te tietysti haluatte kuulla minun ratkaisuni...
>
> Jos ongelma on joku tietty sana, paras ratkaisu on merkitä se
> sanastoon sanaksi, joka ei voi olla yhdyssanan osana, ja sitten
> mahdollisesti lisätä sanastoon ne järkevät yhdyssanat, joissa sana
> esiintyy.
>
> Jos ongelma on lyhyet sanat, asetetaan koodiin raja, jota lyhyemmät
> sanat eivät voi olla yhdyssanan osana, ja sitten mahdollisesti lisätä
> sanastoon ne järkevät yhdyssanat, joissa sanat esiintyvät.
>
> Jos koodia muutetaan jokaisen sanan/sanatyypin takia, tuloksena on
> makaronia, josta kukaan ei ota enää selvää puolen vuoden kuluttua.
>
>
>
> Mutta ennen kaikkea pitäisi löytää tai kehittää säännöt, miten
> yhdyssanoja voi muodostaa suomen kielessä, mikä on ratkeamaton ongelma
> ymmärtämättä sanojen merkitystä.
>
> Helpompi ongelma on asettaa päämäärä yhdyssanojen tunnistamiselle.
>
> Jos tarkoituksena on hyväksyä vain semattisesti järkevät sanat, se
> onnistuu ainoastaan estämällä yhdyssanojen muodostuksen ja laittamalla
> sanastoon kaikki järkevät yhdyssanat.
>
> Jos taas tavoitteena on hylätä kaikki hassunkuriset yhdyssanat, sekään
> ei onnistu sanojen merkitystä tuntematta.
>
>
> Lopuksi täytyy kysyä, mitä te haluatte yhdyssanojen tunnistamisen
> tekevän?

Yhdyssanojen tunnistamisen (niin kuin oikoluvun yleensäkin) tarkoitus on 
havaita tilanteet, joissa tekstissä on väärä sana. Siispä me tietysti 
haluaisimme ohjelman lukevan käyttäjän ajatuksia, mutta tämä ei onneksi 
nykytekniikallakaan ole mahdollista. Mutta periaatteessa tämä on kuitenkin se 
lähtökohta josta oikolukuohjelmaa on kehitettävä. Ehkäpä paras tapa selventää 
asiaa on käyttää produktiivisuuden käsitettä (ks. 
http://www.ling.helsinki.fi/~lcarlson/ctl104mo.shtml jossa produktiivisuuden 
käsitettä on selvitetty otsikon "Johtaminen ja taivutus" alla.) Aivan kuten 
johtimien kohdalla, yhdyssanojen muodostamiseen on kehitettävä sääntöjä, ja 
sitten päätettävä että onko sääntö produktiivinen vai ei. Tämä ratkaisee sen, 
hyväksytäänkö säännön tuottamat yhdyssanat oletusarvoisesti ja hylätään vain 
poikkeukset, vai jätetäänkö sääntö toteuttamatta ja luetellaan vain sen 
alaiset sanat.

Näitä sääntöjä pitää toki listata jonnekin näkyviin, eikä vain jättää niitä 
ohjelmakoodiin. Listan runko on jo olemassa (on ollut syksystä lähtien):
http://www.hunspell-fi.org/johtimet.html

Tuota vain pitäisi jonkun kehittää edelleen. Lista on vielä Hunspellin 
aikainen. Mainittakoon, että yritin ehdottaa näiden asioiden analysoimista 
erääksi Kesäkoodiprojektini osa-alueeksi, mutta ehdotukseeni ei tältä osin 
suhtauduttu myönteisesti. Kesäkoodi on vain ohjelmoijia varten, kieliasioiden 
pohdiskelu on tehtävä omalla ajalla :) Tästä syystä olisin edelleen 
kiitollinen, jos joku pystyisi ottamaan tuon sivun ylläpidon ja kehittämisen 
omalle vastuulleen. Samasta syystä en luultavasti pysty Suomi-Malagaankaan 
korjauksia kovin paljoa lähettämään sitten kun parin viikon sisällä 
aloitan "virallisesti" tuon kesäkoodiprojektini. Mutta mielestäni 
Suomi-Malaga on jo pääosin riittävän hyvä säännöstönsä puolesta oikoluvun 
tarpeisiin, että ei siihen enää tarvita kuin korkeintaan pieniä tarkennuksia 
muutamiin paikkoihin.

Mutta siis alkuperäiseen kysymykseen vastauksena, mielestäni me tarvitsemme 
sekä yksityiskohtaisen sanaluokkiin ja johdoksiin perustuvan säännöstön 
(vaikkakin se olisi monimutkaisen oloinen ja näyttäisi "makaronikoodilta") 
että sanastoon mahdollisuuden tehdä sanakohtaisia poikkeuksia.

Harri



More information about the devel mailing list