September 2018 - February 2019
We created a culinary chatbot for telegram as part of the Advanced Engineering Project. This chatbot, from a set of ingredients (sent to it in form of text or images), recommends what recipes can be done with them.
At the beginning we got an initial version of the chatbot from the previous project. This version had implemented some chatbot functionality and made calls to two different REST API's. Spoonacular, to get recipes from a set of ingredients and Amazon Rekognition, to label the images sent by the users.
The biggest differentiations from the previous version are:
1. Be independent from any external REST API. That meant, we had to implement our own neural network to recognize ingredients and also, in order to be independent from Spoonacular, we had to model a Recipe, get the data, save it as SQL and implement the full API for this database in order to be able to use it.
2. Create a user profile where we can have information about individuals. With this we accomplished to know better our customer and based on his diet, recommend only recipes that fit him. We also added a ranking system by which the recipes could get an overall ranking and the users could save recipes as 'favorite'.
To recommend a recipe by its ingredients, we implemented an algorithm that classified the recipes by its ingredients, measuring how well those ingredients 'fitted' with the searched ones. We also implemented a histogram based algorithm to recommend a recipe knowing which were the last recipes the user had searched and which rank he had rated them with.
The chatbot could be used from december 2018 to february 2019 at @culinary_chatbot on Telegram