|
Packit |
2b3545 |
2009 Harri Pitkänen <hatapitk@iki.fi> GPLv2+
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Oikoluvun korjausehdotusten järjestäminen
|
|
Packit |
2b3545 |
=========================================
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Seuraavassa on kuvattu algoritmi, jolla oikoluvun korjausehdotukset
|
|
Packit |
2b3545 |
järjestetään. Perusperiaate on, että kullekin korjausehdotukselle
|
|
Packit |
2b3545 |
lasketaan käänteinen painokerroin siten, että sana, jolla on pienin
|
|
Packit |
2b3545 |
painokerroin, tulkitaan todennäköisimmäksi korjaukseksi tunnistamattomalle
|
|
Packit |
2b3545 |
sanalle. Painokertoimet ovat positiivisia kokonaislukuja.
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Vaihe 1:
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Korjausehdotukselle annetaan sanaluokasta ja taivutusmuodosta riippuva
|
|
Packit |
2b3545 |
paino p1 seuraavasti taulukon mukaan:
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
NOMINIT
|
|
Packit |
2b3545 |
Sijamuoto p1
|
|
Packit |
2b3545 |
nimentö 2
|
|
Packit |
2b3545 |
omanto 3
|
|
Packit |
2b3545 |
osanto 5
|
|
Packit |
2b3545 |
olento 20
|
|
Packit |
2b3545 |
tulento 20
|
|
Packit |
2b3545 |
sisäolento 8
|
|
Packit |
2b3545 |
sisäeronto 12
|
|
Packit |
2b3545 |
sisätulento 8
|
|
Packit |
2b3545 |
ulko-olento 12
|
|
Packit |
2b3545 |
ulkoeronto 30
|
|
Packit |
2b3545 |
ulkotulento 20
|
|
Packit |
2b3545 |
vajanto 60
|
|
Packit |
2b3545 |
seuranto 60
|
|
Packit |
2b3545 |
keinonto 20
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Yllä olevat painokertoimet perustuvat löyhästi taivutusmuotojen
|
|
Packit |
2b3545 |
yleisyyteen kirjoitetussa tekstissä (VISK § 1227).
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
MUIDEN SANALUOKKIEN SANAT: p1 = 4
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Vaihe 2:
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Kerroin p2 lasketaan sen mukaan, miten monta vahvan morfeemirajan
|
|
Packit |
2b3545 |
erottamaa osaa siinä on.
|
|
Packit |
2b3545 |
p2 = 8^(min({erillisten osien lukumäärä}, 5) - 1).
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Vaihe 3:
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Kerroin p3 määräytyy siitä, kuinka suuria muutoksia sanan kirjainkoon
|
|
Packit |
2b3545 |
käyttöön on tehtävä, jotta sana olisi oikein kirjoitettu.
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Jos sana on sellaisenaan oikein, p3 = 1.
|
|
Packit |
2b3545 |
Jos sanan alkukirjain on vaihdettava isoksi kirjaimeksi, p3 = 2.
|
|
Packit |
2b3545 |
Jos sanan kirjainkokoon on tehtävä muita muutoksia kuin ensimmäisen
|
|
Packit |
2b3545 |
kirjaimen muuttaminen isoksi, p3 = 3.
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Monikäsitteiset sanat:
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Jos sanalla on useita analyysejä, valitaan painokertoimet siitä
|
|
Packit |
2b3545 |
analyysistä, jonka painokerroin p3 on pienin. Jos näitäkin on useita,
|
|
Packit |
2b3545 |
valitaan se analyysi, jonka painokertoimien tulo p1 * p2 * p3 on
|
|
Packit |
2b3545 |
pienin.
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Vaihe 4:
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Korjausehdotusten generointijärjestys Voikossa on sellainen, että
|
|
Packit |
2b3545 |
ensin generoidaan ehdotukset, jotka eroavat alkuperäisestä sanasta
|
|
Packit |
2b3545 |
mahdollisimman vähän. Generointijärjestyksen määrää käytettävä
|
|
Packit |
2b3545 |
SuggestionStrategy-olio, joten järjestys riippuu myös siitä, ollaanko
|
|
Packit |
2b3545 |
korjaamassa ihmisen tekemiä näppäilyvirheitä vai optisessa
|
|
Packit |
2b3545 |
tekstintunnistuksessa tapahtuneita virheitä. Generointijärjestys
|
|
Packit |
2b3545 |
vaikuttaa sanan painokertoimeen seuraavan kaavan mukaisesti:
|
|
Packit |
2b3545 |
n = korjausehdotuksen järjestysluku (ensimmäinen = 0)
|
|
Packit |
2b3545 |
p4 = n + 5
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Lopullinen painokerroin:
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Lopullinen painokerroin on edellä laskettujen painokerrointen tulo:
|
|
Packit |
2b3545 |
p = p1 * p2 * p3 * p4
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Jos korjauksena ehdotetaan sanan jakamista kahteen osaan, lasketaan
|
|
Packit |
2b3545 |
kertoimet p1, p2 ja p3 kummallekin osalle erikseen, ja lopullinen
|
|
Packit |
2b3545 |
kerroin on
|
|
Packit |
2b3545 |
p = (p1_1 * p2_1 * p3_1 + p1_2 * p2_2 * p3_2) * p4
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Painokerrointen arvoalue on siis generoitaessa enintään 15 ehdotusta
|
|
Packit |
2b3545 |
[2 * 1 * 1 * 5, 60 * 4096 * 3 * 19] = [10, 14 008 320]
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
Lähteet:
|
|
Packit |
2b3545 |
|
|
Packit |
2b3545 |
VISK = Auli Hakulinen, Maria Vilkuna, Riitta Korhonen, Vesa Koivisto,
|
|
Packit |
2b3545 |
Tarja Riitta Heinonen ja Irja Alho 2004: Iso suomen kielioppi.
|
|
Packit |
2b3545 |
Helsinki: Suomalaisen Kirjallisuuden Seura. Verkkoversio, viitattu 11.9.2009.
|
|
Packit |
2b3545 |
Saatavissa: http://scripta.kotus.fi/visk URN:ISBN:978-952-5446-35-7
|
|
Packit |
2b3545 |
|