Cooking with artificial intelligence is a way to take advantage of super-computers in the oldest art of making delicious recipes.
Cooking is essentially an art, and as such scientists working with artificial intelligence see it as a test to reach a better understanding of the human mind.
Cooking is, also, essentially a process, something that machines can execute quite well. So it definitely makes sense to try to create machines that can cook (on one side) and machines that can create recipes (on the other side). In this post we focus on the latter, as it is something that could be applied by anyone in a not distant future.
Structuralism already tried to define a fixed scheme to analyze recipes: the famous semiotic analysis of the Pesto soup (soup au pistou) by Greimas (1979).
You might be surprised (or rather not…) that there are already many experiments where machines try to take the place of the old art of preparing meals. We don’t know how long it will take to a machine to elaborate that you can create a revolutionary Risotto using a dashi made from parmesan cheese, like Chef Bottura did a few years ago in his recipe Risotto Cacio e Pepe. But, we already know that given millions of combinations and some lessons in taste, machines could as well create some original recipes.
Some of the tools already available are:
- IBM Chef Watson
- Chop Chop
- Hello Egg
So we gave it a try with IBM Chef Watson, one of the many Watson‘s “let’s see what we can do” experiments.
Well, here are our experiments.
Experiment 1: Risotto
- Parmesan Cheese
- Carnaroli Rice
Ingredients suggested by Watson Chef:
- Red Grape
From Bon Appétit” and elaborate on it.
In the recipe by Bon Appetit there is no red grape, and brown rice is used, so here IBM Chef is working by substituting some ingredients with others. (Bon Appetit is partner of this project with IBM).
Actually, I think I am going to try this recipe!
Let’s try another experiment.
Let’s see if it understands that I want to make a soup.
Well, this attempt wasn’t that good at first, I gave it these two ingredients:
- Vegetable broth
Given vegetable broth as an ingredient should’ve been quite clear on the final result, instead it suggested the following two ingredients:
- Flank steak
- Golden Raisins
The two rightmost ingredients are the suggested ones.
The suggested recipes, however, do make sense, even if they are not soups.
Of course they are not that dumb at IBM (in fact, their work is being smart…), and you have the option to tell the system what kind of dish you want to cook (see toolbar on the left).
So I switched to vegetarian as cooking style and soup as dish type. and now this time everything works, and I even told the system that I want a vegetarian recipe. And the results are these two pumpkin soups:
The original article (Pinel et al. 2014) at the basis of this experiment is seldom cited (14 citations), but it does uncover some interesting insights on “computational creativity”.
Back in 2003 there was already an experiment aiming at predicting tea quality using an electronic nose (Dutta et al. 2003). They were already experimenting with artificial intelligence. In the experiment, however limited, the electronic nose was able to understand tea quality with 100% accuracy. I’m rather curious to what could happen if applied to wine, this could be another post.
Dutta, R., Hines, E. L., Gardner, J. W., Kashwan, K. R., & Bhuyan, M. (2003). Tea quality prediction using a tin oxide-based electronic nose: an artificial intelligence approach. Sensors and actuators B: Chemical, 94(2), 228-237.
Greimas, A. J. (1979). La soupe au pistou ou la construction d’un objet de valeur. Documents de Recherche du Groupe de Recherches Sémio-Linguistiques de l’Institut de la Langue Française (EHESS-CNRS) Paris, (5), 1-16.
Pagnutti, J., & Whitehead, J. (2015). Generative mixology: an engine for creating cocktails. In Proceedings of the sixth international conference on computational creativity (Vol. 212).
Pinel, F., & Varshney, L. R. (2014, April). Computational creativity for culinary recipes. In CHI’14 Extended Abstracts on Human Factors in Computing Systems (pp. 439-442). ACM.