Changes

Jump to navigation Jump to search
4,169 bytes added ,  15:07, 22 August 2018
no edit summary
Line 219: Line 219:  
First experiments with classification of raw individual axioms, shows that the reasoner breaks down. This suggest that at least the reasoner is not very scalable. I hope the solution is.
 
First experiments with classification of raw individual axioms, shows that the reasoner breaks down. This suggest that at least the reasoner is not very scalable. I hope the solution is.
    +
== Comments ==
 +
=== Stephane @ 2018-08-22 ===
 +
For the ingredients taxonomy, I think it's best if we take a pragmatic and incremental approach:
 +
 +
We currently have 2 uses for the ingredients taxonomy:
 +
 +
1. Compute the % of unknown ingredients so that we can tag products that have ingredient lists that are likely bogus.
 +
-> this is currently not very useful as we have tens of thousands of products tagged
 +
 +
2. Compute the NOVA score for transformed products.
 +
-> this is in production today, and displayed on the web site and the mobile apps.
 +
-> there is an increasing attention on NOVA
 +
 +
It's the NOVA classification that has really made the ingredients taxonomy a reality: it's something that is visible, and we can incrementally improve the ingredients taxonomy to improve the classification.
 +
There is a 3rd use that I intend to develop soon:
 +
 +
3. Spellcheck and auto-correct the lists of ingredients. --> if we can make this work reasonably well, this will have a huge impact for OFF and help us to speed adding new products data and rely more on OCR.
 +
For those uses, we need:
 +
 +
- for 1 and 3, a list of correctly spelled ingredients, as comprehensive as possible
 +
 +
- for 2, a hierarchy of ingredients and their synonyms used in ingredients list, for ingredients and sub ingredients that are markers of transformed and ultra-transformed products. (edited)
 +
There are many other potential uses for the ingredients taxonomy, and some of them require more features like relations, properties etc.
 +
 +
For instance if we want to automatically translate ingredient lists, we need the entries in the taxonomy to have synonyms. That's something we can do incrementally, and we coud deploy partial translation.
 +
 +
If we want to automatically determine is a product is suitable for vegetarians or vegans, it's much more complex: we need to add properties to indicate if an ingredient can come from an animal source, and we need to do that for almost all ingredients: if there's 1 ingredient in the list of ingredients that we don't know about, then we can't determine anything.
 +
My preference is to try to take care of simple cases and impactful cases first, and as we do it, it will make the other uses easier to do later as well.
 +
 +
We can focus first on what has an immediate impact, then on what can have an impact soon.
 +
In the same line of thinking, I think we should try to find ways to do the most impactful things first.
 +
 +
The good thing is that it's easy to find those things: we just have to look at what we have in the ingredients lists of the products in the database. We sort them by frequency, and we work from top to down: we add them to the taxonomy if they are not there already, we had the parent ingredient if it has one, we try to identify synonyms and translations (using the ingredients lists from OFF) etc.
 +
 +
And as we do that, we can take note of potential issues, things that would be nice to support etc. But first let's focus on the general case. Then we can see how common the specific cases / issues are, what it would take to support them, what we could do if we supported them etc.
 +
A few specific points raised in the discussions above:
 +
Regarding parents: we should use them exclusively for the "is a" relationship. Not "contains", "derived from" etc.  That means also that we don't add parents that are not actual ingredients themselves (e.g. no "milk derived ingredients" or "ingredients that contain milk").  Other relations can be added as properties, but before we do that and complexity the taxonomy, it would be good to think about the use cases, what they entail etc.
 +
Regarding synonyms: we should list only synonyms that we have found in ingredient lists, not synonyms from other sources / contexts. That's an issue we have in the additives taxonomy: early on, we added tons of synonyms that are just never used, or used only in other contexts (like the chemical formulas). --> those extra synonyms now hurt us when we do auto-correction of the spelling of additives
 +
The first synonym needs to be the most common one in ingredients lists.
 +
Regarding the language of the canonical entry: let's just stick with English, it will make everything much easier.
 
[[Category:Ingredients]]
 
[[Category:Ingredients]]
 
[[Category:Products]]
 
[[Category:Products]]
 
[[Category:Ontology]]
 
[[Category:Ontology]]
3,393

edits

Navigation menu