Inspiration

"There are so many things to do in the city, but so little time." "I don't want to spend the whole day researching just to be sure I can have a good time."

There are so many ways to look for attractions, but putting together an itinerary can be a huge hassle. We decided to simplify this process.

What it does

First, enter your location into Ungezwungen. Based on your location, we return places you might like based on criteria such as: _ Mode of transportation _ _ Budget _ _ Time _ Next, click on a few places that look interesting. Based on these, we decide which places you would most like to visit and build a simple and efficient itinerary. Factors such as travel time are covered, so you can make your reservations without worry!

How we built it

Ungezwungen is built in Python, taking advantage of the TripAdvisor API, nltk natural language processing module and the scikit-learn machine learning library. These work in tandem to take a small data sample from the user, apply natural language processing to distill the essence of reviews and extract meaningful keywords perform sentiment analysis on user submitted reviews. Using this information in combination with more information gathered from the TripAdvisor API, we apply principal component analysis to simplify the data set, and use logistic regression to infer user preferences for attractions they have not seen. All of this is brought together by a sleek, user friendly, feature-rich front end.

Challenges we ran into

Parsing the information proved to be a challenge due to the layers of abstraction, unfamiliarity with the data set, and the sheer amount of information we had to work with. Tying the front end to the back end also proved difficult, as working with the data and dynamically generating results in HTML based on it was difficult.

Accomplishments that we're proud of

Applying machine learning and natural language to a real data set to perform a number of advanced data analyses learned in class.

Share this project:

Updates