Machine learning for recipe recommendation
Machine Learning
NLP
- Our client is an Israeli-based food tech startup with a mission to revolutionize home cooking.
- The project’s goal is to augment the client’s proprietary smart kitchen appliance with a custom machine-learning system.
- Our solution is a combination of different machine learning algorithms to understand relations between cooking ingredients and flavorings and use that knowledge to elevate end-users dishes.
- The system we’ve developed was trained on a dataset of 400k+ recipes from all over the world, and currently covers a database of 400+ flavorings.
Imagine you're preparing oatmeal for breakfast. You take the bowl and put oats in milk and water, freshly cooked. Then start cutting berries and bananas - they'll be the base flavor. After adding the brown sugar, you taste it, and something is missing.
You feel it on your tongue but can't quite catch the name. Of course, you could experiment, risking ruining the dish, or leave it this way, but you know you'll be unsatisfied.
So you take the phone, open the app, and type in all the ingredients. You can almost hear grinding gears as the loading bar fills with color and voila. The list says - cinnamon - that sounds right, but is there more? Next position, almond flakes. Bullseye.
The culinary AI
Our client, an Israeli-based food tech startup, is set with a mission to redefine home cooking. Their vision is to change how we perceive food, helping it reach its full potential in terms of taste and nutrition. And most of all, do it in a user-friendly manner. An innovative dispenser, capsules, and integrated AI-powered mobile application are three essential pieces of equipment we will use in this journey.
With a team of culinary gurus and software development experts, there was only one ingredient our client was missing - ML engineering specialists. They found them at Sparkbit.
Michelin-star chef in a metal case
The culinary revolution begins with a handheld kitchen appliance. Capsules with quality herbs and spices are put in the original dispenser. By communicating with the application, it knows exactly which flavoring to use and what precise amount will elevate the selected dish. All with a press of a button.
Still, the application is what we want to emphasize. It's already useful with functions like nutrition plans, tons of recipes, and menus, but there's also cutting-edge technology our team is working on.
First phase of our solution covers two fundamental recipe-oriented functionalities that genuinely make the product an innovation:
- assessing any recipe we type in to find the most delicious blend of herbs and spices to give the dish a new dimension of taste
- evaluating our kitchen supplies to find missing ingredients for a chosen recipe and suggesting the best possible replacements
The second phase focuses on the ingredients per se:
- Smart suggestions for spice blends - the ML recognizes the spice blend’s balance and predicts which quantity of other spices will make the perfect combination.
- Flavor customization - whenever ML recognizes that a given recipe can be customized, it gives variations based on tastes e.g. to make it more spicy, salty, or even earthy.
Teaching the machine
Before we started working on the use cases, there was a significant challenge we had to face - how to make software understand what are ingredients and how to use them? It's quite a unique challenge, so the process was heavily experiment-based. Our team of ML engineers proposed various approaches, such as graph analysis, clusterization, frequent pattern matching, and techniques from the Natural Language Processing (NLP) family. We ran numerous training sessions and validated different models.
As a result, we decided to combine NLP algorithms with classification techniques and concepts used in recommendation engines, developing a complex ML system that tackles all business problems, including primary use cases.
Database of tastes
The immense subjectivity of cooking causes recipes to be diverse, even when talking about the same dish. Apart from different quantities and ingredients, there are various mixed measures - tablespoons, grams, pinches, and cups.
To train the models properly, we had to create, structurize and maintain a dataset of 400 000+ recipes. Defining measures to make them consistent and understandable for the ML model was a crucial part of this task.
With such a dataset of cuisines from all over the world, we now support a database of 400+ spices, herbs, and flavorings, covering most culinary and taste preferences.
Summary
The client’s product gained a unique competitive advantage. With the ML engine implemented, it brings the dawn of an era where smart kitchen appliances are much more than just one-dimensional tools with a couple of sensors. The “smart” means that it actually understands how food is made, having the opportunity to be the first of its kind - a revolutionary kitchen helper with room for countless upgrades and extensions.