About /r/DeepAnimePlot
What is r/DeepAnimePlot?
r/DeepAnimePlot is a subreddit for posts generated by a bot that I developed called the Deep Anime Plot Generator, which automatically generates summaries that are often nonsensical, but hilarious. The source code is available on GitHub here.
Although partially inspired by r/SubredditSimulator, there are a few differences. First, unlike r/SubredditSimulator, this subreddit is meant to be interactive. You cannot create new posts, but you can upvote and comment. Please upvote the plot summaries you like, and please comment on them with your thoughts! I want to develop a community that laughs at these absurd summaries together, draws connections to real shows, and maybe even takes a few stabs at good plotlines derived from the bot's posts! Second, the posts are generated by a Recurrent Neural Network (RNN), which are more advanced than Markov Chains, but follow the same idea of learning word/character statistics from real data.
Aren't there plot generators already available on the internet? What makes this one so good?
It's true, there are several plot generators out there, and they tend to give you something that actually makes sense. However, they are quite clearly templated, i.e. they give you a plot by filling in a template with a word bank like Mad Libs. Even this one, which looks impressive at a glance, just fills in one of several HUGE templates; run the short story generator a few times and you'll see what I mean.
In contrast, this bot uses NO templates whatsover; it's generating content purely from frequency statistics. Also, the point here isn't to produce sensible summaries; in fact, it's really the opposite. The bot does a decent job of sticking small cliche bits together, but has absolutely no sense of continuity, which is really endearing in a way.
What are RNNs?
An (artificial) neural network is essentially a really complex mathematical function composed of a lot of simple functions. The whole function is determined by a set of weights that can be learned from a large set of examples (usually we're talking hundreds of thousands or millions). An RNN can model sequences of varying length because they generate an output (e.g. a character) given the sequence of previously generated outputs; this idea also applies to Markov Chains. But unlike Markov Chains, which assume by definition that the current output only depends on a finite number of previous outputs, an RNN keeps a representation of all previous outputs, which makes them more powerful under appropriate conditions.
For a good technical explanation of RNNs, I recommend the one on Andrej Karpathy's blog, The Unreasonable Effectiveness of Recurrent Neural Networks.
How did you train the RNN for this subreddit?
The RNN I used is a character-level RNN, so it creates text one character at a time. To train this model, I scraped plot synopses from MyAnimeList, then used torch-rnn to learn the weights for the RNN.
Publishing logistics
u/everyotaku4free (named after the deceased everyteenager4free Tumblr) is the bot that publishes new plot synopses. As of this writing, it publishes every 15 minutes, which should be high enough to produce fresh content, but low enough to not sweep away good posts. I will try to adjust the rate as necessary and keep the sidebar information up-to-date.
Questions?
Feel free to discuss general stuff in this thread. Please direct personal questions and comments to me, u/roan_wolf, not the bot, u/everyotaku4free. Messages sent to the bot will probably not be answered.
Thanks for visiting, and enjoy!
Posted Dec 20, 2016, 4:02 PM UTC · edited