[hunspell-fi-devel] lainen johdokset

Harri Pitkänen hatapitk at cc.jyu.fi
Sun Jul 2 23:03:29 EEST 2006


On Sunday 02 July 2006 22:11, Teemu Likonen wrote:
> Tulipa mieleen -lAinen-johdoksista, että jossain Oulun etelä- tai
> lounaispuolella olevan Oulainen-nimisen kaupungin asukkaat ovat
> oulaistelaisia (ei siis mitään *oulainenlaisia tai *oulaislaisia).
> Uusinkaan SVN-Suomi-Malaga ei tunnista kaupunkia eikä asukkaita. En
> vielä uskaltanut itse sorkkia SVN:ää, mutta olisiko se asukkaiden
> kohdalta jotain tällaista:
>
> [perusmuoto: "oulaistelainen", alku: "oulaistelai", luokka:
> nimi_laatusana, jatko: <nainen>, äs: a];

Näinhän se menee. Voit toki laittaa näitä SVN:ään suoraan. Varsinkin kun 
häviän itse ensi viikon lopulla kymmeneksi päiväksi Italiaan kaikkien 
verkkoyhteyksien ulottumattomiin, ei haittaa yhtään jos joku muukin saa 
tehtyä ainakin kriittisimmät lisäykset.

Itse toimin uusien sanojen kanssa näin:

- Ensin katsotaan, pitäisikö sanan tulla automaattisesti johdoksena tai 
yhdyssanana jostain toisesta sanasta. Tämä voi olla vähän vaikeaa jos ei 
tiedä mitä ylipäätään voidaan johtaa automaattisesti ja mitä ei. Kannattaa 
kokeilla, tunnistaako Voikko jonkin toisen samatyylisen johdoksen tai 
yhdyssanan ja päätellä siitä. Esimerkki: 'suola' oli sanastossa, 
mutta 'suolainen' ei tunnistunut. Tämä korjaantui seuraavasti:

-[perusmuoto: "suola", alku: "suol", luokka: nimisana, jatko: <kala>, äs: a];
+[perusmuoto: "suola", alku: "suol", luokka: nimisana, jatko: <kala>, äs: a, 
tiedot: <inen>];

- Jos sana on aidosti uusi (nimien kanssa näin melkein aina on, koska niitä ei 
johdeta eikä niistä muodosteta yhdyssanoja muuten kuin yhdysviivan kanssa), 
se pitää lisätä sanastoon. Katsotaan sen sanaluokka ja nimien kohdalla se, 
millaisesta nimestä on kyse, ja valitaan sopiva tiedosto ja luokka. 
Esimerkiksi sukunimillä sukunimet.lex ja 'luokka: sukunimi'.

- Etsitään sanalle "taivutusluokka" eli jatko-kentän arvo. Helpointa on 
käyttää grep-komentoa. Tässä äsken jouduin lisäämään sanan 'kerosiini' 
sanastoon, jolloin etsin 'siini'-loppuiset sanat komennolla
  grep siini\" sanat.lex
Tulos on seuraava:

[perusmuoto: "appelsiini", alku: "appelsiin", luokka: nimisana, jatko: 
<risti>, äs: a];
[perusmuoto: "bensiini", alku: "bensiin", luokka: nimisana, jatko: <banaali>, 
äs: ä];
[perusmuoto: "bentsiini", alku: "bentsiin", luokka: nimisana, jatko: 
<banaali>, äs: ä];
[perusmuoto: "dioksiini", alku: "dioksiin", luokka: nimisana, jatko: <risti>, 
äs: a];
[perusmuoto: "limusiini", alku: "limusiin", luokka: nimisana, jatko: <risti>, 
äs: a];
[perusmuoto: "makasiini", alku: "makasiin", luokka: nimisana, jatko: <risti>, 
äs: a];
[perusmuoto: "mokkasiini", alku: "mokkasiin", luokka: nimisana, jatko: 
<risti>, äs: a];
[perusmuoto: "risiini", alku: "risiin", luokka: seikkasana, jatko: <banaali>, 
äs: ä];
[perusmuoto: "toksiini", alku: "toksiin", luokka: nimisana, jatko: <banaali>, 
äs: a];

Tässä on kahta jatkoa: <banaali> ja <risti>. Tällaisessa tilanteessa kannattaa 
miettiä sanan taivutusta mallisanoihin nähden erityisesti genetiivi- ja 
partitiivimuodoissa (sekä yksikössä ja monikossa). Hetken pohdinnan jälkeen 
havaitaan, että banaali taipuu "banaaleita" mutta risti ei taivu vastaavalla 
tavalla. Eikä taivu kerosiinikaan ("kerosiineita" ei kuulosta hyvältä) joten 
valitaan siis jatko: <risti>. Yleensä kuitenkin pääsee aika helpolla, sillä 
jatkoja löytyy vain yhtä tyyppiä tiettyä sanan loppua kohti. nen-päätteiset 
ovat erityisen yleisiä ja erityisen helppoja: jatko on aina <nainen>.

- Alku-kentän arvo saadaan poistamalla sanan lopusta sopivasti kirjaimia. Mitä 
poistetaan, sen näkee katsomalla jotain toista sanaa jolla on sama 
jatko-kentän arvo. Tässä tapauksessa alku: "kerosiin".

- äs-kenttään tulee tieto siitä, taipuuko sana etu- vai takavokaalipäätteillä. 
Arvo voi siis olla a, ä tai aä. Nyt "kerosiini" -> "kerosiinissa", siis äs: 
a.

Nyt sana on kasassa, sanat.lex -tiedostoon lisätään siis
[perusmuoto: "kerosiini", alku: "kerosiin", luokka: nimisana, jatko: <risti>, 
äs: a];


Tässä on virheen tekemisen mahdollisuus, minäkään en vielä kovin hyvin tunne 
Hannun käyttämää luokitusta. Mutta tästä ei kannata turhaan hermostua. Jos 
sana lisäämisen jälkeen näyttää tunnistuvan ja taipuvan oikein oikoluvussa, 
se on todennäköisesti ainakin riittävän oikein ja parempi kuin ei mitään. 
Joka tapauksessa luokitus on käytävä myöhemmin läpi taivutusten 
modernisoimiseksi ja virheiden korjaamiseksi, ja tässä Joukahainen auttaa 
kunhan se ensin valmistuu...

Hannun työn helpottamiseksi kannattaa muistaa, että jos sanastossa törmää 
näennäisesti väärin kirjoitettuun sanaan, se kannattaa poistaa merkitsemällä 
siihen 'tiedot: <ei_voikko>', ei poistamalla riviä kokonaan. Näitä "vääriä" 
sanoja on sanastossa mukana indeksointisovellusta varten aivan 
tarkoituksellisesti.

Harri



More information about the devel mailing list