Recipe Generator Using Deep Learning

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

10 V May 2022

https://doi.org/10.22214/ijraset.2022.42321
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue V May 2022- Available at www.ijraset.com

Recipe Generator using Deep Learning


Disha Moolya1, Sakshi Pansare2, Anushree Kshirsagar3, Prof. Sonali Bodekar-Kale4
1, 2, 3, 4
Computer Science and Technology Usha Mittal Institute of Technology, Mumbai, India

Abstract: Finding new recipes daily with the ingredients in hand is a difficult task that leads to people looking at different recipe
websites and cookbooks.
But it is often not possible to find the recipe one is looking for with the constraint of ingredients. The objective of this paper is
to build a web application so as to cater to this specific problem faced by people. The proposed system takes ingredients as an
input and gives machine generatedrecipes with the help of deep learning to the user.
The recipe generated model will consist of title, ingredients and instruction reflecting the dataset used to prepare the model for
deep learning. The system also consists of interactive features in the user interface enabling the user to save and access the
generated recipe later on.
Index Terms: Recipe generator system, web application, cook- ing, deep learning , recipes, ingredients

I. INTRODUCTION
Everyone enjoys new, delicious, healthy food and prefers homemade meals over food brought from outside. But when it comes to
cooking we don’t want elaborate, long complex recipes instead we want quick, easy and efficient options. Even in terms of
obtaining ingredients, sometimes getting ingredients can be tough as we experienced recently in pan- demic. Hence, it is often
preferable to have recipes that use limited ingredients or to have recipes that match with personalavailability.
With the ever growing popularity of various cooking sites, blogs and books it is evident that people are always on a lookout
for innovative and interesting recipes.
It is alsoobserved that the use of online media and digital medium makes cooking more accessible.This gives us more reason to find
solutions to simple problems such as recipe generation using deep learning.
Cooking is considered no less than art, it is a creative process, procuring recipes consisting of the right combination of flavors. By
creating a recipe generator we can allow the creation of unique dishes with unique combinations, it is a system that combines deep
learning along with knowledge contributing to computational creativity. The system should be able to learn how to imitate human
creativity, to be able to generate a recipe.
In this paper, we propose a cooking recipe generator which will produce a recipe as output when the user inputs ingredi- ents. A
deep learning model is created and trained to generate the recipe. Our project focuses on creation of a number of unique and
creative recipes based on the ingredients enteredby the user, thus providing recipes as per the user’s ingredient availability.

A. Recipe Generation Using Deep Learning


With the use of deep learning it is possible to train the model based on the dataset and generate system derived unique recipes. The
model is trained with the dataset that consists of three logical sections namely title, ingredients and instructions. The model learns
how to generate instruction for a given set of ingredients in the training process. The title for the generated recipe is developed
by the system using the ingredients along with a random generated word. With the use of Natural Language Generation the model is
able to produce the instruction in the form of steps for the generated output recipe.

1) Natural Language Generation: Natural Language gen- eration is a concept of producing text from data. In Recipe Generation it
can take some data and generate a recipe out of it. [13]OpenAI is a non-profit AI research company, and has built this model to
generate a para of text for industry usage. This model learns how to generate text by scraping each and every webpage. It is the
most popular NLG text generation model that is used to generate human-written like text.
2) LSTM: LSTM is short for Long Short Term Memory. It is an updated version of RNN which solves the problem of lowmemory.
While generating text, LSTM remembers the data for a longer period of time and has the ability to “remember” or “forget” the
information according to the importance. This is possible because of its architecture thus it is ideal for text generation.

©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 846
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue V May 2022- Available at www.ijraset.com

II. RELATED WORK


