Somewhere on a server, poem.exe loops endlessly

poem_exe

Are humans always the best artists? Art made by bots — like these automatically generated landscapes and robot poets like poem.exe — makes me wonder.

After being given a set of instructions (more on that later), bots like poem.exe, Guardian Haiku and pentametron either extract poetry from existing text or generate it from scratch.

By analyzing tweets written in iambic pentameter then retweeting them in rhyming pairs, pentametron ‘writes’ mined, decontextualized poetry, the likes of which you’d not expect to see anywhere.

pentametron

It’s like an algorithmic version of the Burroughs-popularized cut-up technique — cannibalizing other works and jumbling the output to create a couplet that would have otherwise never have been written.

Another bot that strips lines from a source and recontexualizes them is Guardian Haiku, built to find and publish accidental haiku’s on The Guardian’s website.

 

But perhaps the most interesting type are the ones that create poetry from scratch, not just by grabbing text from particular sources. That’s where poem.exe comes to the forefront.

How poem.exe works

As you can see if you scrutinize the stream, poem.exe doesn’t write original lines of poetry all alone. In fact, it’s fed a huge library of existing haikus that it breaks down into separate lines and calls on a random selection when it needs a line of a certain character count.

Unlike you might expect, it doesn’t stop there. Looking into the actual code, you’ll notice poem.exe has a set of criteria for what it’s allowed to tweet in what season. Exactly like traditional haiku, it’s seasonal poetry.

Commented in the source code:

“TEMPORAL TESTS:
Poems may be accepted or rejected based on which seasonal references they contain, if any. These are mostly based on the Japanese kigo (words or phrases associated with particular seasons in Japan).
The seasons have been reduced to two: summer-winter and autumn-spring.”

Taking any input of a random haiku line, before adding it to the current tweet, poem.exe will detect whether it’s appropriate by rating its seasonality as strong or weak.

The coder first learned the common seasonal haiku themes, then taught the bot to distinguish between them with this block of code:

SEASON_WEAK_MATCH = [
# summer-winter
%r{
\b(bath|beach|bicycle|bike|cicada|cycl|cuckoo|field|
heat|hot|ice.?cream|iris|jellyfish|lilac|lotus|
meadow|mosquito|naked|nap|nud[ei]|orange|rain|
siesta|smog|snake|sun|surf|sweat|swim|waterfall)
|
\b(chill|cold|fallen.*lea[fv]|freez|frost|ic[eyi]|
night|orchid|oyster|smog|snow|white)
}x,

# autumn-spring
%r{
\b(age|apple|brown|cricket|death|die|evergreen|
fall\b|grape|gr[ea]y|harvest|insect|iris|
lea[fv]|melanchol|mellow|moon|night|old|peach|
pear|persimmon|ripe|scarecrow|school|sorrow|
thunder|typhoon)
|
\b(blossom|cherr[yi]|flower|frog|haz[ey]|heather|
lark|lilac|mist|nightingale|peach|popp[yi]|
sunflower|sweet|warbler|warm|wildflower)
}x,
]

From that, the criteria is obvious. Categorize any line that contains ‘snow’, ‘jellyfish’ or ‘field’ into summer-winter. Anything about mist, heather or nightingales goes into autumn-spring.

Depending on the current month, poem.exe reacts by filtering its input lines so it doesn’t post anything inappropriate. Aww.

For a readme and well commented code that you don’t have to be a coder to understand, see the GitHub repository here.

What’s next? Procedurally generated TV shows with algorithms that decide humor, depth, and intrigue?

Looking at the amount of procedurally generated worlds in video game design today, is it possible in the future that all of our entertainment could be procedurally generated?

How will that change criticism of it?

Spotted on reddit:

“Had it been a written by a person I would be thinking – is this deep or pretentious? Fine line? not sure. But because it’s generated we know it’s neither, or rather, the onus is squarely put on the reader to interpret how they wish and go as deep (or not) as they like since we know the author had no specific meaning or intent in mind.”

A quick honorable mention — a bot called ROM TXT that scours video game roms for text output (like on-screen messages and dialog) and pieces them together. A gem from Ghostbusters on the NES:

And Aero Fighters:

Jesus Christ, this thing is truly one of my favorite bots ever created.

Space landscape-obsessed dreck penman. Appears on TechCrunch, The Next Web, and on Secret Cave in a far less restrained capacity.