Abode of Chaos/Flickr (CC-BY)
Shall I compare thee to a computer’s display?
Researchers have taught AI neural networks to accomplish a huge variety of things. Google’s DeepMind AI has mastered the challenging Korean game of Go. IBM Watson can take the place of insurance claim adjusters and law firm staff. Now, researchers have instructed an AI on more artistic endeavors. A team from the University of Toronto, University of Melbourne, Thomson Reuters, and IBM Research Australia taught an AI how to compose sonnets.
A sonnet is composed of 14 lines, three quatrains that are then finished off with a couplet. “Deep-speare,” the researchers’ neural network project, learned how to compose sonnets by training on 2,600 of them in Project Gutenberg and William Shakespeare‘s 154 sonnets. The results are good enough that they’re indistinguishable from sonnets written by human minds.
Deep-speare is different from previous poetry-generating bots, which just looked at pronunciation dictionaries to find rhyming words. In an interview with Engadget, IBM research scientist Jey Han Lau said that developing the deep-learning system was tricky because a couple thousand sonnets are far less data than the typical neural network learns from.
“We had to be fairly creative when designing the network—we can’t have an overly complex network, as it will simply memorize the sonnets,” Law said. The team needed the network to generalize what it learned—and understand not just the hows of a sonnet, but also the whys—to create new poems on its own. This knowledge also theoretically means it could work in any language, not just English.
Unfortunately, the machine-generated generated poems “still underperform in terms of readability and emotion,” according to the team’s paper, published at the 2018 ACL conference. Readability could be improved by training the system on additional non-sonnet poetry, but improving its emotional component requires nailing down exactly what makes a poem emotional in the first place.
The researchers published their work to Github, so you can play around with their algorithms, too.