The culinary world is a place of experimentation and creativity, where flavors and cultures combine to create delicious foods. AI has now begun to play a crucial role in the food industry by helping chefs and diners. This blog dives into how AI can be used in recipe generation and the broader context of cooking. This blog is for someone interested in technology or cooking.
I will use the following algorithms in this blog to explore and generate food recipes.
I will use the Kaggle dataset ‘6000+ Indian Food Recipes‘ for our hands-on experimentation.
This article was published as a part of the Data Science Blogathon.
Artificial Intelligence is now used in cooking. It can look at much information, understand different flavors, predict what people like to eat, and even develop new recipes. For people cooking at home, this could mean having innovative kitchen tools that suggest recipes based on your ingredients. For professional chefs, AI gives them helpful information to make dishes that people will like. Restaurants can also use AI to improve their menus and give customers a great experience. AI and cooking are changing how we make and enjoy food, making it more personalized.
AI-driven recipe generation is like having a magical helper who can predict what ingredients to use and how to combine them to make yummy food. It learns from many recipes and can create new and exciting combinations. This differs from how chefs usually cook, based on their knowledge and instincts. But with AI, it’s like having a unique method that uses data to help us make delicious meals.
The RNN is helpful in cooking and other areas, such as language translation, speech recognition, and even stock price prediction. Its ability to remember past events and use that information to make predictions has made it a popular choice among researchers and developers looking to create more sophisticated AI systems.
To understand this concept better, let’s take the example of making a recipe. When making a recipe, you want to ensure that you include all the necessary ingredients and that the recipe suits your dietary preferences. A Transformer can look at the whole recipe and make sure there are no meat ingredients, even if they might be in other recipes. This is because the Transformer can understand the context of the recipe as a whole rather than just focusing on individual ingredients.
GANs are a special kind of AI that can make recipes. They have two parts: a generator that makes recipes and a discriminator that decides if the recipes are good. The generator tries to make recipes the discriminator can’t tell apart from real ones. The discriminator keeps getting better at judging recipes. This helps make new and exciting recipes that make sense and taste good.
As GAN technology continues to evolve, it’s exciting to think about its endless possibilities for the future of cooking and cuisine.
You can explore the 6000+ Indian Food Recipes Dataset here: Kaggle.
"""
Generating recipes using a complex RNN model with multiple LSTM layers and dropout, based on
the provided dataset.
"""
# Importing necessary Libraries
import numpy as np
import pandas as pd
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Embedding, LSTM, Dense, Dropout, Bidirectional
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
# Loading the dataset
dataset = pd.read_csv('/kaggle/input/6000-indian-food-recipes-dataset/IndianFoodDatasetCSV.csv')
instructions_data = dataset['TranslatedInstructions'].dropna().tolist()
# Tokenization: Converting words into integers
tokenizer = Tokenizer()
tokenizer.fit_on_texts(instructions_data)
total_words = len(tokenizer.word_index) + 1
# Creating input sequences
input_sequences = []
for line in instructions_data:
token_list = tokenizer.texts_to_sequences([line])[0]
for i in range(1, len(token_list)):
n_gram_sequence = token_list[:i+1]
input_sequences.append(n_gram_sequence)
# Pad sequences and creating predictors and label
max_sequence_length = max([len(seq) for seq in input_sequences])
input_sequences = pad_sequences(input_sequences, maxlen=max_sequence_length, padding='pre')
X, y = input_sequences[:,:-1], input_sequences[:,-1]
y = tf.keras.utils.to_categorical(y, num_classes=total_words)
# Building the complex RNN model
model = Sequential()
model.add(Embedding(total_words, 100, input_length=max_sequence_length-1))
model.add(Bidirectional(LSTM(150, return_sequences=True)))
model.add(Dropout(0.2))
model.add(LSTM(100))
model.add(Dense(total_words/2, activation='relu'))
model.add(Dense(total_words, activation='softmax'))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(X, y, epochs=150, verbose=1)
# Generating a recipe
def generate_recipe(seed_text, next_words=50):
for _ in range(next_words):
token_list = tokenizer.texts_to_sequences([seed_text])[0]
token_list = pad_sequences([token_list], maxlen=max_sequence_length-1, padding='pre')
predicted = np.argmax(model.predict(token_list, verbose=0), axis=-1)
output_word = ""
for word, index in tokenizer.word_index.items():
if index == predicted:
output_word = word
break
seed_text += " " + output_word
return seed_text
print(generate_recipe("Blend onions"))
OUTPUT: Blend onions and tomatoes. Once they are finely ground, add some spices like cumin, turmeric, and chili powder. Cook the mixture in a pan with some oil until the raw smell disappears. Add water as needed and let it simmer. Add salt to taste and garnish with coriander leaves. Serve hot with rice or bread.
As you can see, our model has generated a perfect recipe, although it will improve with fine-tuning.
When cooking and technology come together, it can create a genuinely new experience. As we’ve seen with algorithms like RNNs, Transformer-based models, and GANs, AI has the potential to revolutionize recipe creation, delivering personalized and unexplored culinary experiences. Yet, while AI can increase the cooking process, the essence of cuisine remains embedded in human creativity and intuition. Looking ahead, the culinary world promises a fusion of tech-driven insights and age-old traditions, paving the way for a more prosperous gastronomic journey for chefs and food enthusiasts alike.
A: AI assists in predicting, understanding, and generating unique recipes, increasing professional and home cooking experiences.
A: While AI can augment the cooking process, the creativity, intuition, and artistry of chefs will remain the same.
A. AI-generated recipes provide innovative combinations, but reviewing and ensuring they align with culinary standards and safety is essential.
The media shown in this article is not owned by Analytics Vidhya and is used at the Author’s discretion.