an app to provide recipe alternatives based on similar recipes and categorized by recipe difficulty
I love to cook but I have a tendency to modify recipes! As someone who derives inspiration from different recipes and foodie experience, I wanted to explore how one could come up with alternative recipe suggestions
- a) based on similarity of ingredients within a recipe of interest,
and whether we could - b) use ingredients and instructions from recipes to categorize their 'difficulty'
Recipe data was scraped from bbcgoodfood.com
The file(s) in the doc folder are associated with the 2 web apps developed in trying to answer the 2 specific interests described above, which involved Natural Language Processing (NLP). They are summarized in the presentations linked below:
-
- Recipe Suggestion -- Recipe suggestions (a minimal web app) are offered based on similarity in ingredient list modelled and trained using word2vec (a shallow Artificial Neural Network for NLP).
-
- Menu (Helper) Planner -- A "Recipe-Difficulty-Tagger" was developed using Conditional Random Fields (CRF), in particular NYT's ingredient phrase CRF model to structure the ingredient information, and Latent Dirichlet Allocation (LDA) Topic Modelling to engineer features for classifying recipe preparation difficulty (~86% precision & recall on hold-out) and created a prototype flask web-app to offer recipe alternatives based on (K Nearest Neighbours) clustering by topic similarity and categorized by difficulty.
Check out the write up of this work in this blog-post, which was hightlighted on www.datascienceweekly.org!