2016
2016 copied to clipboard
Method survey 2016
List of generation methods used in NaNoGenMo 2016.
This top post shall serve as the canonical resource. Please comment below for inclusion.
The categories are preliminary and miss definitions. Any help with that is appreciated.
- Markov chains: #143, #131, #45 (with text templates and simulation).
- Text templates: #136 (iterative), #137 (iterative), #128 (recursive), #125 (recursive), #6 (with simulation), #113, #12, #8, #155 (with simulation), #128 (with recursion), #133 (with recursion), #147 (with recursion), #130 (with recursion and simulation), #114 (with neural networks and simulation), #45 (with Markov chains and simulation).
- Recursion: #128 (with text templates), #133 (with text templates), #147 (with text templates), #125 (with recursion), #130 (with text templates and simulation).
- Literary text post-processing: #139, #135, #12, #15.
- Non-literary text or data post-processing: #49 (text), #149 (tweets), #24 (dictionaries), #61 (time), #138 (tweets).
- Neural networks: #114 (with text templates and simulation).
- Simulation: #6 (with text templates), #155 (with text templates), #130 (with text templates and recursion), #114 (with text templates and neural networks), #45 (with text templates and Markov chains).
Any single project may be listed under several categories.
The list of categories is tentative (and is loosely based on https://habrahabr.ru/post/313862/). If you feel that there is no good fit for your project, please list it under a new category in the comments. Contributions of brief definitions for any category are also welcome.
I, #128, was recursive text templates.
#6 is text templates plus simulation
Literary text post-processing: #139 #135 #12 Non-literary text post-processing: #49 Text templates: #113 #12 #8
Text templates (with a small amount of recursion): #125 Markov chain: #143
#131 Markov Chains
#155 text templates and simulation
@dranorter, @serin-delaunay Do you think that the "recursive" part in "recursive text template" is important?
NB: That's a serious question, not trolling. I am not sure yet about how to approach the classification.
I updated the list. Many thanks for contributions! Please feel free to comment on the format and the content — and to classify more entries! :)
#149: non-literary text (tweets), post-processing
Aha! About the recursion: I just noted that there is a separate "recursion" method. I guess we do need to work out definitions here.
In https://habrahabr.ru/post/313862/ "recursion" section actually describes two separate approaches.
First is where the text consists of many shorter stories, with the end of the previous story naturally leads to the beginning of the next one. #136 uses this approach. I propose to call this method iterative text templates, as there is no "depth" in the recursion, it is used more as a literary device than as a method of text generation.
The second approach is true recursion, where the content is of a fractal nature, so to say. See Transorbital anaphase provine biforn the pure-bred synostosis as an example, which is basically a set of nested dictionary definitions, or Redwreath and Goldstar Have Traveled to Deathsgate, where two characters have a discussion about their discussion, ending up with «You want to know whether I am asking whether you are asking whether you shall tell me whether you want to know whether I believe I can answer that?»
Right; my #128 is making a point of having several types of "true recursion;" sub-quests, locations within locations, and stories within stories.
[...] or Redwreath and Goldstar Have Traveled to Deathsgate, where two characters have a discussion about their discussion, ending up with «You want to know whether I am asking whether you are asking whether you shall tell me whether you want to know whether I believe I can answer that?»
Nice! I wish I had thought to include that!
#133 and #147 used text templates and recursion.
I didn't mean to distinguish recursive and non-recursive text templates as methods; recursion was one of the methods listed, and I found it unclear what it meant as a method. Since a few of the templates used in #125 were recursive (primarily object lists, usernames, and passwords), and since fortunes are told for children, grandchildren, and great-grandchildren using recursion, I thought it might be appropriate to list #125 under recursion as well as under text templates.
It would look cleaner to just list the recursive template examples under "recursion". Though I'd like to know what other sorts of recursion might be used. A train, generate, train, generate, train loop? Repeated OCR of printouts of Gutenberg texts?
#130 "Text templates with recursion and simulation"
I have a tree of possible events in the story and then a recursive template that says which events to choose when creating the story. Recursion because the story follows a "goal>subquest>subsubquest" model and simulation because different events in the story affect the "world state" which can be accessed later on to generate text.
#114 used neural networks, simulation and text templates.
I used a few of these ( #45 ). "Filler" scenes were generated with Tracery or by filling in simple templates. Combat scenes were done with a simulation. Markov Chains (seeded with a large list of cities) to generate names for people and places. Didn't reference other works, unless you count the covers, which mixed and matched a few templates and PD or creative commons artwork.
#24 uses sentence similarity derived from WordNet and Corpus statistics in addition to aleatory page selection from a given set of documents; so it's two different uses/methods approaching corpora—there's probably a way better way to describe this.
#15 uses an approach inspired by the "Story Compiler".
I suppose the "Story Compiler" and its derivatives could all belong to the "literary-text post-processing" category (the actual literary-text is kept mostly unmodified, but the story compiler decides when it shows up in the story). But you could also argue that it's a "template/simulation" hybrid as well (simulating an author's mind in coming up with a plot and then plugging in paragraphs to fit that plot). I think this just goes to show how arbitrary the process of categorization can be.
Personally, I'd support listing #15 under "literary-text post-processing though", especially as no templates were actually being used.
Many thanks for the submissions, feedback and your work on the NaNoGenMo, all! I updated the issue text. Any further comments, critique and other feedback are appreciated — not to mention more submissions to this list!
- https://github.com/NaNoGenMo/2016/issues/61 is "non-literary text or data post-processing (time)"
- https://github.com/NaNoGenMo/2016/issues/138 is "non-literary text or data post-processing (tweets)"
Updated, thank you! Any more submissions? :)