[hunspell-fi-devel] Eräs esimerkki kielen käsittelystä

Harri Pitkänen hatapitk at cc.jyu.fi
Thu Apr 20 16:55:28 EEST 2006


On Thursday 20 April 2006 14:07, Jori Mantysalo wrote:
> On Thu, 20 Apr 2006, Elias Aarnio wrote:
> >> Tätä varten pitäisi sanat purkaa perusmuodoksi ja taivutusluokaksi,
> >> muuttaa perusmuoto johonkin toiseen ja taivuttaa se vastaavasti.
> >
> > Eikö tämä ole tyypillinen morfologiseen analyysiin liittyvä ongelma?
> > Kysyn tätä asiaa siksi, että hunspell-malaga-mitäikinä lieneekin
> > -hankkeen tarkoitus on kuitenkin tehdä toimiva oikoluku ja tavutus. Tämä
> > vaatii melko erilaista lähestymistä kokonaisuuteen.
>
> Kyllä, mutta missä määrin nämä tehtävät liittyvät toisiinsa? Oikolukuhan
> tarvitsee joka tapauksessa sanan purkamisen perusmuotoon ja
> taivutusluokitukseen.

Juuri tässä mielessä asiat liittyvätkin toisiinsa. Eli perusmuoto ja käytetyt 
taivutukset kyllä suurin piirtein saadaan Malagasta ulos, kun sille annetaan 
sana taivutetussa muodossa. (Suurin piirtein siksi, että jos tehdään pelkkää 
oikoluku-, tavutus- tai indeksointiohjelmaa, ei ole oleellista tietää 
tarkkaan mikä käytetty taivutusmuoto joissain tapauksissa oli. Tämä antaa 
mahdollisuuden tietyntyyppisiin yksinkertaistuksiin, joita itse hiukan 
hyödynsin Hunspellin kanssa. En osaa vielä sanoa Suomi-Malagasta, kuinka 
paljon näitä siellä on tehty, jos ollenkaan.)

Sen sijaan muunnos takaisin perusmuodosta taivutettuun muotoon ei taida 
Malagalla onnistua, vaikkakaan en vielä tarkalleen ymmärrä miksi ja voiko 
tämän jollakin tavalla korjata. Periaatteessahan muunnos tähän suuntaan on 
jopa yksinkertaisempi tehdä ja kesäkoodiprojektini sisältääkin osittain tähän 
liittyvän osuuden, jossa aion käyttää Hunspellia varten kirjoittamiani 
Python-ohjelmia.

Jos palataan tuohon antamaasi esimerkkilauseeseen "Ville syntyi Helsingissä ja 
muutti Tampereelle yhdessä veljensä Matin kanssa" niin tämän anonymisointi 
taitaisi onnistua jo nykyisillä työkaluilla niitä sopivasti yhteen 
liittämällä. Nimethän ovat helppoja, kuuluvat kaikki samaan sanaluokkaan eikä 
niistä yleensä tehdä johdoksia. Ja jos niitä käytetään yhdyssanoissa, niin 
silloinkin ne on erotettu yhdysviivalla muista sanoista. Sitten taas on 
lauseita kuten "Terttu putosi puusta" joita ei voida anonymisoida 
automaattisesti ollenkaan. Eli jos ollaan tekemässä pelkkää automaattista 
anonymisointiohjelmaa, niin siihen ei edes tarvita täydellistä morfologista 
analysaattoria, ja toisaalta sellaisen olemassaolokaan ei vielä ratkaisisi 
kaikkia ongelma.

Toki olisi hyvä, jos ne joilla on suunnitelmissa käyttää libvoikkoa johonkin 
muuhun kuin yksinkertaiseen oikolukuun, tutustuisivat tiedostoon 
libvoikko/src/voikko.h ja antaisivat palautetta. Mikäli lisäominaisuuksia 
tarvitaan, niin laittakaan tälle listalle ehdotuksia, mielellään sillä 
tarkkuudella että kirjoitatte tarvitsemillenne funktioille C-kieliset 
prototyypit ja dokumentaation. Funktiothan voidaan jättää toistaiseksi 
toteuttamatta, mutta olisi helpompaa arvioida niiden toteuttamisen 
vaativuutta jos tietäisi täsmälleen, mitä niiden odotetaan tekevän. Lisäksi 
jos ne lisää tuonne header-tiedostoon, niin ne eivät unohdu enkä liian 
helposti tulisi tehneeksi muita ratkaisuja jotka mahdollisesti myöhemmin 
vaikeuttaisivat noiden ominaisuuksien lisäämistä.

Harri



More information about the devel mailing list