Previous |  Up |  Next

Article

Keywords:
tvůrčí psaní; trie; jazykové modely; LuaTeX; Lua; expl3; xparse; creative writing; trie; language models; LuaTeX; Lua; expl3; xparse
Summary:
Známý výrok informatika Phila Karltona říká, že na informatice jsou obtížné pouze dvě věci: vyprazdňování cache a přidělování jmen. Své o tom vědí i spisovatelé, kteří musí kromě příběhu a světa vymyslet jména všech svých příběhových postav. V tomto článku vyvineme jazykový model, který spisovatelům umožní automaticky generovat jména postav při tvůrčím psaní v LuaTeXu. Kromě pomoci při tvůrčím psaní si představíme i další možná použití jazykových modelů v LuaTeXu, jako je automatické přepínání vzorů dělení slov podle aktuálního jazyka a generování výplňového textu. TeXnicky zaměřeným čtenářům článek poslouží jako prvotní seznámení s programovacími jazyky Lua a expl3 a s LaTeXovým balíčkem xparse pro přípravu uživatelských rozhraní.
Summary:
A famous dictum of the computer scientist Phil Karlton says that there are only two difficult things in computer science: cache invalidation and naming things. This is also true in creative writing, where authors have to come up not just with a story and a setting but also the names of all their fictional characters. In this article, we develop a language model in LuaTeX, which allows authors to automatically generate names for their characters. Besides creative writing, we also discuss other uses of language models in LuaTeX, namely the automatic switching of hyphenation patterns based on the current language and blind text generation. For the TeXnically-minded users, the article acts as an introduction to the programming languages of Lua and expl3, and also the xparse LaTeX package for defining document commands in LaTeX.
References:
[1] Knuth, Donald: 6.3: Digital Searching. In: The Art of Computer Programming Volume 3: Sorting and Searching. 2. vyd. Addison-Wesley, 1997, s. 492. ISBN 0-201-89685-0. MR 3077154
[2] Cartoon Goodies: Check out this transparent Huckleberry Hound hello PNG image. [online]. [cit. 2023-02-22]. Dostupné z: https://cartoongoodies.com/png_images/huckleberry-hound-hello/
[3] Čapek, Josef: Povídání o pejskovi a kočičce: jak spolu hospodařili a ještě o všelijakých jiných věcech. 13. vyd. Albatros, 1972.
[4] GoGEN: GoGEN Maxipes Fík: Česká značka elektroniky pro děti. [online]. [cit. 2023-02-22]. Dostupné z: https://www.gogen.cz/gogen-maxipes-fik/
[5] Katz, S. M.: Estimation of probabilities from sparse data for the language model component of a speech recognizer. IEEE Transactions on Acoustics, Speech, and Signal Processing. 1987, roč. 35, č. 3, s. 400–401. DOI 10.1109/TASSP.1987.1165125 | MR 0642901
[6] Novotný, Vít: Nápadovník jmen postav pro tvůrčí psaní v LuaTeXu: Release The latest version. [online]. GitHub, 2023-05-03 [cit. 2023-05-03]. Dostupné z: https://github.com/witiko/character-name-generator-for-creative-writing-in-luatex/releases/tag/latest
[7] Ierusalimschy, Roberto: Programming in Lua. 4. vyd. Lua.org, 2016. ISBN 978-8590379867.
[8] Ierusalimschy, Roberto, Figueiredo, Luiz Henrique, Celes, Waldemar: Lua 5.3 Reference Manual. [online]. 2020-07-14. [cit. 2023-03-10]. Dostupné z: https://www.lua.org/manual/5.3/manual.html
[9] Press, W. H., Teukolsky, S. A., Vetterling, W. T., Flannery, B. P.: Numerical Recipes 3rd Edition: The Art of Scientific Computing. 3. vyd. Cambridge University Press, 2007. ISBN 978-0-521-88068-8. MR 2371990
[10] L'ecuyer, Pierre: Tables of linear congruential generators of different sizes and good lattice structure. Mathematics of Computation. 1999, roč. 68, č. 225, s. 249–260. MR 1489972
[11] The LaTeX Project: The LaTeX3 Interfaces. [online]. CTAN, 2023-03-30 [cit. 2023-04-09]. Dostupné z: http://mirrors.ctan.org/macros/latex/contrib/l3kernel/interface3.pdf
[12] Vrabcová, Tereza: Model pro automatické skloňování českých jmen v LuaTeXu: Release The latest version. [online]. GitHub, 2023-05-03 [cit. 2023-05-03]. Dostupné z: https://github.com/xvrabcov/declension_names/releases/tag/latest
[13] Manning, Christopher D., Raghavan, Prabhakar, Schütze, Hinrich: Introduction to Information Retrieval. Cambridge University Press, 2008. ISBN 0521865719. Dostupné také z: https://nlp.stanford.edu/IR-book/
[14] Rabin, Michael O., Scott, Dana: Finite automata and their decision problems. IBM J. Res. Dev. 1959, roč. 3, č. 2, s. 114–125. DOI 10.1147/rd.32.0114 | MR 0103795
[15] Novotný, Vít, Stará, Marie: Cthulhu Hails from Wales: N-gram Frequency Analysis of R'lyehian. In: HORÁK, Aleš; RYCHLÝ, Pavel; RAMBOUSEK, Adam (ed.). Recent Advances in Slavonic Natural Language Processing. Tribun EU, 2020. ISBN 978-80-263-1600-8. ISSN 2336-4289. Dostupné také z: https://nlp.fi.muni.cz/raslan/2020/paper12.pdf
[16] Hooker, Mark T.: Tolkien and Welsh (Tolkien a Chymraeg): Essays on J. R. R. Tolkien's Use of Welsh in his Legendarium. 1. vyd. Llyfrawr, 2012. ISBN 978-1477667736.
[17] creativeblogger: Pokémon in Translation: Where Do Their Names Come From?. [online]. 2017-08-11. [cit. 2023-04-17]. Dostupné z: https://creativetranslation.com/blog-pokemon-names-in-translation/
[18] LuaTeX development team: LuaTeX Reference Manual. [online]. CTAN, 2023-04-06 [cit. 2023-04-17]. Dostupné z: https://ctan.org/pkg/luatex
[19] Sojka, Petr: The Unreasonable Effectiveness of Pattern Generation. Zpravodaj CSTUGu. 2019, roč. 29, č. 1–4, s. 73–86. ISSN 1211-6661. Dostupné z DOI: 10.5300/2019-1-4/73. DOI 10.5300/2019-1-4/73
[20] Sojka, Petr: Towards New Czechoslovak Hyphenation Patterns. Zpravodaj CSTUGu. 2020, roč. 30, č. 3–4, s. 118–126. ISSN 1211-6661. Dostupné z DOI: 10.5300/2020-3-4/118. DOI 10.5300/2020-3-4/118
[21] Čapek, Karel: Dášeňka čili život štěněte. 1. vyd. Fr. Borový, 1933.
Partner of
EuDML logo