[hunspell-fi-devel] Sukija - suomen kieltä ymmärtävä indeksointiohjelma, versio 0.1
Harri Pitkänen
hatapitk at cc.jyu.fi
Mon Feb 20 18:56:02 EET 2006
On Monday 20 February 2006 07:20, Hannu Väisänen wrote:
> Lisätietoja on sivulla http://joyds1.joensuu.fi/sukija/sukija.html
No mutta, tässäpähän meillä on toimiva oikolukuohjelma:
$ time
unmunch /usr/share/myspell/dicts/fi_FI.dic /usr/share/myspell/dicts/fi_FI.aff
2>/dev/null |malaga -m suomi.pro > /dev/null
Analysed wordforms: 1363515
Recognised: 1353032 (99.23%)
Recognised by combi rules: 1353032 (99.23%)
Results per wordform: 1.918
Analysis run time: 899 sec
Avg. wordforms per second: 1516
real 14m59.280s
user 14m55.224s
sys 0m0.842s
Eli tuo kyllä toimii melkoisen hyvin (Hunspell-fi tunnistaa vain 15
prosenttia). Testasin myös noin 300 sanan omalla testiaineistollani (joka
toimii oikein Hunspellissä) ja senkin tämä Malaga osasi käsitellä lähes
virheettömästi. Sompa-sanan taivutuksessa on jotain ongelmia:
harri at c2:/tmp/suomi-malaga-0.1$ malaga -m suomi.pro
sompineen
1: "sompineen": unknown
sompoineen
2: "sompoineen": "sompa"
Tuo sanojen käsittelynopeus on noin viisi kertaa hitaampi kuin hf-testaa
-ohjelmalla, joka siis on kirjoitettu osittain Pyhtonilla. Tämä on ehkä
hiukan huolestuttavaa, varsinkin kun ottaa huomioon että tämä Python-toteutus
on vain prototyyppi ja siitä on tarkoitus päästä eroon jo ensi kuussa.
Kyllähän tuo 1500 sanaa sekunnissa (AMD Athlon 64 2800+) on riittävän hyvä
oikoluvussa, mutta menee vähän tiukalle sitten kun pitäisi ruveta
ehdottelemaan korjauksia väärin kirjoitetuille sanoille. Jos ajatellaan, että
edes kaikki yhden kirjaimen lisäykset, poistot ja vaihdot haluttaisiin
tutkia, ja aikaa on käytettävissä ehkä sekunnin kymmenesosa, niin se on siinä
ja siinä... Mutta tätähän voi yrittää optiomoida, eikä tuo korjausten
ehdottaminen mielestäni ole muutenkaan niin kriittinen ominaisuus
oikoluvussa. Virtuaalimuistin käyttö malaga-prosessilla oli noin 15
megatavua, mikä on ihan järkevä määrä.
Minulla on myös virheellisten sanojen testilista, ja malaga tunnisti siltäkin
pari sanaa:
"onttoin": "ontto"
"viivotin": "viivoittaa"
Mutta siis kaiken kaikkiaan täytyy tunnustaa, että tässä on todella pitkälle
edistynyt ohjelma. Sanaston laajuus on yli 20000 sanaa, mikä ei tietysti
vielä ole hirveän paljon, mutta varmaankin riittävästi jo ihan vakavaankin
käyttöön. Tuo sanaston luokitus näyttää erilaisista nimistä huolimatta olevan
jotakuinkin sama kuin meidän käyttämämme luokitus, ja koska lisenssitkin ovat
samat, niin tässä voisi olla ehdottomasti yhteistyön paikka. Se, että
kannattaisiko GPL-lisenssistä huolimatta käyttää malagaa suoraan
oikolukuohjelman ytimenä on myös näissä olosuhteissa ihan vakavasti
harkittava asia. Ongelmiahan siitä seuraa, mutta ehkäpä on järkevää
selvitellä että kuinka vakavia ne ovat ennen kuin aletaan uhraamaan
mahdottomasti aikaa Hunspellin kehittämiseen.
Yritän perehtyä teknisiin yksityiskohtiin myöhemmin, nyt en valitettavasti
ehdi. Pari kysymystä kuitenkin:
- Millä tavalla sanasto on kerätty?
- Aiheuttaako UTF-8 -merkistöön siirtyminen mitään oleellisia teknisiä
ongelmia, vai riittääkö pelkkä tiedostojen uudelleenkoodaaminen? Olisi hyvä
jos malagasta voisi käyttää uusinta versiota, vanhassa pysytteleminen voi
aiheuttaa pulmia tulevaisuudessa.
- Millä tavalla malagan nopeus sanojen käsittelyssä on riippuvainen sanaston
koosta?
- Voiko malagaa käyttää "toiseen suuntaan", eli jos annamme perusmuodon ja
taivutusluokituksen, saako sillä listattua taivutettuja muotoja? Ei
tietenkään kaikkia, mutta vaikkapa esimerkiksi sijamuodot.
- Saako malagasta ulos annetun yhdyssanan jaon osiinsa? Tätä tarvittaisiin
tavutukseen.
Harri
More information about the devel
mailing list