Хотел сравнивать йогурт с йогуртом, а не с гречкой. Открыл базу — а категорий-то и нет - QubStore

Хотел сравнивать йогурт с йогуртом, а не с гречкой. Открыл базу — а категорий-то и нет

Базу на 134 тысячи товаров не получится разложить по категориям «в лоб» — но, похоже, этого и не требуется.

В прошлый раз мне резонно заметили: сравнивать кетчуп с гречкой одной меркой нельзя. Трое читателей независимо друг от друга предложили похожие решения. dinar_007 советовал два уровня — жёсткий порог как страховку, а поверх него уже место товара внутри своей категории. Neusser привёл в пример Nutri-Score, где категорийные шкалы применяются только к напиткам, сырам и жирам — отсюда и курьёзы вроде оливкового масла с «C» рядом с колой, у которой «B». economist75 подошёл с инженерной стороны: если четыре показателя упираются в верхнюю границу, это брак, даже когда каждый по отдельности в норме.

Я сел делать. Казалось, понадобится сущая мелочь — знать категорию товара. Но именно на этом всё и застопорилось. В базе 134 тысячи позиций, и категории пришли из десятка разных источников: выгрузки магазинов, национальные каталоги, прайсы производителей. Каждый резал ассортимент по-своему. В «Бакалее» соседствуют макароны, специи, сахар, крупы и почему-то консервы. Считаешь среднее по такому винегрету — и что получаешь? У сахара сто граммов сахара на сто граммов продукта, он в собственной категории вечно последний, а рядом лавровый лист с нулями по всем полям. Такое среднее годится только для запугивания. Разложить вручную 134 тысячи карточек — увольте.

Пока я размышлял, посчитал заодно составы по всей базе. И эта цифра меня озадачила. Минимум одна Е-добавка встречается у 15 880 товаров из 78 588, у которых состав вообще указан. Двадцать процентов. Я был уверен, что намного больше — вокруг только и слышно, что еда сплошная химия. Дальше занятнее. Состав из одного слова вроде «Фасоль белая» — 11 938 карточек. Из двух — ещё 6 532. То есть каждый четвёртый товар — просто сырьё, сравнивать там нечего в принципе. Зато на другом полюсе 34 711 позиций с десятком ингредиентов и больше. Ради них сканер и затевался. А между двумя этими массами — узкая прослойка, где категорийное сравнение действительно имело бы смысл. Для фасоли оно бесполезно: человек и так знает, что в фасоли фасоль.

В итоге пришёл к решению проще всех трёх советов. Пороги оставляю — они работают предохранителем, категории им не нужны. Сверху вместо шкалы — простая вещь: сколько всего ингредиентов и сколько из них добавки. Три строчки в составе и двадцать — это разные разговоры, и чтобы их различить, знать «бакалея или молочка» совершенно не обязательно. А категорийное сравнение включу точечно: йогурты, газировка, сыры, колбаса — там, где категория не вызывает сомнений. В Nutri-Score, кстати, сделано ровно так — три шкалы. Подозреваю, не от лени. Индекс из металлургии отложил: ему нужны согласованные пороги сразу по всем полям, а у меня натрий заполнен лишь у трети карточек — техрегламент не требует выносить соль отдельной строкой, вот производители и не выносят.

Теперь вопрос, ради которого всё это и пишу. Кто-нибудь чинил мусорные категории в чужих выгрузках — и чем? Классификатором по названию и составу, ручной разметкой верхушки или просто плюнул и живёт на абсолютных порогах? Особенно интересно услышать тех, кто сшивал каталоги из разных мест. У меня их около десяти, и каждый уверен, что его дерево — единственно верное.

Ссылка на основную публикацию