#GraphPoem: Automatic Classification of Rhyme and Diction in Poetry

Main Article Content

Vaibhav Kesarwani Diana Inkpen Chris Tanasescu


Our project—the Graph Poem (#GraphPoem)—focuses on poetry as a genre with the purpose to automate the reading of as
many–if not, ideally, all–poetic features, and then quantify and deploy them in representing and analyzing poetic corpora as
networks. The article argues for and illustrates the benefits–to both digital humanities (DH) and natural language processing
(NLP)–of setting out to computationally analyze poetry comprehensively. While comprehensiveness can only be
asymptotically pursued in such a complex genre, the specifics such pursuit involves (with its in-depth analysis of each particular
poetic feature) branch out at times into other genres and more multiple and diverse text analysis aspects. The poetic features
we focus on here are rhyme and diction, and metaphor, and our system establishes a computational model that classifies
poems based on similarities. For rhyme analysis, we investigate the methods used to classify poems based on rhyme patterns
and we achieve an accuracy of 96.51% in identifying rhymes in poetry by applying a phonetic similarity model. For diction
analysis, we investigate the classification methods and also build a word embeddings model on our poetry dataset. The analysis
of these classifiers occasions reflections on the complexity of computational poetry analysis and the prospects of our project
at the crossroads of NLP, machine learning more generally, graph theory applications, and DH, as well as at the confluence
of research and creative work.

Article Details