I’ve tweeted a bunch about this project, but talked about it less on my blog: for a while I’ve been working on a followup to Annals of the Parrigues called Parrigues Tarot, a system that generates tarot card descriptions like these:
Though it might seem similar, this was actually a much more difficult and extensive project than Annals of the Parrigues, for several reasons.
First, it’s doing more work with narrative arcs. Many (though not all) cards are built around the idea that the protagonist wants something and takes some action to try to achieve it (or else fears something and takes action to try to avoid it). The chosen action either succeeds or fails, with some results.
Not all of that story has to be represented explicitly in the card description: indeed, the fact that these are nominally descriptions of static images was a little limiting, because I tried to only describe things where an action and its consequence could be pretty clearly implied visually. Meanwhile, sometimes the story can include additional information — why does the protagonist need money in the first place, for instance? But centering the story generation on an action and a desired outcome gave the output more consistent narrative potency than various other constructions I tried.
Finally, the system uses much less random content and requires much more salience of its symbols: if it mentions a lion, or diamonds, or the color blue, there’s usually some underlying tagging that makes those elements relevant to the meaning of the card.
The system is also able to do some quirky variations, like “find a node expansion that matches the current world state except it should be opposed along one axis” — useful for finding an opposite for something already pictured: a thief to go up against a virtuous judge, say.
But maybe the biggest difference is simply down to the nature of the medium. The Annals are, and are expected to be, repetitive, with modest amounts of new information per entry. A tarot card is expected to be compact and evocative with high information density.
In addition to trying for more complicated output, I was working more with actual metrics, trying to define in some repeatable way what made for good, juicy compositions and what didn’t. After Annals of the Parrigues, I talked about the idea of trying to measure the amount of memorable/striking/unique content (aka the venom principle) in generated sentences.
In Parrigues Tarot, I have the generator actually enforce that by refusing to pick more than one rare or two uncommon words in a given production. The generator also collects metrics about salience and “bloat” — how many words are being used, relative to how much semantic content — which can be used to tune the results.
The current version of Parrigues Tarot — a PDF containing multiple deck generations and a draft discussion of the process of building the generator — is available here. It needs a bunch of work! The discussion matter in particular should really be extensively rewritten. But if you’re interested, you can see where it is now. (This is the same version I’ve tweeted about, so if you already looked via Twitter, you will not find anything new by looking again.)
Unlike Annals of the Parrigues, Parrigues Tarot was not meant to be run once only: part of the point was to try to build a system of sufficiently resonant images, and sufficiently compelling ways to combine images, that it would continue to kick up interesting effects time after time. I also wrote a feature that would draw a few cards from the generated pack and then also generate a reading based on these.
So really, Parrigues Tarot ought to be a web-accessible generator, not a PDF of some text. I know this. However, I’d need to fix some bugs and optimize a bunch to make that a good experience, and I don’t have time right now. So for the moment, this is what’s available. I’m posting it now in part because I’m at ICCC and it’s come up in conversation.