[voikko] Suomenkielinen IntelliJ IDEA -sanasto

Harri Pitkänen hatapitk at iki.fi
Mon Oct 26 17:30:28 EET 2015


Hei!

On Sunday 25 October 2015 20:24:26 Joni Nousiainen wrote:
> Teen työkseni ohjelmistokehitystä ja käytän siihen nykyisin pääasiassa
> IntelliJ IDEA -nimistä ohjelmointiympäristöä. Kyseinen ohjelmisto
> sisältää oikoluvun englannin kielelle, minkä lisäksi oikolukua on
> mahdollista laajentaa erillisillä sanastoilla.
> 
> Olisin kiinnostunut lisäämään IDEAan suomenkielen oikolukusanaston.
> Ensimmäisenä mieleeni tuli Voikko ja sen sanaston hyödyntäminen. Lyhyen
> selvityksen perusteella IDEAan käyttämä sanastoformaatti on hyvin
> yksinkertainen: kaikki sanaston sanat on listattu yksittäiseen
> UTF-8-merkistöllä enkoodattuun sanastotiedostoon rivinvaihdoilla
> eroteltuina.
> 
> Kysymykseni on: onko Voikon avulla mahdollista tuottaa em. kaltainen
> sanastotiedosto? Jos on, osaisiko joku ohjata minut oikeaan suuntaan,
> mistä kannattaisi lähteä liikkeelle? Sanaston ylläpidettävyyden kannalta
> ajattelin alustavasti, että järkevintä olisi kenties luoda skripti tai
> pieni apuohjelma, jonka avulla tiedoston voisi tuottaa Voikon sanastosta
> automaattisesti.

Jos kaikki Voikon perussanaston hyväksymät sanat listattaisiin tuollaiseen 
tiedostoon, siihen tulisi yli 10^106 sanaa. Tämäkin on hyvin karkea alaraja, 
todellinen määrä on paljon suurempi. Eli käytännön syistä sanastoa tulisi 
rajata jotenkin, ja tämän rajauksen asettaminen sopivasti niin, että sanasto 
jää riittävän pienikokoiseksi mutta soveltuu silti käyttötarkoitukseen, on 
usein aika hankalaa.

Sen sijaan voisi olla mahdollista, ehkä helppoakin, käyttää Voikkoa suoraan 
IDEAn vaihtoehtoisena oikolukumoottorina. IDEAn oikolukukoodi on näemmä 
kirjoitettukin sillä ajatuksella, että joku saattaisi haluta näin tehdä:

  https://github.com/JetBrains/intellij-community/tree/master/spellchecker/src/com/intellij/spellchecker/engine

Eli tuonne voisi tehdä uuden toteutuksen SpellCheckerEngine-rajapinnalle ja 
muokata SpellCheckerFactory-luokkaa siten, että sitä osattaisiin käyttää 
suomen kielelle. Voikolle on jo olemassa Java-rajapinta, joten tuon pitäisi 
periaatteessa olla päivässä tehtävä homma, ellei IDEAn rakentaminen 
lähdekoodista itsessään ole kovin työlästä.

Toki muutosten viimeisteleminen sellaiseen kuntoon, että Voikkoa ei tarvitsisi 
paketoida IDEAn kiinteäksi osaksi, voi vaatia vähän enemmän työtä. Vaikuttaa 
ihan mielenkiintoiselta ja kokeilemisen arvoiselta projektilta.

Harri


More information about the voikko mailing list