Source text on which the neural net is trained: MITPressDRAFT
After cleanup total chars: 61
Corpus length: 421183
Read a screen where code is rapidly producing poems.
Find a path through the words: construct a poem from machinic intuition.
The following recreates a performance made at
the Electronic Literature Organization conference
in Bergen, Norway on Aug. 4th 2015.
Technical process: the following poems were produced using a 10,000+ corpus of poems used as templates. Each poem has been sent to Alchemy API to produce entity-recognition, POS, and sentiment reports. That analysis influences replacement algorithms. Replacement uses NLTK synsets and Pattern.en and a reservoir of words found in the corpus that do not have synonyms.
In short, 10000 poems are
transformed by algorithms
into millions of poems
at an extremely rapid rate.
The reader must then
find a way to convert this
spew into spoken word.
Loss Pequeño Glazier is celebrating the 20th anniversary of the Electronic Poetry Centre along with Charles Bernstein, cris cheek, Tony Conrad, Steve McCaffery, Myung Mi Kim, Tammy McGovern, Joan Retallack, Laura Shackelford, Danny Snelson, Dennis Tedlock, Cecilia Vicuña, Elizabeth Willis, & Wooden Cities with Ethan Hayden. Along with exhibitions by: “Abra” (Amaranth Borsuk, Kate Durbin & Ian Hatcher); Pry: iPad-based Novella (Samantha Gorman & Danny Cannizzaro); “Enter:in’ Wodies” (Zuzana Husárová & Lubomír Panák) & myself. http://epc.buffalo.edu/e-poetry/2014/EPC-at-20/
So I made a future-feature film of a computer writing in real time
Spreeder (approx. output 8,100 poems; 2 hour-long real-time episodes).
Implemented in Python with Alchemy API, NLTK and pattern.en
Using Python (Anaconda), NLTK, WordNet, Alchemy, pattern.en, and pyenchant
to analyze and perform word replacement
on a corpus of 10,119 poems scraped from the PoetryFoundation
and generate 7,769 poems in approx. 2 hours and 30 minutes.
This is a real-time hour-long screen-grab output
of the trace window in SublimeText
as the poetry-gen program runs.
And here is another episode of “Crawling Toward Creeley” (in this episode: a variation on the ‘Gnomic Verses’ generated then modified)
Markov chains are one of the traditional tricks in the NLP playbook. They are the apple pie-chart of text-generation.
Basic process: given a source text, find words that are neighbours, if you know the neighbours of a word, you can form a chain if you wish. [(“you”),(“know”,”can”,”wish”)] and reconstruct a text which contains pairs (bigrams) from the source.
The result is an example of what Charles Hartman might refer to as newbie-augmented-cyborg-poet (dead simple technically, but satisfying artistically since the volume of generated texts from which new verses can be hand-crafted is massive). This sort of auto-suggest based-upon-a-corpus technique radically shifts the dimensions of creativity: in the first ‘modified’ example I edited the output, adding words, disguising some obvious quotations from Bernstein, truncating verses, changing lines, modulating rhythms. In the raw output below, it’s just the computer (fueled by Bernstein’s berning phrases), it could go on infinitely given a large enough corpus.
Poetry is both the easiest and the hardest to generate. Since non-linear deflections and word-riffs are an aspect of contemporary poetry, slamming together ripe fertile conjunctions is easy. Migrating toward a sensitive, complex, experiential and contextual lived poetry is the real challenge (I didn’t even begin to touch it here).
what is there if
An exit is as
clear as dead.
Billboards poster our losses.
Better a barber
than a thousand one-line
I think I have begun to develop a mild form of insanity that often strikes those who fiddle around with computationally-generated text. After reading thousands of lines of dense incomprehensible gibberish it clarifies and makes sense, often more sense than any mere linear thought. The brain acclimatises to syntactic pressure.
Recipe for mildly insane word-salad:
Mix all ingredients together using replacement algorithms.
To read 10116 poems (simple style) (in a single 24-mb html page) generated in 10356.4216051 seconds (2.87 hours, 3612pph [poems per hour], 60 ppm [poems per minute] ) on 2014-08-14 at 02:54 click here
Read the RAP Reservoir: 33,150 words extracted from 56k user-input rap songs that did not return any usable results from a WordNet synset search. If you are looking for the evolution of language that occurs through mutation (typo, mispells, pop-cruft) this is it.
Words disconnected from their primary communicative intent operate as lesions/lessons within the psyche.
Today, I generated another 10120 poems using a very mild modification of the alchemy-synset algorithm with the average word-length constrained even shorter. Speed decreased to 64 ppm poems-per-minute. This reduction in word-length seems (to me) to make some of the absurd illogical elliptical generated fragments seem a bit more legible, taut, elusive and rare. It comes at a cost of coherence. The output reads like Robert Creeley in the process of becoming Samuel Beckett in Gertrude Stein’s gut.
To read 10120 poems (simple shrink-gapped style) (in a single 20-mb html page) generated in 9500.10482717 seconds (2.63 hours total, 3847 poems per hour, 64 ppm, poems-per-minute) on 2014-08-04 at 12:02, click here
Let me give a robot agingAnd as it rains tag the sun with ‘almost’while within the green foga tree that is a dotSoftly opens after the burn.………Gaza maskedas me maskedeach heavy’s heart outcrying at halo’s burialmaking a meal of soilthe city a scar…..enthusiasm’s ice. We haveWalked on the bore all nite.Now in the lightWe exchange smells and snot.By dawn we will have buried our lackAnd glued wet to the army of being.…………
I can’t stop. It’s addictive. The ceaseless generative churn. It’s like planting seeds that germinate and blossom as you watch, then goto seed, ripen fall germinate ripen fall germinate, fields filling space to the horizon, blocking out both sun and moon, and again….
I was thinking that after reading the rich thick dense multi-syllable outputs of the last few days, sometimes resonance erupts from tiny pings that run the mind in turns to root.
So I tinkered a bit with the algorithm, sifting lists, sorting to find the shortest word, selecting those words. Seeded in with the rap reservoir (misspelled gheto slank). And let it fly.
Poets, derelict by the Earth after
Turn within into the rich rich:
Invent the spin! forge the trope!
I genetic dawn, mourning …
and I can dock my pity and my bread.
“hard, but not this “hard,
Her face is ughh with document and Dismasters
with feed and madcap rue …closely let her own worms
without holes or end
she stand laudry in the ruin of her hints
and a man with an executioner’s face
pulls her away.… the sever lip, how songs burnhis burn out eye
sewed shut concerning the cry plow
louder than life
the veil warn, the watch nip
of a hills child’s mar body
fingered by street-corner eye
bruise into hard jam
and as long as I look that grief
I knowing to be at home with children’s takes
with late riot
with picture of 67th tame bod
used, bent, and toss
lying with the walk react
like a trick woman’s face.
Violet as veins are, love knows where.Fine coral as the shy and wild tonguetip,Undersea coral, rich as inner lip.There was a stone to build on!Friezes ranIn strong chorales that where they closed began;And statues: each a wrung or ringing phraseIn the soul’s passionate cadence of her days.
Sometimes half drunk, after a word at cards,
with the grey dawn film mushroom unaware
among our shock thow and queen, we drove
far N in the dawn, loser, losers,
to a flow in the mob tor, to rise up to a place
Surely decent is no more Spead estatein the bod of Toca than that at whichpoetry fit with the skitso skypager
Based on ‘Fanny’ by Carolyn Kizer
I come home to a grow world: cacao, dish squash.
The squash speaks was act, and act, dillz blue.
The spirit spirit spirit spirit off the spirit cat’s toe.
They naw the sedgy who blow in the action.
It is in slow tone that they rap of rap
They rock their head, not here, after the meal
Walking eyes to the anymore, while a home Snow
That has play soft, ugly from ugly
Falls into street that are hang slushy.
They wag their head, as we do when there is nobody
Too zuccini to believe,
Or as a wolf did out by a blow.
And the put farm yellow
painting all of them
on spatter top most
with an ocher stir
Rows and row and row and row
of fair pit slab
tilted concerning the concerning sire
Based on John Donne “The Bait”
come and be my dear,
And we will some dear choice be
Of anagogic Sand, and Sexton,
With ovate rim, and free hook.
This homage is really to Creeley
The code is now at a stage where if I set it to loop and sent the 57k rap songs I have in archive from ohhla to alchemy, I could generate, an unfathomable amount of unreadable crap (also known as c-rap: computational rap).
But I think I have come to the end of the synset road. Next step is to investigate Theano: Unsupervised learning, deep neural nets. Perhaps transition to Python 3.0 unicode. It might take 6 months to find the concentrated time. Until then, I am on hiatus. Got a book to write. By hand.
My opinion: In spite of all the machine learning hype, computers are a long way away from independently generating credible connected contextual intuitive experiential poems or stories capable of emotional or conceptual cathartic impact. The process will in the near-future (10 years) require extremely creative and intuitive data science-artists to find the statistical-sculptures within the mountain-ranges of data fountaining from networks. It will be rich and exciting work to chart and out and develop classifiers trained on huge datasets which then generate simulacra of the writing they have ingested.
In the longterm, all serious writers will use computational assistants to suggest and enhance and refine linguistic creativity. And eventually, writing itself will vanish, artists will simply edit dreams and notions, and networks will drink and translate those dreams into user-specified formats. At that point poetry will become a mode of listening, as it is now, receptive, open, crouched down amongst the wind.
Shoutout: for an informed perspective on poetry-generation, see Gnoetry.
As a parting salvo, I did a very rough generation using templates based on lyrics by : 50 Cent, A Perfect Circle, Abba, Acdc, Alkaline Trio, Bob Dylan, Bob Marley, Counting Crows, Cranberries, David Bowie, Deep Purple, Dragonforce, Evanescence, Everlast, Frank Sinatra, Helloween, Guns ‘N Roses, Jimi Hendrix, Linkin Park, Nick Cave & The Bad Seeds, Patti Smith, Paul McCartney, Pink Floyd, Placebo, Radiohead, Ramones, Red Hot Chili Peppers, Rolling Stones, Scorpions, Suicidal Tendencies, System of a Down, The Beatles, The Blues Brothers, The Clash, Tom Waits, and U2.
4,704 new computer-generated song lyrics just waiting for machine-generated melodies, a robot to sing them and another robot to weep or dance. Read them here.
The first stanza of 50 cent‘s I’m gonna be alright rewritten:
I anit be the contraindication you beam after you scuff your deplume The syllogize you have the heroism to face your reverence The indication ii carat in each your cauliflower ear I gotta with the card I providence How upsidedown similar the pour, goal-kick, landrover, squirrel cage establish somethin 44 descend off ne'er dig is yours and yours is dig So when I polish you refulgency fist and precise the bubbly, we can wassail to lifetime dogshit hold in Lope de Vega, you can flip the four-spot lease your corporatist catch you disordered plead 36 badly update I want Damm in my esprit mother's daughter i' too well to informal
The final stanza of Bob Dylan‘s Blowing in the Wind rewritten:
How few school year can a volcano breathe Before we's gargle to the ocean? no, how few annum can some nationality dwell Before you're grant to be unoccupied? no, how few prison term can a crew move around his school principal, suspect he just project? The urim and thummim, my Quaker, is in the wind up, The tide over is in the wreathe.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
I’m beginning to understand the exultation of spam-lords, the rapturous power narcotic that arises from watching thousands of words of perhaps-dubious quality arise & spew in a rapid unreadable scrawl across a screen.
Beyond semantics, words like sperm procreate incessantly in abundant sementics. Quality in this inverted world is a quantity.
On the technical side: today, I fixed the repetition hatching; used pattern.en to correct articles (like ‘an’ or ‘a’) and conjugate correct verb participles (as in ‘I’m walking home…’); and created FAKE_authors (because who wants to read a poem written by a bot…unless it’s good, which these poems are not yet).
It all took much longer than anticipated.
The poems are now output in hourly batches:
Here’s a weird sample:
Body The New Road: Clark
by Anthony Lazarus
hold.hold back. expect.look forwardkick one’s heels.kick one’s heels an i kick one’s heels.
kick one’s heels.
hold off.look.look to.stand by.kick one’s heels.
Wait.Wait.Wait.Wait. Wait.Wait.Wait.W a i t.Wait.Wait.Wait.Wait.Wait.Wait.
[ A generated-poem based upon: Lyell’s Hypothesis Again by Kenneth Rexroth]
Nest Girl: Allergic Tales Dogs Bottom Kill Toucan Life
by Johannes Mackowski
An attack to excuse the latter transition of the Earth’s rising up by mutagenesis Now in functioning
caption of Lyell: caveat emptor of Geology
The ben clearway tight end on the QT,
Broken dust in the abyss where
The viaduct lave out days agone. Continue reading