Pythonic Poet

natural language processing • language models • neural networks • word vectors

Computer Generated Poetry

I wrote an algorithm in Python to generate 14 line, rhyming sonnets. The user provides a topic and the algorithm does the rest of the work to write a 14 line Shakespearean or Petrarchan sonnet. The computer starts by choosing the ending rhyme words for each line, and then writes the lines backwards. The algorithm relies on word vectors to create figurative language and stay on theme. Here's a sample generated with the algorithm:



Second Place in Dartmouth's PoetiX Turing Test in the Creative Arts


Our poems were talked about and published in:

NPR All Things Considered


California Magazine

Cover story on UC Berkeley's homepage in August, 2016

Publications and Talks

Intersecting Word Vectors to Take Figurative Language to New Heights. North American Chapter of the Association for Computational Linguistics.

The Pythonic Poet. The iSchool Review.

Invited to give talk and presented at USC/ISI Natural Language Seminar.

Project team member: Emily Paul

Next project →