- Steven Bell (sebell)
- John Carlo Buenaflor (jcbuena)
- Caitlin Go (cgo2)
When cooking, many people take a single recipe and follow it exactly. However, many others would rather understand the "recipe space", the underlying ratios, techniques, and flavor combinations that produce a particular result. Written recipes in the conventional sense are formulated for the first case: they present a single exact list of ingredients and a method of preparation. However, thanks to the enormous number of recipes shared online, we can recover a description of the richer recipe space. Our objective is to visualize this information in a way to help cooks quickly understand the "shape" of the recipe space, and to create food within that space without following an exact recipe.
We'll begin by examining and visualizing the ingredient list (i.e., ratios of ingredients in a multidimensional space), but would like to explore how different preparation methods affect the final product. For example, there are a handful of foods which have almost exactly the same ingredients, but a different preparation method produces a quite different result. A fair amount of prior work has been done in the area of recipe data mining, but to our knowledge, most of the effort has been on building automated recommendation systems rather than on visualizing the data. We anticipate that there may be significant effort required to create a database, but we've contacted Juho Kim (who worked with Maneesh on recipes over the last year) about using his dataset.
Project Progress Presentation
When people search for recipes online today, they are inundated with millions of readily available recipes - in blogs, phone apps, or recipe databases. With so many recipes to choose from, it can be hard to make an informed decision about what to cook. Even when a single dish is chosen, there are many available recipes for said dish, and no indication of how to combine or adjust recipes to suit the user’s tastes. Visualizations could help users explore recipes and how they connect with one another, in order to learn more about the cooking process and find their own recipe.
There are several areas of existing work that relate to our project.
The most obvious area is current recipe searching websites, such as Allrecipes, Epicurious, and My Fridge Food, which have developed different search methods to allow users to find recipes. Allrecipes and Epicurious use a text search that can be refined with filters such as the inclusion or exclusion of certain ingredients, dietary concerns, meal and course, and type of cuisine. Recipe results are sorted by relevance to the text, popularity, and rating. These site’s user interfaces resemble a giant photo album of foods (often with clickbait titles), meant to entice users to scroll through the recipes rather than provide trends in the recipe data. Another method of searching is used by My Fridge Food, which belongs to a wave of websites that allow users to enter the ingredients in their kitchens and find recipes based largely off of already available ingredients. Yummly aggregates recipes from many other sites and parses their ingredient lists, allowing users to evaluate and search based on health information.
The CMU CURD project presents MILK, a "Minimal Instruction Language for the Kitchen", and provides a small database of MILK-annotated recipes for testing NLP parsing of recipes.
Researchers have explored additional ways of searching through recipes. Ahn, Ahnert, Bagrow, and Barabasi mined recipes to show what ingredients have similar flavor makeups. Their paper focused on using this flavor network to compare the flavor makeup of regional cuisines across the globe. In their work, Teng, Lin, and Adamic created networks for both substitution and complement ingredients. These networks allowed them to predict which recipes for a dish would be rated higher, given which ingredients go well together and which ingredients had substitutes that were more preferred. While these studies show what ingredients work together in dishes, they do not cater to an individual user’s personal preferences. The substitution network could recommend what ingredients could be swapped out, but the ingredient substitution simply provides a new recipe for the same dish, instead of teaching users about what the substitution actually does.
Ahn, Y., Ahnert, S., Bagrow, J., & Barabasi, A. (2011). Flavor network and the principles of food pairing. Scientific Reports, 1, 196.
Teng, C., Lin, Y., & Adamic, L. (2012). Recipe recommendation using ingredient networks. Retrieved from Cornell University Library (arXiv:1111.3919 [cs.SI]).
Ueda, M., Takahata, M., & Nakajima, S. (2011). User’s food preference extraction for personalized cooking recipe recommendation. In Workshop of ISWC (pp. 98-105).
- Data Mining
- Get Juho's code working or find a dataset
- Reformat data to allow for our manipulations
- Build Visualization
- Represent the data visually
- Implement user actions and UI elements