Inspiration

Poems and haikus are pretty cool, especially when they rhyme. That's why we made something that not only generates silly poems/haikus about any topic/location, but also make them rhyme :3

What it does

Wiki-Ku uses natural language processing APIs and Wikipedia knowledge to put together (multiple!) poem couplets that not only sound nice, but also completely factual. This means that Wiki-Ku is both educational and entertaining, a perfect project for a theme like Garage. Additionally, all of this is wrapped up into a nice little web app with a sleek, simple and _ zen _ interface.

How we built it

The backend is built with Python. Given a topic, it uses the Wikipedia API to gather content on the topic (as well as similar important topics) and process it into rhyming couplets using a NLTK functions built by Connor Lane (credited below). Given a Map Coordinate, it uses the Google Maps API to find nearby locations and select key words (e.g. nearby landmarks, type of landmark), which will undergo a similar word processing/rhyme forming process as before.

These couplets are passed to the front end, which is built with React.

Challenges

The biggest challenge was trying to form extract sentences from a Wikipedia page that rhyme together. Since none of us have any knowledge on Natural Language Processing, we had to quickly learn a lot using online tutorials and existing APIs. We were very fortunate that we found helpful NLTK functions online that helped us with the process. It was also a challenge to hand the rhyming couplets from Python to Javascript in a quick and easy fashion.

Accomplishments that we are proud of

We are very proud of our clean and sleek user interface, which helps create a relaxing and zen atmosphere for people to enjoy the poems/haikus. Getting the Google Maps API to create poems/haikus was great, as that wass one of our stretch goals. We are also surprised at how nicely the rhyming couplets turned out to be. It definitely went from a serious project to a silly one, making it all the better :)

What we learned

A lot more about natural language processing, and Google Cloud Services, both of which we have never used before.

What's next

It'll be great to get it to form actual haikus, which was our original goal, so it'll be cool to look into syllable counting / forming haiku-like stanzas from sentences (which was something we also struggled with). Additionally, it'll be great to extend the current Map function, which could sometimes error if there is no significant landmarks nearby. It'll also be cool to get this to work with the Google Cloud Vision API, so it can detect objects and then create cool poetry on it.

Share this project:

Updates