Ended 2 months ago
700 participants
7057 submissions

Data Fusion Contest 2025 - Задача 1 "Label Craft"

Участникам необходимо предсказать категорию товаров на основе полученных данных о названиях товаров и их описаний.

Правила участия

Нажимая кнопку «Участвовать» и/или «Отправить решение», вы соглашаетесь с Правилами участия в соревновании Data Fusion Contest 2025.

Постановка задачи

В этом соревновании вам предстоит разработать алгоритм для автоматической категоризации товаров по их названию и атрибутам, даже в условиях неполной разметки.

Система категорий устроена в виде иерархического дерева (до 5 уровней вложенности), а данные о товарах поступают с множества торговых площадок, что создает ряд сложностей:

  • Разметка товаров неполная и неидеальная.
  • Атрибуты одних и тех же товаров могут отличаться на разных площадках или вовсе отсутствовать.
  • По мере расширения каталога могут появляться новые площадки и категории, которых не было раньше. 

В этом соревновании мы предлагаем участникам попробовать свои силы в постановке максимально приближенной к реальной: 

  • Задача осложняется тем, что в обучающей выборке категории размечены только для половины товаров, а в тестовой выборке встретятся категории, к которым нет размеченных примеров.
  • При этом вам заранее предоставлен полный список возможных категорий – сможете ли вы учесть их все и точно отнести товары к нужным классам?
  • LLM (большие языковые модели) выглядят многообещающе для подобных задач – но действительно ли они помогут? Это отличный шанс проверить различные подходы!

Подробнее про данные и их структуру можно узнать на странице “Данные

Формат решений

Это контейнерное соревнование:

  1. Обучите модель на предоставленных данных.
  2. Подготовьте Docker-контейнер и код с весами моделей.
  3. Отправьте решение в виде архива.
  4. Ваше решение будет автономно запущено на закрытых тестовых данных.

Решение получает на вход следующие именованные аргументы:

  • --test_data_path -i путь к файлу с тестовыми товарами (например, test.parquet)
  • --output-path -o имя файла, в который вам нужно сохранить результат (например, submit.csv)

Формат выходного файла — .csv с двумя столбцами: 

  • Столбец hash_id должен содержать предоставленные захэшированные идентификаторы товаров.
  • Столбец predicted_cat должен быть идентификатором категории в соответствии с предоставленным словарем категорий.

В архиве должны быть все необходимые для работы модели файлы. Как минимум, в архиве должен быть файл metadata.json с указанием используемого докер-образа (рекомендуем `odsai/df25-baseline:1.0`) и строки для запуска вашей модели.

{
   "image": "odsai/df25-baseline:1.0",
   "entry_point": "python -u run.py"
}

При желании вы можете использовать свой образ, выложив его на https://hub.docker.com. Вебинар о том, как собрать докер

ВАЖНО

  • Обратите внимание, что в тестовых данных будут другие товары. 
  • Если в файле отсутствует какой-то из предоставленных тестовых товаров, решение будет отвергнуто (оценочный скрипт выдаст ошибку).
  • Более того, в тестовых данных присутствуют категории товаров из словаря, для которых отсутствует разметка в обучающих данных. Получение разметки недостающих категорий это неотъемлемая часть задачи соревнования. 

Проверка решений

Решения проверяются автоматически:

  • Запуск решений происходит в изолированной среде без доступа в интернет. 
    • Все библиотеки и их версии должны быть уже загружены в вашем Docker образе.
    • Запуск происходит на полностью закрытых тестовых данных, которые не доступны и не передаются участникам.
  • Решения запускаются последовательно на 3 закрытых наборах тестовых данных:
    1. Check, отладочные 10 примеров, которые не идут в рейтинг.
    2. Public test, для результатов на Public лидерорде в течение соревнования. 
    3. Private test, для итоговых результатов Private лидерборда.

ВАЖНО

  • Если решение упало на любом тестовом наборе – оно не оценивается.
  • Победители соревнования определяются по результатам приватной части лидерборда. 

Метрика соревнования — 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{ — наименьший общий предок между двумя категориями}.$$

Метрика учитывает структуру категорий:

  • Если решение ошиблось только в последнем уровне категоризации товара, это считает “полу”-ошибкой. Значит вместо 1 балла ваше решение получит 1/exp(1) ≈ 0.37 балла. 
  • Оценка экспоненциально снижается в зависимости от разности уровня наиболее глубокой корректно предсказанной категории и уровня корректной категории. Для ошибки в 2 уровня вы будете получать уже 1/exp(2) ≈ 0.13 балла.
  • Если товар имеет разметку до 4 уровня, а ваш алгоритм предсказывает 5-й, оценка идет по 4-му уровню.

Победители и итоговые результаты определяются по результатам на Private лидерборде. 
Для Private лидерборда можно выбрать до 2 финальных решений.

Доступные ресурсы для решений

  • 8 ядер CPU
  • 96Gb RAM
  • Видеокарта NVidia Tesla V100 (32Gb)

Ограничения для решений

  1. Архив с решением
    1. 5Gb для архива с решением
    2. 60 минут на работу решения: 30 минут на public часть и 30 минут на private
  2. Docker-образ, используемый в решении
    1. Образ должен быть опубликован и публично доступен на Dockerhub
    2. 20Gb ограничение на размер образа

Информация для участников

  • В соревновании можно принимать участие из любой точки мира. Участники могут объединяться в команды до 4-х человек. Участвовать можно в любом количестве из предложенных задач и номинаций. Победители соревнования смогут получить денежные призы только на расчетные счета банков, зарегистрированных на территории Российской Федерации.  Просим вас позаботиться об открытии счета в РФ заранее.
  • Ответы на вопросы по всему Data Fusion Contest 2025 доступны на FAQ странице трека.

Призовой фонд задачи 1, “Label Craft”

1 место: 1 000 000 рублей
2 место: 600 000 рублей
3 место: 350 000 рублей

Спецноминация 1 — 50 000 рублей
Спецноминация 2 — мерч

Our website uses cookies, including web analytics services. By using the website, you consent to the processing of personal data using cookies. You can find out more about the processing of personal data in the Privacy policy