Я бы попытался построить граф с синонимами и обобщениями. Например, Notebook
и Laptop
являются синонимами. Computer
обобщает их. PC
является синонимом Computer
. Electronics
снова обобщает Computer
(и его синоним PC
).
Теперь, для данного продукта, посмотрите на самый глубокий уровень доступных категорий и найдите наиболее конкретные синонимы для этого продукта на вашем графике. Если совпадений нет, переместитесь на один уровень вверх, потому что они могут иметь более конкретные категории, чем вы представляете на графике - например, они могут делить ноутбуки по брендам. Когда вы дойдете до корня категорий без совпадения, перейдите к первому обобщению с вашего графика и снова выполните поиск с самого глубокого уровня категории вверх.
У этого решения все еще есть проблемы, потому что, например, категории могут быть разделены по брендам на очень высоком или очень глубоком уровне, и вы выбираете один вариант при построении графика. С такими случаями тоже вполне можно справиться, но это станет намного сложнее.