The tool NLG tool for Finnish by Mika Hämäläinen
Syntax maker is the natural language generation tool for generating syntactically correct sentences in Finnish automatically. The tool is especially useful in the case of Finnish which has such a high diversity in its morphosyntax. All you need to know are the lemmas and their parts-of-speech and syntax maker will take care of the rest.
For instance, just throw in words rantaleijona
, uneksia
, korkea
and aalto
and you will get rantaleijonat uneksivat korkeista aalloista
. So you will get the morphology right automatically! Don't believe me? Just take a look at this tutorial to find out how.
Run
pip install syntaxmaker
python -m uralicNLP.download -l fin
An example for generating a sentence in Finnish:
from syntaxmaker.syntax_maker import *
vp = create_verb_pharse("antaa")
subject = create_phrase("NP", "hevonen", {"NUM": "PL"})
dobject = create_phrase("NP", "lahja", {"NUM": "PL"})
dobject.components["attribute"] = create_phrase("AP", "mahtava")
dobject.components["attribute"].components["attribute"] = create_phrase("AdvP", "erittäin")
indobject = create_phrase("NP", "lehmä")
vp.components["subject"] = subject
vp.components["dir_object"] = dobject
vp.components["indir_object"] = indobject
print(vp)
>> hevoset antavat erittäin mahtavia lahjoja lehmälle
Go to Creating a sentence, the basics for a quick start guide.
A good source of example code with the expected output can be found in the Travis test file.
Don't forget to read the Wiki for more instructions.
If you use Syntax Maker in any academic publication, please cite it as follows:
Hämäläinen, Mika and Rueter, Jack 2018. Development of an Open Source Natural Language Generation Tool for Finnish. In Proceedings of the Fourth International Workshop on Computational Linguistics of Uralic Languages, 51–58.
Just go ahead and take a look at the wiki or my blog post about Syntax maker.