So for the last few months me and James have been building a robot. We’ve been planning something like this for a while – using computers to write things. Originally we were going to create a machine to write bad slash fiction, but ended up building a poetry robot instead. The slash fiction machine may still arrive however – watch this space! It’s taken us a while as we’re both fairly busy / lazy / distracted, but last night we took MechaPoet 1.1 out for her first public performance.
James took on the programming side, which is the challenging part. The main thing we wanted to get MechaPoet to do was to write poetry that rhymes. As someone who gets a bit sketchy and stressed out when I hear a lazy rhyme (part of the reason that I gave up rhyming altogether a couple of years ago), it might sound like quite a contrary request, but I think it gives a real shape to what MechaPoet comes out with, and makes the leap from the sort of Avant-Garde poetry that looks like an arbitrary list to the sort of semi-avant-garde-rhyming-doggerel that can be all too familiar to someone who goes to enough poetry nights. What was surprising was what eventually came out – sometimes, poems that are genuinely quite moving, and which contain some remarkable and surprising images.
I don’t know the technical details too much, and I’m sure James will be writing about that side of the MechaPoet, but essentially it’s based on a modified Markov Chain, which breaks down the structure of the text we feed into it, finds words and phrases that work together, and then string them together into a 12 line poem, which it converts from text to voice and then recites. It’s interesting how different the results are depending on what you feed into it. We started out with the complete text of my tweets and James’ tweets, complete with the full text of American Psycho (which James just happened to have in a text file on his desktop), and added in Shakespeare’s sonnets and about two thirds of Jurassic Park. What was especially startling is that when you run Mechapoet with just my tweets, it reads like a slightly dischordant version of something I might have written myself – enough to make me look to my laurels!
Whilst James did the programming, I concentrated on my role as poetry consultant and robot builder, and constructed the body to hold MechaPoet together. The main body of the robot contains the essential computer works, the ‘brain’, if you will, whilst in the head is the voice and a light which causes the eyes and mouth to flash during MechaPoet’s recital.
It was great to take MechaPoet out on the road – and this is just the beginning! We’re hoping to enter her into a poetry slam next month, where she’ll be battling against real human poets – and hopefully giving them a run for their money. And after that – who knows? Is the poetry world ready for MechaPoet 1.1?
As a postscript, here’s a hot-off-the-press poem written by MechaPoet. For this one, we restricted the corpus to just Jurassic Park, which made for some interesting results. I love some of the imagery, especially the ending. We’ll have to get her to work on some more engaging titles, however.
MechaPoet’s Jurassic Park Poem
restricted lists yet.
But he knew he was dragged forward anyway.
they both walked out into the hallway.
He dropped the can back in the mud.
It’s about as big as a man; such activity implied warm blood.
We’ve been trying. We have increases in two rows along the cliff
The dinosaurs were no fish in these waters, but there it is. But if
restraining band on the advisory boards of biotech firms.
and continued around the other side of the twenty best medical systems
You said these dinosaurs must be several miles at least a possibility
It’s the only ones who could defeat the security.
From the clinic, she could see it up close.
charge a thousand dollars a dose.
snapped, when the animal shifted its ponderous bulk and then deep
tyrannosaur burst from the Jeep.
Update: I’ve now uploaded a scratchy video from one of the first field tests. We still need to work on the voice, but I think it’s a promising start.