{"id":21441749,"url":"https://github.com/dmis-lab/kitchenette","last_synced_at":"2025-07-14T17:32:09.674Z","repository":{"id":80532805,"uuid":"186744684","full_name":"dmis-lab/KitcheNette","owner":"dmis-lab","description":"KitcheNette: Predicting and Recommending Food Ingredient Pairings using Siamese Neural Networks","archived":false,"fork":false,"pushed_at":"2019-09-18T05:52:29.000Z","size":631,"stargazers_count":66,"open_issues_count":0,"forks_count":15,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-05-14T00:23:18.917Z","etag":null,"topics":["artificial-intelligence","artificial-neural-networks","food-pairing","food-recommendation","score-prediction","siamese-neural-network"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmis-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-05-15T03:46:48.000Z","updated_at":"2024-05-10T18:36:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"e7df3306-bf31-4e00-91f9-ad250174fd68","html_url":"https://github.com/dmis-lab/KitcheNette","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmis-lab%2FKitcheNette","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmis-lab%2FKitcheNette/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmis-lab%2FKitcheNette/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmis-lab%2FKitcheNette/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmis-lab","download_url":"https://codeload.github.com/dmis-lab/KitcheNette/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225990493,"owners_count":17556152,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","artificial-neural-networks","food-pairing","food-recommendation","score-prediction","siamese-neural-network"],"created_at":"2024-11-23T01:41:31.960Z","updated_at":"2024-11-23T01:41:32.490Z","avatar_url":"https://github.com/dmis-lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KitcheNette: Predicting and Ranking Food Ingredient Pairings using Siamese Neural Networks\nThis repository provides a Pytorch implementation of **KitcheNette**, Siamese neural networks and is trained on our annotated dataset containing 300K scores of pairings generated from numerous ingredients in food recipes. **KitcheNette** is able to predict and recommend complementary and novel food ingredients pairings at the same time.\n\n\u003e **KitcheNette: Predicting and Ranking Food Ingredient Pairings using Siamese Neural Networks** \u003cbr\u003e\n\u003e *Donghyeon Park\\*, Keonwoo Kim, Yonggyu Park, Jungwoon Shin and Jaewoo Kang* \u003cbr\u003e\n\u003e *Accepted and to be appear in IJCAI-2019* \u003cbr\u003e\u003cbr\u003e\n\u003e *Our paper is available at:* \u003cbr\u003e\n\u003e *https://www.ijcai.org/proceedings/2019/822* \u003cbr\u003e\u003cbr\u003e\n\u003e You can try our demo version of **KitchenNette**: \u003cbr\u003e\n\u003e *http://kitchenette.korea.ac.kr/*\n\u003e \n\u003e For more details to find out what we do, please visit *https://dmis.korea.ac.kr/*\n\n## Pipeline \u0026 Abstract\n![figure](/data/figure_together.png)\n\u003cp align=\"center\"\u003e\n  \u003cb\u003e The Concept of KitcheNette (Left) \u0026 KitcheNette Model Architecture (Right) \u003c/b\u003e\n\u003c/p\u003e\n\n**Abstract** \u003cbr\u003e\nAs a vast number of ingredients exist in the culinary world, there are countless food ingredient pairings, but only a small number of pairings have been adopted by chefs and studied by food researchers. In this work, we propose KitcheNette which is a model that predicts food ingredient pairing scores and recommends optimal ingredient pairings. KitcheNette employs Siamese neural networks and is trained on our annotated dataset containing 300K scores of pairings generated from numerous ingredients in food recipes. As the results demonstrate, our model not only outperforms other baseline models but also can recommend complementary food pairings and discover novel ingredient pairings.\n\n## Prerequisites \u0026 Development Environment\n- Python 3.6\n- PyTorch 0.4.0\n- Numpy (\u003e=1.12)\n- Maybe there are more. If you get an error, please try `pip install \"pacakge_name\"`.\n\n- CUDA 9.0\n- Tested on NVIDIA GeForce Titan X Pascal 12GB\n\n## Dataset\n- **[kitchenette_pairing_scores.csv](https://drive.google.com/file/d/1hX7L3UZUVspNHCjDbgCjuI5niQlBXXMh/view?usp=sharing) (78MB)** \u003cbr\u003e\nYou can download and see our 300k food ingredient pairing scores defined on NPMI.\n\n- **\\[For Training\\] [kitchenette_dataset.pkl](https://drive.google.com/file/d/1tUbwr7COW0lkiGkM3gafeGwtQncWd8wC/view?usp=sharing) (49MB)** \u003cbr\u003e\nFor your own training, download our pre-processed dataset and place it in `data` folder. \u003cbr\u003e\nThis pre-processed dataset 1) contains all the input embeddings, 2) is split into train[8]:valid[1]:test[2], and 3) and each split is divided into mini-batches for efficent training.\n\n## Training \u0026 Test\n```\npython3 main.py --data-path './data/kitchenette_dataset.pkl'\n```\n## Prediction for *Unknown* Pairings\nYou need the following three files to predict *unknown* pairings\n- **[kitchenette_pretrained.mdl](https://drive.google.com/file/d/1y5lFnECVdAaEikezeYipIABo4-5gvcbb/view?usp=sharing) (79MB)** \u003cbr\u003e\nDownload our pre-trained model for prediction of *unknown* pairings and place it in `results` folder. \u003cbr\u003e\nor you can predict the pairing with your own model by substituting the model file. \u003cbr\u003e\n\n- **[kitchenette_unknown_pairings.csv](https://drive.google.com/file/d/10NECr9NAZ1tuZroJVVY4DmZY9Ox7vOyM/view?usp=sharing) (308KB)** \u003cbr\u003e\nDownload the sample unknown pairings and place it in `data` folder. \u003cbr\u003e\nThis files contains approximately 5,000 pairings that have no scores because that they are ralely or never used togeter. You can edit this file to score any pair of two ingredeints that you would like to find out.\n\n- **[kitchenette_embeddings.pkl](https://drive.google.com/file/d/1cFRfrAEWqltQyLcALa1wwjQL7ssGK6ZD/view?usp=sharing) (8MB)** \u003cbr\u003e\nDownload the sample ingredient embeddings for exisiting ingredients and place it in `data` folder. \u003cbr\u003e\nFor this version, unfortunately, our model only scores the ingredients with pre-traiend embeddings.\n\n```\npython3 main.py --save-prediction-unknowns True \\\n                --model-name 'kitchenette_pretrained.mdl' \\\n                --unknown-path './data/kitchenette_unknown_pairings.csv' \\\n                --embed-path './data/kitchenette_embeddings.pkl' \\\n                --data-path './data/kitchenette_dataset.pkl'\n```\n\n## Contributors\n**Donghyeon Park, Keonwoo Kim** \u003cbr\u003e\nDMIS Labatory, Korea University, Seoul, South Korea \u003cbr\u003e\nPlease, report bugs and missing info to Donghyeon `parkdh (at) korea.ac.kr`.\n\n## Citation\n```\n@article{park2019kitchenette,\n  title={KitcheNette: Predicting and Ranking Food Ingredient Pairings using Siamese Neural Networks},\n  author={Park, Donghyeon and Kim, Keonwoo and Park, Yonggyu and Shin, Jungwoon and Kang, Jaewoo},\n  journal={Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence},\n  year={2019}\n}\n```\n\n## Liscense\nApache License 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmis-lab%2Fkitchenette","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmis-lab%2Fkitchenette","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmis-lab%2Fkitchenette/lists"}