[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