Участникам необходимо предсказать категорию товаров на основе полученных данных о названиях товаров и их описаний.
Нажимая кнопку «Участвовать» и/или «Отправить решение», вы соглашаетесь с Правилами участия в соревновании Data Fusion Contest 2025.
В этом соревновании вам предстоит разработать алгоритм для автоматической категоризации товаров по их названию и атрибутам, даже в условиях неполной разметки.
Система категорий устроена в виде иерархического дерева (до 5 уровней вложенности), а данные о товарах поступают с множества торговых площадок, что создает ряд сложностей:
В этом соревновании мы предлагаем участникам попробовать свои силы в постановке максимально приближенной к реальной:
Подробнее про данные и их структуру можно узнать на странице “Данные”.
Это контейнерное соревнование:
Решение получает на вход следующие именованные аргументы:
--input-path
-i
путь к файлу с тестовыми товарами (например, test.parquet
)--output-path
-o
имя файла, в который вам нужно сохранить результат (например, submit.csv
)Формат выходного файла — .csv
с двумя столбцами:
hash_id
должен содержать предоставленные захэшированные идентификаторы товаров.cat_id
должен быть идентификатором категории в соответствии с предоставленным словарем категорий.В архиве должны быть все необходимые для работы модели файлы. Как минимум, в архиве должен быть файл metadata.json
с указанием используемого докер-образа (рекомендуем `odsai/df25-baseline:1.0`
) и строки для запуска вашей модели.
{
"image": "odsai/df25-baseline:1.0",
"entry_point": "python -u run.py"
}
При желании вы можете использовать свой образ, выложив его на https://hub.docker.com. Вебинар о том, как собрать докер.
Решения проверяются автоматически:
Метрика соревнования — HDA (Hierarchical Discounted Accuracy):
$$HDA = \frac{1}{N} \sum_{i=1}^N D(y_{i}, \hat{y}_{i} ) $$
$$ D(y_{i}, \hat{y}_{i} ) = \begin{cases}0 & \text{if $LCA (y_{i}, \hat{y}_{i}) = \emptyset$}\\ \text{$ e^{ - LevelDiff (y_{i}, \hat{y}_{i} ) } $} & \text{$else$}\end{cases}$$
$$ LevelDiff (y_{i}, \hat{y}_{i} ) = max(0, Level(y_{i}) - Level( LCA (y_{i}, \hat{y}_{i} ) ) )$$
$$\text{Где:}$$
$$N \text{ — число товаров},$$
$$y_{i} \text{ — истинные значения категории товара i},$$
$$\hat{y}_{i} \text{ — предсказанные значения категории товара i},$$
$$ Level(y_{i} ) \text{ — уровень класса категории в дереве категорий},$$
$$ LCA(y_{i}, y_{j} ) \text{ — наименьший общий предок между двумя категориями}.$$
Метрика учитывает структуру категорий:
Победители и итоговые результаты определяются по результатам на Private лидерборде.
Для Private лидерборда можно выбрать до 2 финальных решений.
1 место: 1 000 000 рублей
2 место: 600 000 рублей
3 место: 350 000 рублей
Спецноминация 1 — 50 000 рублей
Спецноминация 2 — мерч
Cookies help us deliver our services. By using our services, you agree to our use of cookies.