Character Name Generator for Creative Writing in LuaTeX

Vít Novotný

Zpravodaj Československého sdružení uživatelů TeXu (2023)

  • Issue: 1-2, page 3-38
  • ISSN: 1211-6661

Abstract

top
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.

How to cite

top

Novotný, Vít. "Nápadovník jmen pro tvůrčí psaní v LuaTeXu." Zpravodaj Československého sdružení uživatelů TeXu (2023): 3-38. <http://eudml.org/doc/299111>.

@article{Novotný2023,
abstract = {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í.},
author = {Novotný, Vít},
journal = {Zpravodaj Československého sdružení uživatelů TeXu},
keywords = {tvůrčí psaní; trie; jazykové modely; LuaTeX; Lua; expl3; xparse; creative writing; trie; language models; LuaTeX; Lua; expl3; xparse},
language = {cze},
number = {1-2},
pages = {3-38},
publisher = {Československé sdružení uživatelů TeXu},
title = {Nápadovník jmen pro tvůrčí psaní v LuaTeXu},
url = {http://eudml.org/doc/299111},
year = {2023},
}

TY - JOUR
AU - Novotný, Vít
TI - Nápadovník jmen pro tvůrčí psaní v LuaTeXu
JO - Zpravodaj Československého sdružení uživatelů TeXu
PY - 2023
PB - Československé sdružení uživatelů TeXu
IS - 1-2
SP - 3
EP - 38
AB - 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í.
LA - cze
KW - tvůrčí psaní; trie; jazykové modely; LuaTeX; Lua; expl3; xparse; creative writing; trie; language models; LuaTeX; Lua; expl3; xparse
UR - http://eudml.org/doc/299111
ER -

References

top
  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. (1997) MR3077154
  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. (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., 10.1109/TASSP.1987.1165125, IEEE Transactions on Acoustics, Speech, and Signal Processing. 1987, roč. 35, č. 3, s. 400–401. (1987) MR0642901DOI10.1109/TASSP.1987.1165125
  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. (2023) 
  7. Ierusalimschy, Roberto, Programming in Lua, 4. vyd. Lua.org, 2016. ISBN 978-8590379867. (2016) 
  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. (2020) 
  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. (2007) MR2371990
  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. (1999) MR1489972
  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. (2023) 
  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. (2023) 
  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/. (2008) 
  14. Rabin, Michael O., Scott, Dana, 10.1147/rd.32.0114, IBM J. Res. Dev. 1959, roč. 3, č. 2, s. 114–125. (1959) MR0103795DOI10.1147/rd.32.0114
  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. (2020) 
  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. (2012) 
  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/. (2017) 
  18. LuaTeX development team, LuaTeX Reference Manual, [online]. CTAN, 2023-04-06 [cit. 2023-04-17]. Dostupné z: https://ctan.org/pkg/luatex. (2023) 
  19. Sojka, Petr, 10.5300/2019-1-4/73, Zpravodaj CSTUGu. 2019, roč. 29, č. 1–4, s. 73–86. ISSN 1211-6661. Dostupné z DOI: 10.5300/2019-1-4/73. (2019) DOI10.5300/2019-1-4/73
  20. Sojka, Petr, 10.5300/2020-3-4/118, Zpravodaj CSTUGu. 2020, roč. 30, č. 3–4, s. 118–126. ISSN 1211-6661. Dostupné z DOI: 10.5300/2020-3-4/118. (2020) DOI10.5300/2020-3-4/118
  21. Čapek, Karel, Dášeňka čili život štěněte, 1. vyd. Fr. Borový, 1933. (1933) 

NotesEmbed ?

top

You must be logged in to post comments.

To embed these notes on your page include the following JavaScript code on your page where you want the notes to appear.

Only the controls for the widget will be shown in your chosen language. Notes will be shown in their authored language.

Tells the widget how many notes to show per page. You can cycle through additional notes using the next and previous controls.

    
                

Note: Best practice suggests putting the JavaScript code just before the closing </body> tag.