OMorFi: Kotus-sanalista omorfi version, XML format and my changes

Kotus-sanalista is XML format storing LGPL based Nykysuomen sanalista word list data.

This page describes changes made for omorfi. Original stuff is in http://kaino.kotus.fi/sanat/nykysuomi/.

The changes given here should be obsoleted in future by updated plan on how to handle lexical data: cf. OmorfiLexiconMaintenance


Following is the documentation in my packaging of kotus-sanalista, it is semiautomatically generated from:

  • README
  • HACKING


Kotus-sanalista for omorfi

This package is free and open Finnish word list for free and open morphology of Finnish language called omorfi. Kotus-sanalista was originally released by Research Institute of Languages of Finland (RILF). This package is licenced under GNU GPL 3, not latter. The authors of project who are named in AUTHORS file may at their discretion give other licences if requested.

Downloading

The original word list can be downloaded from Kaino site’s Nykysuomen sanalista page(http://kaino.kotus.fi/sanat/nykysuomi/) and this omorfi improver version is available at least from omorfi gna! pages(https://gna.org/projects/omorfi)

An omorfi version of kotus-sanalista also available from corpus.csc.fi server’s CVS repository /c/appl/ling/koskenni/cvsrepo.(http://forums.csc.fi/kitwiki/pilot/view/KitWiki/OmorfiVersionControl).

Gentoo(http://www.gentoo.org) Linux users may install kotus-sanalista by pointing their package manager to Gentoo Science Overlay(http://overlays.gentoo.org/proj/science):

layman -a science
layman -s science
emerge kotus-sanalista

for portage and correspondingly:

grfdr
frfsd
fsfrfs

using paludis.

Dependencies

Scripts for improved version of kotus-sanalista require:

XSLT 2.0 compatible XSLT handler; tested with Saxon 8. In order for Saxon to work with configure script:

    • class net.sf.saxon.Transform must be reachable using java in current user
environment, or
    • a script named saxon, saxon8, or saxon9 must execute it.
Python interface for wordlist requires:

Python

Installation

Installation uses standard GNU autotools method, i.e.:

./configure && make && make install

If configure script is unable to find XSTL 2.0 handler, it must be supplied using proper parameters. more information about parameters with:

./configure --help

The system can be installed to home directory using prefix parameter:

./configure --prefix=${HOME}

When using CVS version, missing files must be generated from system before use:

autoreconf -i

It is common and recommended practice not to store autotools generated files in version control systems.

Further installation instructions can be read from INSTALL file, which is the GNU standard installation instructions.

Usage

The word lists are installed into directory given in configure parameters. By default it is $prefix/share/kotus-sanalista/, which under typical Linux systems will be /usr/local/share/kotus-sanlista. Word list installed here will be automatically picked up by other omorfi tools.

The python library will be installed likewise to site-packages of current python installation.

Open issues, bugs

The xml:id of a word entry is defined as s-hn (word form-homonym number), which gives quite high value to rather arbitrary element homonym number. This might make it harder to refer to specific entries in extensions.

Specific word changes (tentative, temporary)

Part of the words do not work as expected and I have reclassified them under 10xx:

veri on 1026 (veri : verta vs. 26 kieli : kieltä)

meri on 1024 (meri : merta vs. 26 hiiri : hiirtä)

aika on 1009 (aika : ajan vs. 9 taika : taian)

poika on 1010 (poika : pojan vs. 10 reikä : reiän)

olla on 1067 (olla : on vs. 67 nuolla : nuolee)

Some numerals have been reclassified to 20xx:

kolme on 2087 (was sg. 7 pl. 8)

seitsemän, kahdeksan, and yhdeksän are 2080 (were 10, but vs. neljä)

Other numerals were marked as numerals for possibly different handling than in their noun classes (eg. kymmenen conjugate with kymmen as root).

Missing consonant gradation pairs have been added:

N on t : 0 (auer : auterella)

O on gg : g (digata : diggaan)

P on bb : b (lobata : lobbaan)

T on dd : d (?)

The nouns ending in possible plural case have been marked as plurale tantum:

aivot

aktiivat

alkajaiset

alkeet

anopikset

antimet

apposet

arpajaiset

aterimet

atulat

avajaiset

bailut

bermudat

bikinit

bileet

bänet

dongarit

erojaiset

farkut

finanssit

fudut

geimit

genitaalit

harjakaiset

harjannostajaiset

harteet

hatkat

hautajaiset

henkselit

housut

hiihtarit

hilut

hipat

hippulat

hohtimet

hoksottimet

hyntteet

hynttyyt

hyppyset

häät

illatsut

isotaivot

isovanhemmat

jäähyväiset

jamit

jortsut

juomingit

kaimakset

kakkulat

kalsarit

kalsongit

kalterit

kamppeet

kamppiaiset

kampsut

kapiot

kastajaiset

kastanjetit

kasvot

katsojaiset

kaverukset

kehruukset

keimit

kekkerit

kemut

keritsimet

kidukset

kiesit

kihlajaiset

kihlat

kiittimet

kimpsut

kinkerit

kituset

kokkarit

kruunajaiset

kummarit

kumppanukset

kuolaimet

kutrit

kuuliaiset

kuulumiset

kälykset

käräjät

käädyt

lakkiaiset

langokset

lantsarit

lauteet

leggingsit

lehdekset

lemput

liittoutuneet

liperit

loparit

lopettajaiset

lukuset

lunnaat

lähtiäiset

läksiäiset

länget

maahanpaniaiset

maistajaiset

maistiaiset

maltaat

markkinat

menkat

menkut

mensikset

mensut

molemmat

myyjäiset

myötäjäiset

naamiaiset

naapurukset

nimiäiset

nivuset

nokoset

normaaliolot

nyyttärit

näkimet

näkäräiset

oltavat

olympialaiset

omakustannukset

opinnot

orgiat

paarit

paljastajaiset

-paniaiset

paralympialaiset

passiivat

peijaiset

penkinpainajaiset

penkkarit

perkeet

persaukset

perskat

persukset

persuukset

pidot

pihdit

pinsetit

pippalot

pitkikset

pitkäthousut

polttarit

polvarit

potkiaiset

prillit

pukeet

päitset

pässinpökkimät

päättäjäiset

pöksyt

pökät

rahkeet

rattaat

ravet

reivit

resurssit

riekkujaiset

rikkojaiset

rillit

rintsikat

ristiäiset

ryntteet

rynttyyt

ryyppäjäiset

rääpiäiset

rääppeet

rääppiäiset

sakset

sammarit

senssit

seppeleensitojaiset

shortsit

silat

simmarit

sisarekset

siskokset

sisälmykset

sortsit

suitset

sukkikset

synnyttimet

synttärit

syömingit

talkoot

tamineet

tangat

tanssiaiset

tappajaiset

tekarit

-tekiäiset

terkut

terveiset

tikkaat

tilsit

tirsat

tongit

torut

toverukset

treffit

tulukset

turnajaiset

tuttavukset

täysisisarukset

uikkarit

universiadit

urut

valjaat

valvojaiset

vankkurit

varpaiset

varpajaiset

vastaanottajaiset

vihkiäiset

viinakset

virkaanasettajaiset

virkaanastujaiset

vyötäiset

väittäjäiset

vällyt

ystävykset

kierreportaat

aamu-uutiset

aineopinnot

ajovalot

akselivallat

alfasäteet

alkeisopinnot

alkeistiedot

alkuopinnot

alkusanat

alkuvaikeudet

alushousut

ammattiopinnot

A-oikeudet

appivanhemmat

arkiolot

arvopaperimarkkinat

aselepoehdot

asetussanat

asiakirjakannet

asumiskustannukset

asuntomessut

asunto-olot

aurinkolasit

avajaisjuhlallisuudet

avioliittomarkkinat

beetasäteet

bermudasortsit

bikinialushousut

bikinihousut

B-oikeudet

cocktailkutsut

desimetriaallot

diplomaattisuhteet

eduskuntavaalit

edustuskulut

edustusmenot

ehtoollisastiat

elinkustannukset

elokuvafestivaalit

elokuvajuhlat

enkelinkiharat

erikoistumisopinnot

eritasonojapuut

esikisat

esivanhemmat

euromarkkinat

eurovaalit

farmarihousut

farmarit

filmifestivaalit

filmijuhlat

golfhousut

grillauspihdit

grillipihdit

haaremihousut

hajotusvaalit

hakupaperit

hallitusneuvottelut

hallitustunnustelut

hallitusvaalit

hammaspihdit

hankintakulut

hankintakustannukset

hengenlahjat

hengityselimet

henkilöpaperit

henkilötiedot

henkisavut

hepoasteet

hermosavut

herrakutsut

herännäisseurat

herättäjäjuhlat

hevosenvaljaat

hevoskärryt

hevosvaljaat

hiihtohousut

hiilivarat

hikilaudat

hoitokustannukset

hopeahapset

hopeahäät

housunkannattimet

hovitavat

huoltojoukot

huomiovalot

hämäläismurteet

häpykarvat

hätätikkaat

hääkellot

häämenot

höyhenenkevyt

höyhensaaret

idänsuhteet

ihanneolot

ihmisaivot

ihmiskasvot

ihmistavat

ikenet

ikäkausikilpailut

illallistanssiaiset

illanistujaiset

ilmatorjuntajoukot

ilmavaivat

ilmavoimat

ilmoitustulot

iltakutsut

iltaravit

iltauutiset

initiaatiomenot

irtohiukset

irtohousut

irtoripset

istujaiset

itämaat

jakelukustannukset

jakopuitteet

jalkaraudat

jatko-opinnot

johdannaismarkkinat

joulumarkkinat

jouluvalmistelut

juhannustanssit

juhlamenot

juhlavalmistelut

juoksuvaunut

juontosakset

jälkimarkkinat

jääolot

jääpalapihdit

kaakkoismurteet

kahluuhousut

kahvikestit

kahvikutsut

kaihilasit

kaikusuhteet

kainalokarvat

kaksiteholasit

kaksoishäät

kaksospojat

kaksossisarukset

kaksostytöt

kaksosveljekset

kalanperkeet

kalasakset

kalpaveljekset

kamferitipat

kangaspuut

kankikuolaimet

kansalaisillalliset

kansalaispäivälliset

kansankäräjät

karhunpeijaiset

karjankellot

kasvattivanhemmat

kasvatusvanhemmat

katkaisupihdit

katurata-ajot

kaukolasit

kaukovalot

kaupantekiäiset

kauppatieteet

keittiösakset

keliolosuhteet

keliolot

kellonperät

kellonvitjat

kerinpuut

keskiaallot

keskiaivot

kesäkisat

kesäolympialaiset

ketunraudat

khakihousut

kielenkantimet

kieliopinnot

kihlakunnankäräjät

kippariaallot

kirkkohäät

kirkkokahvit

kirkkopäivät

kirkollisvaalit

kirkonkymmenykset

kissanpäivät

kissanristiäiset

kloottikannet

kodinturvajoukot

kokonaiskustannukset

kokonaismenot

kokonaispisteet

kokonaisyksikkökustannukset

kokoperunat

kolehtivarat

kolmiteholasit

kolmospojat

kolmossisarukset

kolmostytöt

kommandojoukot

kompleksimonot

konetikkaat

konserttitanssiaiset

kontaktilasit

korjauskustannukset

korkeakouluopinnot

korkeussuhteet

korkomenot

korkovarat

korukannet

korvalappustereot

korvalaput

korvatipat

kosintamenot

kotihipat

kotikutsut

kotimaanmarkkinat

kotimarkkinat

kotiolot

kottikärryt

kouluopinnot

koulutarvikkeet

kriisinhallintajoukot

kruununkalleudet

kuljetuskustannukset

kultahäät

kulttuurikilpailut

kulutusmenot

kuninkaankäräjät

kuninkuusravit

kunnallisvaalit

kunnossapitokulut

kunnossapitokustannukset

kuolemanväsynyt

kuolinkellot

kurahousut

kuteet

kuukasvot

kylmänvihat

kynnysvalot

kynsisakset

känttykahvit

käsikärryt

käsirattaat

käsiraudat

käteisvarat

käyttökustannukset

käyttövarat

köysiportaat

köysitikkaat

laakapihdit

lahjavarat

lahjoitusvarat

lainahöyhenet

lainamarkkinat

lainavarat

laituriportaat

laituritikkaat

lankapihdit

lankasakset

lapetikkaat

laskettelulasit

laskuportaat

laskuvarjojoukot

lastenkutsut

lastenrattaat

lastenvaunut

latotanssit

lauluopinnot

lenkkivaatteet

lentojarrut

lentovalot

leukaperät

levysakset

levytanssit

liikenneolot

liinavaatteet

liittopäivät

likavaatteet

linjapihdit

linnanrauniot

linnoitusjoukot

lintukotolaiset

lintusakset

lisäkulut

liukuportaat

loppusanat

lounaismurteet

luentomuistiinpanot

lukkopihdit

lukukinkerit

lukulasit

luokkivaljaat

luomapuut

luonnonolot

luottomarkkinat

luottotiedot

LVI-työt

lyydiläismurteet

lähestymisvalot

lähetyskulut

lähilasit

lähimarkkinat

lähivalot

lähtökuopat

lähtöpassit

lähtövalmistelut

läksiäiskahvit

lämmityskulut

lämmityskustannukset

lännensuhteet

länsiliittoutuneet

länsisuhteet

länsivallat

lääkekulut

lääkekustannukset

lääkintäjoukot

maahanlaskujoukot

maailmanmarkkinat

maajoukot

maakolloidit

maakuntakäräjät

maakuntapäivät

maakäräjät

maalaisolot

maalisvaalit

maapäivät

maapäivävaalit

maavoimat

maihinnousuportaat

malmivarat

markkinavoimat

materiaalitoiminnot

matkailutulot

meikkilasit

menekkivaikeudet

merenkulkusäännöt

merivoimat

merkkifarkut

messut

metsätulot

metsävarat

miinuslasit

mikroaallot

mikrosortsit

mittasakset

mittasuhteet

morseaakkoset

muistosanat

muonavarat

mursunviikset

musiikkiopinnot

myyntitulot

myöhäisuutiset

mäkisukset

nahkahousut

naistentanssit

nappulakisat

nenätipat

neuvottelupäivät

nimikirjaimet

niskavillat

nojapuut

nokkaunet

nuhatipat

nukenrattaat

nukenvaunut

nuorisotilat

nykyolot

nyyttikestit

ohimohiukset

ohjasperät

oikeistovoimat

oikeudenkäyntikulut

oksasakset

olosuhteet

olympiakisat

olympiarenkaat

ompelutarvikkeet

oopperafestivaalit

oopperajuhlat

open house -kutsut

opiskelutoverukset

oppirahat

optiomarkkinat

osakemarkkinat

paikallisjoukot

pakkauskulut

pakkauskustannukset

pakkokuolaimet

palkkakustannukset

palkkamenot

palotikkaat

palvontamenot

panssarijoukot

paperinohut

paperisakset

parihevoset

pariisinperunat

parlamenttivaalit

parrasvalot

pelihousut

peltisakset

pensassakset

perhekustannukset

perhesiteet

perhesuhteet

perimiskulut

perintöhopeat

perushankinnat

perustiedot

pestimarkkinat

pestuumarkkinat

petivaatteet

piilolasit

piipunperskat

piipunperät

piirinmestaruuskilpailut

piiritysjoukot

piirustustarvikkeet

pika-arpajaiset

pikahiutaleet

pikkuaivot

pikkuhousut

pikkukengät

pikkupöksyt

pikkuserkukset

pikkutunnit

pillifarkut

pilliurut

pintahiivaolut

pioneerijoukot

pistinkasvit

pitkospuut

pitopohjasukset

pitovaatteet

pitsisukat

pluslasit

pohjatiedot

poikkeusolot

polkupyöräjoukot

polvihousut

portaat

postikulut

potkuhousut

protestivaalit

prässihousut

puhdistusmenot

puhelinuutiset

puhevälit

pukimet

puolisisarukset

puolustusmenot

puolustusvoimat

pussihousut

putkikellot

putkipihdit

putkitongit

puutarhasakset

puutavaramarkkinat

pyhävaatteet

pyöräilysortsit

pähkinäsakset

päivätanssit

pääomamarkkinat

pääsylipputulot

päätössanat

pöytähopeat

raaka-ainevarat

radioaallot

radiouutiset

raha-arpajaiset

rahamarkkinat

rahavarat

rahtikulut

rajajoukot

rajanaapurukset

rakennuskustannukset

rakkausasiat

ramppivalot

ranskanperunat

rapujuhlat

rapukestit

ratsastushousut

ratsupaikat

rauhanneuvottelut

rauhanturvajoukot

ravikilpailut

ravinnevarat

ravit

ravunsakset

reput

retkijalkineet

retkisukset

retkivarusteet

reunavuoret

revontulet

riitakumppanukset

rintakarvat

rintaliivit

rippisanat

rohtimet

routavuodet

ruismaltaat

rullaportaat

ruokakulut

ruokamenot

ruokapidot

ruokatarpeet

ruokavarat

ruumisvaatteet

ruumisvaunut

ryntäät

rytmikapulat

röstiperunat

saamelaiskäräjät

saapashousut

saatesanat

sairauskulut

sairauskustannukset

salaismenot

salamenot

samettifarkut

samettifarmarit

samettihousut

sanavarat

saniteettikalusteet

sankalasit

sanomakellot

sappitiehyt

sarkahousut

sateenvarjorattaat

saunapuut

savakkomurteet

sekahakutanssit

sekahedelmät

sekavihannekset

seksiasiat

senttimetriaallot

seurakuntavaalit

sielunkellot

siirtomaajoukot

siirtomenot

siivoustalkoot

silakkamarkkinat

silakkarullat

silavaljaat

silmälasinkehykset

silmälasit

silmätipat

sinunkaupat

sipulihiutaleet

sissijoukot

sisuskalut

sisäasiat

sisäkalut

sisämarkkinat

sisäsynnyttimet

sisätaudit

sisävaatteet

soidinmenot

soitto-opinnot

sokeainaakkoset

sokeripihdit

sokkotreffit

sopimusehdot

sopuvaalit

sortovuodet

sosiaalimenot

sosiaalitieteet

sosiaalitilat

sotavalmistelut

sotavaunut

sotavoimat

sotilasmenot

spot-markkinat

sprintterikisat

stereokuulokkeet

sukkahousut

sukupuoliasiat

suojajoukot

suurkäräjät

sydänjuuret

synnytinelimet

synnytyspihdit

syntymäpäiväkutsut

syntysanat

sähkeuutiset

sähköurut

sänkyvaatteet

sääolosuhteet

sääolot

säärikarvat

säästötalkoot

säätiedot

säätyvaltiopäivät

taikamenot

taistelujoukot

talkootanssit

talousmenot

talvifarkut

talvifarmarit

talvikisat

talviolympialaiset

tanssihäät

tasapisteet

tavara-arpajaiset

teknobileet

tekoripset

televisiouutiset

termiinimarkkinat

tervehdyssanat

tikapuut

tikarappuset

tikaraput

timanttihäät

toimituskulut

tomaattisilakat

toppahousut

tosiolot

totalisaattoriravit

totoravit

toukotyöt

tukihiukset

tukkilaiskisat

tukkipihdit

tukkisakset

tuomarinohjeet

tupaantuliaiset

turpakäräjät

turvavaljaat

turvevarat

tutka-aallot

tykötarpeet

tynkäkisat

työmarkkinat

työntökärryt

työolosuhteet

työolot

työtoverukset

täyssisarukset

uhrimenot

uimahousut

uimalasit

ukkohousut

ula-aallot

ulkoasiat

ulkoiluvarusteet

ulkomaanmarkkinat

ulkomaansuhteet

ulkosynnyttimet

urheiluhousut

urheilujoukot

urheilukisat

uudenvuodenvalvojaiset

vaihdevuodet

vaippahousut

valekuollut

valkosipuliperunat

valmistuskustannukset

valoaallot

valourut

valtiopäivät

valuuttamarkkinat

vanginvaatteet

vanhuudenpäivät

varastointikustannukset

varhaisuutiset

vasemmistovoimat

vastaanottojuhlallisuudet

vastanainut

vastarintajoukot

vatsanpeitteet

vauvanvaunut

veikkausvarat

veikkausvoittovarat

veljekset

velkamenot

verovarat

verryttelyhousut

vesiurut

vesivarat

vesivoimavarat

vetimet

vetoniittipihdit

vientimarkkinat

vieraskutsut

viestijoukot

vihollisvoimat

villahousut

virsiseurat

voimavarat

voittovarat

vuokratulot

väliaivot

välihousut

yhteismarkkinat

yhteispisteet

yhteystiedot

yksityisolot

yleisopinnot

yliopisto-opinnot

ylioppilaskirjoitukset

yliset

ylläpitokustannukset

äidinkasvot

äitiysliivit

ämmänlänget

äyrämöismurteet

äänivarat

ääriolot

ääripiirteet

öljyvarat

Nouns that automatic classifier mistakenly thinks plurals have been marked as singular:

aivokuollut

alikehittynyt

alkukevät

edesmennyt

hanaolut

ilmatiehyt

inkivääriolut

itseoppinut

kamarioppinut

kausiolut

keskiolut

kevytolut

kirjanoppinut

kolmosolut

kredit

kuminauhatwist

lainoppinut

loppukevät

maitotiehyt

nelosolut

oikeusoppinut

pohjahiivaolut

pullo-olut

pumpulinkevyt

puolikuollut

rättiväsynyt

sanskrit

seitinohut

supermarket

tulvakevät

tynnyriolut

täysinoppinut

tölkkiolut

ultrakevyt

ultralyhyt

untuvankevyt

varhaiskevät

vehnäolut

vuosituhat

ykkösolut

The adverbs are classified in few different classes: (deadjectival) sti derivations which undergo comparation (nopeasti : nopeammin : nopeimmin), prolative derivations which allow only clitics, others which allow only clitics, others which allow both possessives and clitics and ones which disallow any suffixes.


This document was automatically generated from ../README

Instructions for updating and upkeeping

This file contains instructions on how to extend and modify kotus-sanalista using the framework contained in extended kotus-sanalista package.

Hand-made extensions to the list

Hand made extensions can be made into xml files of type kotus-sanalista-ext, almost exactly same as original format, and merged with main list using ext-merge.xslt style sheet. The basis for merge operation is use of xml:id’s as unique id’s for words, e.g if in original word list there is:

<st xml:id="foo-1"><s>foo</s><t><tn>1</tn></t></st>

to add stuff on it in extension file you write:

<st href="foo-1" new:attribute="bar"><t new:attribute2="baz"><new:element>quux</new:element></st>

result of merging operation will be:

<st xml:id="foo-1" new:attribute="bar"><s>foo</s><t new:attribute2="baz"><tn>1</tn><new:element>quux</new:element></t></st>

i.e. a combination of these two. In current implementation, new attributes to existing elements will always be respected, new elements only on case by case basis. Handling of conflicting values is based on XSLT’s algorithms and should generally not be relied on.

Hand made extensions can also be totally new words, in this case they are entered in ext file as in original, e.g.:

<st xml:id="coolnewstuff-1"><s>coolnewstuff</s><t><tn>1234</tn></t></st>

Deletion of existing data is not supported. Deleting data is against stability principle, which I think is very important given how much handling this data on unique id’s to permanently refer to same universally known values in all versions of word list. Instead of deletion, applications can utilise ignoring by adding an attribute that notifies a specific application for this. For example omorfi morphological analyser uses @tap:ignore="omorfi".

Note that, all additions which do not use elements, attributes and semantics defined in original application, must use different namespace! The unprefixed namespace should be kept clean and simple. The namespace prefixed tap: is used by author for all temporary tests and tinkerings.

Automatic extensions to word list

Automatic extensions to word list should be done using XSLT scripts. Automatic extensions may not drop or overwrite existing data. Specifically automatic extensions may not drop licensing comments, as it is against licence terms to do so. It is suggested to use skel.xslt as base for XSLT scripts, since it contains most of the necessary copying functionality.


This document was automatically generated from ../HACKING


-- TommiPirinen - 12 Apr 2008
Topic attachments
I Attachment Action Size Date Who Comment
Unknown file formatxsd kotus-sanalista.xsd manage 4.9 K 2007-11-25 - 02:58 UnknownUser XML-skeema päivitettyyn versioon 0.1
Topic revision: r9 - 2009-12-11 - TommiPirinen
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback