Have you ever tried using the predictive keyboard on your smartphone to generate completely nonsensical messages, based on the words it considers to have the highest probability of following each other? A mischievous member of Botnik Studios, an online artist collaboration, just used a similar technique to write part of a new Harry Potter novel — with hilarious effect.
The predictive text generator used to write the story was trained on the seven previous Potter books. From this, it analyzed frequent recurrent word pairings and sentences to come up with text that is a weird mix of algorithmic randomness and something that, frankly, still reads a bit like J.K. Rowling may have penned it.
Titled Harry Potter and the Portrait of What Looked Like a Large Pile of Ash, the story is every bit as weird as you might imagine. A Death Eater wears a shirt reading, “Hermione Has Forgotten How To Dance,” Harry falls down a spiral staircase for an entire summer, and Ron does a tap dance and then tries to eat Hermione’s family. None of it makes a lick of sense, but it’s a whole lot of fun — and genuinely creative in a way that mixes human smarts with artificial intelligence.
This isn’t the first time computer scientists have used artificial intelligence to try and generate new Harry Potter stories. Last year, we reported on one attempt to generate new Hogwarts-related stories using a long short-term memory recurrent neural network trained on the series’ first four books.
Even more significantly, when Rowling was outed as the author of the detective novel The Cuckoo’s Calling a few years ago — writing under the pen name Robert Galbraith — computer scientists cracked the mystery in a very similar way to Botnik’s story generator: by analyzing the text based on frequent word pairings and the like. In the aftermath, Rowling admitted that she was the author.
If you are interested in finding out a bit more about Harry Potter and the Portrait of What Looked Like a Large Pile of Ash and the predictive text program used to generate it, check out this page on GitHub, where it is freely available to inspect.