Try various well-known machine learning algorithms. I would suggest using a Bayesian classifier first, as it is easy to implement and often works quite well. If this does not work, try something more complex, for example. Neural networks or SVM.
The main problem will be to select a set of functions as input to your method. To do this, you should see what information is unique. For example, if you have a recipe called “Chicken Salad,” the “chicken” portion will not be of much interest, because it is also present in the ingredients and easier to collect from there. Therefore, you should try to find a set of keywords that provide new information (i.e. part of the salad). Try to find a good set of keywords for this. It can probably be automated, but most likely you will be better off doing it manually, as it only needs to be done once.
The same goes for the description. Finding the right set of functions is always the most difficult task for such a task.
Once you have a set of functions, just prepare their algorithm and see how good it is. If you don’t have much experience with machine learning, look at various methods to correctly test the ML algorithm (for example, “Leave N”, etc.).
LiKao source share