[hunspell-fi-devel] Puhekieliset ym. sanat

Harri Pitkänen hatapitk at cc.jyu.fi
Fri Dec 2 17:14:19 EET 2005


On Friday 02 December 2005 16:00, Jori Mantysalo wrote:
> On Fri, 2 Dec 2005, Harri Pitkänen wrote:
> > Olen poistanut johdosten lisäksi muutamia sanoja sen perusteella, että
> > ne ovat ehkä liian puhekielisiä. Niitäkin voisi olla hyvä kerätä, mutta
> > pitäisi olla ensin mekanismi, jolla ne merkittäisiin puhekielen
> > ilmauksiksi.
>
> Käytännössä taitaa olla niin, että samalla vaivalla sanoille on kenties
> mahdollista antaa monenlainenkin luokitus. Äkkiseltään ajatellen
> esimerkiksi erikoisalojen (matematiikka ja sen 'determinantti', 'tensori'
> jne. tulevat mieleen) sanastot voisivat olla lisäpaketteina. Se saattaisi
> jopa auttaa tekemään parempaa tekstiä: jos tarvitsee ottaa lisäpaketti
> aihealueen X sanoista käyttöön paria sanaa varten, on luultavasti parempi
> uudelleenmuotoilla teksti siten että niitä ei tarvitse käyttää.
>
> Lisäksi voihan tuollainen tehostaakin toimintaa. Mikä oikoluvun nopeus nyt
> on? Onko sille mitään kompleksisuusarviota sanojen määrän funktiona?

En ole tuolta osin lähdekoodia lukenut, mutta Hunspell-devel-listan postien 
perusteella olen ymmärtänyt, että nykyinen algoritmi käyttää hajautusta 
sanojen säilyttämiseen/hakuun joten sanamäärällä ei luulisi suurta vaikutusta 
olevan. Taivutuspäätteiden erottaminen sanoista taas tehdään puhtaasti 
affiksitiedoston perusteella, joten siihen ei sanaston koko vaikuta. 
Toisaalta on huomioitava sekin, että saatamme vaihtaa käytettävää algoritmia 
kokonaan.
Mutta väittäisin, että koska voimme "esikäsitellä" sanalistaa haluamallamme 
tavalla, vähintäänkin järjestämällä sen valmiiksi, niin aikavaativuus 
sanamäärän funktiona ei järkevällä toteutuksella voi olla huonompi kuin 
log(n), mutta muistitilan käyttö voi olla suoraan verrannollinen sanalistan 
kokoon. Ja muistin käyttä on ainakin ispellillä ollut se ongelmallinen juttu, 
sen väitetään vievän noin 10 megatavua muistia suomen kieltä oikoluettaessa, 
ja tämä muisti ei ole edes jaettavissa eri käyttäjien ja ohjelmien välillä 
monen käyttäjän järjestelmissä.

> Ilmeisesti käy niin, että luokitukset voivat mennä päällekkäin.
>
> Ja jälleen: en sano, että tällaista luokitusta kannattaa juuri nyt tehdä.
> Sanon, että tämä kannattaa pitää mielessä koska sillä voi olla merkitystä
> arkkitehtuurin kannalta.

Kyllä tätä oikeastaan on hyvä miettiä jo nyt, koska muutoin joudun hylkäämään 
kokonaan sanastosta kaikki puhekieliset tai liian erikoisaloille menevät 
sanat, jolloin sanaston kokoajien aikaa menee osittain hukkaan. Lisäksi tämä 
mahdollisuus erikoissanaston lisäämiseen voisi tuoda meille lisää käyttäjiä 
ja kehittäjiä, koska muissa oikolukuohjelmissahan ei tätä mahdollisuutta 
yleensä ole. Eikä tuollaisen luokituskentän lisääminen olisi vaikeaakaan, 
vaikka tekisin sen jo nyt. Skriptien muokkaamiseen menisi aikaa ehkä kymmenen 
minuuttia. Suurin työ on miettiä, että minkälainen notaatio ja luokitus on 
järkevin tuon informaation koodaamiseen, ja sitten dokumentoida se johonkin. 
Se kannattaa tehdäkin huolella, koska jos luokitusta myöhemmin haluaa 
muuttaa, niin kaikki jo luokitellut sanat joutuu sitten tarkistamaan 
uudelleen.

Sen sijaan noiden verbeistä johdettujen sanojen käsittely, joka näyttäisi 
tällä hetkellä olevan kaikkien hyödyllisin ominaisuus toteuttaa, on myös se 
kaikkein työläin asia. Sitä ei voi tehdä ennen kuin verbiluokitus on edes 
suurin piirtein olemassa, ja verbiluokitusta taas ei kannata tehdä ennen kuin 
tämä tietokantapohjainen affiksitiedostojen generointi saadaan toimimaan. Ja 
sitä taas ei voi tehdä ennen kuin nykyiset substantiiviluokat on saatu 
siirrettyä tietokantaan. Niinpä näyttää nyt siltä, että verbeistä johdetut 
sanat saamme käyttöömme ehkä vasta joskus tammi-helmikuussa.

Harri



More information about the devel mailing list