diff --git a/baking_project-2.ipynb b/baking_project-2.ipynb deleted file mode 100644 index dd734e5..0000000 --- a/baking_project-2.ipynb +++ /dev/null @@ -1,3983 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "YzYu-XRFJrhk" - }, - "source": [ - "### Dependencies \n" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "id": "m7v7WNo4dNqw" - }, - "outputs": [], - "source": [ - "import os\n", - "import math\n", - "import numpy as np\n", - "import pandas as pd\n", - "import tensorflow as tf\n", - "import matplotlib.pyplot as plt\n", - "import json\n", - "import platform\n", - "import time\n", - "import pathlib\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "UAqSrdVLhyDp", - "outputId": "e6c5278d-9329-4a68-fe1c-f4b12542c55a" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Python version: 3.7.12\n", - "Tensorflow version: 2.7.0\n", - "Keras version: 2.7.0\n" - ] - } - ], - "source": [ - "print('Python version:', platform.python_version())\n", - "print('Tensorflow version:', tf.__version__)\n", - "print('Keras version:', tf.keras.__version__)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "AHnTupAX1I-a" - }, - "source": [ - "### Uploading the initial data" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "ohSCowjg2PBI" - }, - "source": [ - "We will upload the data from Google drive, however the data scourse is https://www.kaggle.com/shuyangli94/food-com-recipes-and-user-interactions" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "8Zu_JHw5iTof", - "outputId": "07cbbe2c-28a1-4db2-93bc-afc78e202651" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n" - ] - } - ], - "source": [ - "from google.colab import drive\n", - "drive.mount('/content/drive')" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "id": "x_63QbWisXFb" - }, - "outputs": [], - "source": [ - "path = '/content/drive/MyDrive/data/RAW_recipes.csv'\n", - "data = pd.read_csv(path)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 613 - }, - "id": "bjR8EHDMuhSN", - "outputId": "c6f51539-445b-44b3-f17b-cd0140da8d3c" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "\n", - "
\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
nameidminutescontributor_idsubmittedtagsnutritionn_stepsstepsdescriptioningredientsn_ingredients
0arriba baked winter squash mexican style13773955478922005-09-16['60-minutes-or-less', 'time-to-make', 'course...[51.5, 0.0, 13.0, 0.0, 2.0, 0.0, 4.0]11['make a choice and proceed with recipe', 'dep...autumn is my favorite time of year to cook! th...['winter squash', 'mexican seasoning', 'mixed ...7
1a bit different breakfast pizza3149030262782002-06-17['30-minutes-or-less', 'time-to-make', 'course...[173.4, 18.0, 0.0, 17.0, 22.0, 35.0, 1.0]9['preheat oven to 425 degrees f', 'press dough...this recipe calls for the crust to be prebaked...['prepared pizza crust', 'sausage patty', 'egg...6
2all in the kitchen chili1121401301965862005-02-25['time-to-make', 'course', 'preparation', 'mai...[269.8, 22.0, 32.0, 48.0, 39.0, 27.0, 5.0]6['brown ground beef in large pot', 'add choppe...this modified version of 'mom's' chili was a h...['ground beef', 'yellow onions', 'diced tomato...13
3alouette potatoes5938945685852003-04-14['60-minutes-or-less', 'time-to-make', 'course...[368.1, 17.0, 10.0, 2.0, 14.0, 8.0, 20.0]11['place potatoes in a large pot of lightly sal...this is a super easy, great tasting, make ahea...['spreadable cheese with garlic and herbs', 'n...11
4amish tomato ketchup for canning44061190417062002-10-25['weeknight', 'time-to-make', 'course', 'main-...[352.9, 1.0, 337.0, 23.0, 3.0, 0.0, 28.0]5['mix all ingredients& boil for 2 1 / 2 hours ...my dh's amish mother raised him on this recipe...['tomato juice', 'apple cider vinegar', 'sugar...8
\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ], - "text/plain": [ - " name ... n_ingredients\n", - "0 arriba baked winter squash mexican style ... 7\n", - "1 a bit different breakfast pizza ... 6\n", - "2 all in the kitchen chili ... 13\n", - "3 alouette potatoes ... 11\n", - "4 amish tomato ketchup for canning ... 8\n", - "\n", - "[5 rows x 12 columns]" - ] - }, - "metadata": {}, - "execution_count": 5 - } - ], - "source": [ - "data.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "VXfsMJRKu3L1", - "outputId": "f86ca2ca-23ef-4294-ec80-50a5fb7a0db8" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "(231637, 12)" - ] - }, - "metadata": {}, - "execution_count": 6 - } - ], - "source": [ - "data.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "o6grNAOj7RkF", - "outputId": "db169565-987b-4734-e182-768553f7b360" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "name object\n", - "id int64\n", - "minutes int64\n", - "contributor_id int64\n", - "submitted object\n", - "tags object\n", - "nutrition object\n", - "n_steps int64\n", - "steps object\n", - "description object\n", - "ingredients object\n", - "n_ingredients int64\n", - "dtype: object\n" - ] - } - ], - "source": [ - "print(data.dtypes)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "YQ6KkwnW0_7k" - }, - "source": [ - "### Preprocessing the dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "RQhMzFx11VrS" - }, - "source": [ - "We will only need the recipes rows containing 'cake', 'cookie', 'bread' in their names. We will only use 'name', 'desription', 'ingredients', 'steps' columns." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "id": "RixWkB4577J1" - }, - "outputs": [], - "source": [ - "#delete missing value function \n", - "def MissingValues (data):\n", - " if(data.isnull().values.any()): \n", - " columns = data.columns\n", - " for column in columns: \n", - " data[data[column].isnull()] = \"\"\n", - " data[data[column]=='NaN'] = \"\"\n", - " data[pd.isna(data[column])] = \"\"\n", - " return data\n" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "id": "_giBR4CC8Tzb" - }, - "outputs": [], - "source": [ - "data = MissingValues(data)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "10CxNT9R68uV", - "outputId": "58615983-e69a-4e4b-fcda-0fc1d1873eea" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "14950" - ] - }, - "metadata": {}, - "execution_count": 10 - } - ], - "source": [ - "#determine rows we need to remove \n", - "remove1 = data.loc[data.name.map(lambda x: len(x)<4 )] #name of the recipe is too short \n", - "remove2 = data.loc[data.ingredients.map(lambda x: len(x)<2 )] #recipe has less then 2 ingredients\n", - "remove3 = data.loc[data.steps.map(lambda x: len(x)<2 )] #recipe has less then 2 steps\n", - "\n", - "len(remove1) + len(remove2) +len(remove3)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "id": "Iw35lDrBSkFq" - }, - "outputs": [], - "source": [ - "data.drop(data[data.name.map(lambda x: len(x)<4 )].index, inplace=True)\n", - "data.drop(data[data.ingredients.map(lambda x: len(x)<2 )].index, inplace=True)\n", - "data.drop(data[data.steps.map(lambda x: len(x)<2 )].index, inplace=True)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 1000 - }, - "id": "Lk5OXdRJX5Bp", - "outputId": "2d00503c-d568-432c-fed1-27d0e7c94253" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "\n", - "
\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
nameidminutescontributor_idsubmittedtagsnutritionn_stepsstepsdescriptioningredientsn_ingredients
0arriba baked winter squash mexican style13773955478922005-09-16['60-minutes-or-less', 'time-to-make', 'course...[51.5, 0.0, 13.0, 0.0, 2.0, 0.0, 4.0]11['make a choice and proceed with recipe', 'dep...autumn is my favorite time of year to cook! th...['winter squash', 'mexican seasoning', 'mixed ...7
1a bit different breakfast pizza3149030262782002-06-17['30-minutes-or-less', 'time-to-make', 'course...[173.4, 18.0, 0.0, 17.0, 22.0, 35.0, 1.0]9['preheat oven to 425 degrees f', 'press dough...this recipe calls for the crust to be prebaked...['prepared pizza crust', 'sausage patty', 'egg...6
2all in the kitchen chili1121401301965862005-02-25['time-to-make', 'course', 'preparation', 'mai...[269.8, 22.0, 32.0, 48.0, 39.0, 27.0, 5.0]6['brown ground beef in large pot', 'add choppe...this modified version of 'mom's' chili was a h...['ground beef', 'yellow onions', 'diced tomato...13
3alouette potatoes5938945685852003-04-14['60-minutes-or-less', 'time-to-make', 'course...[368.1, 17.0, 10.0, 2.0, 14.0, 8.0, 20.0]11['place potatoes in a large pot of lightly sal...this is a super easy, great tasting, make ahea...['spreadable cheese with garlic and herbs', 'n...11
4amish tomato ketchup for canning44061190417062002-10-25['weeknight', 'time-to-make', 'course', 'main-...[352.9, 1.0, 337.0, 23.0, 3.0, 0.0, 28.0]5['mix all ingredients& boil for 2 1 / 2 hours ...my dh's amish mother raised him on this recipe...['tomato juice', 'apple cider vinegar', 'sugar...8
.......................................
231632zydeco soup486161602279782012-08-29['ham', '60-minutes-or-less', 'time-to-make', ...[415.2, 26.0, 34.0, 26.0, 44.0, 21.0, 15.0]7['heat oil in a 4-quart dutch oven', 'add cele...this is a delicious soup that i originally fou...['celery', 'onion', 'green sweet pepper', 'gar...22
231633zydeco spice mix493372515006782013-01-09['15-minutes-or-less', 'time-to-make', 'course...[14.8, 0.0, 2.0, 58.0, 1.0, 0.0, 1.0]1['mix all ingredients together thoroughly']this spice mix will make your taste buds dance!['paprika', 'salt', 'garlic powder', 'onion po...13
231634zydeco ya ya deviled eggs30808040377792008-06-07['60-minutes-or-less', 'time-to-make', 'course...[59.2, 6.0, 2.0, 3.0, 6.0, 5.0, 0.0]7['in a bowl , combine the mashed yolks and may...deviled eggs, cajun-style['hard-cooked eggs', 'mayonnaise', 'dijon must...8
231635cookies by design cookies on a stick298512295068222008-04-15['30-minutes-or-less', 'time-to-make', 'course...[188.0, 11.0, 57.0, 11.0, 7.0, 21.0, 9.0]9['place melted butter in a large mixing bowl a...i've heard of the 'cookies by design' company,...['butter', 'eagle brand condensed milk', 'ligh...10
231636cookies by design sugar shortbread cookies298509205068222008-04-15['30-minutes-or-less', 'time-to-make', 'course...[174.9, 14.0, 33.0, 4.0, 4.0, 11.0, 6.0]5['whip sugar and shortening in a large bowl , ...i've heard of the 'cookies by design' company,...['granulated sugar', 'shortening', 'eggs', 'fl...7
\n", - "

226647 rows ร— 12 columns

\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ], - "text/plain": [ - " name ... n_ingredients\n", - "0 arriba baked winter squash mexican style ... 7\n", - "1 a bit different breakfast pizza ... 6\n", - "2 all in the kitchen chili ... 13\n", - "3 alouette potatoes ... 11\n", - "4 amish tomato ketchup for canning ... 8\n", - "... ... ... ...\n", - "231632 zydeco soup ... 22\n", - "231633 zydeco spice mix ... 13\n", - "231634 zydeco ya ya deviled eggs ... 8\n", - "231635 cookies by design cookies on a stick ... 10\n", - "231636 cookies by design sugar shortbread cookies ... 7\n", - "\n", - "[226647 rows x 12 columns]" - ] - }, - "metadata": {}, - "execution_count": 12 - } - ], - "source": [ - "data" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 1000 - }, - "id": "ehQtl4_t2C58", - "outputId": "1bc8bf2a-9fd0-42a2-b51a-afc0b5b23b8c" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "(27863, 8)\n" - ] - }, - { - "output_type": "execute_result", - "data": { - "text/html": [ - "\n", - "
\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
namedescriptioningredientsn_ingredientsstepsn_stepsminutesr_type
9beat this banana breadfrom ann hodgman's['sugar', 'unsalted butter', 'bananas', 'eggs'...9['preheat oven to 350 degrees', 'butter two 9x...1270bread
32grilled ranch breadbuttery and['butter', 'dry ranch dressing mix', 'french b...3['cream the butter with the dressing mix', 'sp...413bread
47jeanne s style birthday cakea bakery in winnipeg is famous for this specia...['shortening', 'icing sugar', 'vanilla', 'all-...10['to prepare base , cut shortening into dry in...25230cake
48jiffy extra moist carrot cakethis is a very tasty, moist, carrot cake. a ni...['yellow cake mix', 'vanilla instant pudding m...11['preheat oven to 350 degrees', 'mix together ...850cake
49jiffy roasted corn and jalapeno cornbreadthis is a moist, easy, colorful and delicious ...['whole kernel corn', 'onion', 'red bell peppe...10['melt butter in a saut pan', 'add the corn , ...1035bread
...........................
231618zwetschgenkuchen plum cakethis is a classic german pastry and a deliciou...['margarine', 'all-purpose flour', 'sugar', 'b...13['prepare pastry: cut margarine into flour , s...1160cake
231621zwieback toast teething cookiesa quintessential childhood food. this is a co...['sugar', 'active dry yeast', 'milk', 'butter'...9['stir together 1 / 2 teaspoon of sugar , the ...23100cookie
231624zwiebelkuchen southwest german onion cakethis is a traditional late summer early fall s...['fresh yeast', 'milk', 'flour', 'butter', 'eg...13['for the dough:', 'dissolve the yeast in the ...1075cake
231635cookies by design cookies on a sticki've heard of the 'cookies by design' company,...['butter', 'eagle brand condensed milk', 'ligh...10['place melted butter in a large mixing bowl a...929cookie
231636cookies by design sugar shortbread cookiesi've heard of the 'cookies by design' company,...['granulated sugar', 'shortening', 'eggs', 'fl...7['whip sugar and shortening in a large bowl , ...520cookie
\n", - "

27863 rows ร— 8 columns

\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ], - "text/plain": [ - " name ... r_type\n", - "9 beat this banana bread ... bread\n", - "32 grilled ranch bread ... bread\n", - "47 jeanne s style birthday cake ... cake\n", - "48 jiffy extra moist carrot cake ... cake\n", - "49 jiffy roasted corn and jalapeno cornbread ... bread\n", - "... ... ... ...\n", - "231618 zwetschgenkuchen plum cake ... cake\n", - "231621 zwieback toast teething cookies ... cookie\n", - "231624 zwiebelkuchen southwest german onion cake ... cake\n", - "231635 cookies by design cookies on a stick ... cookie\n", - "231636 cookies by design sugar shortbread cookies ... cookie\n", - "\n", - "[27863 rows x 8 columns]" - ] - }, - "metadata": {}, - "execution_count": 13 - } - ], - "source": [ - "# filter the data\n", - "\n", - "data_filtered = data[(data['name'].str.contains(\"cake\")) | \n", - " (data['name'].str.contains(\"cookie\")) |\n", - " (data['name'].str.contains(\"bread\")) ][[\"name\", \"description\", \"ingredients\", \"n_ingredients\", \"steps\", \"n_steps\", \"minutes\"]]\n", - "\n", - "# create function to assign a recipe type\n", - "\n", - "def f_type(row):\n", - " if row['name'].find('cake') != -1:\n", - " val = 'cake'\n", - " elif row['name'].find('cookie') != -1:\n", - " val = 'cookie'\n", - " elif row['name'].find('bread') != -1:\n", - " val = 'bread'\n", - " else:\n", - " val ='unknown'\n", - " return val\n", - " \n", - "\n", - "data_filtered[\"r_type\"] = data_filtered.apply(f_type, axis = 1)\n", - "\n", - "print(data_filtered.shape)\n", - "data_filtered\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "O7P0Y2_vKe7S" - }, - "source": [ - "### Exploratory analysis (what do we know about cakes, cookies and bread?)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Oi_Py_GX77l6" - }, - "source": [ - "Let's see the distribution of the number of ingredients needed. This may show us the **complexity** of the recipe." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 562 - }, - "id": "PrDdTFFGKtyi", - "outputId": "ae63b32b-8fdf-473e-9ee1-1c24097b3ea2" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "
\n", - " \n", - " \n", - " \n", - "
\n", - " \n", - "
\n", - "\n", - "" - ] - }, - "metadata": {} - } - ], - "source": [ - "import plotly.figure_factory as ff\n", - "# let's see the distribution of the number of ingredients needed\n", - "cookie_n_ing = data_filtered.loc[data_filtered['r_type'] == 'cookie'][\"n_ingredients\"]\n", - "cake_n_ing = data_filtered.loc[data_filtered['r_type'] == 'cake'][\"n_ingredients\"]\n", - "bread_n_ing = data_filtered.loc[data_filtered['r_type'] == 'bread'][\"n_ingredients\"]\n", - "\n", - "hist_data = [cookie_n_ing.astype('float'), cake_n_ing.astype('float'), bread_n_ing.astype('float')]\n", - "group_labels = ['Cookie', 'Cake', 'Bread']\n", - "colors = ['rgb(239, 202, 8)', 'rgb(238, 66, 102)', 'rgb(0, 166, 166)']\n", - "\n", - "fig = ff.create_distplot(hist_data, group_labels, bin_size = 1, colors = colors)\n", - "fig.show()\n", - "#hist_data_n_ing\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "VXuqJXbH87EF" - }, - "source": [ - "Let's consider a number of steps in the recipe which is a good metric of the **recipe's difficulty** as well as **effort** to cook." - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 562 - }, - "id": "UEiz1EXYwYMV", - "outputId": "85ffb908-36da-4b6e-a4b8-e9fe43c86acc" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "
\n", - " \n", - " \n", - " \n", - "
\n", - " \n", - "
\n", - "\n", - "" - ] - }, - "metadata": {} - } - ], - "source": [ - "# let's see the distribution of the number of steps in recipe\n", - "cookie_n_steps = data_filtered.loc[data_filtered['r_type'] == 'cookie'][\"n_steps\"]\n", - "cake_n_steps = data_filtered.loc[data_filtered['r_type'] == 'cake'][\"n_steps\"]\n", - "bread_n_steps = data_filtered.loc[data_filtered['r_type'] == 'bread'][\"n_steps\"]\n", - "\n", - "hist_data = [cookie_n_steps.astype('float'), cake_n_steps.astype('float'), bread_n_steps.astype('float')]\n", - "group_labels = ['Cookie', 'Cake', 'Bread']\n", - "colors = ['rgb(239, 202, 8)', 'rgb(238, 66, 102)', 'rgb(0, 166, 166)']\n", - "\n", - "fig = ff.create_distplot(hist_data, group_labels, bin_size = 1, colors = colors)\n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "id": "78ren9Dvn4lU" - }, - "outputs": [], - "source": [ - "# calculate time to cook and remove outliers \n", - "cookie_min = data_filtered.loc[data_filtered['r_type'] == 'cookie'][\"minutes\"]\n", - "cake_min = data_filtered.loc[data_filtered['r_type'] == 'cake'][\"minutes\"]\n", - "bread_min = data_filtered.loc[data_filtered['r_type'] == 'bread'][\"minutes\"]\n", - "\n", - "df1 = pd.DataFrame(cake_min[~((cake_min-cake_min.mean()).abs() > 1*cake_min.std())])\n", - "df2 = pd.DataFrame(cookie_min[~((cookie_min-cookie_min.mean()).abs() > 1*cookie_min.std())])\n", - "df3 = pd.DataFrame(bread_min[~((bread_min-bread_min.mean()).abs() > 1*bread_min.std())])\n" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 562 - }, - "id": "zUIY8DSPmY54", - "outputId": "82f33e57-eda2-4c96-a7db-7acb76e910f0" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "
\n", - " \n", - " \n", - " \n", - "
\n", - " \n", - "
\n", - "\n", - "" - ] - }, - "metadata": {} - } - ], - "source": [ - "import plotly.graph_objects as go\n", - "\n", - "fig = go.Figure()\n", - "fig.add_trace(go.Box(x=df1.minutes, name='Cake'))\n", - "fig.add_trace(go.Box(x=df2.minutes, name='Cookie'))\n", - "fig.add_trace(go.Box(x=df3.minutes, name='Bread'))\n", - "\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "psQvX4fu-GvP" - }, - "source": [ - "Here we notice that in both cases on average **cake** recipes seem to be more difficult to repeat as they require **more ingredients** and **more effort** i.e steps to folllow. \n", - "\n", - "For **cookies** we see **less variability** in number of ingredients and number of steps as well as time to cook. \n", - "\n", - "At the same time **bread** recipes are **very diverse**: from easy-to-follow 3 steps breads to very time consuming 145 steps recipe requiring 43 ingredients. On average **it takes longer to cook a bread** rather then cake or cookies.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "53DFAGpH_Ukx" - }, - "source": [ - "### Text analysis (what makes a cookie that crunchy, cake that spongy, and bread that fluffy?)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "xESjYloEP-BZ" - }, - "source": [ - "**Next we will see what makes a cookie that crunchy, cake that spongy, and \n", - "bread that fluffy**" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "id": "l66GRmehJhFv" - }, - "outputs": [], - "source": [ - "# our ingredients contain some spechial charecters we won't need\n", - "from collections import Counter\n", - "#Counter(data_filtered['ingredients'].sum())\n", - "data_filtered['ingredients'] = data_filtered['ingredients'].str.replace('\\\"', '\\'').replace('\\[', '').replace('\\\"', '').replace('\\]', '')\n", - "data_filtered['steps'] = data_filtered['steps'].str.replace('\\\"', '\\'').replace('\\[', '').replace('\\\"', '').replace('\\]', '')" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "id": "1-pDhyCWIRUP" - }, - "outputs": [], - "source": [ - "# calculate the most common ingredients for cakes, cookies and bread\n", - "\n", - "cookie_ing = dict(Counter(data_filtered.loc[data_filtered['r_type'] == 'cookie']['ingredients'].apply(lambda x: x[2:-2].split('\\', \\'')).sum()).most_common())\n", - "cake_ing = dict(Counter(data_filtered.loc[data_filtered['r_type'] == 'cake']['ingredients'].apply(lambda x: x[2:-2].split('\\', \\'')).sum()).most_common())\n", - "bread_ing = dict(Counter(data_filtered.loc[data_filtered['r_type'] == 'bread']['ingredients'].apply(lambda x: x[2:-2].split('\\', \\'')).sum()).most_common())" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "kuWgY6FXbZ2A", - "outputId": "7890d772-f4f1-403a-a22b-4d72bcaa40af" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[('salt', 3666),\n", - " ('butter', 3259),\n", - " ('baking soda', 3242),\n", - " ('sugar', 2599),\n", - " ('flour', 2511),\n", - " ('vanilla', 2282),\n", - " ('eggs', 2193),\n", - " ('brown sugar', 2139),\n", - " ('egg', 2093),\n", - " ('all-purpose flour', 1933),\n", - " ('baking powder', 1881),\n", - " ('vanilla extract', 1497),\n", - " ('granulated sugar', 975),\n", - " ('cinnamon', 859),\n", - " ('unsalted butter', 730)]" - ] - }, - "metadata": {}, - "execution_count": 20 - } - ], - "source": [ - "# cookie most common ingredients\n", - "Counter(data_filtered.loc[data_filtered['r_type'] == 'cookie']['ingredients'].apply(lambda x: x[2:-2].split('\\', \\'')).sum()).most_common(15)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "iX0wFoLkcE3J", - "outputId": "c46ec290-dae4-454b-81a2-88f4dbbf0d46" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[('eggs', 8155),\n", - " ('sugar', 6591),\n", - " ('salt', 6291),\n", - " ('butter', 5755),\n", - " ('baking powder', 4906),\n", - " ('baking soda', 3861),\n", - " ('flour', 3723),\n", - " ('milk', 3217),\n", - " ('vanilla', 3203),\n", - " ('all-purpose flour', 3005),\n", - " ('vanilla extract', 2616),\n", - " ('water', 2367),\n", - " ('cream cheese', 2325),\n", - " ('cinnamon', 2153),\n", - " ('egg', 2120)]" - ] - }, - "metadata": {}, - "execution_count": 21 - } - ], - "source": [ - "# cake most common ingredients\n", - "Counter(data_filtered.loc[data_filtered['r_type'] == 'cake']['ingredients'].apply(lambda x: x[2:-2].split('\\', \\'')).sum()).most_common(15)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "EVz5Xsy8cRTl", - "outputId": "cd6acbd6-de5b-4802-d5ec-f7a91610ee36" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "[('salt', 5367),\n", - " ('sugar', 3499),\n", - " ('butter', 2877),\n", - " ('eggs', 2755),\n", - " ('baking powder', 2083),\n", - " ('baking soda', 2011),\n", - " ('flour', 1913),\n", - " ('water', 1821),\n", - " ('milk', 1699),\n", - " ('all-purpose flour', 1608),\n", - " ('egg', 1403),\n", - " ('cinnamon', 1055),\n", - " ('whole wheat flour', 906),\n", - " ('bread flour', 877),\n", - " ('brown sugar', 848)]" - ] - }, - "metadata": {}, - "execution_count": 22 - } - ], - "source": [ - "# bread most common ingredients\n", - "Counter(data_filtered.loc[data_filtered['r_type'] == 'bread']['ingredients'].apply(lambda x: x[2:-2].split('\\', \\'')).sum()).most_common(15)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "id": "iu7RjqjEG4yP" - }, - "outputs": [], - "source": [ - "# make a nice visualization \n", - "from wordcloud import WordCloud\n", - "import matplotlib.pyplot as plt\n", - "\n", - "def makeImage(text):\n", - " wc = WordCloud(background_color=\"white\", max_words=50)\n", - " wc.generate_from_frequencies(text)\n", - " plt.imshow(wc, interpolation=\"bilinear\")\n", - " plt.axis(\"off\")\n", - " plt.show()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 54 - }, - "id": "zVN3dc6RVpa4", - "outputId": "f80e04fd-43f0-4fec-88d5-8458e373e14e" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - } - } - ], - "source": [ - "makeImage(cookie_ing)" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 54 - }, - "id": "XDhCWb-jYS-l", - "outputId": "a2a4ac9e-431a-4188-beeb-b9b21f25f783" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - } - } - ], - "source": [ - "makeImage(cake_ing)" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 54 - }, - "id": "3cVYdNlqYXgV", - "outputId": "95636494-a253-4fdb-8896-c4835aff5c1f" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - } - } - ], - "source": [ - "makeImage(bread_ing)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "oVZ1fmE-Yxm-" - }, - "source": [ - "### Dataset to plain text " - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": { - "id": "nmqhPy8iYcUJ" - }, - "outputs": [], - "source": [ - "data2text = data_filtered[[\"name\", \"description\", \"ingredients\", \"steps\"]]" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "qj-KDseSg3cQ", - "outputId": "d53c953f-3b69-48ce-bee7-018d1973ffdf" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "name object\n", - "description object\n", - "ingredients object\n", - "steps object\n", - "dtype: object" - ] - }, - "metadata": {}, - "execution_count": 28 - } - ], - "source": [ - "data2text.dtypes" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": { - "id": "3nso7QL1go0D" - }, - "outputs": [], - "source": [ - "data2text.reset_index(drop=True, inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": { - "id": "rSuWJI5_gqjR" - }, - "outputs": [], - "source": [ - "data2text = data2text.rename(columns={'name': 'title'})" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": { - "id": "2GDr2m2vmwCL" - }, - "outputs": [], - "source": [ - "data2text[\"ingredients\"] = data2text[\"ingredients\"].str.replace(\"\\['\", \"\").str.replace(\"\\']\", \"\")\n", - "data2text[\"steps\"] = data2text[\"steps\"].str.replace(\"\\['\", \"\").str.replace(\"\\']\", \"\")" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 419 - }, - "id": "1TFBNP91Z7kU", - "outputId": "c7336027-1043-40c4-ba83-472e462f72a3" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "\n", - "
\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
titledescriptioningredientssteps
0beat this banana breadfrom ann hodgman'ssugar', 'unsalted butter', 'bananas', 'eggs', ...preheat oven to 350 degrees', 'butter two 9x5'...
1grilled ranch breadbuttery andbutter', 'dry ranch dressing mix', 'french breadcream the butter with the dressing mix', 'spre...
2jeanne s style birthday cakea bakery in winnipeg is famous for this specia...shortening', 'icing sugar', 'vanilla', 'all-pu...to prepare base , cut shortening into dry ingr...
3jiffy extra moist carrot cakethis is a very tasty, moist, carrot cake. a ni...yellow cake mix', 'vanilla instant pudding mix...preheat oven to 350 degrees', 'mix together th...
4jiffy roasted corn and jalapeno cornbreadthis is a moist, easy, colorful and delicious ...whole kernel corn', 'onion', 'red bell pepper'...melt butter in a saut pan', 'add the corn , on...
...............
27858zwetschgenkuchen plum cakethis is a classic german pastry and a deliciou...margarine', 'all-purpose flour', 'sugar', 'bak...prepare pastry: cut margarine into flour , sug...
27859zwieback toast teething cookiesa quintessential childhood food. this is a co...sugar', 'active dry yeast', 'milk', 'butter', ...stir together 1 / 2 teaspoon of sugar , the ye...
27860zwiebelkuchen southwest german onion cakethis is a traditional late summer early fall s...fresh yeast', 'milk', 'flour', 'butter', 'egg'...for the dough:', 'dissolve the yeast in the lu...
27861cookies by design cookies on a sticki've heard of the 'cookies by design' company,...butter', 'eagle brand condensed milk', 'light ...place melted butter in a large mixing bowl and...
27862cookies by design sugar shortbread cookiesi've heard of the 'cookies by design' company,...granulated sugar', 'shortening', 'eggs', 'flou...whip sugar and shortening in a large bowl , ad...
\n", - "

27863 rows ร— 4 columns

\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ], - "text/plain": [ - " title ... steps\n", - "0 beat this banana bread ... preheat oven to 350 degrees', 'butter two 9x5'...\n", - "1 grilled ranch bread ... cream the butter with the dressing mix', 'spre...\n", - "2 jeanne s style birthday cake ... to prepare base , cut shortening into dry ingr...\n", - "3 jiffy extra moist carrot cake ... preheat oven to 350 degrees', 'mix together th...\n", - "4 jiffy roasted corn and jalapeno cornbread ... melt butter in a saut pan', 'add the corn , on...\n", - "... ... ... ...\n", - "27858 zwetschgenkuchen plum cake ... prepare pastry: cut margarine into flour , sug...\n", - "27859 zwieback toast teething cookies ... stir together 1 / 2 teaspoon of sugar , the ye...\n", - "27860 zwiebelkuchen southwest german onion cake ... for the dough:', 'dissolve the yeast in the lu...\n", - "27861 cookies by design cookies on a stick ... place melted butter in a large mixing bowl and...\n", - "27862 cookies by design sugar shortbread cookies ... whip sugar and shortening in a large bowl , ad...\n", - "\n", - "[27863 rows x 4 columns]" - ] - }, - "metadata": {}, - "execution_count": 32 - } - ], - "source": [ - "data2text" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": { - "id": "rD1LcAAVdLp9" - }, - "outputs": [], - "source": [ - "STOP_WORD_TITLE = '๐Ÿ“Œ TITLE\\n\\n'\n", - "STOP_WORD_DESCRIPTION = '\\n๐Ÿ‘€ DESCRIPTION\\n\\n'\n", - "STOP_WORD_INGREDIENTS = '\\n๐Ÿ’ INGREDIENTS\\n\\n'\n", - "STOP_WORD_INSTRUCTIONS = '\\n๐Ÿ“ INSTRUCTIONS\\n\\n'" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": { - "id": "jVBXuY2EdVfL" - }, - "outputs": [], - "source": [ - "def recipe_to_string(recipe):\n", - " result = []\n", - " for index, row in data2text.iterrows(): \n", - " title = row.title\n", - " description = row.description\n", - " ingredients = row.ingredients.split('\\', \\'')\n", - " instructions = row.steps.split('\\', \\'')\n", - " ingredients_string = ''\n", - " for ingredient in ingredients:\n", - " if ingredient:\n", - " ingredients_string += f'โ€ข {ingredient}\\n' \n", - " instructions_string = ''\n", - " for instruction in instructions:\n", - " if instruction:\n", - " instructions_string += f'โ–ช๏ธŽ {instruction}\\n'\n", - " result.append(f'{STOP_WORD_TITLE}{title}\\n{STOP_WORD_DESCRIPTION}{description}\\n{STOP_WORD_INGREDIENTS}{ingredients_string}{STOP_WORD_INSTRUCTIONS}{instructions_string}')\n", - " return result" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": { - "id": "GlvFPGA81E-o" - }, - "outputs": [], - "source": [ - "dataset_stringified = recipe_to_string(data2text) " - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "BUitJk6wvh7I", - "outputId": "94e1c591-34ec-4b91-9513-e24d9764c9fd" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Stringified dataset size: 27863\n" - ] - } - ], - "source": [ - "print('Stringified dataset size: ', len(dataset_stringified))" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "pV-dhXcDySFl", - "outputId": "caa7d082-e136-42ab-bcc2-a8bd17d4bd14" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Recipe #1\n", - "---------\n", - "๐Ÿ“Œ TITLE\n", - "\n", - "beat this banana bread\n", - "\n", - "๐Ÿ‘€ DESCRIPTION\n", - "\n", - "from ann hodgman's \n", - "\n", - "๐Ÿ’ INGREDIENTS\n", - "\n", - "โ€ข sugar\n", - "โ€ข unsalted butter\n", - "โ€ข bananas\n", - "โ€ข eggs\n", - "โ€ข fresh lemon juice\n", - "โ€ข orange rind\n", - "โ€ข cake flour\n", - "โ€ข baking soda\n", - "โ€ข salt\n", - "\n", - "๐Ÿ“ INSTRUCTIONS\n", - "\n", - "โ–ช๏ธŽ preheat oven to 350 degrees\n", - "โ–ช๏ธŽ butter two 9x5' loaf pans\n", - "โ–ช๏ธŽ cream the sugar and the butter until light and whipped\n", - "โ–ช๏ธŽ add the bananas , eggs , lemon juice , orange rind\n", - "โ–ช๏ธŽ beat until blended uniformly\n", - "โ–ช๏ธŽ be patient , and beat until the banana lumps are gone\n", - "โ–ช๏ธŽ sift the dry ingredients together\n", - "โ–ช๏ธŽ fold lightly and thoroughly into the banana mixture\n", - "โ–ช๏ธŽ pour the batter into prepared loaf pans\n", - "โ–ช๏ธŽ bake for 45 to 55 minutes , until the loaves are firm in the middle and the edges begin to pull away from the pans\n", - "โ–ช๏ธŽ cool the loaves on racks for 30 minutes before removing from the pans\n", - "โ–ช๏ธŽ freezes well\n", - "\n", - "\n", - "\n", - "Recipe #2\n", - "---------\n", - "๐Ÿ“Œ TITLE\n", - "\n", - "grilled ranch bread\n", - "\n", - "๐Ÿ‘€ DESCRIPTION\n", - "\n", - "buttery and \n", - "\n", - "๐Ÿ’ INGREDIENTS\n", - "\n", - "โ€ข butter\n", - "โ€ข dry ranch dressing mix\n", - "โ€ข french bread\n", - "\n", - "๐Ÿ“ INSTRUCTIONS\n", - "\n", - "โ–ช๏ธŽ cream the butter with the dressing mix\n", - "โ–ช๏ธŽ spread evenly on the bread halves\n", - "โ–ช๏ธŽ place under the broiler for 2-3 minutes , until golden and the butter begins to seep and bubble\n", - "โ–ช๏ธŽ serve hot\n", - "\n", - "\n", - "\n", - "Recipe #3\n", - "---------\n", - "๐Ÿ“Œ TITLE\n", - "\n", - "jeanne s style birthday cake\n", - "\n", - "๐Ÿ‘€ DESCRIPTION\n", - "\n", - "a bakery in winnipeg is famous for this special cake and ship it to all parts of canada. a recipe request column in the winnipeg free press printed this copycat recipe submitted by a reader. enjoy !\n", - "\n", - "๐Ÿ’ INGREDIENTS\n", - "\n", - "โ€ข shortening\n", - "โ€ข icing sugar\n", - "โ€ข vanilla\n", - "โ€ข all-purpose flour\n", - "โ€ข baking powder\n", - "โ€ข sugar\n", - "โ€ข eggs\n", - "โ€ข salt\n", - "โ€ข milk\n", - "โ€ข butter\n", - "\n", - "๐Ÿ“ INSTRUCTIONS\n", - "\n", - "โ–ช๏ธŽ to prepare base , cut shortening into dry ingredients , mix well\n", - "โ–ช๏ธŽ pat firmly and evenly into an 8 inch square pan and bake at 350 deg\n", - "โ–ช๏ธŽ f\n", - "โ–ช๏ธŽ for 10-12 minutes\n", - "โ–ช๏ธŽ cool\n", - "โ–ช๏ธŽ for cake: cream shortening , and sugar\n", - "โ–ช๏ธŽ add eggs and vanilla , beating well until fluffy\n", - "โ–ช๏ธŽ sift flour , baking powder and salt together\n", - "โ–ช๏ธŽ add to creamed mixture alternately with milk\n", - "โ–ช๏ธŽ pour batter into a greased and floured 8 inch square pan\n", - "โ–ช๏ธŽ bake at 350 deg\n", - "โ–ช๏ธŽ f for 25 - 40 minutes\n", - "โ–ช๏ธŽ frosting: in small saucepan , stir tog\n", - "โ–ช๏ธŽ milk and flour\n", - "โ–ช๏ธŽ cook , stirring constantly , until mixute is thickened and smooth\n", - "โ–ช๏ธŽ cool\n", - "โ–ช๏ธŽ on highest speed of mixer , beat cooled flour mixture with butter , shortening and vanilla until smooth and fluffy\n", - "โ–ช๏ธŽ blend in icing sugar and salt\n", - "โ–ช๏ธŽ continue beating until frosting is very fluffy\n", - "โ–ช๏ธŽ this will take at least 15 minutes\n", - "โ–ช๏ธŽ to assemble cake: place shortbread base on serving plate\n", - "โ–ช๏ธŽ spread with small amount of frosting\n", - "โ–ช๏ธŽ place cake on base\n", - "โ–ช๏ธŽ cover top and sides of cake with remaining frosting\n", - "โ–ช๏ธŽ if desired , garnish sides of cake with shaved semi-sweet chocolate\n", - "\n", - "\n", - "\n" - ] - } - ], - "source": [ - "for recipe_index, recipe_string in enumerate(dataset_stringified[:3]):\n", - " print('Recipe #{}\\n---------'.format(recipe_index + 1))\n", - " print(recipe_string)\n", - " print('\\n')" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "sLTAaK3nMd1g" - }, - "source": [ - "Let's see how many characters our recipes have" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 265 - }, - "id": "LLr20-NlyZYW", - "outputId": "e189d521-077c-4110-a569-4b7d05a9752f" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - } - } - ], - "source": [ - "recipes_lengths = []\n", - "for recipe_text in dataset_stringified:\n", - " recipes_lengths.append(len(recipe_text))\n", - "\n", - "plt.hist(recipes_lengths, bins=50)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 268 - }, - "id": "cXWD8ggTMPmU", - "outputId": "e9d90303-0406-48b0-c9a2-efca1b0a6098" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - } - } - ], - "source": [ - "# For a closer examination lets consider recipes shorter then 5000 characters\n", - "plt.hist(recipes_lengths, range=(0, 5000), bins=50)\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": { - "id": "xAPiEpplMaRs" - }, - "outputs": [], - "source": [ - "MAX_RECIPE_LENGTH = 2000" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "oXyK4r-DR8RH", - "outputId": "f8aacf82-cdaa-48a2-c853-2ecd4a16d04d" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Dataset size BEFORE filtering: 27863\n", - "Dataset size AFTER filtering: 26062\n", - "Number of eliminated recipes: 1801\n" - ] - } - ], - "source": [ - "def filter_recipes_by_length(recipe_test):\n", - " return len(recipe_test) <= MAX_RECIPE_LENGTH \n", - "\n", - "dataset_filtered = [recipe_text for recipe_text in dataset_stringified if filter_recipes_by_length(recipe_text)]\n", - "\n", - "print('Dataset size BEFORE filtering: ', len(dataset_stringified))\n", - "print('Dataset size AFTER filtering: ', len(dataset_filtered))\n", - "print('Number of eliminated recipes: ', len(dataset_stringified) - len(dataset_filtered))" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "FLF8-MNJSQfh" - }, - "source": [ - "### Creating Vocabulary" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "upyJzPr9SVJg", - "outputId": "a44ef963-d4d2-411a-dc85-0d3e4c7de6f4" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "{'char_level': True,\n", - " 'document_count': 26063,\n", - " 'filters': '',\n", - " 'index_docs': '{\"1\": 26062, \"71\": 332, \"61\": 7536, \"12\": 26061, \"51\": 26062, \"28\": 24713, \"22\": 26013, \"2\": 26062, \"14\": 26058, \"42\": 20638, \"17\": 26061, \"48\": 26062, \"58\": 12158, \"11\": 26062, \"18\": 26034, \"7\": 26062, \"10\": 26061, \"34\": 23968, \"50\": 26062, \"54\": 26062, \"35\": 26062, \"3\": 26062, \"30\": 26062, \"16\": 26056, \"56\": 12988, \"40\": 26062, \"55\": 10980, \"52\": 26062, \"6\": 26062, \"31\": 26062, \"5\": 26062, \"15\": 26054, \"41\": 26062, \"47\": 26062, \"46\": 13270, \"21\": 26012, \"13\": 26059, \"19\": 26043, \"24\": 26062, \"29\": 25690, \"49\": 26062, \"23\": 26062, \"9\": 26062, \"27\": 26062, \"4\": 26062, \"33\": 26062, \"44\": 21103, \"53\": 26062, \"25\": 26062, \"32\": 26062, \"39\": 26062, \"20\": 26047, \"8\": 26062, \"43\": 21056, \"26\": 25905, \"38\": 20037, \"45\": 17710, \"63\": 6519, \"36\": 22903, \"57\": 10546, \"37\": 20846, \"62\": 5632, \"60\": 8227, \"65\": 4413, \"67\": 3513, \"59\": 10272, \"70\": 2764, \"78\": 149, \"68\": 1803, \"64\": 5275, \"74\": 620, \"66\": 2121, \"69\": 1965, \"88\": 51, \"72\": 668, \"80\": 76, \"81\": 34, \"82\": 82, \"73\": 693, \"84\": 76, \"83\": 77, \"75\": 216, \"76\": 283, \"77\": 117, \"91\": 22, \"94\": 16, \"79\": 100, \"90\": 33, \"96\": 16, \"92\": 23, \"93\": 17, \"106\": 3, \"87\": 44, \"85\": 67, \"86\": 64, \"103\": 9, \"98\": 13, \"97\": 14, \"100\": 14, \"104\": 4, \"120\": 1, \"121\": 1, \"101\": 11, \"89\": 36, \"95\": 20, \"99\": 13, \"114\": 1, \"122\": 1, \"107\": 3, \"123\": 1, \"108\": 3, \"109\": 3, \"110\": 3, \"105\": 5, \"115\": 2, \"116\": 2, \"124\": 1, \"117\": 1, \"102\": 3, \"111\": 2, \"118\": 2, \"119\": 2, \"112\": 3, \"125\": 1, \"126\": 1, \"127\": 1, \"128\": 1, \"129\": 1, \"130\": 1, \"113\": 3}',\n", - " 'index_word': '{\"1\": \" \", \"2\": \"e\", \"3\": \"a\", \"4\": \"t\", \"5\": \"o\", \"6\": \"i\", \"7\": \"n\", \"8\": \"r\", \"9\": \"s\", \"10\": \"l\", \"11\": \"\\\\n\", \"12\": \"d\", \"13\": \"u\", \"14\": \"c\", \"15\": \"h\", \"16\": \"g\", \"17\": \"m\", \"18\": \"p\", \"19\": \"b\", \"20\": \"f\", \"21\": \"w\", \"22\": \"k\", \"23\": \"\\\\u25aa\", \"24\": \"\\\\ufe0e\", \"25\": \"\\\\u2022\", \"26\": \"y\", \"27\": \"I\", \"28\": \",\", \"29\": \"v\", \"30\": \"T\", \"31\": \"N\", \"32\": \"E\", \"33\": \"S\", \"34\": \"x\", \"35\": \"R\", \"36\": \".\", \"37\": \"1\", \"38\": \"-\", \"39\": \"D\", \"40\": \"C\", \"41\": \"O\", \"42\": \"0\", \"43\": \"5\", \"44\": \"3\", \"45\": \"2\", \"46\": \"\\'\", \"47\": \"\\\\ud83d\\\\udccc\", \"48\": \"L\", \"49\": \"\\\\ud83d\\\\udc40\", \"50\": \"P\", \"51\": \"\\\\ud83c\\\\udf52\", \"52\": \"G\", \"53\": \"\\\\ud83d\\\\udcdd\", \"54\": \"U\", \"55\": \"z\", \"56\": \"j\", \"57\": \"!\", \"58\": \"4\", \"59\": \"/\", \"60\": \"q\", \"61\": \"9\", \"62\": \":\", \"63\": \"8\", \"64\": \"7\", \"65\": \"6\", \"66\": \"\\\\\"\", \"67\": \")\", \"68\": \"&\", \"69\": \"\\\\r\", \"70\": \"(\", \"71\": \"*\", \"72\": \"#\", \"73\": \";\", \"74\": \"?\", \"75\": \"\\\\u2019\", \"76\": \"%\", \"77\": \"=\", \"78\": \"@\", \"79\": \"+\", \"80\": \"~\", \"81\": \"_\", \"82\": \"\\\\\\\\\", \"83\": \"[\", \"84\": \"]\", \"85\": \"\\\\u201d\", \"86\": \"\\\\u201c\", \"87\": \"\\\\u2014\", \"88\": \"$\", \"89\": \"\\\\u00e9\", \"90\": \"\\\\u2013\", \"91\": \">\", \"92\": \"<\", \"93\": \"^\", \"94\": \"\\\\u00bd\", \"95\": \"`\", \"96\": \"\\\\u2026\", \"97\": \"}\", \"98\": \"{\", \"99\": \"\\\\u00ae\", \"100\": \"\\\\u2018\", \"101\": \"\\\\u00b0\", \"102\": \"|\", \"103\": \"\\\\u00e8\", \"104\": \"\\\\u00a0\", \"105\": \"\\\\u00f1\", \"106\": \"\\\\u00a9\", \"107\": \"\\\\u00e4\", \"108\": \"\\\\u00ef\", \"109\": \"\\\\u00bf\", \"110\": \"\\\\u00fc\", \"111\": \"\\\\u00bc\", \"112\": \"\\\\u00ee\", \"113\": \"\\\\u2122\", \"114\": \"\\\\u00fa\", \"115\": \"\\\\u00b4\", \"116\": \"\\\\u00e7\", \"117\": \"\\\\u00fb\", \"118\": \"\\\\u00f3\", \"119\": \"\\\\u00f6\", \"120\": \"\\\\u00f4\", \"121\": \"\\\\u00be\", \"122\": \"\\\\u00ed\", \"123\": \"\\\\u00ba\", \"124\": \"\\\\u00e2\", \"125\": \"\\\\u00ea\", \"126\": \"\\\\t\", \"127\": \"\\\\u00eb\", \"128\": \"\\\\u00a2\", \"129\": \"\\\\u00f9\", \"130\": \"\\\\u00e0\"}',\n", - " 'lower': False,\n", - " 'num_words': None,\n", - " 'oov_token': None,\n", - " 'split': '',\n", - " 'word_counts': '{\"*\": 854, \"\\\\ud83d\\\\udccc\": 26062, \" \": 4351982, \"T\": 156372, \"I\": 182434, \"L\": 26062, \"E\": 104248, \"\\\\n\": 875409, \"b\": 407092, \"e\": 2188153, \"a\": 1562715, \"t\": 1507990, \"h\": 656263, \"i\": 1293026, \"s\": 1050269, \"n\": 1255003, \"r\": 1231768, \"d\": 732758, \"\\\\ud83d\\\\udc40\": 26062, \"D\": 52124, \"S\": 104248, \"C\": 52124, \"R\": 78186, \"P\": 26062, \"O\": 52124, \"N\": 130310, \"f\": 373111, \"o\": 1405310, \"m\": 498925, \"g\": 515216, \"\\'\": 27039, \"\\\\ud83c\\\\udf52\": 26062, \"G\": 26062, \"\\\\u2022\": 249672, \"u\": 662939, \"l\": 901468, \"j\": 24245, \"c\": 662778, \"k\": 297192, \"\\\\ud83d\\\\udcdd\": 26062, \"U\": 26062, \"\\\\u25aa\": 283108, \"\\\\ufe0e\": 283108, \"p\": 471700, \"v\": 169059, \"3\": 41026, \"5\": 43404, \"0\": 48546, \"w\": 303623, \"9\": 9143, \"x\": 89013, \",\": 172710, \"y\": 225370, \"4\": 18365, \"z\": 25223, \"2\": 37800, \"-\": 53332, \".\": 67292, \"q\": 11984, \"!\": 18552, \"8\": 8293, \"1\": 55874, \":\": 8808, \")\": 4259, \"6\": 5260, \"/\": 18210, \"(\": 3216, \"@\": 169, \"&\": 4188, \"7\": 6286, \"?\": 771, \"\\\\\"\": 4754, \"\\\\r\": 3820, \"$\": 58, \"#\": 812, \"~\": 125, \"_\": 113, \"\\\\\\\\\": 100, \";\": 801, \"[\": 96, \"]\": 96, \"\\\\u2019\": 309, \"%\": 304, \"=\": 170, \">\": 32, \"\\\\u00bd\": 24, \"+\": 167, \"\\\\u2013\": 37, \"\\\\u2026\": 18, \"^\": 27, \"<\": 30, \"\\\\u00a9\": 3, \"\\\\u2014\": 60, \"\\\\u201c\": 81, \"\\\\u201d\": 84, \"\\\\u00e8\": 9, \"{\": 17, \"}\": 18, \"\\\\u2018\": 14, \"\\\\u00a0\": 7, \"\\\\u00f4\": 1, \"\\\\u00be\": 1, \"\\\\u00b0\": 11, \"\\\\u00e9\": 42, \"`\": 22, \"\\\\u00ae\": 16, \"\\\\u00fa\": 2, \"\\\\u00ed\": 1, \"\\\\u00e4\": 3, \"\\\\u00ba\": 1, \"\\\\u00ef\": 3, \"\\\\u00bf\": 3, \"\\\\u00fc\": 3, \"\\\\u00f1\": 5, \"\\\\u00b4\": 2, \"\\\\u00e7\": 2, \"\\\\u00e2\": 1, \"\\\\u00fb\": 2, \"|\": 10, \"\\\\u00bc\": 3, \"\\\\u00f3\": 2, \"\\\\u00f6\": 2, \"\\\\u00ee\": 3, \"\\\\u00ea\": 1, \"\\\\t\": 1, \"\\\\u00eb\": 1, \"\\\\u00a2\": 1, \"\\\\u00f9\": 1, \"\\\\u00e0\": 1, \"\\\\u2122\": 3}',\n", - " 'word_docs': '{\"*\": 332, \"9\": 7536, \"d\": 26061, \"\\\\ud83c\\\\udf52\": 26062, \",\": 24713, \"k\": 26013, \"e\": 26062, \"c\": 26058, \"0\": 20638, \"m\": 26061, \"L\": 26062, \"4\": 12158, \"\\\\n\": 26062, \"p\": 26034, \"n\": 26062, \"l\": 26061, \"x\": 23968, \"P\": 26062, \"U\": 26062, \"R\": 26062, \"a\": 26062, \"T\": 26062, \"g\": 26056, \"j\": 12988, \" \": 26062, \"C\": 26062, \"z\": 10980, \"G\": 26062, \"i\": 26062, \"N\": 26062, \"o\": 26062, \"h\": 26054, \"O\": 26062, \"\\\\ud83d\\\\udccc\": 26062, \"\\'\": 13270, \"w\": 26012, \"u\": 26059, \"b\": 26043, \"\\\\ufe0e\": 26062, \"v\": 25690, \"\\\\ud83d\\\\udc40\": 26062, \"\\\\u25aa\": 26062, \"s\": 26062, \"I\": 26062, \"t\": 26062, \"S\": 26062, \"3\": 21103, \"\\\\ud83d\\\\udcdd\": 26062, \"\\\\u2022\": 26062, \"E\": 26062, \"D\": 26062, \"f\": 26047, \"r\": 26062, \"5\": 21056, \"y\": 25905, \"-\": 20037, \"2\": 17710, \"8\": 6519, \".\": 22903, \"!\": 10546, \"1\": 20846, \":\": 5632, \"q\": 8227, \"6\": 4413, \")\": 3513, \"/\": 10272, \"(\": 2764, \"@\": 149, \"&\": 1803, \"7\": 5275, \"?\": 620, \"\\\\\"\": 2121, \"\\\\r\": 1965, \"$\": 51, \"#\": 668, \"~\": 76, \"_\": 34, \"\\\\\\\\\": 82, \";\": 693, \"]\": 76, \"[\": 77, \"\\\\u2019\": 216, \"%\": 283, \"=\": 117, \">\": 22, \"\\\\u00bd\": 16, \"+\": 100, \"\\\\u2013\": 33, \"\\\\u2026\": 16, \"<\": 23, \"^\": 17, \"\\\\u00a9\": 3, \"\\\\u2014\": 44, \"\\\\u201d\": 67, \"\\\\u201c\": 64, \"\\\\u00e8\": 9, \"{\": 13, \"}\": 14, \"\\\\u2018\": 14, \"\\\\u00a0\": 4, \"\\\\u00f4\": 1, \"\\\\u00be\": 1, \"\\\\u00b0\": 11, \"\\\\u00e9\": 36, \"`\": 20, \"\\\\u00ae\": 13, \"\\\\u00fa\": 1, \"\\\\u00ed\": 1, \"\\\\u00e4\": 3, \"\\\\u00ba\": 1, \"\\\\u00ef\": 3, \"\\\\u00bf\": 3, \"\\\\u00fc\": 3, \"\\\\u00f1\": 5, \"\\\\u00b4\": 2, \"\\\\u00e7\": 2, \"\\\\u00e2\": 1, \"\\\\u00fb\": 1, \"|\": 3, \"\\\\u00bc\": 2, \"\\\\u00f3\": 2, \"\\\\u00f6\": 2, \"\\\\u00ee\": 3, \"\\\\u00ea\": 1, \"\\\\t\": 1, \"\\\\u00eb\": 1, \"\\\\u00a2\": 1, \"\\\\u00f9\": 1, \"\\\\u00e0\": 1, \"\\\\u2122\": 3}',\n", - " 'word_index': '{\" \": 1, \"e\": 2, \"a\": 3, \"t\": 4, \"o\": 5, \"i\": 6, \"n\": 7, \"r\": 8, \"s\": 9, \"l\": 10, \"\\\\n\": 11, \"d\": 12, \"u\": 13, \"c\": 14, \"h\": 15, \"g\": 16, \"m\": 17, \"p\": 18, \"b\": 19, \"f\": 20, \"w\": 21, \"k\": 22, \"\\\\u25aa\": 23, \"\\\\ufe0e\": 24, \"\\\\u2022\": 25, \"y\": 26, \"I\": 27, \",\": 28, \"v\": 29, \"T\": 30, \"N\": 31, \"E\": 32, \"S\": 33, \"x\": 34, \"R\": 35, \".\": 36, \"1\": 37, \"-\": 38, \"D\": 39, \"C\": 40, \"O\": 41, \"0\": 42, \"5\": 43, \"3\": 44, \"2\": 45, \"\\'\": 46, \"\\\\ud83d\\\\udccc\": 47, \"L\": 48, \"\\\\ud83d\\\\udc40\": 49, \"P\": 50, \"\\\\ud83c\\\\udf52\": 51, \"G\": 52, \"\\\\ud83d\\\\udcdd\": 53, \"U\": 54, \"z\": 55, \"j\": 56, \"!\": 57, \"4\": 58, \"/\": 59, \"q\": 60, \"9\": 61, \":\": 62, \"8\": 63, \"7\": 64, \"6\": 65, \"\\\\\"\": 66, \")\": 67, \"&\": 68, \"\\\\r\": 69, \"(\": 70, \"*\": 71, \"#\": 72, \";\": 73, \"?\": 74, \"\\\\u2019\": 75, \"%\": 76, \"=\": 77, \"@\": 78, \"+\": 79, \"~\": 80, \"_\": 81, \"\\\\\\\\\": 82, \"[\": 83, \"]\": 84, \"\\\\u201d\": 85, \"\\\\u201c\": 86, \"\\\\u2014\": 87, \"$\": 88, \"\\\\u00e9\": 89, \"\\\\u2013\": 90, \">\": 91, \"<\": 92, \"^\": 93, \"\\\\u00bd\": 94, \"`\": 95, \"\\\\u2026\": 96, \"}\": 97, \"{\": 98, \"\\\\u00ae\": 99, \"\\\\u2018\": 100, \"\\\\u00b0\": 101, \"|\": 102, \"\\\\u00e8\": 103, \"\\\\u00a0\": 104, \"\\\\u00f1\": 105, \"\\\\u00a9\": 106, \"\\\\u00e4\": 107, \"\\\\u00ef\": 108, \"\\\\u00bf\": 109, \"\\\\u00fc\": 110, \"\\\\u00bc\": 111, \"\\\\u00ee\": 112, \"\\\\u2122\": 113, \"\\\\u00fa\": 114, \"\\\\u00b4\": 115, \"\\\\u00e7\": 116, \"\\\\u00fb\": 117, \"\\\\u00f3\": 118, \"\\\\u00f6\": 119, \"\\\\u00f4\": 120, \"\\\\u00be\": 121, \"\\\\u00ed\": 122, \"\\\\u00ba\": 123, \"\\\\u00e2\": 124, \"\\\\u00ea\": 125, \"\\\\t\": 126, \"\\\\u00eb\": 127, \"\\\\u00a2\": 128, \"\\\\u00f9\": 129, \"\\\\u00e0\": 130}'}" - ] - }, - "metadata": {}, - "execution_count": 42 - } - ], - "source": [ - "STOP_SIGN = '*'\n", - "\n", - "tokenizer = tf.keras.preprocessing.text.Tokenizer(\n", - " char_level=True,\n", - " filters='',\n", - " lower=False,\n", - " split=''\n", - ")\n", - "\n", - "# Stop word is not a part of recipes, but tokenizer must know about it as well.\n", - "tokenizer.fit_on_texts([STOP_SIGN])\n", - "\n", - "tokenizer.fit_on_texts(dataset_filtered)\n", - "\n", - "tokenizer.get_config()" - ] - }, - { - "cell_type": "code", - "source": [ - "tokenizer_json = tokenizer.to_json()" - ], - "metadata": { - "id": "gmQa_mtVjsdx" - }, - "execution_count": 43, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "print(tokenizer_json)" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "A1xjvcQYj7Oj", - "outputId": "d3450fd6-09a7-43dd-b544-8378c98a3264" - }, - "execution_count": 44, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "{\"class_name\": \"Tokenizer\", \"config\": {\"num_words\": null, \"filters\": \"\", \"lower\": false, \"split\": \"\", \"char_level\": true, \"oov_token\": null, \"document_count\": 26063, \"word_counts\": \"{\\\"*\\\": 854, \\\"\\\\ud83d\\\\udccc\\\": 26062, \\\" \\\": 4351982, \\\"T\\\": 156372, \\\"I\\\": 182434, \\\"L\\\": 26062, \\\"E\\\": 104248, \\\"\\\\n\\\": 875409, \\\"b\\\": 407092, \\\"e\\\": 2188153, \\\"a\\\": 1562715, \\\"t\\\": 1507990, \\\"h\\\": 656263, \\\"i\\\": 1293026, \\\"s\\\": 1050269, \\\"n\\\": 1255003, \\\"r\\\": 1231768, \\\"d\\\": 732758, \\\"\\\\ud83d\\\\udc40\\\": 26062, \\\"D\\\": 52124, \\\"S\\\": 104248, \\\"C\\\": 52124, \\\"R\\\": 78186, \\\"P\\\": 26062, \\\"O\\\": 52124, \\\"N\\\": 130310, \\\"f\\\": 373111, \\\"o\\\": 1405310, \\\"m\\\": 498925, \\\"g\\\": 515216, \\\"'\\\": 27039, \\\"\\\\ud83c\\\\udf52\\\": 26062, \\\"G\\\": 26062, \\\"\\\\u2022\\\": 249672, \\\"u\\\": 662939, \\\"l\\\": 901468, \\\"j\\\": 24245, \\\"c\\\": 662778, \\\"k\\\": 297192, \\\"\\\\ud83d\\\\udcdd\\\": 26062, \\\"U\\\": 26062, \\\"\\\\u25aa\\\": 283108, \\\"\\\\ufe0e\\\": 283108, \\\"p\\\": 471700, \\\"v\\\": 169059, \\\"3\\\": 41026, \\\"5\\\": 43404, \\\"0\\\": 48546, \\\"w\\\": 303623, \\\"9\\\": 9143, \\\"x\\\": 89013, \\\",\\\": 172710, \\\"y\\\": 225370, \\\"4\\\": 18365, \\\"z\\\": 25223, \\\"2\\\": 37800, \\\"-\\\": 53332, \\\".\\\": 67292, \\\"q\\\": 11984, \\\"!\\\": 18552, \\\"8\\\": 8293, \\\"1\\\": 55874, \\\":\\\": 8808, \\\")\\\": 4259, \\\"6\\\": 5260, \\\"/\\\": 18210, \\\"(\\\": 3216, \\\"@\\\": 169, \\\"&\\\": 4188, \\\"7\\\": 6286, \\\"?\\\": 771, \\\"\\\\\\\"\\\": 4754, \\\"\\\\r\\\": 3820, \\\"$\\\": 58, \\\"#\\\": 812, \\\"~\\\": 125, \\\"_\\\": 113, \\\"\\\\\\\\\\\": 100, \\\";\\\": 801, \\\"[\\\": 96, \\\"]\\\": 96, \\\"\\\\u2019\\\": 309, \\\"%\\\": 304, \\\"=\\\": 170, \\\">\\\": 32, \\\"\\\\u00bd\\\": 24, \\\"+\\\": 167, \\\"\\\\u2013\\\": 37, \\\"\\\\u2026\\\": 18, \\\"^\\\": 27, \\\"<\\\": 30, \\\"\\\\u00a9\\\": 3, \\\"\\\\u2014\\\": 60, \\\"\\\\u201c\\\": 81, \\\"\\\\u201d\\\": 84, \\\"\\\\u00e8\\\": 9, \\\"{\\\": 17, \\\"}\\\": 18, \\\"\\\\u2018\\\": 14, \\\"\\\\u00a0\\\": 7, \\\"\\\\u00f4\\\": 1, \\\"\\\\u00be\\\": 1, \\\"\\\\u00b0\\\": 11, \\\"\\\\u00e9\\\": 42, \\\"`\\\": 22, \\\"\\\\u00ae\\\": 16, \\\"\\\\u00fa\\\": 2, \\\"\\\\u00ed\\\": 1, \\\"\\\\u00e4\\\": 3, \\\"\\\\u00ba\\\": 1, \\\"\\\\u00ef\\\": 3, \\\"\\\\u00bf\\\": 3, \\\"\\\\u00fc\\\": 3, \\\"\\\\u00f1\\\": 5, \\\"\\\\u00b4\\\": 2, \\\"\\\\u00e7\\\": 2, \\\"\\\\u00e2\\\": 1, \\\"\\\\u00fb\\\": 2, \\\"|\\\": 10, \\\"\\\\u00bc\\\": 3, \\\"\\\\u00f3\\\": 2, \\\"\\\\u00f6\\\": 2, \\\"\\\\u00ee\\\": 3, \\\"\\\\u00ea\\\": 1, \\\"\\\\t\\\": 1, \\\"\\\\u00eb\\\": 1, \\\"\\\\u00a2\\\": 1, \\\"\\\\u00f9\\\": 1, \\\"\\\\u00e0\\\": 1, \\\"\\\\u2122\\\": 3}\", \"word_docs\": \"{\\\"*\\\": 332, \\\"9\\\": 7536, \\\"d\\\": 26061, \\\"\\\\ud83c\\\\udf52\\\": 26062, \\\",\\\": 24713, \\\"k\\\": 26013, \\\"e\\\": 26062, \\\"c\\\": 26058, \\\"0\\\": 20638, \\\"m\\\": 26061, \\\"L\\\": 26062, \\\"4\\\": 12158, \\\"\\\\n\\\": 26062, \\\"p\\\": 26034, \\\"n\\\": 26062, \\\"l\\\": 26061, \\\"x\\\": 23968, \\\"P\\\": 26062, \\\"U\\\": 26062, \\\"R\\\": 26062, \\\"a\\\": 26062, \\\"T\\\": 26062, \\\"g\\\": 26056, \\\"j\\\": 12988, \\\" \\\": 26062, \\\"C\\\": 26062, \\\"z\\\": 10980, \\\"G\\\": 26062, \\\"i\\\": 26062, \\\"N\\\": 26062, \\\"o\\\": 26062, \\\"h\\\": 26054, \\\"O\\\": 26062, \\\"\\\\ud83d\\\\udccc\\\": 26062, \\\"'\\\": 13270, \\\"w\\\": 26012, \\\"u\\\": 26059, \\\"b\\\": 26043, \\\"\\\\ufe0e\\\": 26062, \\\"v\\\": 25690, \\\"\\\\ud83d\\\\udc40\\\": 26062, \\\"\\\\u25aa\\\": 26062, \\\"s\\\": 26062, \\\"I\\\": 26062, \\\"t\\\": 26062, \\\"S\\\": 26062, \\\"3\\\": 21103, \\\"\\\\ud83d\\\\udcdd\\\": 26062, \\\"\\\\u2022\\\": 26062, \\\"E\\\": 26062, \\\"D\\\": 26062, \\\"f\\\": 26047, \\\"r\\\": 26062, \\\"5\\\": 21056, \\\"y\\\": 25905, \\\"-\\\": 20037, \\\"2\\\": 17710, \\\"8\\\": 6519, \\\".\\\": 22903, \\\"!\\\": 10546, \\\"1\\\": 20846, \\\":\\\": 5632, \\\"q\\\": 8227, \\\"6\\\": 4413, \\\")\\\": 3513, \\\"/\\\": 10272, \\\"(\\\": 2764, \\\"@\\\": 149, \\\"&\\\": 1803, \\\"7\\\": 5275, \\\"?\\\": 620, \\\"\\\\\\\"\\\": 2121, \\\"\\\\r\\\": 1965, \\\"$\\\": 51, \\\"#\\\": 668, \\\"~\\\": 76, \\\"_\\\": 34, \\\"\\\\\\\\\\\": 82, \\\";\\\": 693, \\\"]\\\": 76, \\\"[\\\": 77, \\\"\\\\u2019\\\": 216, \\\"%\\\": 283, \\\"=\\\": 117, \\\">\\\": 22, \\\"\\\\u00bd\\\": 16, \\\"+\\\": 100, \\\"\\\\u2013\\\": 33, \\\"\\\\u2026\\\": 16, \\\"<\\\": 23, \\\"^\\\": 17, \\\"\\\\u00a9\\\": 3, \\\"\\\\u2014\\\": 44, \\\"\\\\u201d\\\": 67, \\\"\\\\u201c\\\": 64, \\\"\\\\u00e8\\\": 9, \\\"{\\\": 13, \\\"}\\\": 14, \\\"\\\\u2018\\\": 14, \\\"\\\\u00a0\\\": 4, \\\"\\\\u00f4\\\": 1, \\\"\\\\u00be\\\": 1, \\\"\\\\u00b0\\\": 11, \\\"\\\\u00e9\\\": 36, \\\"`\\\": 20, \\\"\\\\u00ae\\\": 13, \\\"\\\\u00fa\\\": 1, \\\"\\\\u00ed\\\": 1, \\\"\\\\u00e4\\\": 3, \\\"\\\\u00ba\\\": 1, \\\"\\\\u00ef\\\": 3, \\\"\\\\u00bf\\\": 3, \\\"\\\\u00fc\\\": 3, \\\"\\\\u00f1\\\": 5, \\\"\\\\u00b4\\\": 2, \\\"\\\\u00e7\\\": 2, \\\"\\\\u00e2\\\": 1, \\\"\\\\u00fb\\\": 1, \\\"|\\\": 3, \\\"\\\\u00bc\\\": 2, \\\"\\\\u00f3\\\": 2, \\\"\\\\u00f6\\\": 2, \\\"\\\\u00ee\\\": 3, \\\"\\\\u00ea\\\": 1, \\\"\\\\t\\\": 1, \\\"\\\\u00eb\\\": 1, \\\"\\\\u00a2\\\": 1, \\\"\\\\u00f9\\\": 1, \\\"\\\\u00e0\\\": 1, \\\"\\\\u2122\\\": 3}\", \"index_docs\": \"{\\\"1\\\": 26062, \\\"71\\\": 332, \\\"61\\\": 7536, \\\"12\\\": 26061, \\\"51\\\": 26062, \\\"28\\\": 24713, \\\"22\\\": 26013, \\\"2\\\": 26062, \\\"14\\\": 26058, \\\"42\\\": 20638, \\\"17\\\": 26061, \\\"48\\\": 26062, \\\"58\\\": 12158, \\\"11\\\": 26062, \\\"18\\\": 26034, \\\"7\\\": 26062, \\\"10\\\": 26061, \\\"34\\\": 23968, \\\"50\\\": 26062, \\\"54\\\": 26062, \\\"35\\\": 26062, \\\"3\\\": 26062, \\\"30\\\": 26062, \\\"16\\\": 26056, \\\"56\\\": 12988, \\\"40\\\": 26062, \\\"55\\\": 10980, \\\"52\\\": 26062, \\\"6\\\": 26062, \\\"31\\\": 26062, \\\"5\\\": 26062, \\\"15\\\": 26054, \\\"41\\\": 26062, \\\"47\\\": 26062, \\\"46\\\": 13270, \\\"21\\\": 26012, \\\"13\\\": 26059, \\\"19\\\": 26043, \\\"24\\\": 26062, \\\"29\\\": 25690, \\\"49\\\": 26062, \\\"23\\\": 26062, \\\"9\\\": 26062, \\\"27\\\": 26062, \\\"4\\\": 26062, \\\"33\\\": 26062, \\\"44\\\": 21103, \\\"53\\\": 26062, \\\"25\\\": 26062, \\\"32\\\": 26062, \\\"39\\\": 26062, \\\"20\\\": 26047, \\\"8\\\": 26062, \\\"43\\\": 21056, \\\"26\\\": 25905, \\\"38\\\": 20037, \\\"45\\\": 17710, \\\"63\\\": 6519, \\\"36\\\": 22903, \\\"57\\\": 10546, \\\"37\\\": 20846, \\\"62\\\": 5632, \\\"60\\\": 8227, \\\"65\\\": 4413, \\\"67\\\": 3513, \\\"59\\\": 10272, \\\"70\\\": 2764, \\\"78\\\": 149, \\\"68\\\": 1803, \\\"64\\\": 5275, \\\"74\\\": 620, \\\"66\\\": 2121, \\\"69\\\": 1965, \\\"88\\\": 51, \\\"72\\\": 668, \\\"80\\\": 76, \\\"81\\\": 34, \\\"82\\\": 82, \\\"73\\\": 693, \\\"84\\\": 76, \\\"83\\\": 77, \\\"75\\\": 216, \\\"76\\\": 283, \\\"77\\\": 117, \\\"91\\\": 22, \\\"94\\\": 16, \\\"79\\\": 100, \\\"90\\\": 33, \\\"96\\\": 16, \\\"92\\\": 23, \\\"93\\\": 17, \\\"106\\\": 3, \\\"87\\\": 44, \\\"85\\\": 67, \\\"86\\\": 64, \\\"103\\\": 9, \\\"98\\\": 13, \\\"97\\\": 14, \\\"100\\\": 14, \\\"104\\\": 4, \\\"120\\\": 1, \\\"121\\\": 1, \\\"101\\\": 11, \\\"89\\\": 36, \\\"95\\\": 20, \\\"99\\\": 13, \\\"114\\\": 1, \\\"122\\\": 1, \\\"107\\\": 3, \\\"123\\\": 1, \\\"108\\\": 3, \\\"109\\\": 3, \\\"110\\\": 3, \\\"105\\\": 5, \\\"115\\\": 2, \\\"116\\\": 2, \\\"124\\\": 1, \\\"117\\\": 1, \\\"102\\\": 3, \\\"111\\\": 2, \\\"118\\\": 2, \\\"119\\\": 2, \\\"112\\\": 3, \\\"125\\\": 1, \\\"126\\\": 1, \\\"127\\\": 1, \\\"128\\\": 1, \\\"129\\\": 1, \\\"130\\\": 1, \\\"113\\\": 3}\", \"index_word\": \"{\\\"1\\\": \\\" \\\", \\\"2\\\": \\\"e\\\", \\\"3\\\": \\\"a\\\", \\\"4\\\": \\\"t\\\", \\\"5\\\": \\\"o\\\", \\\"6\\\": \\\"i\\\", \\\"7\\\": \\\"n\\\", \\\"8\\\": \\\"r\\\", \\\"9\\\": \\\"s\\\", \\\"10\\\": \\\"l\\\", \\\"11\\\": \\\"\\\\n\\\", \\\"12\\\": \\\"d\\\", \\\"13\\\": \\\"u\\\", \\\"14\\\": \\\"c\\\", \\\"15\\\": \\\"h\\\", \\\"16\\\": \\\"g\\\", \\\"17\\\": \\\"m\\\", \\\"18\\\": \\\"p\\\", \\\"19\\\": \\\"b\\\", \\\"20\\\": \\\"f\\\", \\\"21\\\": \\\"w\\\", \\\"22\\\": \\\"k\\\", \\\"23\\\": \\\"\\\\u25aa\\\", \\\"24\\\": \\\"\\\\ufe0e\\\", \\\"25\\\": \\\"\\\\u2022\\\", \\\"26\\\": \\\"y\\\", \\\"27\\\": \\\"I\\\", \\\"28\\\": \\\",\\\", \\\"29\\\": \\\"v\\\", \\\"30\\\": \\\"T\\\", \\\"31\\\": \\\"N\\\", \\\"32\\\": \\\"E\\\", \\\"33\\\": \\\"S\\\", \\\"34\\\": \\\"x\\\", \\\"35\\\": \\\"R\\\", \\\"36\\\": \\\".\\\", \\\"37\\\": \\\"1\\\", \\\"38\\\": \\\"-\\\", \\\"39\\\": \\\"D\\\", \\\"40\\\": \\\"C\\\", \\\"41\\\": \\\"O\\\", \\\"42\\\": \\\"0\\\", \\\"43\\\": \\\"5\\\", \\\"44\\\": \\\"3\\\", \\\"45\\\": \\\"2\\\", \\\"46\\\": \\\"'\\\", \\\"47\\\": \\\"\\\\ud83d\\\\udccc\\\", \\\"48\\\": \\\"L\\\", \\\"49\\\": \\\"\\\\ud83d\\\\udc40\\\", \\\"50\\\": \\\"P\\\", \\\"51\\\": \\\"\\\\ud83c\\\\udf52\\\", \\\"52\\\": \\\"G\\\", \\\"53\\\": \\\"\\\\ud83d\\\\udcdd\\\", \\\"54\\\": \\\"U\\\", \\\"55\\\": \\\"z\\\", \\\"56\\\": \\\"j\\\", \\\"57\\\": \\\"!\\\", \\\"58\\\": \\\"4\\\", \\\"59\\\": \\\"/\\\", \\\"60\\\": \\\"q\\\", \\\"61\\\": \\\"9\\\", \\\"62\\\": \\\":\\\", \\\"63\\\": \\\"8\\\", \\\"64\\\": \\\"7\\\", \\\"65\\\": \\\"6\\\", \\\"66\\\": \\\"\\\\\\\"\\\", \\\"67\\\": \\\")\\\", \\\"68\\\": \\\"&\\\", \\\"69\\\": \\\"\\\\r\\\", \\\"70\\\": \\\"(\\\", \\\"71\\\": \\\"*\\\", \\\"72\\\": \\\"#\\\", \\\"73\\\": \\\";\\\", \\\"74\\\": \\\"?\\\", \\\"75\\\": \\\"\\\\u2019\\\", \\\"76\\\": \\\"%\\\", \\\"77\\\": \\\"=\\\", \\\"78\\\": \\\"@\\\", \\\"79\\\": \\\"+\\\", \\\"80\\\": \\\"~\\\", \\\"81\\\": \\\"_\\\", \\\"82\\\": \\\"\\\\\\\\\\\", \\\"83\\\": \\\"[\\\", \\\"84\\\": \\\"]\\\", \\\"85\\\": \\\"\\\\u201d\\\", \\\"86\\\": \\\"\\\\u201c\\\", \\\"87\\\": \\\"\\\\u2014\\\", \\\"88\\\": \\\"$\\\", \\\"89\\\": \\\"\\\\u00e9\\\", \\\"90\\\": \\\"\\\\u2013\\\", \\\"91\\\": \\\">\\\", \\\"92\\\": \\\"<\\\", \\\"93\\\": \\\"^\\\", \\\"94\\\": \\\"\\\\u00bd\\\", \\\"95\\\": \\\"`\\\", \\\"96\\\": \\\"\\\\u2026\\\", \\\"97\\\": \\\"}\\\", \\\"98\\\": \\\"{\\\", \\\"99\\\": \\\"\\\\u00ae\\\", \\\"100\\\": \\\"\\\\u2018\\\", \\\"101\\\": \\\"\\\\u00b0\\\", \\\"102\\\": \\\"|\\\", \\\"103\\\": \\\"\\\\u00e8\\\", \\\"104\\\": \\\"\\\\u00a0\\\", \\\"105\\\": \\\"\\\\u00f1\\\", \\\"106\\\": \\\"\\\\u00a9\\\", \\\"107\\\": \\\"\\\\u00e4\\\", \\\"108\\\": \\\"\\\\u00ef\\\", \\\"109\\\": \\\"\\\\u00bf\\\", \\\"110\\\": \\\"\\\\u00fc\\\", \\\"111\\\": \\\"\\\\u00bc\\\", \\\"112\\\": \\\"\\\\u00ee\\\", \\\"113\\\": \\\"\\\\u2122\\\", \\\"114\\\": \\\"\\\\u00fa\\\", \\\"115\\\": \\\"\\\\u00b4\\\", \\\"116\\\": \\\"\\\\u00e7\\\", \\\"117\\\": \\\"\\\\u00fb\\\", \\\"118\\\": \\\"\\\\u00f3\\\", \\\"119\\\": \\\"\\\\u00f6\\\", \\\"120\\\": \\\"\\\\u00f4\\\", \\\"121\\\": \\\"\\\\u00be\\\", \\\"122\\\": \\\"\\\\u00ed\\\", \\\"123\\\": \\\"\\\\u00ba\\\", \\\"124\\\": \\\"\\\\u00e2\\\", \\\"125\\\": \\\"\\\\u00ea\\\", \\\"126\\\": \\\"\\\\t\\\", \\\"127\\\": \\\"\\\\u00eb\\\", \\\"128\\\": \\\"\\\\u00a2\\\", \\\"129\\\": \\\"\\\\u00f9\\\", \\\"130\\\": \\\"\\\\u00e0\\\"}\", \"word_index\": \"{\\\" \\\": 1, \\\"e\\\": 2, \\\"a\\\": 3, \\\"t\\\": 4, \\\"o\\\": 5, \\\"i\\\": 6, \\\"n\\\": 7, \\\"r\\\": 8, \\\"s\\\": 9, \\\"l\\\": 10, \\\"\\\\n\\\": 11, \\\"d\\\": 12, \\\"u\\\": 13, \\\"c\\\": 14, \\\"h\\\": 15, \\\"g\\\": 16, \\\"m\\\": 17, \\\"p\\\": 18, \\\"b\\\": 19, \\\"f\\\": 20, \\\"w\\\": 21, \\\"k\\\": 22, \\\"\\\\u25aa\\\": 23, \\\"\\\\ufe0e\\\": 24, \\\"\\\\u2022\\\": 25, \\\"y\\\": 26, \\\"I\\\": 27, \\\",\\\": 28, \\\"v\\\": 29, \\\"T\\\": 30, \\\"N\\\": 31, \\\"E\\\": 32, \\\"S\\\": 33, \\\"x\\\": 34, \\\"R\\\": 35, \\\".\\\": 36, \\\"1\\\": 37, \\\"-\\\": 38, \\\"D\\\": 39, \\\"C\\\": 40, \\\"O\\\": 41, \\\"0\\\": 42, \\\"5\\\": 43, \\\"3\\\": 44, \\\"2\\\": 45, \\\"'\\\": 46, \\\"\\\\ud83d\\\\udccc\\\": 47, \\\"L\\\": 48, \\\"\\\\ud83d\\\\udc40\\\": 49, \\\"P\\\": 50, \\\"\\\\ud83c\\\\udf52\\\": 51, \\\"G\\\": 52, \\\"\\\\ud83d\\\\udcdd\\\": 53, \\\"U\\\": 54, \\\"z\\\": 55, \\\"j\\\": 56, \\\"!\\\": 57, \\\"4\\\": 58, \\\"/\\\": 59, \\\"q\\\": 60, \\\"9\\\": 61, \\\":\\\": 62, \\\"8\\\": 63, \\\"7\\\": 64, \\\"6\\\": 65, \\\"\\\\\\\"\\\": 66, \\\")\\\": 67, \\\"&\\\": 68, \\\"\\\\r\\\": 69, \\\"(\\\": 70, \\\"*\\\": 71, \\\"#\\\": 72, \\\";\\\": 73, \\\"?\\\": 74, \\\"\\\\u2019\\\": 75, \\\"%\\\": 76, \\\"=\\\": 77, \\\"@\\\": 78, \\\"+\\\": 79, \\\"~\\\": 80, \\\"_\\\": 81, \\\"\\\\\\\\\\\": 82, \\\"[\\\": 83, \\\"]\\\": 84, \\\"\\\\u201d\\\": 85, \\\"\\\\u201c\\\": 86, \\\"\\\\u2014\\\": 87, \\\"$\\\": 88, \\\"\\\\u00e9\\\": 89, \\\"\\\\u2013\\\": 90, \\\">\\\": 91, \\\"<\\\": 92, \\\"^\\\": 93, \\\"\\\\u00bd\\\": 94, \\\"`\\\": 95, \\\"\\\\u2026\\\": 96, \\\"}\\\": 97, \\\"{\\\": 98, \\\"\\\\u00ae\\\": 99, \\\"\\\\u2018\\\": 100, \\\"\\\\u00b0\\\": 101, \\\"|\\\": 102, \\\"\\\\u00e8\\\": 103, \\\"\\\\u00a0\\\": 104, \\\"\\\\u00f1\\\": 105, \\\"\\\\u00a9\\\": 106, \\\"\\\\u00e4\\\": 107, \\\"\\\\u00ef\\\": 108, \\\"\\\\u00bf\\\": 109, \\\"\\\\u00fc\\\": 110, \\\"\\\\u00bc\\\": 111, \\\"\\\\u00ee\\\": 112, \\\"\\\\u2122\\\": 113, \\\"\\\\u00fa\\\": 114, \\\"\\\\u00b4\\\": 115, \\\"\\\\u00e7\\\": 116, \\\"\\\\u00fb\\\": 117, \\\"\\\\u00f3\\\": 118, \\\"\\\\u00f6\\\": 119, \\\"\\\\u00f4\\\": 120, \\\"\\\\u00be\\\": 121, \\\"\\\\u00ed\\\": 122, \\\"\\\\u00ba\\\": 123, \\\"\\\\u00e2\\\": 124, \\\"\\\\u00ea\\\": 125, \\\"\\\\t\\\": 126, \\\"\\\\u00eb\\\": 127, \\\"\\\\u00a2\\\": 128, \\\"\\\\u00f9\\\": 129, \\\"\\\\u00e0\\\": 130}\"}}\n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "import pickle\n", - "\n", - "# saving\n", - "with open('tokenizer.pickle', 'wb') as handle:\n", - " pickle.dump(tokenizer, handle, protocol=pickle.HIGHEST_PROTOCOL)\n", - "\n", - "# loading\n", - "with open('tokenizer.pickle', 'rb') as handle:\n", - " tokenizer = pickle.load(handle)" - ], - "metadata": { - "id": "69NQ2Mjra-K2" - }, - "execution_count": 45, - "outputs": [] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "VVC4sL-ASjoc", - "outputId": "65e00766-7b13-4373-b7b0-550212c273b8" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "VOCABULARY_SIZE: 131\n" - ] - } - ], - "source": [ - "VOCABULARY_SIZE = len(tokenizer.word_counts) + 1\n", - "\n", - "print('VOCABULARY_SIZE: ', VOCABULARY_SIZE)" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "owf0HlFBStA6", - "outputId": "fb461efc-0906-474c-a80c-2e05a9fbbe93" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Vectorized dataset size 26062\n" - ] - } - ], - "source": [ - "dataset_vectorized = tokenizer.texts_to_sequences(dataset_filtered)\n", - "\n", - "print('Vectorized dataset size', len(dataset_vectorized))" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "SK1rOrZlS6Xc", - "outputId": "475f77ca-f6d8-4a05-ca36-2e3319d8de34" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "[47, 1, 30, 27, 30, 48, 32, 11, 11, 19] ...\n" - ] - } - ], - "source": [ - "print(dataset_vectorized[0][:10], '...')" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "bCtCEbZHTKPG", - "outputId": "c4438a80-1f0c-4065-e8bd-86465e7af8bf" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "๐Ÿ“Œ T I T L E \n", - " \n", - " b e a t t h i s b a n a n a b r e a d \n", - " \n", - " ๐Ÿ‘€ D E S C R I P T I O N \n", - " \n", - " f r o m a n n h o d g m a n ' s \n", - " \n", - " ๐Ÿ’ I N G R E D I E N T S \n", - " \n", - " โ€ข s u g a r \n", - " โ€ข u n s a l t e d b u t t e r \n", - " โ€ข b a n a n a s \n", - " โ€ข e g g s \n", - " โ€ข f r e s h l e m o n j u i c e \n", - " โ€ข o r a n g e r i n d \n", - " โ€ข c a k e f l o u r \n", - " โ€ข b a k i n g s o d a \n", - " โ€ข s a l t \n", - " \n", - " ๐Ÿ“ I N S T R U C T I O N S \n", - " \n", - " โ–ช ๏ธŽ p r e h e a t o v e n t o 3 5 0 d e g r e e s \n", - " โ–ช ๏ธŽ b u t t e r t w o 9 x 5 ' l o a f p a n s \n", - " โ–ช ๏ธŽ c r e a m t h e s u g a r a n d t h e b u t t e r u n t i l l i g h t a n d w h i p p e d \n", - " โ–ช ๏ธŽ a d d t h e b a n a n a s , e g g s , l e m o n j u i c e , o r a n g e r i n d \n", - " โ–ช ๏ธŽ b e a t u n t i l b l e n d e d u n i f o r m l y \n", - " โ–ช ๏ธŽ b e p a t i e n t , a n d b e a t u n t i l t h e b a n a n a l u m p s a r e g o n e \n", - " โ–ช ๏ธŽ s i f t t h e d r y i n g r e d i e n t s t o g e t h e r \n", - " โ–ช ๏ธŽ f o l d l i g h t l y a n d t h o r o u g h l y i n t o t h e b a n a n a m i x t u r e \n", - " โ–ช ๏ธŽ p o u r t h e b a t t e r i n t o p r e p a r e d l o a f p a n s \n", - " โ–ช ๏ธŽ b a k e f o r 4 5 t o 5 5 m i n u t e s , u n t i l t h e l o a v e s a r e f i r m i n t h e m i d d l e a n d t h e e d g e s b e g i n t o p u l l a w a y f r o m t h e p a n s \n", - " โ–ช ๏ธŽ c o o l t h e l o a v e s o n r a c k s f o r 3 0 m i n u t e s b e f o r e r e m o v i n g f r o m t h e p a n s \n", - " โ–ช ๏ธŽ f r e e z e s w e l l \n", - "\n" - ] - } - ], - "source": [ - "def recipe_sequence_to_string(recipe_sequence):\n", - " recipe_stringified = tokenizer.sequences_to_texts([recipe_sequence])[0]\n", - " print(recipe_stringified)\n", - "\n", - "recipe_sequence_to_string(dataset_vectorized[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "9wOacegWTcqD", - "outputId": "0e4f41cb-f15d-4957-cc4d-b67e64d81f7f" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Recipe #1 length: 816\n", - "Recipe #2 length: 332\n", - "Recipe #3 length: 1489\n", - "Recipe #4 length: 671\n", - "Recipe #5 length: 1005\n", - "Recipe #6 length: 1207\n", - "Recipe #7 length: 737\n", - "Recipe #8 length: 925\n", - "Recipe #9 length: 994\n", - "Recipe #10 length: 813\n" - ] - } - ], - "source": [ - "for recipe_index, recipe in enumerate(dataset_vectorized[:10]):\n", - " print('Recipe #{} length: {}'.format(recipe_index + 1, len(recipe)))" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "dYUJE1GnTltc", - "outputId": "46629ade-12be-43c1-a457-2b26684ca868" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Recipe #0 length: 2001\n", - "Recipe #1 length: 2001\n", - "Recipe #2 length: 2001\n", - "Recipe #3 length: 2001\n", - "Recipe #4 length: 2001\n", - "Recipe #5 length: 2001\n", - "Recipe #6 length: 2001\n", - "Recipe #7 length: 2001\n", - "Recipe #8 length: 2001\n", - "Recipe #9 length: 2001\n" - ] - } - ], - "source": [ - "dataset_vectorized_padded_without_stops = tf.keras.preprocessing.sequence.pad_sequences(\n", - " dataset_vectorized,\n", - " padding='post',\n", - " truncating='post',\n", - " # We use -1 here and +1 in the next step to make sure\n", - " # that all recipes will have at least 1 stops sign at the end,\n", - " # since each sequence will be shifted and truncated afterwards\n", - " # (to generate X and Y sequences).\n", - " maxlen=MAX_RECIPE_LENGTH-1,\n", - " value=tokenizer.texts_to_sequences([STOP_SIGN])[0]\n", - ")\n", - "\n", - "dataset_vectorized_padded = tf.keras.preprocessing.sequence.pad_sequences(\n", - " dataset_vectorized_padded_without_stops,\n", - " padding='post',\n", - " truncating='post',\n", - " maxlen=MAX_RECIPE_LENGTH+1,\n", - " value=tokenizer.texts_to_sequences([STOP_SIGN])[0]\n", - ")\n", - "\n", - "for recipe_index, recipe in enumerate(dataset_vectorized_padded[:10]):\n", - " print('Recipe #{} length: {}'.format(recipe_index, len(recipe)))" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "OZo1r3EcTrJ2", - "outputId": "88370b08-a7aa-4701-ebff-53f88f655f41" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "๐Ÿ“Œ T I T L E \n", - " \n", - " b e a t t h i s b a n a n a b r e a d \n", - " \n", - " ๐Ÿ‘€ D E S C R I P T I O N \n", - " \n", - " f r o m a n n h o d g m a n ' s \n", - " \n", - " ๐Ÿ’ I N G R E D I E N T S \n", - " \n", - " โ€ข s u g a r \n", - " โ€ข u n s a l t e d b u t t e r \n", - " โ€ข b a n a n a s \n", - " โ€ข e g g s \n", - " โ€ข f r e s h l e m o n j u i c e \n", - " โ€ข o r a n g e r i n d \n", - " โ€ข c a k e f l o u r \n", - " โ€ข b a k i n g s o d a \n", - " โ€ข s a l t \n", - " \n", - " ๐Ÿ“ I N S T R U C T I O N S \n", - " \n", - " โ–ช ๏ธŽ p r e h e a t o v e n t o 3 5 0 d e g r e e s \n", - " โ–ช ๏ธŽ b u t t e r t w o 9 x 5 ' l o a f p a n s \n", - " โ–ช ๏ธŽ c r e a m t h e s u g a r a n d t h e b u t t e r u n t i l l i g h t a n d w h i p p e d \n", - " โ–ช ๏ธŽ a d d t h e b a n a n a s , e g g s , l e m o n j u i c e , o r a n g e r i n d \n", - " โ–ช ๏ธŽ b e a t u n t i l b l e n d e d u n i f o r m l y \n", - " โ–ช ๏ธŽ b e p a t i e n t , a n d b e a t u n t i l t h e b a n a n a l u m p s a r e g o n e \n", - " โ–ช ๏ธŽ s i f t t h e d r y i n g r e d i e n t s t o g e t h e r \n", - " โ–ช ๏ธŽ f o l d l i g h t l y a n d t h o r o u g h l y i n t o t h e b a n a n a m i x t u r e \n", - " โ–ช ๏ธŽ p o u r t h e b a t t e r i n t o p r e p a r e d l o a f p a n s \n", - " โ–ช ๏ธŽ b a k e f o r 4 5 t o 5 5 m i n u t e s , u n t i l t h e l o a v e s a r e f i r m i n t h e m i d d l e a n d t h e e d g e s b e g i n t o p u l l a w a y f r o m t h e p a n s \n", - " โ–ช ๏ธŽ c o o l t h e l o a v e s o n r a c k s f o r 3 0 m i n u t e s b e f o r e r e m o v i n g f r o m t h e p a n s \n", - " โ–ช ๏ธŽ f r e e z e s w e l l \n", - " * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n" - ] - } - ], - "source": [ - "recipe_sequence_to_string(dataset_vectorized_padded[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "v2IvFHDcTwpQ", - "outputId": "63569fe8-2e5c-4c98-ef7a-0d5edd88e830" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "\n" - ] - } - ], - "source": [ - "dataset = tf.data.Dataset.from_tensor_slices(dataset_vectorized_padded)\n", - "\n", - "print(dataset)" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "ZDGf72uaUbj8", - "outputId": "f7da740f-6111-45be-aee1-3e89bdce388b" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Raw recipe:\n", - " [47 1 30 ... 71 71 71] \n", - "\n", - "\n", - "\n", - "Stringified recipe:\n", - "\n", - "๐Ÿ“Œ T I T L E \n", - " \n", - " b e a t t h i s b a n a n a b r e a d \n", - " \n", - " ๐Ÿ‘€ D E S C R I P T I O N \n", - " \n", - " f r o m a n n h o d g m a n ' s \n", - " \n", - " ๐Ÿ’ I N G R E D I E N T S \n", - " \n", - " โ€ข s u g a r \n", - " โ€ข u n s a l t e d b u t t e r \n", - " โ€ข b a n a n a s \n", - " โ€ข e g g s \n", - " โ€ข f r e s h l e m o n j u i c e \n", - " โ€ข o r a n g e r i n d \n", - " โ€ข c a k e f l o u r \n", - " โ€ข b a k i n g s o d a \n", - " โ€ข s a l t \n", - " \n", - " ๐Ÿ“ I N S T R U C T I O N S \n", - " \n", - " โ–ช ๏ธŽ p r e h e a t o v e n t o 3 5 0 d e g r e e s \n", - " โ–ช ๏ธŽ b u t t e r t w o 9 x 5 ' l o a f p a n s \n", - " โ–ช ๏ธŽ c r e a m t h e s u g a r a n d t h e b u t t e r u n t i l l i g h t a n d w h i p p e d \n", - " โ–ช ๏ธŽ a d d t h e b a n a n a s , e g g s , l e m o n j u i c e , o r a n g e r i n d \n", - " โ–ช ๏ธŽ b e a t u n t i l b l e n d e d u n i f o r m l y \n", - " โ–ช ๏ธŽ b e p a t i e n t , a n d b e a t u n t i l t h e b a n a n a l u m p s a r e g o n e \n", - " โ–ช ๏ธŽ s i f t t h e d r y i n g r e d i e n t s t o g e t h e r \n", - " โ–ช ๏ธŽ f o l d l i g h t l y a n d t h o r o u g h l y i n t o t h e b a n a n a m i x t u r e \n", - " โ–ช ๏ธŽ p o u r t h e b a t t e r i n t o p r e p a r e d l o a f p a n s \n", - " โ–ช ๏ธŽ b a k e f o r 4 5 t o 5 5 m i n u t e s , u n t i l t h e l o a v e s a r e f i r m i n t h e m i d d l e a n d t h e e d g e s b e g i n t o p u l l a w a y f r o m t h e p a n s \n", - " โ–ช ๏ธŽ c o o l t h e l o a v e s o n r a c k s f o r 3 0 m i n u t e s b e f o r e r e m o v i n g f r o m t h e p a n s \n", - " โ–ช ๏ธŽ f r e e z e s w e l l \n", - " * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n" - ] - } - ], - "source": [ - "for recipe in dataset.take(1):\n", - " print('Raw recipe:\\n', recipe.numpy(), '\\n\\n\\n')\n", - " print('Stringified recipe:\\n')\n", - " recipe_sequence_to_string(recipe.numpy())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Ca9lz-qSVj8I" - }, - "source": [ - "### Split examples" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "RxrfOWemUjTW", - "outputId": "e3cf95aa-7f0f-42b7-9219-52ca9d32c1c4" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "\n" - ] - } - ], - "source": [ - "def split_input_target(recipe):\n", - " input_text = recipe[:-1]\n", - " target_text = recipe[1:]\n", - " \n", - " return input_text, target_text\n", - "\n", - "dataset_targeted = dataset.map(split_input_target)\n", - "\n", - "print(dataset_targeted)" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "WUNE9gOOVvMB", - "outputId": "8d905dfe-e19f-4887-b046-ea86d8a0ee8b" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Input sequence size: 2000\n", - "Target sequence size: 2000\n", - "\n", - "Input: '๐Ÿ“Œ T I T L E \\n \\n b e a t t h i s b a n a n a b r e a d \\n \\n ๐Ÿ‘€ D E S C R I P T I O N \\n \\n f'\n", - "Target: ' T I T L E \\n \\n b e a t t h i s b a n a n a b r e a d \\n \\n ๐Ÿ‘€ D E S C R I P T I O N \\n \\n f r'\n" - ] - } - ], - "source": [ - "for input_example, target_example in dataset_targeted.take(1):\n", - " print('Input sequence size:', repr(len(input_example.numpy())))\n", - " print('Target sequence size:', repr(len(target_example.numpy())))\n", - " print()\n", - " \n", - " input_stringified = tokenizer.sequences_to_texts([input_example.numpy()[:50]])[0]\n", - " target_stringified = tokenizer.sequences_to_texts([target_example.numpy()[:50]])[0]\n", - " \n", - " print('Input: ', repr(''.join(input_stringified)))\n", - " print('Target: ', repr(''.join(target_stringified)))" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "-yVH6M1YVyUc", - "outputId": "32cc5527-e9dd-4624-90c7-8eabae94cc4b" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "TOTAL_RECIPES_NUM: 26062\n", - "MAX_RECIPE_LENGTH: 2000\n", - "VOCABULARY_SIZE: 131\n" - ] - } - ], - "source": [ - "TOTAL_RECIPES_NUM = len(dataset_filtered)\n", - "print('TOTAL_RECIPES_NUM: ', TOTAL_RECIPES_NUM)\n", - "print('MAX_RECIPE_LENGTH: ', MAX_RECIPE_LENGTH)\n", - "print('VOCABULARY_SIZE: ', VOCABULARY_SIZE)" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "pV-8JjXRV-zW", - "outputId": "c326aa98-bd19-4d76-b55e-9d6d695e6bff" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "\n" - ] - } - ], - "source": [ - "print(dataset_targeted)" - ] - }, - { - "cell_type": "code", - "execution_count": 59, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "n48zzY_CWmND", - "outputId": "fc3d6eb3-d522-42db-85e7-318e3ab567e1" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "\n" - ] - } - ], - "source": [ - "# Batch size\n", - "BATCH_SIZE = 64\n", - "SHUFFLE_BUFFER_SIZE = 1000\n", - "dataset_train = dataset_targeted.shuffle(SHUFFLE_BUFFER_SIZE).batch(BATCH_SIZE, drop_remainder=True).repeat()\n", - "\n", - "print(dataset_train)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 60, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "6LBr0YjEcFq1", - "outputId": "01d62649-f675-4ad4-d61b-b1bbce2e7f78" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "1st batch: input_text: tf.Tensor(\n", - "[[47 1 30 ... 71 71 71]\n", - " [47 1 30 ... 71 71 71]\n", - " [47 1 30 ... 71 71 71]\n", - " ...\n", - " [47 1 30 ... 71 71 71]\n", - " [47 1 30 ... 71 71 71]\n", - " [47 1 30 ... 71 71 71]], shape=(64, 2000), dtype=int32)\n", - "\n", - "1st batch: target_text: tf.Tensor(\n", - "[[ 1 30 27 ... 71 71 71]\n", - " [ 1 30 27 ... 71 71 71]\n", - " [ 1 30 27 ... 71 71 71]\n", - " ...\n", - " [ 1 30 27 ... 71 71 71]\n", - " [ 1 30 27 ... 71 71 71]\n", - " [ 1 30 27 ... 71 71 71]], shape=(64, 2000), dtype=int32)\n" - ] - } - ], - "source": [ - "for input_text, target_text in dataset_train.take(1):\n", - " print('1st batch: input_text:', input_text)\n", - " print()\n", - " print('1st batch: target_text:', target_text)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "wnhPp7Ovc4Lm" - }, - "source": [ - "### Build a model" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "7llvr6nHcytV", - "outputId": "34558462-c918-452e-dabe-4d97192dada5" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Model: \"sequential\"\n", - "_________________________________________________________________\n", - " Layer (type) Output Shape Param # \n", - "=================================================================\n", - " embedding (Embedding) (64, None, 256) 33536 \n", - " \n", - " lstm (LSTM) (64, None, 1024) 5246976 \n", - " \n", - " dense (Dense) (64, None, 131) 134275 \n", - " \n", - "=================================================================\n", - "Total params: 5,414,787\n", - "Trainable params: 5,414,787\n", - "Non-trainable params: 0\n", - "_________________________________________________________________\n" - ] - } - ], - "source": [ - "def build_model(vocab_size, embedding_dim, rnn_units, batch_size):\n", - " model = tf.keras.models.Sequential()\n", - "\n", - " model.add(tf.keras.layers.Embedding(\n", - " input_dim=vocab_size,\n", - " output_dim=embedding_dim,\n", - " batch_input_shape=[batch_size, None]\n", - " ))\n", - "\n", - " model.add(tf.keras.layers.LSTM(\n", - " units=rnn_units,\n", - " return_sequences=True,\n", - " stateful=True,\n", - " recurrent_initializer=tf.keras.initializers.GlorotNormal()\n", - " ))\n", - "\n", - " model.add(tf.keras.layers.Dense(vocab_size))\n", - " \n", - " return model\n", - "\n", - "model = build_model(\n", - " vocab_size=VOCABULARY_SIZE,\n", - " embedding_dim=256,\n", - " rnn_units=1024,\n", - " batch_size=BATCH_SIZE\n", - ")\n", - "\n", - "model.summary()" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 54 - }, - "id": "1h53sBethzPo", - "outputId": "0e5b0b39-ba32-49f5-ce6c-0facefd8cab4" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "execution_count": 62 - } - ], - "source": [ - "tf.keras.utils.plot_model(\n", - " model,\n", - " show_shapes=True,\n", - " show_layer_names=True,\n", - " to_file='model.png'\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "iCToSc7GiliO" - }, - "source": [ - "### Model before training " - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "2SBhYLmUiEir", - "outputId": "32e1549c-c4ba-4485-9a23-fa0f59646a3d" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "(64, 2000, 131) # (batch_size, sequence_length, vocab_size)\n" - ] - } - ], - "source": [ - "for input_example_batch, target_example_batch in dataset_train.take(1):\n", - " example_batch_predictions = model(input_example_batch)\n", - " print(example_batch_predictions.shape, \"# (batch_size, sequence_length, vocab_size)\")" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "5TabRxtDi7fU", - "outputId": "a59afcdc-c3af-4a6d-b6af-198bbca5ce7b" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Prediction for the 1st letter of the batch 1st sequense:\n", - "tf.Tensor(\n", - "[-1.0675509e-03 2.4121299e-03 -3.4268999e-03 -9.4102332e-03\n", - " 3.8642397e-03 2.8061401e-03 7.9052253e-03 -5.2992580e-03\n", - " -5.5068033e-04 -1.3768519e-03 2.5998771e-03 -1.6544745e-03\n", - " 9.5341755e-03 -6.5846457e-03 5.3987121e-03 1.1021262e-03\n", - " 5.5060796e-03 -1.6169570e-03 -1.0811265e-03 -1.9410717e-03\n", - " 1.8350012e-03 -6.6040002e-04 2.4442264e-04 5.1552351e-03\n", - " -4.3791373e-05 -2.7348739e-03 3.8417561e-03 2.1773963e-03\n", - " -2.1101839e-03 1.9899786e-03 -8.0218614e-04 4.5034452e-03\n", - " -6.6260784e-04 2.6028315e-03 6.5406715e-04 -1.8726061e-03\n", - " 1.0012863e-03 -3.2721364e-03 7.5873071e-03 -2.9868486e-03\n", - " -1.0677545e-04 -1.9733279e-03 3.6382321e-03 8.2459439e-05\n", - " -5.2328208e-03 -1.7041726e-03 2.1820085e-03 -5.8736606e-03\n", - " -1.1217683e-03 3.1163255e-03 3.8048404e-03 3.6802294e-03\n", - " 2.2023141e-03 -5.0572255e-03 3.6094848e-03 1.4169712e-03\n", - " 2.6842880e-03 5.5694389e-03 4.6234187e-03 1.6224679e-03\n", - " 4.0268209e-03 -7.0692124e-03 -2.0585626e-03 -3.0523897e-03\n", - " 2.0108016e-03 -2.7215972e-03 1.4773710e-03 3.2362491e-03\n", - " 4.5230016e-03 2.7109061e-03 -5.5058050e-04 5.9013404e-03\n", - " -2.9318572e-03 -4.7815731e-03 -4.3841619e-03 -2.8076277e-03\n", - " -4.4378904e-03 5.6000329e-03 -7.2943093e-04 -2.8678033e-04\n", - " 3.7040499e-03 -3.6899294e-03 8.2457131e-03 -1.4448026e-03\n", - " -5.2399593e-03 8.9364068e-04 -4.7255959e-03 -9.9287822e-04\n", - " -5.8756676e-04 -3.6809328e-03 8.9325383e-04 -2.2902261e-03\n", - " 3.8798158e-03 -1.0823107e-03 2.2230127e-03 -4.9522863e-04\n", - " 9.3542715e-04 1.1118610e-03 1.9911951e-03 3.3677253e-03\n", - " -3.7499142e-03 9.7308145e-04 -5.8440920e-03 3.5633869e-03\n", - " 4.9105873e-03 5.1725475e-04 2.1967487e-03 -6.0908021e-03\n", - " 7.0009519e-05 4.0739900e-03 -9.2197192e-04 -2.9479489e-03\n", - " 8.1171719e-03 -4.1095824e-03 -4.0333322e-03 -3.7203771e-03\n", - " -1.9784693e-03 1.2859865e-03 -1.9625863e-03 -3.6083779e-03\n", - " 7.2070572e-04 2.2963071e-03 -6.0072662e-03 -1.9689004e-03\n", - " -9.8250352e-04 1.6135543e-03 2.9561080e-03 -3.2419180e-03\n", - " -4.1539696e-04 1.0899190e-03 -3.4475133e-03], shape=(131,), dtype=float32)\n" - ] - } - ], - "source": [ - "print('Prediction for the 1st letter of the batch 1st sequense:')\n", - "print(example_batch_predictions[0, 0])" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "ddczg32djMbI", - "outputId": "bdd397d7-8527-4317-ccb7-ab5fe88aae4b" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "(2000,)" - ] - }, - "metadata": {}, - "execution_count": 65 - } - ], - "source": [ - "sampled_indices = tf.random.categorical(\n", - " logits=example_batch_predictions[0],\n", - " num_samples=1\n", - ")\n", - "\n", - "sampled_indices = tf.squeeze(\n", - " input=sampled_indices,\n", - " axis=-1\n", - ").numpy()\n", - "\n", - "sampled_indices.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "AE7k43_pjWFd", - "outputId": "9cf860e5-65ea-468e-ed6a-b681cef85975" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Input:\n", - " '๐Ÿ“Œ T I T L E \\n \\n a m i s h b u t t e r m i l k c h e e s e c a k e \\n \\n ๐Ÿ‘€ D E S C R I P T I O'\n", - "\n", - "Next char prediction:\n", - " \"S h d ] รญ รด * 8 P รบ \\t l 8 ( รผ + โ€ ยฎ ` รข ' _ ยพ ๐Ÿ‘€ , 8 รง : รน p ' b ๐Ÿ‘€ i รง 3 รค g ( N m C n u ) ] รช ยฝ R รง\"\n" - ] - } - ], - "source": [ - "print('Input:\\n', repr(''.join(tokenizer.sequences_to_texts([input_example_batch[0].numpy()[:50]]))))\n", - "print()\n", - "print('Next char prediction:\\n', repr(''.join(tokenizer.sequences_to_texts([sampled_indices[:50]]))))" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "aJfFVowCjt0K" - }, - "source": [ - "### Train the model" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": { - "id": "eZjbE7lEnATL" - }, - "outputs": [], - "source": [ - "# Create a checkpoints directory.\n", - "checkpoint_dir = 'tmp/checkpoints'\n", - "os.makedirs(checkpoint_dir, exist_ok=True)\n", - "\n", - "checkpoint_prefix = os.path.join(checkpoint_dir, 'ckpt_{epoch}')\n", - "checkpoint_callback=tf.keras.callbacks.ModelCheckpoint(\n", - " filepath=checkpoint_prefix,\n", - " save_weights_only=True\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 64, - "metadata": { - "id": "pew6-J5nPxc-" - }, - "outputs": [], - "source": [ - "#!rm -d -r ./tmp" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "Y7PXBFrpjanp", - "outputId": "49040547-45c0-420d-ee13-5b99821b11d8" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Prediction shape: (64, 2000, 131) # (batch_size, sequence_length, vocab_size)\n", - "scalar_loss.shape: (64, 2000)\n", - "scalar_loss: 4.879728\n" - ] - } - ], - "source": [ - "def loss(labels, logits):\n", - " entropy = tf.keras.losses.sparse_categorical_crossentropy(\n", - " y_true=labels,\n", - " y_pred=logits,\n", - " from_logits=True\n", - " )\n", - " \n", - " return entropy\n", - "\n", - "example_batch_loss = loss(target_example_batch, example_batch_predictions)\n", - "\n", - "print(\"Prediction shape: \", example_batch_predictions.shape, \" # (batch_size, sequence_length, vocab_size)\")\n", - "print(\"scalar_loss.shape: \", example_batch_loss.shape)\n", - "print(\"scalar_loss: \", example_batch_loss.numpy().mean())" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": { - "id": "YezJHUItjy8B" - }, - "outputs": [], - "source": [ - "adam_optimizer = tf.keras.optimizers.Adam(learning_rate=0.002)\n", - "\n", - "model.compile(\n", - " optimizer=adam_optimizer,\n", - " loss=loss\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": { - "id": "uWc14jkSj6Gx" - }, - "outputs": [], - "source": [ - "early_stopping_callback = tf.keras.callbacks.EarlyStopping(\n", - " patience=5,\n", - " monitor='loss',\n", - " restore_best_weights=True,\n", - " verbose=1\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "BlDCt5pMl7T_", - "outputId": "ff3606df-c49e-41b7-a238-2d89b9e4c8dd" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "EPOCHS: 200\n", - "INITIAL_EPOCH: 1\n", - "STEPS_PER_EPOCH: 25\n" - ] - } - ], - "source": [ - "EPOCHS = 200\n", - "INITIAL_EPOCH = 1\n", - "STEPS_PER_EPOCH = 25\n", - "\n", - "print('EPOCHS: ', EPOCHS)\n", - "print('INITIAL_EPOCH: ', INITIAL_EPOCH)\n", - "print('STEPS_PER_EPOCH: ', STEPS_PER_EPOCH)" - ] - }, - { - "cell_type": "code", - "execution_count": 70, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "jbkRVdETmeOp", - "outputId": "cb479ab5-63ca-4dc3-e683-f66449e8ccdf" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Epoch 2/200\n", - "25/25 [==============================] - 26s 952ms/step - loss: 2.6953\n", - "Epoch 3/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 1.6520\n", - "Epoch 4/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 1.4917\n", - "Epoch 5/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 1.3476\n", - "Epoch 6/200\n", - "25/25 [==============================] - 24s 941ms/step - loss: 1.1928\n", - "Epoch 7/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 1.0483\n", - "Epoch 8/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 1.0444\n", - "Epoch 9/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 0.9623\n", - "Epoch 10/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 0.9288\n", - "Epoch 11/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 0.8519\n", - "Epoch 12/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 0.7795\n", - "Epoch 13/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 0.7281\n", - "Epoch 14/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 0.6974\n", - "Epoch 15/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 0.6793\n", - "Epoch 16/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 0.6458\n", - "Epoch 17/200\n", - "25/25 [==============================] - 23s 938ms/step - loss: 0.6060\n", - "Epoch 18/200\n", - "25/25 [==============================] - 23s 940ms/step - loss: 0.5663\n", - "Epoch 19/200\n", - "25/25 [==============================] - 23s 938ms/step - loss: 0.5531\n", - "Epoch 20/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.5259\n", - "Epoch 21/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.5237\n", - "Epoch 22/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.5020\n", - "Epoch 23/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.4907\n", - "Epoch 24/200\n", - "25/25 [==============================] - 23s 937ms/step - loss: 0.4998\n", - "Epoch 25/200\n", - "25/25 [==============================] - 23s 938ms/step - loss: 0.4917\n", - "Epoch 26/200\n", - "25/25 [==============================] - 23s 938ms/step - loss: 0.4870\n", - "Epoch 27/200\n", - "25/25 [==============================] - 23s 938ms/step - loss: 0.4671\n", - "Epoch 28/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.4494\n", - "Epoch 29/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.4446\n", - "Epoch 30/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.4414\n", - "Epoch 31/200\n", - "25/25 [==============================] - 23s 938ms/step - loss: 0.4500\n", - "Epoch 32/200\n", - "25/25 [==============================] - 23s 938ms/step - loss: 0.4500\n", - "Epoch 33/200\n", - "25/25 [==============================] - 23s 936ms/step - loss: 0.4420\n", - "Epoch 34/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.4131\n", - "Epoch 35/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.4113\n", - "Epoch 36/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.4117\n", - "Epoch 37/200\n", - "25/25 [==============================] - 23s 938ms/step - loss: 0.4096\n", - "Epoch 38/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.3968\n", - "Epoch 39/200\n", - "25/25 [==============================] - 23s 938ms/step - loss: 0.4059\n", - "Epoch 40/200\n", - "25/25 [==============================] - 23s 937ms/step - loss: 0.4061\n", - "Epoch 41/200\n", - "25/25 [==============================] - 23s 939ms/step - loss: 0.4139\n", - "Epoch 42/200\n", - "25/25 [==============================] - 23s 937ms/step - loss: 0.4168\n", - "Epoch 43/200\n", - "25/25 [==============================] - ETA: 0s - loss: 0.4013Restoring model weights from the end of the best epoch: 38.\n", - "25/25 [==============================] - 23s 937ms/step - loss: 0.4013\n", - "Epoch 00043: early stopping\n" - ] - } - ], - "source": [ - "history = model.fit(\n", - " x=dataset_train,\n", - " epochs=EPOCHS,\n", - " steps_per_epoch=STEPS_PER_EPOCH,\n", - " initial_epoch=INITIAL_EPOCH,\n", - " callbacks=[\n", - " checkpoint_callback,\n", - " early_stopping_callback\n", - " ]\n", - ")\n", - "\n", - "# Saving the trained model to file (to be able to re-use it later).\n", - "model_name = 'recipe_generation_rnn_2.h5'\n", - "model.save(model_name, save_format='h5')" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 295 - }, - "id": "NjGhRmT0rzVj", - "outputId": "33470d00-c502-4cc6-9f2c-3ebed0a1d12d" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - } - } - ], - "source": [ - "def render_training_history(training_history):\n", - " loss = training_history.history['loss']\n", - "\n", - " plt.title('Loss')\n", - " plt.xlabel('Epoch')\n", - " plt.ylabel('Loss')\n", - " plt.plot(loss, label='Training set')\n", - " plt.legend()\n", - " plt.grid(linestyle='--', linewidth=1, alpha=0.5)\n", - " plt.show()\n", - "\n", - "render_training_history(history)" - ] - }, - { - "cell_type": "code", - "execution_count": 72, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 37 - }, - "id": "QulzmOYNsvih", - "outputId": "bb191383-ac48-4852-f4dc-f69837a8736c" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "application/vnd.google.colaboratory.intrinsic+json": { - "type": "string" - }, - "text/plain": [ - "'tmp/checkpoints/ckpt_43'" - ] - }, - "metadata": {}, - "execution_count": 72 - } - ], - "source": [ - "tf.train.latest_checkpoint(checkpoint_dir)" - ] - }, - { - "cell_type": "markdown", - "source": [ - "### Use simplified model with saved weights \n" - ], - "metadata": { - "id": "YsBulmpXx3IN" - } - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "OIcrvYAKrtwm", - "outputId": "7806a3c9-90e7-448f-bfd9-bb027f14c39d" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Model: \"sequential_1\"\n", - "_________________________________________________________________\n", - " Layer (type) Output Shape Param # \n", - "=================================================================\n", - " embedding_1 (Embedding) (1, None, 256) 33536 \n", - " \n", - " lstm_1 (LSTM) (1, None, 1024) 5246976 \n", - " \n", - " dense_1 (Dense) (1, None, 131) 134275 \n", - " \n", - "=================================================================\n", - "Total params: 5,414,787\n", - "Trainable params: 5,414,787\n", - "Non-trainable params: 0\n", - "_________________________________________________________________\n" - ] - } - ], - "source": [ - "simplified_batch_size = 1\n", - "vocab_size=VOCABULARY_SIZE\n", - "embedding_dim=256\n", - "rnn_units=1024\n", - "\n", - "model_simplified = build_model(vocab_size, embedding_dim, rnn_units, simplified_batch_size)\n", - "model_simplified.load_weights('/content/drive/MyDrive/data/ckpt')\n", - "model_simplified.build(tf.TensorShape([simplified_batch_size, None]))\n", - "\n", - "model_simplified.summary()" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": { - "id": "QPk5iRQ0m52x" - }, - "outputs": [], - "source": [ - "def generate_text(start_string, num_generate, temperature, model = model_simplified):\n", - " # Evaluation step (generating text using the learned model)\n", - " \n", - " padded_start_string = STOP_WORD_TITLE + start_string\n", - "\n", - " # Converting our start string to numbers (vectorizing).\n", - " input_indices = np.array(tokenizer.texts_to_sequences([padded_start_string]))\n", - "\n", - " # Empty string to store our results.\n", - " text_generated = []\n", - "\n", - " # Here batch size == 1.\n", - " model.reset_states()\n", - " for char_index in range(num_generate):\n", - " predictions = model(input_indices)\n", - " # remove the batch dimension\n", - " predictions = tf.squeeze(predictions, 0)\n", - "\n", - " # Using a categorical distribution to predict the character returned by the model.\n", - " predictions = predictions / temperature\n", - " predicted_id = tf.random.categorical(\n", - " predictions,\n", - " num_samples=1\n", - " )[-1, 0].numpy()\n", - "\n", - " # We pass the predicted character as the next input to the model\n", - " # along with the previous hidden state.\n", - " input_indices = tf.expand_dims([predicted_id], 0)\n", - " \n", - " next_character = tokenizer.sequences_to_texts(input_indices.numpy())[0]\n", - "\n", - " text_generated.append(next_character)\n", - "\n", - " return (padded_start_string + ''.join(text_generated))" - ] - }, - { - "cell_type": "code", - "execution_count": 78, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "fZfhWVe6qirY", - "outputId": "3cd2024d-e986-4044-a6cb-72f94d5781a5" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "๐Ÿ“Œ TITLE\n", - "\n", - "chocolate chips\n", - "\n", - "๐Ÿ“ INSTRUCTIONS\n", - "\n", - "โ–ช๏ธŽ preheat oven to 350f\n", - "โ–ช๏ธŽ grease and flour a 9x5x3 inch pan\n", - "โ–ช๏ธŽ bake for 20 to 35 minutes or until toothpick inserted in center comes out clean\n", - "โ–ช๏ธŽ cool completely on a wire rack\n", - "โ–ช๏ธŽ cool completely on a wire rack\n", - "โ–ช๏ธŽ beat together the flour and baking soda\n", - "โ–ช๏ธŽ add the egg , and vanilla\n", - "โ–ช๏ธŽ beat until smooth\n", - "โ–ช๏ธŽ stir in flour mixture , beating well after each addition\n", - "โ–ช๏ธŽ stir in the coconut\n", - "โ–ช๏ธŽ pour into a greased and floured 9x5x2 pan\n", - "โ–ช๏ธŽ place one side of the pan , melt butter , sugar , butter , cream cheese , and vanilla\n", - "โ–ช๏ธŽ stir in the flour mixture and mix well\n", - "โ–ช๏ธŽ spread the cheesecake mixture over the two pans\n", - "โ–ช๏ธŽ bake for 15 minutes or until the top of the cake is cooled\n", - "โ–ช๏ธŽ cool in pan for 10 minutes\n", - "โ–ช๏ธŽ remove from the oven and cool completely on a wire rack\n", - "โ–ช๏ธŽ remove from pans and the cake batter in the center of the pan\n", - "โ–ช๏ธŽ bake for 12-12 minutes or until toothpick inserted in the center comes out clean\n", - "โ–ช๏ธŽ cool on a wire rack\n", - "โ–ช๏ธŽ cool on wire rack\n", - "โ–ช๏ธŽ cool on a wire\n" - ] - } - ], - "source": [ - "print(generate_text(start_string = 'chocolate', temperature= 0.4, num_generate= 1000))" - ] - }, - { - "cell_type": "markdown", - "source": [ - "### Create Demo" - ], - "metadata": { - "id": "a5SDwpIlyWrA" - } - }, - { - "cell_type": "code", - "source": [ - "!pip install gradio" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "xt5O806iyhHS", - "outputId": "1f659870-adf4-47f7-e89c-0a827c048845" - }, - "execution_count": 75, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Collecting gradio\n", - " Downloading gradio-2.7.0-py3-none-any.whl (865 kB)\n", - "\u001b[K |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 865 kB 5.1 MB/s \n", - "\u001b[?25hCollecting analytics-python\n", - " Downloading analytics_python-1.4.0-py2.py3-none-any.whl (15 kB)\n", - "Collecting Flask-Cors>=3.0.8\n", - " Downloading Flask_Cors-3.0.10-py2.py3-none-any.whl (14 kB)\n", - "Collecting Flask-Login\n", - " Downloading Flask_Login-0.5.0-py2.py3-none-any.whl (16 kB)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from gradio) (1.19.5)\n", - "Requirement already satisfied: pandas in /usr/local/lib/python3.7/dist-packages (from gradio) (1.1.5)\n", - "Collecting markdown2\n", - " Downloading markdown2-2.4.2-py2.py3-none-any.whl (34 kB)\n", - "Collecting paramiko\n", - " Downloading paramiko-2.9.2-py2.py3-none-any.whl (210 kB)\n", - "\u001b[K |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 210 kB 72.4 MB/s \n", - "\u001b[?25hCollecting flask-cachebuster\n", - " Downloading Flask-CacheBuster-1.0.0.tar.gz (3.1 kB)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from gradio) (2.23.0)\n", - "Requirement already satisfied: Flask>=1.1.1 in /usr/local/lib/python3.7/dist-packages (from gradio) (1.1.4)\n", - "Requirement already satisfied: pillow in /usr/local/lib/python3.7/dist-packages (from gradio) (7.1.2)\n", - "Requirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from gradio) (3.2.2)\n", - "Collecting pydub\n", - " Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n", - "Collecting pycryptodome\n", - " Downloading pycryptodome-3.12.0-cp35-abi3-manylinux2010_x86_64.whl (2.0 MB)\n", - "\u001b[K |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 2.0 MB 56.1 MB/s \n", - "\u001b[?25hCollecting ffmpy\n", - " Downloading ffmpy-0.3.0.tar.gz (4.8 kB)\n", - "Requirement already satisfied: itsdangerous<2.0,>=0.24 in /usr/local/lib/python3.7/dist-packages (from Flask>=1.1.1->gradio) (1.1.0)\n", - "Requirement already satisfied: Werkzeug<2.0,>=0.15 in /usr/local/lib/python3.7/dist-packages (from Flask>=1.1.1->gradio) (1.0.1)\n", - "Requirement already satisfied: Jinja2<3.0,>=2.10.1 in /usr/local/lib/python3.7/dist-packages (from Flask>=1.1.1->gradio) (2.11.3)\n", - "Requirement already satisfied: click<8.0,>=5.1 in /usr/local/lib/python3.7/dist-packages (from Flask>=1.1.1->gradio) (7.1.2)\n", - "Requirement already satisfied: Six in /usr/local/lib/python3.7/dist-packages (from Flask-Cors>=3.0.8->gradio) (1.15.0)\n", - "Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/dist-packages (from Jinja2<3.0,>=2.10.1->Flask>=1.1.1->gradio) (2.0.1)\n", - "Collecting backoff==1.10.0\n", - " Downloading backoff-1.10.0-py2.py3-none-any.whl (31 kB)\n", - "Requirement already satisfied: python-dateutil>2.1 in /usr/local/lib/python3.7/dist-packages (from analytics-python->gradio) (2.8.2)\n", - "Collecting monotonic>=1.5\n", - " Downloading monotonic-1.6-py2.py3-none-any.whl (8.2 kB)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->gradio) (2021.10.8)\n", - "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->gradio) (1.24.3)\n", - "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->gradio) (3.0.4)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->gradio) (2.10)\n", - "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->gradio) (3.0.6)\n", - "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->gradio) (1.3.2)\n", - "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib->gradio) (0.11.0)\n", - "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.7/dist-packages (from pandas->gradio) (2018.9)\n", - "Collecting pynacl>=1.0.1\n", - " Downloading PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (856 kB)\n", - "\u001b[K |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 856 kB 62.8 MB/s \n", - "\u001b[?25hCollecting cryptography>=2.5\n", - " Downloading cryptography-36.0.1-cp36-abi3-manylinux_2_24_x86_64.whl (3.6 MB)\n", - "\u001b[K |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 3.6 MB 54.3 MB/s \n", - "\u001b[?25hCollecting bcrypt>=3.1.3\n", - " Downloading bcrypt-3.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (61 kB)\n", - "\u001b[K |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 61 kB 475 kB/s \n", - "\u001b[?25hRequirement already satisfied: cffi>=1.1 in /usr/local/lib/python3.7/dist-packages (from bcrypt>=3.1.3->paramiko->gradio) (1.15.0)\n", - "Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.1->bcrypt>=3.1.3->paramiko->gradio) (2.21)\n", - "Building wheels for collected packages: ffmpy, flask-cachebuster\n", - " Building wheel for ffmpy (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for ffmpy: filename=ffmpy-0.3.0-py3-none-any.whl size=4710 sha256=caed95e7ed9255709f5e2072514271aec09a19050876e761d4e50974d4e0feac\n", - " Stored in directory: /root/.cache/pip/wheels/13/e4/6c/e8059816e86796a597c6e6b0d4c880630f51a1fcfa0befd5e6\n", - " Building wheel for flask-cachebuster (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for flask-cachebuster: filename=Flask_CacheBuster-1.0.0-py3-none-any.whl size=3371 sha256=eeaff1e0d9760425d30c7fdf969de62af0790435797b9ba60e86a52871d0a2a6\n", - " Stored in directory: /root/.cache/pip/wheels/28/c0/c4/44687421dab41455be93112bd1b0dee1f3c5a9aa27bee63708\n", - "Successfully built ffmpy flask-cachebuster\n", - "Installing collected packages: pynacl, monotonic, cryptography, bcrypt, backoff, pydub, pycryptodome, paramiko, markdown2, Flask-Login, Flask-Cors, flask-cachebuster, ffmpy, analytics-python, gradio\n", - "Successfully installed Flask-Cors-3.0.10 Flask-Login-0.5.0 analytics-python-1.4.0 backoff-1.10.0 bcrypt-3.2.0 cryptography-36.0.1 ffmpy-0.3.0 flask-cachebuster-1.0.0 gradio-2.7.0 markdown2-2.4.2 monotonic-1.6 paramiko-2.9.2 pycryptodome-3.12.0 pydub-0.25.1 pynacl-1.5.0\n" - ] - } - ] - }, - { - "cell_type": "code", - "execution_count": 79, - "metadata": { - "id": "32BbT3Pcq6FD", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 640 - }, - "outputId": "deb157ad-09f2-4410-9e18-b8657f1f81c0" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Colab notebook detected. To show errors in colab notebook, set `debug=True` in `launch()`\n", - "Running on public URL: https://53578.gradio.app\n", - "\n", - "This share link expires in 72 hours. For free permanent hosting, check out Spaces (https://huggingface.co/spaces)\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/html": [ - "\n", - " \n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {} - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "(,\n", - " 'http://127.0.0.1:7861/',\n", - " 'https://53578.gradio.app')" - ] - }, - "metadata": {}, - "execution_count": 79 - } - ], - "source": [ - "import gradio as gr\n", - "\n", - "\n", - "iface = gr.Interface(\n", - " fn=generate_text, \n", - " inputs=[\"text\", gr.inputs.Slider(0, 1000), gr.inputs.Slider(0, 1)],\n", - " outputs=[\"text\"])\n", - "iface.launch()\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "source": [ - "" - ], - "metadata": { - "id": "jnRRMamQ_rVE" - }, - "execution_count": null, - "outputs": [] - } - ], - "metadata": { - "accelerator": "GPU", - "colab": { - "collapsed_sections": [ - "YzYu-XRFJrhk", - "AHnTupAX1I-a", - "YQ6KkwnW0_7k", - "O7P0Y2_vKe7S", - "53DFAGpH_Ukx", - "oVZ1fmE-Yxm-", - "FLF8-MNJSQfh", - "Ca9lz-qSVj8I", - "wnhPp7Ovc4Lm", - "iCToSc7GiliO" - ], - "name": "baking-project.ipynb", - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -} \ No newline at end of file