[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