[voikko] Voikon Java-rajapinnan morfologinen analyysi

Harri Pitkänen hatapitk at iki.fi
Wed Mar 2 15:28:48 EET 2011


On Wednesday 02 March 2011, juhohe at cc.joensuu.fi wrote:
> Kun Voikon Java-rajapinnalla suorittaa numeraalien yksikön
> nominatiiveille Voikko.analyze()-metodin, ei analyysissä kerrota sanan
> sijamuotoa,
> ei myöskään sitä, onko kyse yksiköstä vai monikosta.
> Esimerkiksi sanalle "kolme" analyysi on seuraavanlainen:
> [{BASEFORM=kolme, CLASS=lukusana, WORDBASES=+kolme(kolme),
> STRUCTURE==ppppp}] Samoin persoonamuotojen vastaavat muodot, sekä
> esimerkiksi pronomini "joka" perusmuodossaan eivät kerro sijamuotoa.
> Sanan "joka" analyysi:
> [{BASEFORM=joka, CLASS=asemosana, WORDBASES=+joka(joka), STRUCTURE==pppp}]
> 
> Onko asian tarkoituskin olla näin?

Ei, kyseessä on bugi. Korjaan sen ja julkaisen uudet testisanastot sen 
jälkeen.

> Voiko tilanteessa, jossa analyysi ei ilmoita nominin sijamuotoa,
> olettaa kyseessä olevan yksikön nominatiivin?

Kannattaa raportoida näistä vaikka tänne listalle, niin katson ne läpi ja 
korjaan. Näissä voi olla puutteita lähinnä siksi, että sijamuotoja käytetään 
Voikon sisällä pääasiassa vain oikoluvun korjausehdotusten järjestämiseen, 
jolloin tällaiset puutteet analyyseissä eivät tule normaalissa käytössä esiin.

Yleensä ne varmaankin ovat nominatiiveja, joten jos sovelluksessasi tarvitset 
jonkin arvauksen, niin se on ihan hyvä lähtökohta.

> Haluaisin myös verbeistä enemmän tietoa. Esimerkiksi "hypätä"-sana
> tuottaa seuraavanlaiset analyysit:
> [{BASEFORM=hypätä, CLASS=teonsana, WORDIDS=+hypätä(w503040),
> WORDBASES=+hypätä(hypätä), STRUCTURE==pppppp, MOOD=indicative},
> {BASEFORM=hypätä, CLASS=teonsana, WORDIDS=+hypätä(w503040),
> WORDBASES=+hypätä(hypätä), STRUCTURE==pppppp}]
> Miksi näistä kumpikaan ei sisällä tietoa, että kyse on A-infinitiivistä?
> 
> Minulla on sanastona dict-morpho.zip-tiedoston sisältämä sanasto.

Tämäpä outoa. Minulla täällä omalla koneella voikkospell näyttää tiedon A-
infinitiivistä:

$ voikkospell -d fi-x-standard+debug -m
hypätä
C: hypätä
A(hypätä):1:BASEFORM=hypätä
A(hypätä):1:CLASS=teonsana
A(hypätä):1:MOOD=indicative
A(hypätä):1:NEGATIVE=true
A(hypätä):1:PERSON=4
A(hypätä):1:STRUCTURE==pppppp
A(hypätä):1:WORDBASES=+hypätä(hypätä)
A(hypätä):1:WORDIDS=+hypätä(w503040)
A(hypätä):2:BASEFORM=hypätä
A(hypätä):2:CLASS=teonsana
A(hypätä):2:MOOD=A-infinitive
A(hypätä):2:NEGATIVE=both
A(hypätä):2:STRUCTURE==pppppp
A(hypätä):2:WORDBASES=+hypätä(hypätä)
A(hypätä):2:WORDIDS=+hypätä(w503040)

Jossain on siis bugia, tai dict-morpho.zip on generoitu väärin. Tai sitten 
(mikä ehkä on todennäköisempää), käytät libvoikosta sellaista versiota, joka 
ei vielä tunne infinitiivejä. Lisäsin tuen niille muistaakseni vasta versiossa 
3.1, joten jos käytät Ubuntun libvoikkoa, se ei niitä tunnistaisi, koska 
Ubuntu 10.10:ssä taitaa olla vielä versio 3.0.

Harri



More information about the voikko mailing list