NaNoGenMo / 2019

National Novel Generation Month, 2019 edition.
98 stars 5 forks source link

Intention to submit the Newer Testament #12

Open dhasenan opened 4 years ago

dhasenan commented 4 years ago

I'm going to be rolling with a project based on the Christian Bible. Tentative plan is a Markov model to string whole verses together, then use a thesaurus to mutate that result further. Probably something to fix up punctuation too.

Simple and straightforward, and a concept that can be applied to a wide range of texts (as long as I define a method for splitting them up).

Stretch goals:

https://github.com/dhasenan/newer_testament

LuRsT commented 4 years ago

Will it be based on the bible but with nonsense sentences, or something resembling the bible with sense?

I love that you have stretch goals :D

dhasenan commented 4 years ago

Each verse in the output is currently a modified version of a verse in the input. I tried using a per-word markov chain, but that produced rather terrible results, as you'd expect. And I tried a per-verse markov chain, but pretty much every verse is unique, so there was only one path through the chain.

Currently, I take each verse, assign a theme (which is just a suitably uncommon non-name word that appears in it), and train the Markov chain based on sequences of themes. There are enough common themes across verses that that mixes up the input nontrivially, but a verse is a large enough chunk to keep things locally sensible.

greg-kennedy commented 4 years ago

I see your repo was updated until Nov 25th, but no output? Did you make 50,000 words?

dhasenan commented 4 years ago

I did in fact make 50k words. I wanted better, but it's at least more interesting than for a in $(seq 1 50000); do echo "word!" >> book; done.

https://github.com/dhasenan/newer_testament/blob/master/web-nt-narrative-small%20big-gen.epub