Can't name. Can't count. Still have to classify.
Ivan Reshetnikov · 3 Aug 2026
Solution: Same-Type Contract + LLM-as-a-Judge + Metric Learning.
Millions of products. No product-type taxonomy to build on.
Naming: a type isn't defined by its name.
• Oil filter ≠ fuel filter — same word, different criteria.
• Cordless screwdriver = drill-driver — different words, same criteria.
→ Same-Type Contract: two products belong to the same type if buyers compare them using the same criteria.
→ LLM-as-a-Judge: it evaluated every proposed merge and approved only high-confidence ones.
Counting: the full set of types couldn't be fixed upfront — an open-set problem.
→ Metric Learning: it returned the closest known type and the probability that none fits.
Budget: too many items to send them all to an LLM.
→ Active Learning: it picked only uncertain, diverse candidates — not the whole catalog.
Result: ~200 discovered types cover over half the catalog.
One verified boundary at a time — the taxonomy kept growing.