Inspiration

We were inspired by the MenuNER paper, which provided a state-of-the-art method for Named Entity Recognition (NER) of menu items in Yelp reviews.

What it does

whatsgood? uses NER of menu items in Yelp reviews to summarize any given restaurant's menu and how people feel about the items on the menu.

How we built it

We had a Firebase and Cloud Run-hosted Python Flask application to build and host the site with. Our data wrangling was done in Google Colab (using SpaCy, Chars2Vec, and Scikit Learn). From those notebooks, we trained our models and migrated them to the backend. We scraped data from Yelp using libraries like requests and bs4, and received other important details from the Yelp API.

Challenges we ran into

Preparing the data we found, especially the Yelp review datasets we used, took extensive amounts of time to process and often failed due to small errors.
Since Yelp's API only allows 3 reviews to be parsed, we had to scrape the remaining reviews in order to have enough data for generating the menu.

Accomplishments that we're proud of

We are proud of being able to fully use the power of Yelp's Fusion API, even with the necessity to scrape data from the website due to API limitations, as well as our complete ML pipeline which generates our summarized menus

What we learned

We learned the importance of saving models to avoid reinventing the wheel and redoing tedious training and encoding processes. We also learned that sometimes we have to think beyond the API to succeed in our goals.

Note about demo website: As of 8:30am Sunday, we are still publicly displaying the version of the website from Saturday night. We will display the most up-to-date version during our demos.

Built With

Share this project:

Updates