In this section we discuss about related works in terms of recipe generator. To get the better understanding of the methods used and
how they are different from the existing recipe generation methods an overview of machine learning techniques which are
applicable are given as a background. Our topic of recipe generation using machine learning algorithm is quite novel and, as a
result, there were not too many previous worksfound.But there are few projects which are somewhat similar to our work.
In [1] a paper by Florian Pecune,Lucile Callebert,Stacy Marsella at Scotland,UK,proposed a model where their ap- proach was to
use collaborative filtering and the algorithms they used were ALS,BPR, LMF in that they are basically inclined towards healthy
dishes also,they have an additional feature wherein the users can rate the recipes on how it turns out. Our intake on this paper was
to add a rating feature tothe recipes generated by our machine.
In [2], the authors Keiji Yanai, Takuma Maruyama and Yoshiyuki Kawano at Tokyo,Japan,have proposed the model which was
designed to scan a particular food item and give related recipes to the user. They used object recognition for allowing the system to
suggest recipes and the algorithm they used is SVM classifier and from this we got an idea to scan multiple items collectively and
come to a single recipe as a conclusion.
In[10] the authors Chloe Kiddon, Luke Zettlemoyer, Yejin Choi, has proposed a system where their main aim is to build neural
checklist model, a recurrent neural network that transforms data by storing and updating the outupt of text recipes which should be
mentioned somewhere in the BLEU, METEOR, LSTM, HDC algorithms and techniques, thus the use of Recurrent Neural
Network(RNN) language model can generates globally coherent text by keeping track.
In[4] the author Neha Setia, has proposed a system where they generate chains of cooking events that fit to a list of ingredients
given beforehand without direct supervision and experimented with generating novel chains of events that are still coherent on the
same list and they further used LSTM, BLEU score(evaluation) algorithms. So we can use Neural Machine translation approach
which can be further elaborated for recipe generation.
In paper ”Building a Food Recommendation System” the author Lu´ıs Rita [3] has proposed the system where their main goal was to
collect as large as possible and freely available collection of recipe data (Recipe1M+) and build a recommen- dation system.They
used Word2Vec, SVC algorithms to build their model and our take on this paper was to build a dataset which includes varieties of
food recipes which will enhance our model’s accuracy.
In paper[5] they build a model using computational NLP solution based on the modern machine learning techniques to generate
recipe.They used techniques such as SpaCy framework,GPT-2, TPU. From this we got to know the training on faster accelerators
such as TPU cloud allowed this project to train larger GPT-2 versions, which may improve quality of generated recipes even
further. Similar to the above paper the next one [7] where their main aim was to build a novel online recipe generation and
evaluation system. That can provide two modes of text generation, namely instruction generation from given title and ingredients
and next ingredient generation from recipe title and cooking instructions. They also used similar technique of Fine tuning
GPT-2 and Tensorflow.The model opted in the paper consist of feature of saving the recipes in favorite section for future references
and their recipe evaluation module also enabled the users to easily check the quality of the generated recipe and store the results for
later reference.
Also there are similar works related as in [9] the authorsof this paper has build and trained the model using NLPTechniques and
then use character-based RNN to generatenew ingredients .The NLP technique which the used is NLTK Unigram Tagger and this
paper inspired us to use different techniques of NLP to generate list of ingredients.

III. PROPOSED METHODOLOGY


A. Overview
The objective of our project is to develop a recipe generator accessible to users that can input ingredients and receive an innovative
recipe as output. The goal is to use the most efficient algorithm for recipe generation in order to generate a valid and coherent
output. The proposed system will provide recipe by ingredient search to the users thus minimizing the hassle to find a recipe
suitable for every individual user.

B. Project flow
Finding and gathering the most favorable dataset for the project in terms of content and size. Preparing the data to ensure it is ready
to feed into the model and developing the model using deep learning.
The project flow from the user end can be perceived as the following: The user interface consists of a text box to input a number
of ingredients, the input is processed into the back- end by the model and 3 different recipes will be displayed as output to the user.

©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 847
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue V May 2022- Available at www.ijraset.com

Fig. 1. Project Flow

C. Use Case
The user inputs ingredients and receives system generated recipes. The signup and login feature enables the user to save the
generated recipes and retrieve them later from the favoritessection.

Fig. 2. Use case diagram

IV. IMPLEMENTATION
A. Dataset
For deep learning algorithms a large amount of data is required to train the model to perform well. Hence, a dataset that consists of
data from Epicurious and recipe box which were freely available online is used in this project. The dataset has a combination of
20k recipes along with ratingand nutrition from Epicurious and 125k recipes along with ingredients with proportions from Recipe
box. The dataset wasreduced to 3 attributes as title, ingredients and instructions (as in the procedure of the recipe).

B. Data Pre-Processing Steps


For creation of the model, in order for the data to be processed by the model it is essential to clean and preprocess the data. The data
preprocessing for recipe generation model consisted of a number of steps such as:
1) Data Cleaning: getting rid of incorrect, incomplete, duplicated , inaccurate, irrelevant part of the data to make the dataset
uniform by cleaning empty data.
2) Filtering out large recipes: converting all the recipes intoone hard-coded sequence length limit making it as small as possible for
training performance. Thus setting a range for every recipe in the dataset in terms of characterlength. We were able to determine
the desired range for our dataset to be between 500-2000.
3) Vocabulary generation: creating vocabulary size and a separate vocabulary is created which contains unique tokens.
4) Vectorizing dataset: word Embedding into dense vectorsalso called as vectors or numerical representation for words.

©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 848
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue V May 2022- Available at www.ijraset.com

