I'm working on a home tool that will help create a shopping list from a list of recipes chosen for a coming week.
This boils down to:
- Extracting ingredients and their quantities from recipes.
- Grouping similar ingredients together.
- Summing up quantities for similar ingredients.
- Naming groups of similar products in a shopping list.
The tasks seem non-trivial for a few reasons.
Similar ingredients are described differently, depending on the recipe book/portal, e.g.:
- 5 lemons
- 5 lemons (to be squeezed)
- 5 fresh lemons
- 5 big yellow lemons
Recipes lists alternatives for ingredients (e.g., "3 lemons or 5 limes"), leaving decision up to a user.
Recipes involve some information about product-preprocessing. For instance, one has to buy lemons instead of lemon juice when the recipe says:
- 100ml lemon juice
- 100ml freshly squeezed lemon juice
My language has a complex inflection. For instance, there can be multiple plural forms of a noun and the form of an adjective must be agreed with a form of noun. Adapting NLP algorithms designed for English language might be not straightforward and require some lemmatizing/stemming but not for single words, but whole phrases.
Naming products group is hard. Once fresh lemons and big yellow lemons are group together and their quantities summed up, one need to decide how to name this group in a shopping list, e.g.: "10 lemons" or "10 fresh lemons".
Is there any research paper that would cover those challenges?
Especially applied in the same domain?