Näin käytät Omorfia suomen morfologiaan

Omorfi on aivan mahtava työkalu suomen kielen morfologian prosessointiin ja generointiin tietokoneella. Sen käyttäminen ei ole kuitenkaan ihan yksinkertaista (H)FST:itä tuntemattomille ihmisille. 😅FST-mallien käytön yksinkertaistaminen on yksi tärkeimmistä syistä sille, että aloin kehittää omaa UralicNLP-kirjastoani Pythonille. Sen tarkoituksena on yksinkertaistaa luonnollisen kielen käsittelyä Uralilaisten kielten kohdalla

Alkutoimet

Aluksi sinun on asennettava UralicNLP ajamalla seuraava komento terminaalissa:

sudo pip install uralicNLP

Seuraavaksi sinun tulee ajaa oheinen Python-skripti, jotta saat ladattua suomenkielen mallit (mukaan lukien Omorfin) omalle koneelle.

from uralicNLP import uralicApi
uralicApi.download("fin")

Nyt kaikki on valmista Omorfin käyttämiseksi Pythonin kautta ☺️

Suomen morfologian analysoiminen

Voit käyttää analyze-funktiota, joka sisältyy uralicApi-skriptiin analysoidaksesi taivutettujen sanojen morfologiaa.

from uralicNLP import uralicApi
uralicApi.analyze("hattunikin", "fin")
>> (('hattu+N+Pl+Nom+PxSg1+Foc/kin', 0.0), ('hattu+N+Sg+Gen+PxSg1+Foc/kin', 0.0), ('hattu+N+Sg+Nom+PxSg1+Foc/kin', 0.0))

Hattunikin-sanamuodolle Omorfi löytää oikeat luennat hattu-sanan sekä yksikön että monikon nominatiivina ja yksikön genetiivinä. Analyysien perässä olevat nollat ovat painoja, joita ei ole tällä hetkellä toteutettu Omorfissa, joten ne voi jättää huomioitta.

Suomen morfologian tuottaminen

Omorfilla voi myös tuottaa morfologisia muotoja sanoille, eli toisin sanoen, sitä voi käyttää sanojen taivuttamiseen esimerkiksi sijamuodoissa sekä aikamuodoissa.

from uralicNLP import uralicApi
uralicApi.generate("hattu+N+Sg+Abl", "fin")
>> (('hatulta', 0.0),)

Esimerkki taivuttaa hattu-sanan oikein ablatiivisijaan. Voit käyttää analyze-funktiota eri sanamuodille nähdäksesi, missä muodossa morfologiset tägit pitää antaa taivuttimelle.

Jos satut olemaan kiinnostunut kokonaisten lauseiden taivuttamisesta yksittäisten sanojen sijaan, kannattaa katsoa syntax maker -postaustani.

Älä unohda viitata

Jos satut käyttämään Omorfia ja UralicNLP:tä tieteellisessä julkaisussa, niin muistathan viitata niihin. 🙂

UralicNLP:n viite

Hämäläinen, Mika. (2019). UralicNLP: An NLP Library for Uralic Languages. Journal of open source software, 4(37), [1345]. https://doi.org/10.21105/joss.01345

Omorfin viite

Pirinen, Tommi A ; Listenmaa, Inari ; Johnson, Ryan ; Tyers, Francis M. ; Kuokkala, Juha Open morphology of Finnish, (2017) PID: http://hdl.handle.net/11372/LRT-1992