Fig. 3. Finding threshold to filter out large recipes

5) Add padding to the sequence: [12]adding a stop word to the end of each recipe with the use of utility function and to make
them have the same length overall.
6) Split examples on ‘input‘ and ‘target‘ texts: creating a copy and forming the input and target texts.

C. Model Developement
Creating a text generation model using LSTM in keras tensorflow, making use of character based LSTM which essen- tially
generates the entire text by predicting the next character. Use of different hyperparameters helps find the best suited to approach for
next character prediction thus text generation. The number of layers used in the model development as well as the number of
training epochs set were found to be defining factors in model performance. The project also made use of different optimizer and
loss functions in order to improve the model performance.

Fig. 4. Model Summary

Fig. 5. Visualizing the training process

©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 849
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue V May 2022- Available at www.ijraset.com

D. Result
For the minimization of loss a number of changes were made in terms of layers, epochs, learning rate, optimizers and loss functions.
We made use of different optimizer namely Adam optimizer and RMSProp that were trained and tested against different epochs, no
of steps, learning rate to gauge the respective loss and accuracy so as to develop the most accurate model. Use of Adam optimizer
with 500 epochs and learning rate 0.0005 resulted in the least loss.
Once ideal parameters were set and valid output was gen- erated by the model, it was deployed into a web application.

Fig. 6. User entered input

Fig. 7. Output generated at Home page

Fig. 8. Favorites page

V. CONCLUSION
We were able to develop and deploy a recipe generator that is able to generate a logically sound, valid with semantic mean- ing
recipes. The project enabled understanding the changes in output affected by the change made in hyperparameters. After
successful creation of the model generating seemingly precise model we can move ahead to the next step of adding features to
enhance user interactions.
In future the model can make use of pre-trained transformers for definite and cohesive text generation thus correcting the model
prediction and accuracy. Furthermore to make the project ideal and efficient other filters for searching along with search by
ingredients can be added, such as search by image, search by cuisine type, health monitoring of recipes generated. Adding another
approach to recipe generation such as recipe generation from title rather than ingredients, can be an innovative direction to
recipe generation using deeplearning.

VI. ACKNOWLEDGEMENT
We would like to express gratitude towards our guide Prof.Sonali Bodekar-Kale of Usha Mittal Institute of Tech- nology for their
support and mentorship in completion of our project on Recipe Generation using Deep Learning. Our sincere appreciation to our
examiners from Computer Science and Technology Department for their valuable encouragementand insightful inputs.

©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 850
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.538
Volume 10 Issue V May 2022- Available at www.ijraset.com

REFERENCES
[1] Florian Pecune,Lucile Callebert,Stacy Marsella, ”A Recommender Sys- tem for Healthy and Personalized Recipe Recommendations”,University of Glasgow,
Scotland:UK,September 2020.
[2] Keiji Yanai, Takuma Maruyama and Yoshiyuki Kawano,”A Cooking Recipe Recommendation System with Visual Recognition of Food In- gredients”, The
University of Electro- Communications,Tokyo:Japan,in 2014.
[3] Lu´ıs Rita ,”Building a Food Recommendation System”, Imperial College London ,in March 2020.
[4] Neha Setia,”Generate recipes using multi-ingredient aware LSTM”,July 12, 2019.
[5] Michał Bien´, Michał Gilski, Martyna Maciejewska, Wojciech Tais- ner,”Cooking recipes generator utilizing a deep learning-based language
model”,February 2020.
[6] Mikael Davidsson,”Using machine learning to generate recipes that actu- ally work Cooking with data science”, Apr 26.
[7] Amaia Salvador, Michal Drozdzal, Xavier Giro-i-Nieto, Adriana Romero,”Inverse Cooking: Recipe Generation from Food Images”,June 16, 2016.
[8] Laura Ana Maria Bostan,“Ingredient-driven Recipe Generation Using Neural and Distributional Models”,17 July 2017.
[9] Rebecca Coulson ,”Generating a Dessert Ingredients List Using NLP”,February 14, 2021.
[10] Chloe Kiddon, Luke Zettlemoyer,Yejin Choi,”Globally Coherent Text Generation with Neural Checklist Models”,[nd].
[11] https://www.tensorflow.org/api docs/python/tf/keras/preprocessing/text/ Tokenizer
[12] https://www.tensorflow.org/api docs/python/tf/keras/preprocessing/sequence/ pad sequences
[13] Mike Kaput,Natural Language Generation (NLG): Everything You Need to Know,April 20th,2022.

©IJRASET: All Rights are Reserved | SJ Impact Factor 7.538 | ISRA Journal Impact Factor 7.894 | 851

You might also like