[voikko] Syntaksin tarkistus

Harri Pitkänen hatapitk at iki.fi
Tue Feb 26 22:52:39 EET 2008


On Tuesday 26 February 2008, Teemu Likonen wrote:
> Saako tuohon niin sanottuun kieliopin tarkistukseen mukaan myös
> sanaliittojen ja yhdyssanojen tarkistusta? Siis että voisi huomauttaa
> vaikkapa kielten nimien olevan sanaliittoja (suomen kieli). Keräsin
> näitä tapauksia talteen OpenOfficen automaattista korjausta varten, ja
> jossain SVN:ssä ne ovat edelleen tallessa.

Saa, ja nämä olivatkin minulla mielessä toisen vaiheen korjauksina. Tuota 
korjausdataa ei voi tallentaa nykyisenmalliseen suomi-malagaan, joten 
joudumme miettimään uudelleen näiden resurssitiedostojen muotoa. Välimerkit 
ja muut mainitsemani korjaukset on mahdollista toteuttaa pelkästään libvoikon 
ja openoffice.org-voikon ohjelmakoodia muuttamalla, eli ne on paljon helpompi 
tehdä näin aluksi.

Muita toisen vaiheen korjausideoita olisi arkikielisistä tai muuten tyyliin 
sopimattomista sanoista varoittaminen. Kuitenkin niin, että käyttäjä joutuu 
määrittelemään, mikä tekstin oikea tyyli on, sitä ei sentään ruveta vielä 
ohjelmallisesti tunnistamaan.

> Sanojen oikeinkirjoituksen lisäksi pitäisin oikolukuohjelman tärkeimpänä
> puolena juuri yleisimpien yhdyssanojen ja sanaliittojen virheistä
> huomauttavaa toimintoa. Toinen hyödyllinen ominaisuus on huomata
> sanojen väleissä kaksoisvälilyönnit sekä mainitsemasi puuttuvat tai
> ylimääräiset välilyönnit välimerkkien ympäriltä.

Kaksoisvälilyönnit saadaan varmasti myös mukaan tarkistukseen heti  
ensimmäisessä vaiheessa.

> Aiemmin on tullut esiin ajatus monitulkintaisista sanoista: jos Voikko
> huomaa (yhdys)sanan sisältävän useampia eri tulkintoja, se voisi pyytää
> käyttäjältä tavutusvihjettä sopivaan kohtaan (auto-nosto ~ auton-osto).
> Sanojen jakaminen eri riveille yhdyssanan rajakohdasta on tietenkin
> järkevintä, ja näissä monitulkintaisissa sanoissa sitä nimenomaan ei
> automaattisesti tehdä. Harvinaisia tämäntyyliset ongelmat ovat, ehkä
> lähinnä teoreettisia. Sana "etäisyys" merkityksessä 'etäältä vaikuttava
> isänä oleminen' ei hahmotu muutenkaan helposti ilman selventävää
> yhdysmerkkiä (etä-isyys).

Tämäkin on mahdollista toteuttaa ilman muutoksia resurssitiedostoihin, mutta 
kuten totesit, näistä ei ehkä ole käytännön teksteissä kovin usein hyötyä, 
joten en ehkä ensimmäisessä vaiheessa tätä ole tekemässä.

> Muita vähemmän tärkeitä ovat mielestäni esimerkiksi subjektin ja
> predikaatin kongruenssin tarkistus. Sinänsä kiitettävästi MS Word osaa
> yksinkertaisimmista kongruenssivirheistä huomauttaa, mutta
> valitettavasti nämä yksinkertaiset tapaukset ovat juuri sellaisia,
> joissa ei virheitä tule. Virheet huomaa helposti, vaikka lauseen lukisi
> nopeasti - paljon helpommin kuin sanoissa olevat kirjoitusvirheet.
> Kohtalaisen yleinen on kuitenkin "ne on" -kongruenssivirhe, mutta
> senkin voi ajatella puhekielisyytenä.

Nämä ovat sitten niitä kolmannen vaiheen asioita. Suomi-malagassa on jo lähes 
riittävästi tietoa joitakin tällaisia tarkistuksia varten, mutta nykyinen 
rajapinta ei mahdollista tämän tiedon käyttämistä. Katsoisin mielelläni 
ensin, miten tuon transduktoreihin pohjautuvan morfologian kuvauksen käy, ja 
palaisin näihin vasta sen jälkeen. Ei siis ainakaan vielä tämän vuoden 
asioita, luultavasti ei seuraavankaan.

> Sitten taas tästä termiongelmasta: Kieliopin tarkistus on tietenkin
> vähän huono nimitys, koska kielioppi sisältää myös sanaston ja
> muoto-opin. Voikko on alusta saakka ollut kieliopin tarkistusohjelma.
> Lähempänä olisi lauseopin tarkistus. MS Wordin kautta taitaa
> jaottelu "spelling & grammar" kuitenkin olla aika vakiintunut. Jos
> termistöä on joskus mahdollista muuttaa, niin oikoluvun käsitteen alle
> tulisi mieluummin esimerkiksi sanaston tarkistus ja lauseopin
> tarkistus.
>
> Minusta tuntuu, että käyttäjän kannalta tämä Wordin eri
> tarkistusjärjestelmien paljous on vähän ikävä: 1) "spelling", sanasto
> ja muoto-oppi; 2) "grammar", lauseoppi, välimerkkien oikeinkirjoitus
> sekä sanojen tyyliarvot (arkikieli ym.); 3) "autocorrection",
> alkukirjainten, lyhenteiden, yhdyssanojen ja sanaliittojen
> automaattinen korjaus.

OOo:ssa tuleva kieliopin tarkistus tarkoittaa täsmälleen samaa asiaa kuin 
Wordissa, joten tästä heikosta terminologiasta emme pääse eroon. Koska nämä 
termit on juurrutettu syvälle ihmisten mieliin ja ohjelmointirajapintojen 
nimiin, niin ne ovat käytännössä pysyviä. OOo:n versiossa 3.0 tämän 
aihepiirin termit taitavat olla täsmälleen samat, mitä yllä kirjoitit Wordin 
tarkistusjärjestelmistä.

Sekavuuden maksimoimiseksi uusimmassa Wordissa on näiden lisäksi vielä 
neljäskin järjestelmä, "contextual speller" (en tiedä millä nimellä 
suomenkielinen versio tuota kutsuu), joka on toiminnaltaan jotain oikoluvun 
ja kieliopin tarkistuksen väliltä. OOo ei sellaista taida olla saamassa. 
Tosin en ymmärrä mihin sitä edes tarvitaan, jos tuon toiminnon voi toteuttaa 
osana kieliopin tarkistusta.

Harri



More information about the voikko mailing list