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