Hello! Welcome to my themed poem generator. I have a previous version of this application published on the Play Store at this link: PoemGEN
This is a passion project of mine, so the commits are informal and pushed with large amounts of time between them. Feel free to download and use this code in any sort of open source project.
One day, in high school english, we had a homework assignment: write four poems for the next class. I went home and sat at my desk, absolutely stumped. What should I write about? I started throwing together some nouns and verbs, trying to make something sound deep and poetic. After a few minutes, I realized that this could be fairly simply translated into a formula.
I coded it up in Python (the only language I knew), and bam! Four poems, generated from a formula and lists of nouns, verbs, adjectives, and conjunctions. My teacher didn't even realize my poems were computer-generated until I told her (I still got full credit for the assignment, due to the creativity of my method of writing the poetry).
I wanted to spread this to the world, so I learned how to make an android app. After a few days of learning the tutorials, I published it for free on the Play Store. It felt incredible to see a project through from conception to publication. This was probably the moment I decided to go into computer science.
But I wasn't done yet.
My android app was simple, with a series of sentence structures that would use random number generators to select words from several different lists. I wanted to make my poetry generator so good, people wouldn't believe me when I said it was made by a program.
And so, this repository was born. At first, I used a few Python dictionaries to create "themes" for the poems - love, nature, etc. These were still simple and unconvincing poems.
I knew I had to dive into machine learning. I'm still not very good at coding, so I didn't know wheer to start. I figured the best place to start was with the basics: Markov Chains. They don't take long to generate, and their results, while crude, are effective enough for the moment.
That's currently the state of my project. I'll update this as I continue developing this concept.