Markovify.jl
Generování náhodného textu na bázi textu trénovacího.
V této sekci jsou popsány důvody, které vedly ke vzniku tohto balíčku. Konkrétní funkce jsou zdokumentovány v oddílu Library, konkrétně Public Documentation a Internal Documentation.
K čemu tento balík slouží
Hlavním úkolem tohoto balíčku je nabídnout kladnou odpověď na otázku: "Může nějaký program vyloudit úsměv na tváři?" — a to i z jiného důvodu, než je kvalita jeho kódu. Konkrétně se jedná o co možná nejobecnější implementaci Markovových řetězců, sloužící ke generování náhodného textu jakéhokoliv rozsahu na základě vstupních dat.
Pár správných textových souborů a tento balíček je vše, co vám stačí ke generování jmen, náhodných slov, vět, i delších textů, a to v jakémkoli jazyce. Balíček je navrhnut tak, aby se dal použít na co možná nejširší škálu problémů.
Moduly
Balíček exportuje dva moduly, Tokenizer a Markovify.
Modul Markovify.Tokenizer slouží k rozdělení jednolitého textu na menší části, takzvané tokeny. To je nutné proto, že modul Markovify umí pracovat právě pouze s polem polí takovýchto tokenů. V modulu se nechází několikero funkcí, které lze skládat a které nabízejí různé způsoby rozkládání textu.
Modul Markovify dovoluje uživateli vytvořit Model
, který reprezentuje Markovův řetězec. Pomocí modelu je pak možné generovat náhodný text, který sdílí s původním textem určité vlastnosti: většinou poměr znaků a délku slov/celků. Princip funkce je konkrétně popsán v oddílu Popis principu funkce. Lze nastavit i řád modelu a tak regulovat, jak moc se bude generovaný text podobat tomu původnímu.